summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Franco2017-10-04 23:19:42 +0200
committerPierre Franco2017-10-04 23:19:42 +0200
commit39585f1ca89380da734886a7c833e7acd0b57c06 (patch)
treecc30497aabb7e9cd81b55e5a82ac61428aa9b0cd
parentf1f2c685e5e35bbc9e4d6b8050145707d596204b (diff)
downloadaur-39585f1ca89380da734886a7c833e7acd0b57c06.tar.gz
Updated to version 2.18-1
-rw-r--r--.SRCINFO23
-rw-r--r--PKGBUILD40
-rw-r--r--freetype_2.8.1_fix.patch15
-rw-r--r--wine-list.h-linked-list-cache-line-prefetching.patch104
4 files changed, 126 insertions, 56 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 74cc3c9c0849..bb881a8d5216 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Fri Sep 29 20:30:46 UTC 2017
+# Wed Oct 4 21:17:45 UTC 2017
pkgbase = wine-gaming-nine
pkgdesc = Based off wine-staging, including the gallium-nine patches and some more hacks
- pkgver = 2.17
- pkgrel = 3
+ pkgver = 2.18
+ pkgrel = 1
url = http://www.wine-staging.com
arch = i686
arch = x86_64
@@ -64,7 +64,6 @@ pkgbase = wine-gaming-nine
makedepends = dri3proto
makedepends = xf86driproto
makedepends = pkg-config
- makedepends = freetype2<2.8.1-1
makedepends = attr
makedepends = lib32-attr
makedepends = fontconfig
@@ -138,29 +137,27 @@ pkgbase = wine-gaming-nine
optdepends = cups
optdepends = samba
optdepends = dosbox
- provides = wine=2.17
- provides = wine-wow64=2.17
- provides = wine-staging=2.17
+ provides = wine=2.18
+ provides = wine-wow64=2.18
+ provides = wine-staging=2.18
conflicts = wine
conflicts = wine-wow64
conflicts = wine-staging
options = staticlibs
- source = https://github.com/gamax92/wine-overwatch/archive/overwatch-2.17.tar.gz
+ 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.17.tar.gz
- source = https://github.com/laino/wine-patches/archive/master.tar.gz
source = 30-win32-aliases.conf
- source = freetype_2.8.1_fix.patch
source = keybindings.patch
source = steam.patch
source = wbemprox_query_v2.patch
- sha1sums = 1e2a147a74195f0ebbf35028b33a7dce3e26abf8
+ source = wine-list.h-linked-list-cache-line-prefetching.patch
+ sha1sums = 089a7ca0d83b9dbbad42ce127bf66ba60d5669d7
sha1sums = f37e9190466faa67741b49b60e9268d70c5b4644
- sha1sums = SKIP
sha1sums = 023a5c901c6a091c56e76b6a62d141d87cce9fdb
- sha1sums = aabb80b412adc99fcc42b02fa2d6692321f1c3ac
sha1sums = f3febb8836f38320742a546c667106608d4c4395
sha1sums = 74aae040fde9ff3c9e8da9c840557e87afdbc3a0
sha1sums = 644e141125a9f2407e64d23c85ec84a691c7caae
+ sha1sums = 360b9725286690b34313590076538a402e03ecb5
pkgname = wine-gaming-nine
depends = attr
diff --git a/PKGBUILD b/PKGBUILD
index 21439326286b..f4a4c1714bc6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,39 +2,36 @@
# Based on wine-staging PKGBUILD
#Additional patches:
-# -Overwatch patches
# -Gallium Nine support
# -Keybind patch reversion
-# -Heap allocation perfomance improvement patch
# -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
pkgname=wine-gaming-nine
-pkgver=2.17
-pkgrel=3
+pkgver=2.18
+pkgrel=1
_pkgbasever=${pkgver/rc/-rc}
-_d3d9ver=$_pkgbasever
-#_d3d9ver=2.16
-_winesrcdir="wine-overwatch-overwatch-$_pkgbasever"
+#_d3d9ver=$_pkgbasever
+_d3d9ver=2.17
+_winesrcdir="wine-patched-staging-$_pkgbasever"
-source=("https://github.com/gamax92/wine-overwatch/archive/overwatch-$_pkgbasever.tar.gz"
+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"
- "https://github.com/laino/wine-patches/archive/master.tar.gz"
30-win32-aliases.conf
- freetype_2.8.1_fix.patch
keybindings.patch
steam.patch
wbemprox_query_v2.patch
+ wine-list.h-linked-list-cache-line-prefetching.patch
)
-sha1sums=('1e2a147a74195f0ebbf35028b33a7dce3e26abf8'
+sha1sums=('089a7ca0d83b9dbbad42ce127bf66ba60d5669d7'
'f37e9190466faa67741b49b60e9268d70c5b4644'
- 'SKIP'
'023a5c901c6a091c56e76b6a62d141d87cce9fdb'
- 'aabb80b412adc99fcc42b02fa2d6692321f1c3ac'
'f3febb8836f38320742a546c667106608d4c4395'
'74aae040fde9ff3c9e8da9c840557e87afdbc3a0'
'644e141125a9f2407e64d23c85ec84a691c7caae'
+ '360b9725286690b34313590076538a402e03ecb5'
)
pkgdesc="Based off wine-staging, including the gallium-nine patches and some more hacks"
@@ -91,7 +88,6 @@ makedepends=(autoconf ncurses bison perl fontforge flex
dri3proto
xf86driproto
pkg-config
- 'freetype2<2.8.1-1'
)
optdepends=(
@@ -137,27 +133,15 @@ prepare()
{
cd "$_winesrcdir"
- patch -p1 < "$srcdir/wine-d3d9-patches-wine-d3d9-$_d3d9ver/staging-helper.patch" #for wine-staging
+ 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 -R < ../0001-ntdll-Improve-heap-allocation-performance-by-using-m.patch
-
-# patch -p1 < ../wine-patches-master/0001-ntdll-improve-heap-allocation-performance.patch
-# patch -p1 < ../wine-patches-master/0002-ntdll-heap.c-align-everything-to-64-byte-to-reduce-f.patch
- patch -p1 < ../wine-patches-master/0003-wine-list.h-linked-list-cache-line-prefetching.patch
-# patch -p1 < ../wine-patches-master/0004-ntdll-heap.c-freelist_balance-prefetch-next-entry-ca.patch
-# This patch has been upstreamed
-# patch -p1 < ../wine-patches-master/0005-oleaut32-typelib.c-fix-cursor2-having-the-wrong-type.patch
-# patch -p1 < ../wine-patches-master/0006-Ensure-16-byte-alignment-of-data.patch
-# patch -p1 < ../wine-patches-master/0007-wined3d-use-SwitchToThread-waits-in-wined3d_pause.patch
-
+ patch -p1 < ../wine-list.h-linked-list-cache-line-prefetching.patch
patch -p1 < ../wbemprox_query_v2.patch
patch -p1 -R < ../keybindings.patch
- patch -p1 < ../freetype_2.8.1_fix.patch
-
autoreconf -f
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
diff --git a/freetype_2.8.1_fix.patch b/freetype_2.8.1_fix.patch
deleted file mode 100644
index 27aaff6c8559..000000000000
--- a/freetype_2.8.1_fix.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
-index 13edef6601..e8ed9a9751 100644
---- a/dlls/gdi32/freetype.c
-+++ b/dlls/gdi32/freetype.c
-@@ -5150,6 +5150,10 @@ static FT_Encoding pick_charmap( FT_Face face, int charset )
- if (select_charmap( face, *encs )) break;
- encs++;
- }
-+
-+ if (!*encs && face->num_charmaps)
-+ face->charmap = face->charmaps[0];
-+
- return *encs;
- }
-
diff --git a/wine-list.h-linked-list-cache-line-prefetching.patch b/wine-list.h-linked-list-cache-line-prefetching.patch
new file mode 100644
index 000000000000..a0cb54bd488e
--- /dev/null
+++ b/wine-list.h-linked-list-cache-line-prefetching.patch
@@ -0,0 +1,104 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nils Kuhnhenn <kuhnhenn.nils@gmail.com>
+Date: Wed, 24 Aug 2016 19:44:37 +0200
+Subject: [PATCH 3/7] wine/list.h: linked list cache line prefetching
+
+---
+ include/wine/list.h | 36 ++++++++++++++++++++----------------
+ 1 file changed, 20 insertions(+), 16 deletions(-)
+
+diff --git a/include/wine/list.h b/include/wine/list.h
+index b4d681fe0f..49b1e23a39 100644
+--- a/include/wine/list.h
++++ b/include/wine/list.h
+@@ -105,7 +105,8 @@ static inline void list_remove( struct list *elem )
+ static inline struct list *list_next( const struct list *list, const struct list *elem )
+ {
+ struct list *ret = elem->next;
+- if (elem->next == list) ret = NULL;
++ if (ret == list) return NULL;
++ __builtin_prefetch(ret->next, 0, 1);
+ return ret;
+ }
+
+@@ -113,7 +114,8 @@ static inline struct list *list_next( const struct list *list, const struct list
+ static inline struct list *list_prev( const struct list *list, const struct list *elem )
+ {
+ struct list *ret = elem->prev;
+- if (elem->prev == list) ret = NULL;
++ if (ret == list) return NULL;
++ __builtin_prefetch(ret->prev, 0, 1);
+ return ret;
+ }
+
+@@ -176,51 +178,53 @@ static inline void list_move_head( struct list *dst, struct list *src )
+
+ /* iterate through the list */
+ #define LIST_FOR_EACH(cursor,list) \
+- for ((cursor) = (list)->next; (cursor) != (list); (cursor) = (cursor)->next)
++ for ((cursor) = (list)->next, __builtin_prefetch((cursor)->next, 0, 1); \
++ (cursor) != (list); (cursor) = (cursor)->next, __builtin_prefetch((cursor)->next, 0, 1))
+
+ /* iterate through the list, with safety against removal */
+ #define LIST_FOR_EACH_SAFE(cursor, cursor2, list) \
+- for ((cursor) = (list)->next, (cursor2) = (cursor)->next; \
++ for ((cursor) = (list)->next, (cursor2) = (cursor)->next, __builtin_prefetch((cursor2)->next, 0, 1); \
+ (cursor) != (list); \
+- (cursor) = (cursor2), (cursor2) = (cursor)->next)
++ (cursor) = (cursor2), (cursor2) = (cursor)->next, __builtin_prefetch((cursor2)->next, 0, 1))
+
+ /* iterate through the list using a list entry */
+ #define LIST_FOR_EACH_ENTRY(elem, list, type, field) \
+- for ((elem) = LIST_ENTRY((list)->next, type, field); \
++ for ((elem) = LIST_ENTRY((list)->next, type, field), __builtin_prefetch((elem)->field.next, 0, 1); \
+ &(elem)->field != (list); \
+- (elem) = LIST_ENTRY((elem)->field.next, type, field))
++ (elem) = LIST_ENTRY((elem)->field.next, type, field), __builtin_prefetch((elem)->field.next, 0, 1))
+
+ /* iterate through the list using a list entry, with safety against removal */
+ #define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field) \
+ for ((cursor) = LIST_ENTRY((list)->next, type, field), \
+- (cursor2) = LIST_ENTRY((cursor)->field.next, type, field); \
++ (cursor2) = LIST_ENTRY((cursor)->field.next, type, field), __builtin_prefetch((cursor2)->field.next, 0, 1); \
+ &(cursor)->field != (list); \
+ (cursor) = (cursor2), \
+- (cursor2) = LIST_ENTRY((cursor)->field.next, type, field))
++ (cursor2) = LIST_ENTRY((cursor)->field.next, type, field), __builtin_prefetch((cursor2)->field.next, 0, 1))
+
+ /* iterate through the list in reverse order */
+ #define LIST_FOR_EACH_REV(cursor,list) \
+- for ((cursor) = (list)->prev; (cursor) != (list); (cursor) = (cursor)->prev)
++ for ((cursor) = (list)->prev, __builtin_prefetch((cursor)->prev, 0, 1); \
++ (cursor) != (list); (cursor) = (cursor)->prev, __builtin_prefetch((cursor)->prev, 0, 1))
+
+ /* iterate through the list in reverse order, with safety against removal */
+ #define LIST_FOR_EACH_SAFE_REV(cursor, cursor2, list) \
+- for ((cursor) = (list)->prev, (cursor2) = (cursor)->prev; \
++ for ((cursor) = (list)->prev, (cursor2) = (cursor)->prev, __builtin_prefetch((cursor2)->prev, 0, 1); \
+ (cursor) != (list); \
+- (cursor) = (cursor2), (cursor2) = (cursor)->prev)
++ (cursor) = (cursor2), (cursor2) = (cursor)->prev, __builtin_prefetch((cursor2)->prev, 0, 1))
+
+ /* iterate through the list in reverse order using a list entry */
+ #define LIST_FOR_EACH_ENTRY_REV(elem, list, type, field) \
+- for ((elem) = LIST_ENTRY((list)->prev, type, field); \
++ for ((elem) = LIST_ENTRY((list)->prev, type, field), __builtin_prefetch((elem)->field.prev, 0, 1); \
+ &(elem)->field != (list); \
+- (elem) = LIST_ENTRY((elem)->field.prev, type, field))
++ (elem) = LIST_ENTRY((elem)->field.prev, type, field), __builtin_prefetch((elem)->field.prev, 0, 1))
+
+ /* iterate through the list in reverse order using a list entry, with safety against removal */
+ #define LIST_FOR_EACH_ENTRY_SAFE_REV(cursor, cursor2, list, type, field) \
+ for ((cursor) = LIST_ENTRY((list)->prev, type, field), \
+- (cursor2) = LIST_ENTRY((cursor)->field.prev, type, field); \
++ (cursor2) = LIST_ENTRY((cursor)->field.prev, type, field), __builtin_prefetch((cursor2)->field.prev, 0, 1); \
+ &(cursor)->field != (list); \
+ (cursor) = (cursor2), \
+- (cursor2) = LIST_ENTRY((cursor)->field.prev, type, field))
++ (cursor2) = LIST_ENTRY((cursor)->field.prev, type, field), __builtin_prefetch((cursor2)->field.prev, 0, 1))
+
+ /* macros for statically initialized lists */
+ #undef LIST_INIT
+--
+2.12.2
+