diff options
-rw-r--r-- | .SRCINFO | 42 | ||||
-rw-r--r-- | PKGBUILD | 63 | ||||
-rw-r--r-- | harmony-fix.diff | 63 | ||||
-rw-r--r-- | wine-staging-back-out-ntdll-futex-condition-var.diff | 73 | ||||
-rw-r--r-- | wine.install | 84 |
5 files changed, 144 insertions, 181 deletions
@@ -1,6 +1,6 @@ -pkgbase = wine-staging-lol - pkgdesc = A compatibility layer for running Windows programs - Staging branch - pkgver = 3.14 +pkgbase = wine-lol + pkgdesc = A compatibility layer for running Windows programs - Staging branch with League Of Legends fixes + pkgver = 4.8 pkgrel = 1 url = http://www.wine-staging.com install = wine.install @@ -59,6 +59,12 @@ pkgbase = wine-staging-lol makedepends = lib32-vulkan-icd-loader makedepends = sdl2 makedepends = lib32-sdl2 + makedepends = vkd3d + makedepends = lib32-vkd3d + makedepends = sane + makedepends = libgphoto2 + makedepends = gsm + makedepends = ffmpeg makedepends = samba makedepends = opencl-headers depends = attr @@ -90,6 +96,7 @@ pkgbase = wine-staging-lol depends = libpcap depends = lib32-libpcap depends = desktop-file-utils + depends = wine-lol-glibc optdepends = giflib optdepends = lib32-giflib optdepends = libpng @@ -132,28 +139,31 @@ pkgbase = wine-staging-lol optdepends = lib32-vulkan-icd-loader optdepends = sdl2 optdepends = lib32-sdl2 + optdepends = vkd3d + optdepends = lib32-vkd3d + optdepends = sane + optdepends = libgphoto2 + optdepends = gsm + optdepends = ffmpeg optdepends = cups optdepends = samba optdepends = dosbox - provides = wine=3.14 - provides = wine-wow64=3.14 + provides = wine=4.8 + provides = wine-wow64=4.8 conflicts = wine conflicts = wine-wow64 + conflicts = wine-staging options = staticlibs - source = https://dl.winehq.org/wine/source/3.x/wine-3.14.tar.xz - source = https://dl.winehq.org/wine/source/3.x/wine-3.14.tar.xz.sign - source = wine-staging-v3.14.tar.gz::https://github.com/wine-staging/wine-staging/archive/v3.14.tar.gz - source = harmony-fix.diff + source = https://dl.winehq.org/wine/source/4.x/wine-4.8.tar.xz + source = wine-staging-v4.8.tar.gz::https://github.com/wine-staging/wine-staging/archive/v4.8.tar.gz source = 30-win32-aliases.conf source = wine-binfmt.conf - validpgpkeys = 5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7 - validpgpkeys = DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D - sha512sums = 50dbbf8a832abfa01247b9d170c6e1fe4f722cc8868659512df7bc17efd7e9d618db10283baf1eda0f1e4abbcdd130be16dbdb8d5a91b155c2c441e50e2b43f1 - sha512sums = SKIP - sha512sums = f998baac6be3fece1ae6d4e924f883befea43f849d678c987e9fe4d102cf22fde7b4a0fa728294c46d70c7d29caa037022fb9e33ce4b4fac0e49c94d25cdfa66 - sha512sums = b86edf07bfc560f403fdfd5a71f97930ee2a4c3f76c92cc1a0dbb2e107be9db3bed3a727a0430d8a049583c63dd11f5d4567fb7aa69b193997c6da241acc4f2e + source = wine-lol–poc1-wine.diff::https://bugs.winehq.org/attachment.cgi?id=64481 + sha512sums = ad91c31aad86b9932777a1c5a84760f41c63cfbb5d79f1a8afd132a8948667283f85e081a454cfc0904544394eaabb00fb986eba15efd8a8409db38e793f3dab + sha512sums = f2e7fbe1ed0f77bd307185d0f7aa9e837e64f86ae98828db25e05c998ec07a9dd57dc9f3e6b093310c95ff2a517825d36420d7bd9fc9028d11bc29321ac3559e sha512sums = 6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb sha512sums = bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285 + sha512sums = ed9c36aee756ee8fba0b08a3ff895893df1c771077964cbe5ce1a23f66addf7212c8ca8e601cf14e5dae82af4b275d0a11c7207acd7dc4f48fdb1216d819f9dd -pkgname = wine-staging-lol +pkgname = wine-lol @@ -1,37 +1,33 @@ -# $Id$ +# -*- mode: shell-script -*- +# Maintainer: Manuel Reimer <mail+wine@m-reimer.de> # Maintainer: Felix Yan <felixonmars@archlinux.org> # Contributor: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Eduardo Romero <eduardo@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> -# Contributor: Manuel Reimer <manuel.reimer@gmx.de> -# This PKGBUILD actually creates a build of wine-staging 3.14 -# No additional patches are applied! -# Serves me as temporary solution until Arch Linux updates wine-staging +# Contains a fix to make League Of Legends work. This fix requires a "hacked" +# glibc to be used. This has to be built separately (wine-lol-glibc on AUR). +# See: https://bugs.winehq.org/show_bug.cgi?id=47198#c16 -pkgname=wine-staging-lol -pkgver=3.14 -_winever=3.14 +pkgname=wine-lol +pkgver=4.8 pkgrel=1 _pkgbasever=${pkgver/rc/-rc} -source=(https://dl.winehq.org/wine/source/3.x/wine-$_winever.tar.xz{,.sign} +source=(https://dl.winehq.org/wine/source/4.x/wine-$_pkgbasever.tar.xz "wine-staging-v$_pkgbasever.tar.gz::https://github.com/wine-staging/wine-staging/archive/v$_pkgbasever.tar.gz" - harmony-fix.diff 30-win32-aliases.conf - wine-binfmt.conf) -sha512sums=('50dbbf8a832abfa01247b9d170c6e1fe4f722cc8868659512df7bc17efd7e9d618db10283baf1eda0f1e4abbcdd130be16dbdb8d5a91b155c2c441e50e2b43f1' - 'SKIP' - 'f998baac6be3fece1ae6d4e924f883befea43f849d678c987e9fe4d102cf22fde7b4a0fa728294c46d70c7d29caa037022fb9e33ce4b4fac0e49c94d25cdfa66' - 'b86edf07bfc560f403fdfd5a71f97930ee2a4c3f76c92cc1a0dbb2e107be9db3bed3a727a0430d8a049583c63dd11f5d4567fb7aa69b193997c6da241acc4f2e' + wine-binfmt.conf + wine-lol–poc1-wine.diff::https://bugs.winehq.org/attachment.cgi?id=64481) +sha512sums=('ad91c31aad86b9932777a1c5a84760f41c63cfbb5d79f1a8afd132a8948667283f85e081a454cfc0904544394eaabb00fb986eba15efd8a8409db38e793f3dab' + 'f2e7fbe1ed0f77bd307185d0f7aa9e837e64f86ae98828db25e05c998ec07a9dd57dc9f3e6b093310c95ff2a517825d36420d7bd9fc9028d11bc29321ac3559e' '6e54ece7ec7022b3c9d94ad64bdf1017338da16c618966e8baf398e6f18f80f7b0576edf1d1da47ed77b96d577e4cbb2bb0156b0b11c183a0accf22654b0a2bb' - 'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285') -validpgpkeys=(5AC1A08B03BD7A313E0A955AF5E6E9EEB9461DD7 - DA23579A74D4AD9AF9D3F945CEFAC8EAAF17519D) + 'bdde7ae015d8a98ba55e84b86dc05aca1d4f8de85be7e4bd6187054bfe4ac83b5a20538945b63fb073caab78022141e9545685e4e3698c97ff173cf30859e285' + 'ed9c36aee756ee8fba0b08a3ff895893df1c771077964cbe5ce1a23f66addf7212c8ca8e601cf14e5dae82af4b275d0a11c7207acd7dc4f48fdb1216d819f9dd') -pkgdesc="A compatibility layer for running Windows programs - Staging branch" +pkgdesc="A compatibility layer for running Windows programs - Staging branch with League Of Legends fixes" url="http://www.wine-staging.com" arch=(x86_64) options=(staticlibs) @@ -53,6 +49,7 @@ depends=( gcc-libs lib32-gcc-libs libpcap lib32-libpcap desktop-file-utils + wine-lol-glibc ) makedepends=(autoconf ncurses bison perl fontforge flex @@ -80,6 +77,11 @@ makedepends=(autoconf ncurses bison perl fontforge flex gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader sdl2 lib32-sdl2 + vkd3d lib32-vkd3d + sane + libgphoto2 + gsm + ffmpeg samba opencl-headers ) @@ -106,29 +108,37 @@ optdepends=( gst-plugins-base-libs lib32-gst-plugins-base-libs vulkan-icd-loader lib32-vulkan-icd-loader sdl2 lib32-sdl2 + vkd3d lib32-vkd3d + sane + libgphoto2 + gsm + ffmpeg cups samba dosbox ) provides=("wine=$pkgver" "wine-wow64=$pkgver") -conflicts=('wine' 'wine-wow64') +conflicts=('wine' 'wine-wow64' 'wine-staging') install=wine.install prepare() { # Allow ccache to work - mv wine-$_winever $pkgname + mv wine-$_pkgbasever $pkgname # apply wine-staging patchset pushd wine-staging-$_pkgbasever/patches ./patchinstall.sh DESTDIR="$srcdir/$pkgname" --all popd + # Apply League Of Legends fix + pushd "$srcdir/$pkgname" + patch -p1 -i "$srcdir/wine-lol–poc1-wine.diff" + popd + # https://bugs.winehq.org/show_bug.cgi?id=43530 export CFLAGS="${CFLAGS/-fno-plt/}" export LDFLAGS="${LDFLAGS/,-z,now/}" - patch -d $pkgname -Np1 < harmony-fix.diff - sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i $pkgname/configure* # Get rid of old build dirs @@ -139,6 +149,10 @@ prepare() { build() { cd "$srcdir" + # Prepare "rpath" to link against wine-lol-glibc, export it via LDFLAGS + _RPATH="-rpath=/usr/wine-lol-glibc/lib,-rpath=/usr/wine-lol-glibc/lib32" + export LDFLAGS="$LDFLAGS,$_RPATH" + msg2 "Building Wine-64..." cd "$srcdir/$pkgname-64-build" @@ -150,12 +164,14 @@ build() { --enable-win64 \ --with-xattr + make depend LDRPATH_INSTALL="-Wl,$_RPATH" # Use wine-lib-glibc for -install make msg2 "Building Wine-32..." export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" cd "$srcdir/$pkgname-32-build" + ../$pkgname/configure \ --prefix=/usr \ --with-x \ @@ -164,6 +180,7 @@ build() { --libdir=/usr/lib32 \ --with-wine64="$srcdir/$pkgname-64-build" + make depend LDRPATH_INSTALL="-Wl,$_RPATH" # Use wine-lib-glibc for -install make } diff --git a/harmony-fix.diff b/harmony-fix.diff deleted file mode 100644 index fe0c8c929d4a..000000000000 --- a/harmony-fix.diff +++ /dev/null @@ -1,63 +0,0 @@ -diff -u -r wine/dlls/gdi32/freetype.c wine-ft281/dlls/gdi32/freetype.c ---- wine/dlls/gdi32/freetype.c 2017-10-04 18:01:36.000000000 +0200 -+++ wine-ft281/dlls/gdi32/freetype.c 2017-10-10 10:29:17.506632615 +0200 -@@ -996,18 +996,23 @@ - - static BOOL is_subpixel_rendering_enabled( void ) - { --#ifdef FT_LCD_FILTER_H - static int enabled = -1; - if (enabled == -1) - { -- enabled = (pFT_Library_SetLcdFilter && -- pFT_Library_SetLcdFilter( NULL, 0 ) != FT_Err_Unimplemented_Feature); -+ /* >= 2.8.1 provides LCD rendering without filters */ -+ if (FT_Version.major > 2 || -+ FT_Version.major == 2 && FT_Version.minor > 8 || -+ FT_Version.major == 2 && FT_Version.minor == 8 && FT_Version.patch >= 1) -+ enabled = TRUE; -+#ifdef FT_LCD_FILTER_H -+ else if (pFT_Library_SetLcdFilter && -+ pFT_Library_SetLcdFilter( NULL, 0 ) != FT_Err_Unimplemented_Feature) -+ enabled = TRUE; -+#endif -+ else enabled = FALSE; - TRACE("subpixel rendering is %senabled\n", enabled ? "" : "NOT "); - } - return enabled; --#else -- return FALSE; --#endif - } - - -@@ -7271,7 +7276,6 @@ - case WINE_GGO_HBGR_BITMAP: - case WINE_GGO_VRGB_BITMAP: - case WINE_GGO_VBGR_BITMAP: --#ifdef FT_LCD_FILTER_H - { - switch (ft_face->glyph->format) - { -@@ -7357,8 +7361,11 @@ - if ( needsTransform ) - pFT_Outline_Transform (&ft_face->glyph->outline, &transMatTategaki); - -+#ifdef FT_LCD_FILTER_H - if ( pFT_Library_SetLcdFilter ) - pFT_Library_SetLcdFilter( library, FT_LCD_FILTER_DEFAULT ); -+#endif -+ - pFT_Render_Glyph (ft_face->glyph, render_mode); - - src = ft_face->glyph->bitmap.buffer; -@@ -7439,9 +7446,6 @@ - - break; - } --#else -- return GDI_ERROR; --#endif - - case GGO_NATIVE: - { diff --git a/wine-staging-back-out-ntdll-futex-condition-var.diff b/wine-staging-back-out-ntdll-futex-condition-var.diff deleted file mode 100644 index 188d1b871753..000000000000 --- a/wine-staging-back-out-ntdll-futex-condition-var.diff +++ /dev/null @@ -1,73 +0,0 @@ -diff -U 8 -pr a/patches/patchinstall.sh b/patches/patchinstall.sh ---- a/patches/patchinstall.sh 2018-07-30 10:09:31.000000000 +0200 -+++ b/patches/patchinstall.sh 2018-08-05 11:32:52.466918627 +0200 -@@ -245,17 +245,16 @@ patch_enable_all () - enable_ntdll_SystemInterruptInformation="$1" - enable_ntdll_SystemRoot_Symlink="$1" - enable_ntdll_ThreadTime="$1" - enable_ntdll_Threading="$1" - enable_ntdll_User_Shared_Data="$1" - enable_ntdll_WRITECOPY="$1" - enable_ntdll_Wait_User_APC="$1" - enable_ntdll_Zero_mod_name="$1" -- enable_ntdll_futex_condition_var="$1" - enable_ntdll_set_full_cpu_context="$1" - enable_ntoskrnl_Stubs="$1" - enable_nvapi_Stub_DLL="$1" - enable_nvcuda_CUDA_Support="$1" - enable_nvcuvid_CUDA_Video_Support="$1" - enable_nvencodeapi_Video_Encoder="$1" - enable_ole32_HGLOBALStream="$1" - enable_ole32_STGPROP="$1" -@@ -922,19 +921,16 @@ patch_enable () - enable_ntdll_WRITECOPY="$2" - ;; - ntdll-Wait_User_APC) - enable_ntdll_Wait_User_APC="$2" - ;; - ntdll-Zero_mod_name) - enable_ntdll_Zero_mod_name="$2" - ;; -- ntdll-futex-condition-var) -- enable_ntdll_futex_condition_var="$2" -- ;; - ntdll-set_full_cpu_context) - enable_ntdll_set_full_cpu_context="$2" - ;; - ntoskrnl-Stubs) - enable_ntoskrnl_Stubs="$2" - ;; - nvapi-Stub_DLL) - enable_nvapi_Stub_DLL="$2" -@@ -5449,31 +5445,16 @@ fi - # | - if test "$enable_ntdll_Zero_mod_name" -eq 1; then - patch_apply ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch - ( - printf '%s\n' '+ { "Qian Hong", "ntdll: Initialize mod_name to zero.", 1 },'; - ) >> "$patchlist" - fi - --# Patchset ntdll-futex-condition-var --# | --# | This patchset fixes the following Wine bugs: --# | * [#45524] Add a futex-based implementation of condition variables --# | --# | Modified files: --# | * dlls/ntdll/sync.c --# | --if test "$enable_ntdll_futex_condition_var" -eq 1; then -- patch_apply ntdll-futex-condition-var/0001-ntdll-Add-a-futex-based-condition-variable-implement.patch -- ( -- printf '%s\n' '+ { "Zebediah Figura", "ntdll: Add a futex-based condition variable implementation.", 1 },'; -- ) >> "$patchlist" --fi -- - # Patchset ntdll-set_full_cpu_context - # | - # | Modified files: - # | * dlls/ntdll/signal_i386.c - # | - if test "$enable_ntdll_set_full_cpu_context" -eq 1; then - patch_apply ntdll-set_full_cpu_context/0001-ntdll-Add-back-SS-segment-prefixes-in-set_full_cpu_c.patch - ( diff --git a/wine.install b/wine.install index cbe10cc59dc7..68fcaa415f39 100644 --- a/wine.install +++ b/wine.install @@ -1,7 +1,79 @@ -post_install() { - echo "Run 'systemctl restart systemd-binfmt' in order to make the wine binfmt available on your system." -} +<!DOCTYPE html> +<html lang='en'> +<head> +<title>wine.install\trunk - svntogit/community.git - Git clone of the 'community' repository +</title> +<meta name='generator' content='cgit v1.2.1-1-g437b'/> +<meta name='robots' content='index, nofollow'/> +<link rel='stylesheet' type='text/css' href='/cgit.css'/> +<link rel='shortcut icon' href='/favicon.ico'/> +<link rel='alternate' title='Atom feed' href='https://git.archlinux.org/svntogit/community.git/atom/trunk/wine.install?h=packages/wine-staging' type='application/atom+xml'/> +<link rel='vcs-git' href='https://git.archlinux.org/svntogit/community.git' title='svntogit/community.git Git repository'/> +<link rel='vcs-git' href='git://git.archlinux.org/svntogit/community.git' title='svntogit/community.git Git repository'/> +<link rel='vcs-git' href='ssh://git.archlinux.org/srv/git/svntogit/community.git' title='svntogit/community.git Git repository'/> +</head> +<body> + <div id="archnavbar"><!-- Arch Linux global navigation bar --> + <div id="archnavbarlogo"> + <p><a href="http://www.archlinux.org/" title="Arch news, packages, projects and more"></a></p> + </div> + <div id="archnavbarmenu"> + <ul id="archnavbarlist"> + <li id="anb-home"><a href="http://www.archlinux.org/" title="Arch news, packages, projects and more">Home</a></li> + <li id="anb-packages"><a href="http://www.archlinux.org/packages/" title="Arch Package Database">Packages</a></li> + <li id="anb-forums"><a href="https://bbs.archlinux.org/" title="Community forums">Forums</a></li> + <li id="anb-wiki"><a href="https://wiki.archlinux.org/" title="Community documentation">Wiki</a></li> + <li id="anb-bugs"><a href="https://bugs.archlinux.org/" title="Report and follow bugs">Bugs</a></li> + <li id="anb-sec"><a href="https://security.archlinux.org/" title="Security Tracker">Security</a></li> + <li id="anb-aur"><a href="https://aur.archlinux.org/" title="Arch Linux User Repository">AUR</a></li> + <li id="anb-download"><a href="http://www.archlinux.org/download/" title="Get Arch Linux">Download</a></li> + </ul> + </div> + </div><!-- #archnavbar --> +<div id='cgit'><table id='header'> +<tr> +<td class='main'><a href='/'>index</a> : <a title='svntogit/community.git' href='/svntogit/community.git/'>svntogit/community.git</a></td></tr> +<tr><td class='sub'>Git clone of the 'community' repository +</td><td class='sub right'></td></tr></table> +<table class='tabs'><tr><td> +<a href='/svntogit/community.git/?h=packages/wine-staging'>summary</a><a href='/svntogit/community.git/refs/?h=packages/wine-staging'>refs</a><a href='/svntogit/community.git/log/trunk/wine.install?h=packages/wine-staging'>log</a><a class='active' href='/svntogit/community.git/tree/trunk/wine.install?h=packages/wine-staging'>tree</a><a href='/svntogit/community.git/commit/trunk/wine.install?h=packages/wine-staging'>commit</a><a href='/svntogit/community.git/diff/trunk/wine.install?h=packages/wine-staging'>diff</a><a href='/svntogit/community.git/stats/trunk/wine.install?h=packages/wine-staging'>stats</a></td><td class='form'><form class='right' method='get' action='/svntogit/community.git/log/trunk/wine.install'> +<input type='hidden' name='h' value='packages/wine-staging'/><select name='qt'> +<option value='grep'>log msg</option> +<option value='author'>author</option> +<option value='committer'>committer</option> +<option value='range'>range</option> +</select> +<input class='txt' type='search' size='10' name='q' value=''/> +<input type='submit' value='search'/> +</form> +</td></tr></table> +<div class='path'>path: <a href='/svntogit/community.git/tree/?h=packages/wine-staging'>root</a>/<a href='/svntogit/community.git/tree/trunk?h=packages/wine-staging'>trunk</a>/<a href='/svntogit/community.git/tree/trunk/wine.install?h=packages/wine-staging'>wine.install</a></div><div class='content'>blob: cbe10cc59dc75cf4363ec89dcd12162be21770f1 (<a href='/svntogit/community.git/plain/trunk/wine.install?h=packages/wine-staging'>plain</a>) +<table summary='blob content' class='blob'> +<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a> +<a id='n2' href='#n2'>2</a> +<a id='n3' href='#n3'>3</a> +<a id='n4' href='#n4'>4</a> +<a id='n5' href='#n5'>5</a> +<a id='n6' href='#n6'>6</a> +<a id='n7' href='#n7'>7</a> +</pre></td> +<td class='lines'><pre><code>post_install<span class="hl opt">() {</span> + <span class="hl kwb">echo</span> <span class="hl str">"Run 'systemctl restart systemd-binfmt' in order to make the wine binfmt available on your system."</span> +<span class="hl opt">}</span> -post_remove() { - echo "binfmt binary formats will be updated at reboot" -} +post_remove<span class="hl opt">() {</span> + <span class="hl kwb">echo</span> <span class="hl str">"binfmt binary formats will be updated at reboot"</span> +<span class="hl opt">}</span> +</code></pre></td></tr></table> +</div> <!-- class=content --> +<div class="foot" style="padding-left:1em;padding-right:1em;"> +<p>Copyright © 2002-2018 <a href="mailto:jvinet@zeroflux.org" +title="contact Judd Vinet">Judd Vinet</a> and <a href="mailto:aaron@archlinux.org" +title="contact Aaron Griffin">Aaron Griffin</a>. The Arch Linux name and logo +are recognized trademarks. Some rights reserved. The registered trademark +Linux® is used pursuant to a sublicense from LMI, the exclusive licensee +of Linus Torvalds, owner of the mark on a world-wide basis.</p> +</div> +</div> <!-- id=cgit --> +</body> +</html> |