summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD82
1 files changed, 82 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5f0fa4799f51
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,82 @@
+## Maintainer: barfin <barfin@protonmail.com>
+## Co-Maintainer: Jaja <jaja@mailbox.org>
+
+## pkginfo
+pkgdesc="A fancy custom distribution of Valves Proton with various patches(Stable Branch)"
+pkgname=proton-ge-custom-stable-bin
+pkgver=5.8_GE_2_MF
+pkgrel=1
+arch=('x86_64')
+license=('BSD' 'LGPL' 'zlib' 'MIT' 'MPL' 'custom')
+changelog=changelog
+provides=('proton')
+conflicts=('proton-ge-custom-bin')
+depends=('python'
+ 'vulkan-icd-loader')
+optdepends=('kdialog: KDE splash dialog support'
+ 'zenity: GNOME splash dialog support'
+ 'python-kivy: splash dialog support (big picture mode)'
+ 'steam: use proton with steam like intended'
+ 'lib32-vulkan-icd-loader: dxvk dependency for 32bit prefixes'
+ 'vulkan-driver: actually have a vulkan driver installed'
+ 'linux-fsync: a kernel with futex-wait-multiple support'
+ 'linux-zen: a kernel with futex-wait-multiple support'
+ 'linux-pf: a kernel with futex-wait-multiple support'
+ 'winetricks: protonfixes backend - highly recommended'
+ 'wine: support for 32bit prefixes'
+ 'xboxdrv: gamepad driver service'
+ 'python-cef: generic splash dialog support')
+
+## makepkg options
+options=('!strip')
+
+## fix naming conventions, matching upstream
+_pkgname=${pkgname//-bin/}
+_pkgver=${pkgver//_/-}
+_srcdir=Proton-${_pkgver}
+
+## paths and files
+_protondir=usr/share/steam/compatibilitytools.d/${_pkgname}
+_licensedir=usr/share/licenses/${_pkgname}
+_pfxdir=var/games/pfx_${_pkgname}
+_execfile=usr/local/bin/proton
+_protoncfg=${_protondir}/user_settings.py
+
+## user edited files to backup
+backup=("${_protoncfg}")
+
+## sources
+url='https://github.com/GloriousEggroll/proton-ge-custom'
+source=(${_pkgname}-${_pkgver}.tar.gz::"${url}/releases/download/${_pkgver}/${_srcdir}.tar.gz"
+ "supplementary.tar.zst")
+md5sums=('7a1f5d052f99c396323f813515ba0e55'
+ '3ae457f1acc34660244975884b2e0f68')
+
+build() {
+## remove unused: dist_lock, extract_tarball(), make_default_prefix()
+patch ${_srcdir}/proton patches/distlock-extract-defaultpfx.patch
+## setup paths
+sed -i "s|_proton=echo|_proton=/${_protondir}/proton|" ${srcdir}/launchers/proton.sh
+sed -i "s|self.path(\"dist/share/default_pfx/\")|\"/${_pfxdir}/\"|" ${_srcdir}/proton
+}
+
+package() {
+## create paths
+install -d ${pkgdir}/${_protondir}/
+install -d ${pkgdir}/${_licensedir}/
+install -d --mode=2775 --group=games ${pkgdir}/${_pfxdir}/
+chmod 0775 ${pkgdir}/${_pfxdir}/..
+install -d ${pkgdir}/$(dirname ${_execfile})/
+## licenses
+mv ${_srcdir}/LICENSE ${pkgdir}/${_licensedir}/license
+mv ${_srcdir}/LICENSE.OFL ${pkgdir}/${_licensedir}/license_OFL
+mv ${_srcdir}/protonfixes/LICENSE ${pkgdir}/${_licensedir}/license_protonfixes
+## config files
+install --mode=0775 --group=games ${srcdir}/configs/user_settings.py ${pkgdir}/${_protoncfg}
+## default pfx
+mv ${_srcdir}/dist/share/default_pfx/* ${pkgdir}/${_pfxdir}
+chown -R :games ${pkgdir}/${_pfxdir}
+## executables
+mv ${_srcdir}/* ${pkgdir}/${_protondir}
+install --mode=0755 ${srcdir}/launchers/proton.sh ${pkgdir}/${_execfile}
+}