summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD16
-rw-r--r--steam.patch39
3 files changed, 62 insertions, 12 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9ea84deecfde..d42030ed9029 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = wine-staging-pba
pkgdesc = A compatibility layer for running Windows programs - Staging branch with PBA patches
- pkgver = 3.4
+ pkgver = 3.5
pkgrel = 1
url = http://www.wine-staging.com
install = wine.install
@@ -61,6 +61,7 @@ pkgbase = wine-staging-pba
makedepends = lib32-sdl2
makedepends = samba
makedepends = opencl-headers
+ makedepends = git
depends = attr
depends = lib32-attr
depends = fontconfig
@@ -135,27 +136,29 @@ pkgbase = wine-staging-pba
optdepends = cups
optdepends = samba
optdepends = dosbox
- provides = wine=3.4
- provides = wine-wow64=3.4
+ provides = wine=3.5
+ provides = wine-wow64=3.5
conflicts = wine
conflicts = wine-wow64
conflicts = wine-staging
options = staticlibs
- source = https://dl.winehq.org/wine/source/3.x/wine-3.4.tar.xz
- source = https://dl.winehq.org/wine/source/3.x/wine-3.4.tar.xz.sign
- source = wine-staging-v3.4.tar.gz::https://github.com/wine-staging/wine-staging/archive/v3.4.tar.gz
+ source = https://dl.winehq.org/wine/source/3.x/wine-3.5.tar.xz
+ source = https://dl.winehq.org/wine/source/3.x/wine-3.5.tar.xz.sign
+ source = wine-staging-v3.5.tar.gz::https://github.com/wine-staging/wine-staging/archive/v3.5.tar.gz
source = harmony-fix.diff
source = 30-win32-aliases.conf
source = wine-binfmt.conf
+ source = steam.patch
source = pba-patches::git+https://github.com/acomminos/wine-pba.git
validpgpkeys = 5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
validpgpkeys = DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D
- sha512sums = 5787bf3fa13d363302ee26f86b96ed728b2b06184572021efdbb00b2c8ebd088056c6d9e22c6c78f0edc0a0b12e26facccc51f08970c8c5eaab4309e86b4286c
+ sha512sums = c1e36f3db862fdedd00c3ac20c84c6eb799b53fe32e959b481a6168baf7d9725ed9bd0a97e7f9b651e3ccfba4f8fb623445369be03fde5010ed0fcb0a53e7d3f
sha512sums = SKIP
- sha512sums = f0cc2b3d91589a4d9536c1011001edf7db428387592407a64949381c0ac2f0bb79b0fbf04d3c85db50adbecba716188a8249e1ff166b5ec3004d9eb5f9e92f3f
+ sha512sums = 39ce4fccac408d69c55fe53376744d218d546d09fc3fcaa5c8e87ba070de5ed52128ebdf0ed76cb5e3a5178a79c8fb25a8786b129e8b3eb59156732d7a4bf15c
sha512sums = b86edf07bfc560f403fdfd5a71f97930ee2a4c3f76c92cc1a0dbb2e107be9db3bed3a727a0430d8a049583c63dd11f5d4567fb7aa69b193997c6da241acc4f2e
sha512sums = 6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb
sha512sums = bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285
+ sha512sums = f3e42a0720777256ca583f96044f6482aae8f4c707189104216f86f6c7a1b68a186c5124c72866229d46eb66c20c555ba9f32a230ec50f968faa8a12b8372b0a
sha512sums = SKIP
pkgname = wine-staging-pba
diff --git a/PKGBUILD b/PKGBUILD
index 25bd697f6117..d6cc79bf4903 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=wine-staging-pba
-pkgver=3.4
+pkgver=3.5
pkgrel=1
_pkgbasever=${pkgver/rc/-rc}
@@ -17,13 +17,15 @@ source=(https://dl.winehq.org/wine/source/3.x/wine-$_pkgbasever.tar.xz{,.sign}
harmony-fix.diff
30-win32-aliases.conf
wine-binfmt.conf
+ steam.patch
"pba-patches::git+https://github.com/acomminos/wine-pba.git")
-sha512sums=('5787bf3fa13d363302ee26f86b96ed728b2b06184572021efdbb00b2c8ebd088056c6d9e22c6c78f0edc0a0b12e26facccc51f08970c8c5eaab4309e86b4286c'
+sha512sums=('c1e36f3db862fdedd00c3ac20c84c6eb799b53fe32e959b481a6168baf7d9725ed9bd0a97e7f9b651e3ccfba4f8fb623445369be03fde5010ed0fcb0a53e7d3f'
'SKIP'
- 'f0cc2b3d91589a4d9536c1011001edf7db428387592407a64949381c0ac2f0bb79b0fbf04d3c85db50adbecba716188a8249e1ff166b5ec3004d9eb5f9e92f3f'
+ '39ce4fccac408d69c55fe53376744d218d546d09fc3fcaa5c8e87ba070de5ed52128ebdf0ed76cb5e3a5178a79c8fb25a8786b129e8b3eb59156732d7a4bf15c'
'b86edf07bfc560f403fdfd5a71f97930ee2a4c3f76c92cc1a0dbb2e107be9db3bed3a727a0430d8a049583c63dd11f5d4567fb7aa69b193997c6da241acc4f2e'
'6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb'
'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285'
+ 'f3e42a0720777256ca583f96044f6482aae8f4c707189104216f86f6c7a1b68a186c5124c72866229d46eb66c20c555ba9f32a230ec50f968faa8a12b8372b0a'
'SKIP')
validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7
DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D)
@@ -79,6 +81,7 @@ makedepends=(autoconf ncurses bison perl fontforge flex
sdl2 lib32-sdl2
samba
opencl-headers
+ git
)
optdepends=(
@@ -126,8 +129,13 @@ prepare() {
patch -d $pkgname -Np1 < harmony-fix.diff
+ # steam fix
+ pushd $pkgname
+ patch -Np1 -i ../steam.patch
+ popd
+
pushd pba-patches
- git checkout 87307b1b9093c769d21d0803bb122b9866bb887c
+ git checkout c34cd8d41d640d08ff2e46192f095de163c665ea
popd
for f in $(ls pba-patches/patches); do
diff --git a/steam.patch b/steam.patch
new file mode 100644
index 000000000000..c382a15d4565
--- /dev/null
+++ b/steam.patch
@@ -0,0 +1,39 @@
+diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
+index 6e7b23e..63eda34 100644
+--- a/dlls/kernel32/process.c
++++ b/dlls/kernel32/process.c
+@@ -2429,6 +2429,33 @@ static BOOL create_process_impl( LPCWSTR app_name, LPWSTR cmd_line, LPSECURITY_A
+ return FALSE;
+ if (hFile == INVALID_HANDLE_VALUE) goto done;
+
++ /* CROSSOVER HACK: bug 13322 (winehq bug 39403)
++ * Insert --no-sandbox in command line of Steam's web helper process to
++ * work around problems hooking our ntdll exports. */
++ {
++ static const WCHAR steamwebhelperexeW[] = {'s','t','e','a','m','w','e','b','h','e','l','p','e','r','.','e','x','e',0};
++ static const WCHAR nosandboxW[] = {' ','-','-','n','o','-','s','a','n','d','b','o','x',0};
++
++ if (strstrW(name, steamwebhelperexeW))
++ {
++ LPWSTR new_command_line;
++
++ new_command_line = HeapAlloc(GetProcessHeap(), 0,
++ sizeof(WCHAR) * (strlenW(tidy_cmdline) + strlenW(nosandboxW) + 1));
++
++ if (!new_command_line) return FALSE;
++
++ strcpyW(new_command_line, tidy_cmdline);
++ strcatW(new_command_line, nosandboxW);
++
++ TRACE("CrossOver hack changing command line to %s\n", debugstr_w(new_command_line));
++
++ if (tidy_cmdline != cmd_line) HeapFree( GetProcessHeap(), 0, tidy_cmdline );
++ tidy_cmdline = new_command_line;
++ }
++ }
++ /* end CROSSOVER HACK */
++
+ /* Warn if unsupported features are used */
+
+ if (flags & (IDLE_PRIORITY_CLASS | HIGH_PRIORITY_CLASS | REALTIME_PRIORITY_CLASS |
+