summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStelios Tsampas2023-07-12 12:46:17 +0300
committerStelios Tsampas2023-07-12 12:46:17 +0300
commit03fd301999df378e11447253f747ba96f16ddc05 (patch)
treeee7c230b8188f25dff58eec76bb128a326f69aa7
parent6992d6f8a591bf3d143d5a7997753674bbc7e16a (diff)
downloadaur-03fd301999df378e11447253f747ba96f16ddc05.tar.gz
[proton] Copy mingw DLLS
-rw-r--r--.SRCINFO8
-rw-r--r--0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch44
-rw-r--r--PKGBUILD29
-rw-r--r--PKGBUILD.testing29
4 files changed, 93 insertions, 17 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d2a5a7b33abf..b96d9dd90a07 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index 469293039ff8..19fe86b14eee 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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'
)