diff options
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | 0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch | 44 | ||||
-rw-r--r-- | PKGBUILD | 29 | ||||
-rw-r--r-- | PKGBUILD.testing | 29 |
4 files changed, 93 insertions, 17 deletions
@@ -1,7 +1,7 @@ pkgbase = proton pkgdesc = Compatibility tool for Steam Play based on Wine and additional components - pkgver = 8.0.2.3 - pkgrel = 6 + pkgver = 8.0.3.2 + pkgrel = 1 epoch = 1 url = https://github.com/ValveSoftware/Proton install = proton.install @@ -161,7 +161,7 @@ pkgbase = proton options = !staticlibs options = !lto options = emptydirs - source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-8.0-2c + source = proton::git+https://github.com/ValveSoftware/Proton.git#tag=proton-8.0-3b source = wine-valve::git+https://github.com/ValveSoftware/wine.git source = dxvk::git+https://github.com/doitsujin/dxvk.git source = openvr::git+https://github.com/ValveSoftware/openvr.git @@ -190,6 +190,7 @@ pkgbase = proton source = https://github.com/madewokherd/wine-mono/releases/download/wine-mono-7.4.1/wine-mono-7.4.1-x86.tar.xz source = 0001-AUR-Pkgbuild-changes.patch source = 0002-AUR-Do-not-update-cargo-crates.patch + source = 0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch source = fix_hwnd_changes_meaning.patch sha256sums = SKIP sha256sums = SKIP @@ -220,6 +221,7 @@ pkgbase = proton sha256sums = 1286afc67b0a329f5e2d98d9e803ca5906a841ad5486e9b3b1fefa1124b15622 sha256sums = edbbcc93ef53a81150baa409b9c55e756edef6dcda4dd0b79f8fdcaae743aac9 sha256sums = 9c107461440cb8cd7d54f994b235dc0be6a11370e0a60578523633c07024c976 + sha256sums = 71a8337c43da04f50246d779c1cfdcbe88d2a74a7c02fd8953671932b234850c sha256sums = 20824bb565fefcad4aa978c54e0f8b9d9d17b7b52fb03fc87943150de148f06f pkgname = proton diff --git a/0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch b/0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch new file mode 100644 index 000000000000..eeb65106957b --- /dev/null +++ b/0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch @@ -0,0 +1,44 @@ +From 8c9dd5d0c85c862301fa3c3b69cab100cbcd8d95 Mon Sep 17 00:00:00 2001 +From: Stelios Tsampas <loathingkernel@gmail.com> +Date: Wed, 12 Jul 2023 03:16:34 +0300 +Subject: [PATCH 4/4] AUR Copy DLL dependencies of 32bit libvkd3d dlls into the + correct location in the prefix + +For some unknown to me reason, 32bit vkd3d (not vkd3d-proton) always links +to libgcc_s_dw2-1.dll no matter what linker options I tried. + +The required dlls into the package next to vkd3d, they will be copied later into the prefix +by the patched proton script. Bundling the helps to avoid making mingw-w64-gcc package +a runtime dependency. + + DLL Name: libgcc_s_dw2-1.dll + vma: Hint/Ord Member-Name Bound-To + 6a4b4 121 __udivdi3 + 6a4c0 123 __umoddi3 +--- + proton | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/proton b/proton +index c581144f..9b6047c9 100755 +--- a/proton ++++ b/proton +@@ -1083,6 +1083,15 @@ class CompatData: + prefix=self.prefix_dir, track_file=tracked_files, link_debug=True) + try_copy(g_proton.lib_dir + "vkd3d/libvkd3d-shader-1.dll", "drive_c/windows/syswow64", + prefix=self.prefix_dir, track_file=tracked_files, link_debug=True) ++ #copy mingw DLL dependencies for libvkd3d ++ try_copy(g_proton.lib64_dir + "vkd3d/libgcc_s_seh-1.dll", "drive_c/windows/system32", ++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True) ++ try_copy(g_proton.lib_dir + "vkd3d/libgcc_s_dw2-1.dll", "drive_c/windows/syswow64", ++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True) ++ try_copy(g_proton.lib64_dir + "vkd3d/libwinpthread-1.dll", "drive_c/windows/system32", ++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True) ++ try_copy(g_proton.lib_dir + "vkd3d/libwinpthread-1.dll", "drive_c/windows/syswow64", ++ prefix=self.prefix_dir, track_file=tracked_files, link_debug=True) + + if use_wined3d: + dxvkfiles = [] +-- +2.41.0 + @@ -1,12 +1,12 @@ # Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com> pkgname=proton -_srctag=8.0-2c +_srctag=8.0-3b _commit= -pkgver=8.0.2.3 # pkgver=${_srctag//-/.} +pkgver=8.0.3.2 # pkgver=${_srctag//-/.} _geckover=2.47.3 _monover=7.4.1 -pkgrel=6 +pkgrel=1 epoch=1 pkgdesc="Compatibility tool for Steam Play based on Wine and additional components" url="https://github.com/ValveSoftware/Proton" @@ -109,10 +109,11 @@ source=( https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${_monover}/wine-mono-${_monover}-x86.tar.xz 0001-AUR-Pkgbuild-changes.patch 0002-AUR-Do-not-update-cargo-crates.patch + 0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch + fix_hwnd_changes_meaning.patch ) # Optional patches source+=( - fix_hwnd_changes_meaning.patch ) noextract=( wine-gecko-${_geckover}-{x86,x86_64}.tar.xz @@ -235,7 +236,7 @@ prepare() { patch -p1 -i "$srcdir"/0001-AUR-Pkgbuild-changes.patch patch -p1 -i "$srcdir"/0002-AUR-Do-not-update-cargo-crates.patch - + patch -p1 -i "$srcdir"/0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch patch -p1 -i "$srcdir"/fix_hwnd_changes_meaning.patch # Remove repos from srcdir to save space @@ -293,11 +294,24 @@ build() { package() { cd build + # Delete the intermediate build directories to free space (mostly for my github actions) + rm -rf dst-* obj-* src-* pfx-* + local _compatdir="$pkgdir/usr/share/steam/compatibilitytools.d" mkdir -p "$_compatdir/${pkgname}" rsync --delete -arx dist/* "$_compatdir/${pkgname}" cp -f dist/version "$_compatdir/${pkgname}/dist" + # For some unknown to me reason, 32bit vkd3d (not vkd3d-proton) always links + # to libgcc_s_dw2-1.dll no matter what linker options I tried. + # Copy the required dlls into the package, they will be copied later into the prefix + # by the patched proton script. Bundling the helps to avoid making mingw-w64-gcc package + # a runtime dependency. + cp /usr/i686-w64-mingw32/bin/{libgcc_s_dw2-1.dll,libwinpthread-1.dll} \ + "$_compatdir/${pkgname}"/files/lib/vkd3d/ + cp /usr/x86_64-w64-mingw32/bin/{libgcc_s_seh-1.dll,libwinpthread-1.dll} \ + "$_compatdir/${pkgname}"/files/lib64/vkd3d/ + mkdir -p "$pkgdir/usr/share/licenses/${pkgname}" mv "$_compatdir/${pkgname}"/LICENSE{,.OFL} \ "$pkgdir/usr/share/licenses/${pkgname}" @@ -353,9 +367,10 @@ sha256sums=('SKIP' '0beac419c20ee2e68a1227b6e3fa8d59fec0274ed5e82d0da38613184716ef75' '1286afc67b0a329f5e2d98d9e803ca5906a841ad5486e9b3b1fefa1124b15622' 'edbbcc93ef53a81150baa409b9c55e756edef6dcda4dd0b79f8fdcaae743aac9' - '9c107461440cb8cd7d54f994b235dc0be6a11370e0a60578523633c07024c976') + '9c107461440cb8cd7d54f994b235dc0be6a11370e0a60578523633c07024c976' + '71a8337c43da04f50246d779c1cfdcbe88d2a74a7c02fd8953671932b234850c' + '20824bb565fefcad4aa978c54e0f8b9d9d17b7b52fb03fc87943150de148f06f') # Optional patches sha256sums+=( - '20824bb565fefcad4aa978c54e0f8b9d9d17b7b52fb03fc87943150de148f06f' ) diff --git a/PKGBUILD.testing b/PKGBUILD.testing index fcc61b046911..31b685ad543e 100644 --- a/PKGBUILD.testing +++ b/PKGBUILD.testing @@ -1,12 +1,12 @@ # Maintainer: loathingkernel <loathingkernel _a_ gmail _d_ com> pkgname=proton -_srctag=8.0-2c +_srctag=8.0-3b _commit= -pkgver=8.0.2.3 # pkgver=${_srctag//-/.} +pkgver=8.0.3.2 # pkgver=${_srctag//-/.} _geckover=2.47.3 _monover=7.4.1 -pkgrel=6 +pkgrel=1 epoch=1 pkgdesc="Compatibility tool for Steam Play based on Wine and additional components" url="https://github.com/ValveSoftware/Proton" @@ -109,10 +109,11 @@ source=( https://github.com/madewokherd/wine-mono/releases/download/wine-mono-${_monover}/wine-mono-${_monover}-x86.tar.xz 0001-AUR-Pkgbuild-changes.patch 0002-AUR-Do-not-update-cargo-crates.patch + 0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch + fix_hwnd_changes_meaning.patch ) # Optional patches source+=( - fix_hwnd_changes_meaning.patch ) noextract=( wine-gecko-${_geckover}-{x86,x86_64}.tar.xz @@ -235,7 +236,7 @@ prepare() { patch -p1 -i "$srcdir"/0001-AUR-Pkgbuild-changes.patch patch -p1 -i "$srcdir"/0002-AUR-Do-not-update-cargo-crates.patch - + patch -p1 -i "$srcdir"/0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch patch -p1 -i "$srcdir"/fix_hwnd_changes_meaning.patch # Remove repos from srcdir to save space @@ -293,11 +294,24 @@ build() { package() { cd build + # Delete the intermediate build directories to free space (mostly for my github actions) + rm -rf dst-* obj-* src-* pfx-* + local _compatdir="$pkgdir/usr/share/steam/compatibilitytools.d" mkdir -p "$_compatdir/${pkgname}" rsync --delete -arx dist/* "$_compatdir/${pkgname}" cp -f dist/version "$_compatdir/${pkgname}/dist" + # For some unknown to me reason, 32bit vkd3d (not vkd3d-proton) always links + # to libgcc_s_dw2-1.dll no matter what linker options I tried. + # Copy the required dlls into the package, they will be copied later into the prefix + # by the patched proton script. Bundling the helps to avoid making mingw-w64-gcc package + # a runtime dependency. + cp /usr/i686-w64-mingw32/bin/{libgcc_s_dw2-1.dll,libwinpthread-1.dll} \ + "$_compatdir/${pkgname}"/files/lib/vkd3d/ + cp /usr/x86_64-w64-mingw32/bin/{libgcc_s_seh-1.dll,libwinpthread-1.dll} \ + "$_compatdir/${pkgname}"/files/lib64/vkd3d/ + mkdir -p "$pkgdir/usr/share/licenses/${pkgname}" mv "$_compatdir/${pkgname}"/LICENSE{,.OFL} \ "$pkgdir/usr/share/licenses/${pkgname}" @@ -356,9 +370,10 @@ sha256sums=('SKIP' '0beac419c20ee2e68a1227b6e3fa8d59fec0274ed5e82d0da38613184716ef75' '1286afc67b0a329f5e2d98d9e803ca5906a841ad5486e9b3b1fefa1124b15622' 'SKIP' - 'SKIP') + 'SKIP' + 'SKIP' + '20824bb565fefcad4aa978c54e0f8b9d9d17b7b52fb03fc87943150de148f06f') # Optional patches sha256sums+=( - '20824bb565fefcad4aa978c54e0f8b9d9d17b7b52fb03fc87943150de148f06f' ) |