summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD55
-rw-r--r--wreckfest.desktop8
-rw-r--r--wreckfest.install3
-rw-r--r--wreckfest.sh20
5 files changed, 107 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..fad0ff636665
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = wreckfest-wine-steam
+ pkgdesc = Wreckfest using WINE with data via Steam
+ pkgver = 1.27
+ pkgrel = 1
+ url = https://store.steampowered.com/app/228380/Wreckfest/
+ install = wreckfest.install
+ arch = i686
+ arch = x86_64
+ license = custom
+ makedepends = steamcmd
+ makedepends = icoutils
+ depends = wine
+ depends = winetricks
+ source = wreckfest.sh
+ source = wreckfest.desktop
+ source = Goldberg_Lan_Steam_Emu_master--a24a9c26.zip::https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/jobs/1590301114/artifacts/download
+ sha256sums = 18c0153c64618b01106732bd6b3fa511c1f99a1ca1a2eb58f83c5cc281d0b7e5
+ sha256sums = b794e5f02c2346e977cb5a5c5ecd8963daf12d10d7c54a84676e20ad199b7941
+ sha256sums = 3bfe422a3daf85a02fe6458e4351a4f40f29f513ec8df2c838c7e197844e51cb
+
+pkgname = wreckfest-wine-steam
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..fbef9e9b7a4b
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,55 @@
+# Maintainer: John-Michael Mulesa <jmulesa [at] gmail.com>
+
+pkgname=wreckfest-wine-steam
+_pkgname=wreckfest
+pkgver=1.27
+pkgrel=1
+_steamid=228380
+arch=('i686' 'x86_64')
+makedepends=('steamcmd' 'icoutils')
+depends=('wine' 'winetricks')
+source=("${_pkgname}.sh" "${_pkgname}.desktop"
+ "Goldberg_Lan_Steam_Emu_master--a24a9c26.zip::https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/jobs/1590301114/artifacts/download")
+pkgdesc="Wreckfest using WINE with data via Steam"
+license=('custom')
+install=wreckfest.install
+url='https://store.steampowered.com/app/228380/Wreckfest/'
+sha256sums=('18c0153c64618b01106732bd6b3fa511c1f99a1ca1a2eb58f83c5cc281d0b7e5'
+ 'b794e5f02c2346e977cb5a5c5ecd8963daf12d10d7c54a84676e20ad199b7941'
+ '3bfe422a3daf85a02fe6458e4351a4f40f29f513ec8df2c838c7e197844e51cb')
+
+prepare() {
+ mkdir -p $srcdir/${_pkgname}
+
+ # Use steamcmd to get data.
+ printf "Enter your Steam username:"
+ read steam_username
+ steamcmd +@sSteamCmdForcePlatformType windows +@ShutdownOnFailedCommand 1 +force_install_dir $srcdir/${_pkgname} +login $steam_username "+app_update ${_steamid} validate" +quit
+ wrestool -x -t -14 -o . ${_pkgname}/Wreckfest.exe
+ icotool -x -o . *.ico
+}
+
+package() {
+ mkdir -p $pkgdir/opt/${_pkgname}
+
+ # Move required files to pkgdir
+ cp -r $srcdir/${_pkgname}/* $pkgdir/opt/${_pkgname}/
+ rm -rf $pkgdir/opt/${_pkgname}/steamapps
+ rm $pkgdir/opt/${_pkgname}/*.vdf
+ $srcdir/linux/tools/find_interfaces.sh $pkgdir/opt/${_pkgname}/steam_api64.dll > $pkgdir/opt/${_pkgname}/steam_interfaces.txt || true
+ cp $srcdir/steam_api64.dll $pkgdir/opt/${_pkgname}/
+ cp $srcdir/steam_api.dll $pkgdir/opt/${_pkgname}/
+ echo "${_steamid}" > $pkgdir/opt/${_pkgname}/steam_appid.txt
+
+ # Install desktop file.
+ install -D -m 644 $srcdir/${_pkgname}.desktop \
+ $pkgdir/usr/share/applications/${_pkgname}.desktop
+
+ # Install icon file.
+ install -D -m 644 $srcdir/Wreckfest.exe_*_256x256x32.png \
+ $pkgdir/usr/share/pixmaps/${_pkgname}.png
+
+ # Install bash startup script.
+ install -D -m 755 $srcdir/${_pkgname}.sh \
+ $pkgdir/usr/bin/${_pkgname}
+}
diff --git a/wreckfest.desktop b/wreckfest.desktop
new file mode 100644
index 000000000000..13e967956da5
--- /dev/null
+++ b/wreckfest.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Wreckfest
+Comment=Wreckfest WINE
+Exec=/usr/bin/wreckfest
+Icon=wreckfest
+Terminal=false
+Type=Application
+Categories=Application;Game;
diff --git a/wreckfest.install b/wreckfest.install
new file mode 100644
index 000000000000..2aa0d9fe8645
--- /dev/null
+++ b/wreckfest.install
@@ -0,0 +1,3 @@
+post_install() {
+ echo "On the first run, game startup may take significantly longer while the wine prefix is prepared."
+}
diff --git a/wreckfest.sh b/wreckfest.sh
new file mode 100644
index 000000000000..69339d1a4fc6
--- /dev/null
+++ b/wreckfest.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+export WINEPREFIX="$HOME"/.wreckfest/wine
+if [ ! -d "$HOME"/.wreckfest ] ; then
+ mkdir -p "$HOME"/.wreckfest/wine
+ wineboot -u
+ winetricks dxvk
+fi
+cd /opt/wreckfest
+while getopts ":lm" opt; do
+ case ${opt} in
+ l ) /usr/bin/wine Wreckfest.exe
+ ;;
+ m ) /usr/bin/wine Wreckfest_x64.exe
+ ;;
+ h ) echo "Usage: wreckfest [-l: legacy 32-bit Wreckfest.exe|-m: modern 64-bit Wreckfest_x64.exe (default)]"
+ ;;
+ esac
+ exit
+done
+/usr/bin/wine Wreckfest_x64.exe