summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudia Pellegrino2022-08-10 23:15:21 +0200
committerClaudia Pellegrino2022-08-10 23:15:21 +0200
commit5ca0e761d97451a462c6c0a7ca5189cea8ae5934 (patch)
tree2ea133b4f841cc689716e6c2eb40f05336e00fcf
parent3e87d95f35e4175367bd50db8e495c730d2c9458 (diff)
downloadaur-5ca0e761d97451a462c6c0a7ca5189cea8ae5934.tar.gz
gog-inscryption 1.10.57447
Update to 1.10.57447 and switch to the native Linux build.
-rw-r--r--.SRCINFO20
-rw-r--r--.gitignore3
-rw-r--r--PKGBUILD48
-rw-r--r--gog-inscryption.desktop1
-rw-r--r--gog-inscryption.install36
-rw-r--r--inscryption.bash74
6 files changed, 56 insertions, 126 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4283a87ceabf..919888b32ea4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,26 +1,18 @@
pkgbase = gog-inscryption
- pkgdesc = Roguelike deck-building game. GOG version, uses Wine.
- pkgver = 1.09.54424
+ pkgdesc = Roguelike deck-building game. GOG version.
+ pkgver = 1.10.57447
pkgrel = 1
url = https://www.inscryption.com/
- install = gog-inscryption.install
arch = x86_64
license = custom
- makedepends = innoextract
makedepends = lgogdownloader
- depends = wine
- depends = wine-mono
- optdepends = lib32-alsa-lib: sound support for ALSA
- optdepends = lib32-libpulse: sound support for PulseAudio
conflicts = gog-inscryption-demo
options = !strip
- source = setup_inscryption_1.09_(54424).exe::gogdownloader://1224800338/en1installer0
- source = setup_inscryption_1.09_(54424)-1.bin::gogdownloader://1224800338/en1installer1
+ source = inscryption_1.10_(57447).sh::gogdownloader://1224800338/en3installer0
source = gog-inscryption.desktop
source = inscryption.bash
- sha512sums = 91743b0bfa8ad7a331f7273b6dfe72b10eb06fff435bbb5fff7006ef8b073295ac938a78af8815003b44148ace1b4646f7032dfdae4898b8d8a309fd2d2b189d
- sha512sums = 74d04d68fb8bc0e2cf6355b5f71f072438281bb65da1508f728b3da78aa7406b60669d5e1b6cc4e8a6b1230eda38e08f33a0f4b16679aa2fc0cd911974947ecc
- sha512sums = 65226f2e071bc7dad63d683d6ad5f255dff354ca6c5478fa2e606933383af48d2ee2b2fa1450936227a59e1831f2ff44293d00a835daa98aa215b6e50755a7bf
- sha512sums = 0a8db49802625c2207a2efae3b498f53547c79f0b003e6ca020c7aa2e0870e4a6393688d4b1e244f23088cbeab830112bf925c0f464fc58e97c5b5d0582e2232
+ sha512sums = 4a8cec6766bbe77a0cb8bb840fa6bd9212989caa2858cf200a572e2b2df45b2189d2dacbcae3ce7fc67fe94622dc16467bb5634d0904388ec36ab618df85b379
+ sha512sums = 5363b939e602895f082752f3c29716f81e51235249b832f945744b12b23b3dd6dd3220201ac73f69c7f3addd18ff322951fa430cb11f72357373e7f7ad3505dd
+ sha512sums = 921be06790239b5fce6489f48fce737259d65dc922e1932b1ebe0db5347ebce4badd635c259c41ebb985ca1067445fad4735fbc9bad0aad18dff6b9e660422be
pkgname = gog-inscryption
diff --git a/.gitignore b/.gitignore
index 18cc61931927..2041c2991ef1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
/.vscode
/src
/pkg
-/setup_*
+*.log
*.pkg.*
*.tar.*
+inscryption_*.sh
diff --git a/PKGBUILD b/PKGBUILD
index 17ed62814760..5de742700862 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,23 +1,17 @@
# Maintainer: Claudia Pellegrino <aur ät cpellegrino.de>
pkgname="gog-inscryption"
-pkgver=1.09.54424
+pkgver=1.10.57447
pkgrel=1
-pkgdesc='Roguelike deck-building game. GOG version, uses Wine.'
+pkgdesc='Roguelike deck-building game. GOG version.'
arch=('x86_64')
url='https://www.inscryption.com/'
license=('custom')
-depends=('wine' 'wine-mono')
-makedepends=('innoextract' 'lgogdownloader')
-optdepends=(
- 'lib32-alsa-lib: sound support for ALSA'
- 'lib32-libpulse: sound support for PulseAudio'
-)
+makedepends=('lgogdownloader')
conflicts=('gog-inscryption-demo')
options=('!strip')
-install="${pkgname}.install"
_shortname="${pkgname#gog-}"
-_setup_basename="setup_${_shortname}_${pkgver%.*}_(${pkgver##*.})"
+_setup_basename="${_shortname}_${pkgver%.*}_(${pkgver##*.})"
# Need to hard-code the ID because lgogdownloader would force a
# prompt whenever we attempt to download `inscryption` while our
@@ -25,39 +19,37 @@ _setup_basename="setup_${_shortname}_${pkgver%.*}_(${pkgver##*.})"
_gog_id='1224800338'
source=(
- "${_setup_basename}.exe`
- `::gogdownloader://${_gog_id}/en1installer0"
- "${_setup_basename}-1.bin`
- `::gogdownloader://${_gog_id}/en1installer1"
+ "${_setup_basename}.sh`
+ `::gogdownloader://${_gog_id}/en3installer0"
"${pkgname}.desktop"
"${_shortname}.bash"
)
sha512sums=(
- '91743b0bfa8ad7a331f7273b6dfe72b10eb06fff435bbb5fff7006ef8b073295ac938a78af8815003b44148ace1b4646f7032dfdae4898b8d8a309fd2d2b189d'
- '74d04d68fb8bc0e2cf6355b5f71f072438281bb65da1508f728b3da78aa7406b60669d5e1b6cc4e8a6b1230eda38e08f33a0f4b16679aa2fc0cd911974947ecc'
- '65226f2e071bc7dad63d683d6ad5f255dff354ca6c5478fa2e606933383af48d2ee2b2fa1450936227a59e1831f2ff44293d00a835daa98aa215b6e50755a7bf'
- '0a8db49802625c2207a2efae3b498f53547c79f0b003e6ca020c7aa2e0870e4a6393688d4b1e244f23088cbeab830112bf925c0f464fc58e97c5b5d0582e2232'
+ '4a8cec6766bbe77a0cb8bb840fa6bd9212989caa2858cf200a572e2b2df45b2189d2dacbcae3ce7fc67fe94622dc16467bb5634d0904388ec36ab618df85b379'
+ '5363b939e602895f082752f3c29716f81e51235249b832f945744b12b23b3dd6dd3220201ac73f69c7f3addd18ff322951fa430cb11f72357373e7f7ad3505dd'
+ '921be06790239b5fce6489f48fce737259d65dc922e1932b1ebe0db5347ebce4badd635c259c41ebb985ca1067445fad4735fbc9bad0aad18dff6b9e660422be'
)
DLAGENTS+=('gogdownloader::/usr/bin/lgogdownloader --download-file=%u -o %o')
PKGEXT=.pkg.tar
-prepare() {
- mkdir -p "${srcdir}/${_shortname}"
- cd "${srcdir}/${_shortname}"
- innoextract -c -m --progress=1 "${srcdir}/${_setup_basename}.exe"
-}
-
package() {
+ echo >&2 'Packaging license'
+ install -D -m 644 -T \
+ "${srcdir}/data/noarch/docs/End User License Agreement.txt" \
+ "${pkgdir}/usr/share/licenses/${pkgname}/End User License Agreement.txt"
+
echo >&2 'Packaging game icon'
install -D -m 644 -T \
- "${srcdir}/${_shortname}/app/goggame-"${_gog_id?}".ico" \
- "${pkgdir}/usr/share/pixmaps/${pkgname}.ico"
+ "${srcdir}/data/noarch/support/icon.png" \
+ "${pkgdir}/usr/share/pixmaps/${pkgname}.png"
echo >&2 'Packaging game data'
- mkdir -p "${pkgdir}/opt/"
- mv "${srcdir}/${_shortname}" "${pkgdir}/opt/${_shortname}"
+ mkdir -p "${pkgdir}/opt/${_shortname}"
+ cp -R --preserve=mode \
+ "${srcdir}"/{data,meta,scripts} \
+ "${pkgdir}/opt/${_shortname}"
echo >&2 'Packaging launcher'
install -D -m 755 -T \
diff --git a/gog-inscryption.desktop b/gog-inscryption.desktop
index 27c9ded77bb0..a6b57662b147 100644
--- a/gog-inscryption.desktop
+++ b/gog-inscryption.desktop
@@ -6,6 +6,5 @@ Icon=gog-inscryption
Type=Application
Terminal=false
StartupNotify=true
-StartupWMClass=Inscryption.exe
Categories=Game;
Encoding=UTF-8
diff --git a/gog-inscryption.install b/gog-inscryption.install
deleted file mode 100644
index 5995073fc5da..000000000000
--- a/gog-inscryption.install
+++ /dev/null
@@ -1,36 +0,0 @@
-post_install() {
- cat >&2 << 'EOF'
-
- ## ##
- ## Wine will be used to run this Windows game; ##
- ## therefore, not everything may work properly. ##
- ## ##
- ## Please see: ##
-
-> https://wiki.archlinux.org/title/Wine#Sound
-
- ## ##
- ## to figure out which optional dependencies you ##
- ## need to enable sound. ##
- ## Also see: ##
-
-> https://appdb.winehq.org/objectManager.php?sClass=application&iId=20583
-
- ## for details and known limitations. ##
- ## ##
-
-EOF
-}
-
-post_remove() {
- cat >&2 << 'EOF'
-
- ## ##
- ## To completely remove user game data, delete ##
- ## the following directory: ##
- ## ##
- ## ~/.local/share/inscryption ##
- ## ##
-
-EOF
-}
diff --git a/inscryption.bash b/inscryption.bash
index babb6dcbff4d..d7c97703f9ef 100644
--- a/inscryption.bash
+++ b/inscryption.bash
@@ -2,57 +2,39 @@
set -eu
PKGNAME='inscryption'
-APPNAME_UPSTREAM='Inscryption'
-EXE="C:/Program Files/GOG Games/${APPNAME_UPSTREAM}/Inscryption.exe"
PKG_USER_DATA_HOME="${XDG_DATA_HOME:-"${HOME}/.local/share"}/${PKGNAME}"
echo >&2 "Initializing"
-export WINEARCH='win64'
-export WINEPREFIX="${PKG_USER_DATA_HOME}/wine"
+APPDIR_SOURCE='/opt/inscryption/data/noarch'
+USER_OVERLAYDIR="${PKG_USER_DATA_HOME}/overlay"
-APPDIR_SOURCE="/opt/${PKGNAME}"
-APPDIR_PARENT="${WINEPREFIX}/drive_c/Program Files/GOG Games"
-APPDIR_TARGET="${APPDIR_PARENT}/${APPNAME_UPSTREAM}"
-TARGET_HOME="${WINEPREFIX}/drive_c/users/$(whoami)"
+echo >&2 "Refreshing symlinks from ${USER_OVERLAYDIR}"
-USER_APPDATADIR_SOURCE="${PKG_USER_DATA_HOME}/userappdata"
-USER_APPDATADIR_TARGET="${TARGET_HOME}/AppData/LocalLow/Daniel Mullins Games"
-USER_OVERLAYDIR="${PKG_USER_DATA_HOME}/overlay"
+echo >&2 "==> Creating ${USER_OVERLAYDIR}"
+mkdir >&2 -pv "${USER_OVERLAYDIR}/game"
+
+echo >&2 "==> Linking from ${APPDIR_SOURCE}"
+cd "${USER_OVERLAYDIR}"
+ln >&2 -fnsv "${APPDIR_SOURCE}/start.sh" 'start.sh'
+ln >&2 -fnsv "${APPDIR_SOURCE}/support" 'support'
+ln >&2 -fnsv "${APPDIR_SOURCE}/game/Inscryption_Data" 'game/Inscryption_Data'
+ln >&2 -fnsv "${APPDIR_SOURCE}/game/UnityPlayer.so" 'game/UnityPlayer.so'
+
+# Copy the launcher binary because symlinking would cause it to
+# pick up its own real path
+cp -vP --preserve=mode "${APPDIR_SOURCE}/game/Inscryption.x86_64" 'game/'
+
+echo >&2 "==> Done"
+
+# Migrate saved game files from the earlier, Wine-based package;
+# the native Linux version of Inscryption expects the saved game to
+# live in the `game` subdirectory
+echo >&2 "Migrating saved game files from previous version"
+find "${USER_OVERLAYDIR}" -mindepth 1 -maxdepth 1 -name '*.gwsave' \
+ -exec mv -nv '{}' "${USER_OVERLAYDIR}/game/" ';' >&2
-echo >&2 "Checking for Wine prefix"
-if ! [ -d "${WINEPREFIX}" ]; then
- echo >&2 "==> Bootstrapping Wine prefix: ${WINEPREFIX}"
- mkdir >&2 -pv "${WINEPREFIX}"
- wineboot -i 2>&1
- rm >&2 -fv "${WINEPREFIX}/dosdevices/z:"
- echo >&2 "==> Done"
-fi
-
-echo >&2 "Checking user data directory"
-if ! [ -h "${USER_APPDATADIR_TARGET}/${APPNAME_UPSTREAM}" ]; then
- echo >&2 "==> Creating ${USER_APPDATADIR_TARGET}"
- mkdir >&2 -pv "${USER_APPDATADIR_TARGET}"
- cd "${USER_APPDATADIR_TARGET}"
- echo >&2 "==> Linking from ${USER_APPDATADIR_SOURCE}/${APPNAME_UPSTREAM}"
- mkdir >&2 -pv "${USER_APPDATADIR_SOURCE}/${APPNAME_UPSTREAM}"
- ln >&2 -fnsv "${USER_APPDATADIR_SOURCE}/${APPNAME_UPSTREAM}"
-fi
-
-echo >&2 "Checking app directory"
-if ! [ -h "${APPDIR_TARGET}" ]; then
- echo >&2 "==> Creating ${APPDIR_PARENT}"
- mkdir >&2 -pv "${APPDIR_PARENT}"
- echo >&2 "==> Creating ${USER_OVERLAYDIR}"
- mkdir >&2 -pv "${USER_OVERLAYDIR}"
- echo >&2 "==> Linking from ${USER_OVERLAYDIR}"
- ln >&2 -fnsv "${USER_OVERLAYDIR}" "${APPDIR_TARGET}"
- cd "${APPDIR_TARGET}/"
- echo >&2 "==> Linking from ${APPDIR_SOURCE}"
- find "${APPDIR_SOURCE}" -mindepth 1 -maxdepth 1 -exec ln >&2 -fnsv '{}' ';'
- echo >&2 "==> Done"
-fi
-
-echo >&2 "Launching app with Wine"
-wine 2>&1 "${EXE}"
+echo >&2 "Launching app"
+cd "${USER_OVERLAYDIR}"
+./start.sh "$@"
echo >&2 "==> Finished"