diff options
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | steam.patch | 39 |
3 files changed, 62 insertions, 12 deletions
@@ -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 @@ -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 | + |