summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD10
-rw-r--r--harmony-fix.diff63
3 files changed, 76 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a68023436475..5edc6ba7c6e6 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index c97a208784d8..1f220d50cd76 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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:
+ {