1. 07 Aug, 2022 1 commit
  2. 06 Aug, 2022 4 commits
    • Antoine Le Gonidec's avatar
      Bump library version and revision · 8adbf33b
      Antoine Le Gonidec authored
      8adbf33b
    • Antoine Le Gonidec's avatar
      Update changelog · e6c262cf
      Antoine Le Gonidec authored
      e6c262cf
    • Antoine Le Gonidec's avatar
      icons_get_from_legacy_path - Fix clean-up step · a2ca7742
      Antoine Le Gonidec authored
      The rmdir call would fail when CONTENT_PATH_DEFAULT is unset by the game
      script, or set to "."
      a2ca7742
    • Antoine Le Gonidec's avatar
      2.17.0 feature release · 6987a943
      Antoine Le Gonidec authored
      Changes related to launchers
      
      * Prefix type can be set at the application level (using APP_xxx_PREFIX_TYPE)
        or for all applications (using APPLICATIONS_PREFIX_TYPE), with the following valid values:
        - symlinks: generate our usual symbolic links farm, the default for most application types
        - none: the game is run from the read-only system directory, the default for ScummVM and ResidualVM
      * Prefix path can be overridden for the current game session by setting PLAYIT_PREFIX_PATH
        The default value is: ~/.cache/play.it/prefixes/${GAME_ID}
      * WINE prefix path follows WINEPREFIX if it is set.
        If the variable is unset, it defaults to:
        ~/.cache/play.it/wine/${GAME_ID}
      * A single directory is used for persistent storage of user data.
        It can be set using PLAYIT_PERSISTENT_USER_PATH, and defaults to:
        ~/.local/share/games/${GAME_ID}
      * The undocumented runtime variable PREFIX_ID is no longer supported.
      
      Changes related to archives
      
      * New archive type "tar.bz2".
      * For multi-part archives, type is optional for extra parts.
      * Allow use of unzip for data extraction from mojosetup archives, if bsdtar is not available.
      * Force the use of a specific tool for content extraction:
        - An archive extractor can be set with ARCHIVE_xxx_EXTRACTOR
        - An options strings can be set with ARCHIVE_xxx_EXTRACTOR_OPTIONS
      
      Changes related to icons
      
      * Icons inclusion is now done using a single function, icons_inclusion.
      * The following functions are deprecated:
        - icons_get_from_package
        - icons_get_from_workdir
        - icons_move_to
      
      Other changes
      
      * Drop option to do partial runs with no actual disk write.
        (--dry-run option)
      * New option provided to change ./play.it working path: --tmpdir
        The default value is $TMPDIR, falling back on /tmp
      
      Codebase improvements
      
      * New layout for source files.
      * Use a dedicated check to detect unexpected empty variables.
      6987a943
  3. 04 Aug, 2022 2 commits
  4. 02 Aug, 2022 6 commits
    • Antoine Le Gonidec's avatar
      Update changelog · de1ec8c4
      Antoine Le Gonidec authored
      de1ec8c4
    • Antoine Le Gonidec's avatar
      Drop unused compatibility wrappers · 68f36070
      Antoine Le Gonidec authored
      68f36070
    • Antoine Le Gonidec's avatar
      Launchers - Compute path to game prefix using a dedicated function · ae7659c1
      Antoine Le Gonidec authored
      The new default prefix path is: ~/.cache/play.it/prefixes/${GAME_ID}
      If $XDG_CACHE_HOME is set, it is used instead of ~/.cache
      
      The full prefix path can be overridden for the current session by
      setting the new environment variable $PLAYIT_PREFIX_PATH
      
      ./play.it now follows WINEPREFIX if it is set. The WINE prefix and the
      game prefix are now stored under distinct paths, and linked using a
      symbolic link. The default path for WINE prefix is:
      ~/.cache/play.it/wine/${GAME_ID}
      
      The undocumented environment variable $PREFIX_ID is no longer supported.
      
      Prefixes migration from the old path (under ~/.local/share/play.it) to
      the new one is not done automatically, and no tool is provided to do
      such a migration. The old prefix is not deleted either.
      ae7659c1
    • Antoine Le Gonidec's avatar
      WINE launchers - Compute path to WINEPREFIX using a dedicated function · 1e3d6890
      Antoine Le Gonidec authored
      Game prefix is no longer included in the WINE prefix, it is instead
      linked into it using a symbolic link.
      1e3d6890
    • Antoine Le Gonidec's avatar
      Launchers - Compute path to game prefix using a dedicated function · 5ca12d47
      Antoine Le Gonidec authored
      The new default prefix path is:
      ~/.cache/play.it/prefixes/${GAME_ID}
      
      If $XDG_CACHE_HOME is set, it is used instead of ~/.cache
      
      The full prefix path can be overridden for the current session by setting
      the new environment variable $PLAYIT_PREFIX_PATH
      
      The undocumented environment variable $PREFIX_ID is no longer supported.
      
      Prefixes migration from the old path (under ~/.local/share/play.it) to
      the new one is not done automatically, and no tool is provided to do
      such a migration. The old prefix is not deleted either.
      5ca12d47
    • Antoine Le Gonidec's avatar
      Provide a new option --tmpdir, used to change ./play.it working path · b7b93af7
      Antoine Le Gonidec authored
      Multiple paths will no longer be scanned, the only path that is used if
      --tmpdir is not provided is $TMPDIR (falling back on /tmp).
      
      Usage details are provided through play.it --help:
      
      --tmpdir
      
          Set the directory used for temporary files storage.
          Default value is: /tmp
      b7b93af7
  5. 01 Aug, 2022 2 commits
  6. 30 Jul, 2022 3 commits
  7. 28 Jul, 2022 4 commits
  8. 27 Jul, 2022 1 commit
    • Antoine Le Gonidec's avatar
      Archives - New type: tar.bz2 · 331ae2bf
      Antoine Le Gonidec authored
      This type is automatically used for archives with names ending in
      ".tar.bz2" or ".tbz2".
      
      Data extraction is done with tar, after checking for the availability of
      both tar and bunzip2.
      331ae2bf
  9. 25 Jul, 2022 1 commit
    • Antoine Le Gonidec's avatar
      Launchers - Add ability to request a specific prefix type from the game script · 86111edb
      Antoine Le Gonidec authored
      The prefix type can be set for a given application using
      APP_xxx_PREFIX_TYPE or for all applications for the current game using
      APPLICATIONS_PREFIX_TYPE.
      
      The allowed values are:
      - "symlinks", the default, generate our usual symbolic links farm
      - "none", no prefix is generated, the game is run from the read-only
        system directory
      
      If no value is set, most application types default to the "symlinks"
      prefix type. ScummVM and ResidualVM applications default to "none"
      instead.
      
      Application type "native_no-prefix" is deprecated, application type
      "native" should be used instead with the prefix type "none".
      86111edb
  10. 21 Jul, 2022 3 commits
  11. 20 Jul, 2022 5 commits
    • Antoine Le Gonidec's avatar
      Archives — Add ability to force the use of a specific tool for content extraction · 6672c846
      Antoine Le Gonidec authored
      An archive extractor can be set with ARCHIVE_xxx_EXTRACTOR, to force the
      use of a specific tool for data extraction.
      
      An options strings can be set with ARCHIVE_xxx_EXTRACTOR_OPTIONS, that
      is used when calling the extractor instead of the default options string
      set in the library.
      6672c846
    • Antoine Le Gonidec's avatar
      Archives - Add ability to override extractor options string · ffc994bf
      Antoine Le Gonidec authored
      An options strings can be set with ARCHIVE_xxx_EXTRACTOR_OPTIONS, that
      is used when calling the extractor instead of the default options string
      set in the library.
      ffc994bf
    • Antoine Le Gonidec's avatar
      Archives - Add ability to set archive extractor instead of archive type · d78b7733
      Antoine Le Gonidec authored
      An archive extractor can be set with ARCHIVE_xxx_EXTRACTOR, to force the
      use of a specific tool for data extraction.
      d78b7733
    • Antoine Le Gonidec's avatar
      Archives - Move data extraction code to dedicated source files · b8df15a0
      Antoine Le Gonidec authored
      debian: Drop ability to extract data from .deb packages without using
      dpkg-deb. We only support 3 games distributed as .deb packages so it
      does not seem worth to maintain such complex code.
      
      innoextract:
      - Hide warnings during innoextract compatibility tests.
      - Drop obsolete type "innosetup1.7"
      
      nixstaller: Drop support for nixstaller archives, the last time we used it was
      before ./play.it 2.0 release.
      
      unar: Drop support for ARCHIVE_xxx_GOGID.
      b8df15a0
    • Antoine Le Gonidec's avatar
      2.16.1 bugfix release · ceda54ef
      Antoine Le Gonidec authored
      * icons_list_dependencies - Rely on application_icons_list to get the list of icons.
      * launcher_write_desktop - Drop requirement on APP_xxx_TYPE.
      * get_context_specific_value:
        - Do not try to guess a package identifier if none is set.
        - Do not look for an archive-specific value before an archive is set.
      * Check for dependencies only after the main archive is set.
      ceda54ef
  12. 13 Jul, 2022 4 commits
  13. 12 Jul, 2022 3 commits
  14. 10 Jul, 2022 1 commit
    • Antoine Le Gonidec's avatar
      Provide icons inclusion using a single function · b7247f91
      Antoine Le Gonidec authored
      A single function is now available to game scripts, for icons inclusion: icons_inclusion
      ---
      Fetch icon from the archive contents,
      convert it to PNG if it is not already in a supported format,
      include it in the current package.
      
      This function is the one that should be called from game scripts,
      it can take several applications as its arguments,
      and default to handle all applications if none are explicitely given.
      
      USAGE: icons_inclusion $application[…]
      ---
      
      It relies on APP_xxx_ICONS_LIST / APP_xxx_ICON, like the previous
      functions. It looks for the icon files under the following path:
      ${PLAYIT_WORKDIR}/gamedata/${CONTENT_PATH_DEFAULT}
      
      Compatibility wrappers are available for the following deprecated functions:
      - icons_get_from_package
      - icons_get_from_workdir
      
      The following function is deprecated:
      - icons_move_to
      b7247f91