diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | harmony-fix.diff | 63 |
3 files changed, 76 insertions, 3 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Sun Oct 8 16:58:59 UTC 2017 +# Fri Oct 13 14:02:34 UTC 2017 pkgbase = wine-gaming-nine pkgdesc = Based off wine-staging, including the gallium-nine patches and some more hacks pkgver = 2.18 - pkgrel = 2 + pkgrel = 3 url = http://www.wine-staging.com arch = i686 arch = x86_64 @@ -146,6 +146,7 @@ pkgbase = wine-gaming-nine source = https://github.com/wine-compholio/wine-patched/archive/staging-2.18.tar.gz source = https://github.com/sarnex/wine-d3d9-patches/archive/wine-d3d9-2.18.tar.gz source = 30-win32-aliases.conf + source = harmony-fix.diff source = keybindings.patch source = steam.patch source = wbemprox_query_v2.patch @@ -153,6 +154,7 @@ pkgbase = wine-gaming-nine sha1sums = 089a7ca0d83b9dbbad42ce127bf66ba60d5669d7 sha1sums = 21a6e2bcd7ef6d261feca036cc4e0d43a633494f sha1sums = 023a5c901c6a091c56e76b6a62d141d87cce9fdb + sha1sums = b5a4faccf9109d2da5017779113ea270bf189957 sha1sums = f3febb8836f38320742a546c667106608d4c4395 sha1sums = 74aae040fde9ff3c9e8da9c840557e87afdbc3a0 sha1sums = 644e141125a9f2407e64d23c85ec84a691c7caae @@ -7,10 +7,11 @@ # -Wbemprox videocontroller query fix v2 (see https://bugs.winehq.org/show_bug.cgi?id=38879 ) # -Steam patch, Crossover Hack version (see https://bugs.winehq.org/show_bug.cgi?id=39403 ) # -Linked lists perfomances improvements +# -Harmony Fix (from https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/wine-staging-nine ) pkgname=wine-gaming-nine pkgver=2.18 -pkgrel=2 +pkgrel=3 _pkgbasever=${pkgver/rc/-rc} _d3d9ver=$_pkgbasever @@ -20,6 +21,7 @@ _winesrcdir="wine-patched-staging-$_pkgbasever" source=("https://github.com/wine-compholio/wine-patched/archive/staging-$_pkgbasever.tar.gz" "https://github.com/sarnex/wine-d3d9-patches/archive/wine-d3d9-$_d3d9ver.tar.gz" 30-win32-aliases.conf + harmony-fix.diff keybindings.patch steam.patch wbemprox_query_v2.patch @@ -28,6 +30,7 @@ source=("https://github.com/wine-compholio/wine-patched/archive/staging-$_pkgbas sha1sums=('089a7ca0d83b9dbbad42ce127bf66ba60d5669d7' '21a6e2bcd7ef6d261feca036cc4e0d43a633494f' '023a5c901c6a091c56e76b6a62d141d87cce9fdb' + 'b5a4faccf9109d2da5017779113ea270bf189957' 'f3febb8836f38320742a546c667106608d4c4395' '74aae040fde9ff3c9e8da9c840557e87afdbc3a0' '644e141125a9f2407e64d23c85ec84a691c7caae' @@ -132,10 +135,15 @@ prepare() { cd "$_winesrcdir" + # https://bugs.winehq.org/show_bug.cgi?id=43530 + export CFLAGS="${CFLAGS/-fno-plt/}" + export LDFLAGS="${LDFLAGS/,-z,now/}" + patch -p1 < "$srcdir/wine-d3d9-patches-wine-d3d9-$_d3d9ver/staging-helper.patch" patch -p1 < "$srcdir/wine-d3d9-patches-wine-d3d9-$_d3d9ver/wine-d3d9.patch" patch -p1 < ../steam.patch + patch -p1 < ../harmony-fix.diff patch -p1 < ../wine-list.h-linked-list-cache-line-prefetching.patch patch -p1 < ../wbemprox_query_v2.patch diff --git a/harmony-fix.diff b/harmony-fix.diff new file mode 100644 index 000000000000..fe0c8c929d4a --- /dev/null +++ b/harmony-fix.diff @@ -0,0 +1,63 @@ +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: + { |