summaryrefslogtreecommitdiff
path: root/app-emulation/wine-staging/files
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2017-11-29 03:22:56 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2017-11-29 03:22:56 +0300
commit1f8d7b29673ec452bc027afb26587816f1887043 (patch)
tree233ed1267eea30b617d0dea3f700219fc740691f /app-emulation/wine-staging/files
parent62b2db1103910799da63e43aba15b55ab87d2d89 (diff)
wine: merged with recent gentoo changes
Diffstat (limited to 'app-emulation/wine-staging/files')
-rw-r--r--app-emulation/wine-staging/files/wine-1.5.26-winegcc.patch59
-rw-r--r--app-emulation/wine-staging/files/wine-1.6-memset-O3.patch21
-rw-r--r--app-emulation/wine-staging/files/wine-1.7.12-osmesa-check.patch38
-rw-r--r--app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-post.patch51
-rw-r--r--app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-pre.patch53
-rw-r--r--app-emulation/wine-staging/files/wine-1.9.5-multilib-portage.patch22
-rw-r--r--app-emulation/wine-staging/files/wine-gcc-4.9-null-pointer.patch35
7 files changed, 279 insertions, 0 deletions
diff --git a/app-emulation/wine-staging/files/wine-1.5.26-winegcc.patch b/app-emulation/wine-staging/files/wine-1.5.26-winegcc.patch
new file mode 100644
index 0000000..2045e34
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-1.5.26-winegcc.patch
@@ -0,0 +1,59 @@
+http://bugs.gentoo.org/260726
+
+diff --git a/tools/winebuild/main.c b/tools/winebuild/main.c
+index 16b4165..5c77267 100644
+--- a/tools/winebuild/main.c
++++ b/tools/winebuild/main.c
+@@ -48,10 +48,13 @@ int link_ext_symbols = 0;
+ int force_pointer_size = 0;
+ int unwind_tables = 0;
+
++#undef FORCE_POINTER_SIZE
+ #ifdef __i386__
+ enum target_cpu target_cpu = CPU_x86;
++#define FORCE_POINTER_SIZE
+ #elif defined(__x86_64__)
+ enum target_cpu target_cpu = CPU_x86_64;
++#define FORCE_POINTER_SIZE
+ #elif defined(__powerpc__)
+ enum target_cpu target_cpu = CPU_POWERPC;
+ #elif defined(__arm__)
+@@ -611,6 +614,10 @@ int main(int argc, char **argv)
+ signal( SIGTERM, exit_on_signal );
+ signal( SIGINT, exit_on_signal );
+
++#ifdef FORCE_POINTER_SIZE
++ force_pointer_size = sizeof(size_t);
++#endif
++
+ output_file = stdout;
+ argv = parse_options( argc, argv, spec );
+
+diff --git a/tools/winegcc/winegcc.c b/tools/winegcc/winegcc.c
+index 06aa200..c44d2e3 100644
+--- a/tools/winegcc/winegcc.c
++++ b/tools/winegcc/winegcc.c
+@@ -213,10 +213,13 @@ struct options
+ strarray* files;
+ };
+
++#undef FORCE_POINTER_SIZE
+ #ifdef __i386__
+ static const enum target_cpu build_cpu = CPU_x86;
++#define FORCE_POINTER_SIZE
+ #elif defined(__x86_64__)
+ static const enum target_cpu build_cpu = CPU_x86_64;
++#define FORCE_POINTER_SIZE
+ #elif defined(__powerpc__)
+ static const enum target_cpu build_cpu = CPU_POWERPC;
+ #elif defined(__arm__)
+@@ -1258,6 +1261,9 @@ int main(int argc, char **argv)
+ opts.linker_args = strarray_alloc();
+ opts.compiler_args = strarray_alloc();
+ opts.winebuild_args = strarray_alloc();
++#ifdef FORCE_POINTER_SIZE
++ opts.force_pointer_size = sizeof(size_t);
++#endif
+
+ /* determine the processor type */
+ if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp;
diff --git a/app-emulation/wine-staging/files/wine-1.6-memset-O3.patch b/app-emulation/wine-staging/files/wine-1.6-memset-O3.patch
new file mode 100644
index 0000000..75372f8
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-1.6-memset-O3.patch
@@ -0,0 +1,21 @@
+Avoid "undefined reference to `memset'" error when building with
+USE=custom-cflags and -O3 in CFLAGS with gcc-4.8.
+
+See:
+
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56888
+http://bugs.winehq.org/show_bug.cgi?id=33521
+https://bugs.gentoo.org/show_bug.cgi?id=480508
+
+diff --git a/configure.ac b/configure.ac
+index d8033cf..fe7cc7d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1767,6 +1767,7 @@ then
+
+ dnl Check for some compiler flags
+ WINE_TRY_CFLAGS([-fno-builtin],[AC_SUBST(BUILTINFLAG,"-fno-builtin")])
++ WINE_TRY_CFLAGS([-fno-tree-loop-distribute-patterns])
+ WINE_TRY_CFLAGS([-fno-strict-aliasing])
+ dnl clang needs to be told to fail on unknown options
+ saved_CFLAGS=$CFLAGS
diff --git a/app-emulation/wine-staging/files/wine-1.7.12-osmesa-check.patch b/app-emulation/wine-staging/files/wine-1.7.12-osmesa-check.patch
new file mode 100644
index 0000000..7cafcd4
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-1.7.12-osmesa-check.patch
@@ -0,0 +1,38 @@
+From 6932b9a17c4f64c13f7060895d46334bc7022430 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Tue, 7 Aug 2012 01:29:01 -0400
+Subject: [PATCH] Do not check for libGL symbols when checking libOSMesa
+
+If mesa had been built with shared glapi, glAccum is not available in
+libOSMesa without explicitly linking to libGL. In addition, in
+mesa-8.0.x and earlier, libOSMesa needs to be explicitly linked to
+libglapi if mesa was built with shared glapi, see
+https://bugs.gentoo.org/show_bug.cgi?id=399813
+And in mesa-8.1.x, libOSMesa in addition needs libdl, libpthread, and
+libstdc++, see https://bugs.gentoo.org/show_bug.cgi?id=431832
+---
+ configure.ac | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index de807d2..a2e8684 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1233,7 +1233,13 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c
+
+ if test "x$with_osmesa" != "xno"
+ then
+- WINE_CHECK_SONAME(OSMesa,glAccum,,,[$X_LIBS -lm $X_EXTRA_LIBS])
++ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[$X_LIBS -lm $X_EXTRA_LIBS])
++ if test "x$ac_cv_lib_soname_OSMesa" = "x"; then
++ osmesa_save_CC=$CC
++ CC=$CXX
++ WINE_CHECK_SONAME(OSMesa,OSMesaCreateContext,,,[-lglapi -lpthread -ldl $X_LIBS -lm $X_EXTRA_LIBS])
++ CC=$osmesa_save_CC
++ fi
+ WINE_NOTICE_WITH(osmesa,[test "x$ac_cv_lib_soname_OSMesa" = "x"],
+ [libOSMesa ${notice_platform}development files not found (or too old), OpenGL rendering in bitmaps won't be supported.])
+ fi
+--
+1.8.5.3
+
diff --git a/app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-post.patch b/app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-post.patch
new file mode 100644
index 0000000..c36dd4d
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-post.patch
@@ -0,0 +1,51 @@
+From 2f0514345d325ecd20a88e3b0cb896ca9d23deae Mon Sep 17 00:00:00 2001
+From: Sebastian Lackner <sebastian@fds-team.de>
+Date: Thu, 19 Mar 2015 07:56:04 +0100
+Subject: Reapply various changes conflicting with Maarten Lankhorst's
+ gstreamer hack v5.
+
+---
+ dlls/ntdll/ntdll_misc.h | 1 +
+ dlls/ntdll/thread.c | 7 +++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
+index e1be304..d5bc678 100644
+--- a/dlls/ntdll/ntdll_misc.h
++++ b/dlls/ntdll/ntdll_misc.h
+@@ -244,6 +244,7 @@ struct ntdll_thread_data
+ WINE_VM86_TEB_INFO vm86; /* 1fc vm86 private data */
+ void *exit_frame; /* 204 exit frame pointer */
+ #endif
++ void *pthread_stack; /* 208/318 pthread stack */
+ struct list entry;
+ BOOL detached;
+ };
+diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
+index 2011c1e2..9f824eb 100644
+--- a/dlls/ntdll/thread.c
++++ b/dlls/ntdll/thread.c
+@@ -467,6 +467,8 @@ static void exit_thread_common( int status )
+ static void *prev_teb;
+ TEB *teb;
+ #endif
++ shmlocal_t *shmlocal;
++ sigset_t sigset;
+
+ if (status) /* send the exit code to the server (0 is already the default) */
+ {
+@@ -508,6 +510,11 @@ static void exit_thread_common( int status )
+ reap_thread(NtCurrentTeb());
+ #endif
+
++ sigemptyset( &sigset );
++ sigaddset( &sigset, SIGQUIT );
++ pthread_sigmask( SIG_BLOCK, &sigset, NULL );
++ if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
++
+ close( ntdll_get_thread_data()->wait_fd[0] );
+ close( ntdll_get_thread_data()->wait_fd[1] );
+ close( ntdll_get_thread_data()->reply_fd );
+--
+2.6.4
+
diff --git a/app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-pre.patch b/app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-pre.patch
new file mode 100644
index 0000000..e9c9ac1
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-1.7.55-gstreamer-v5-staging-pre.patch
@@ -0,0 +1,53 @@
+From c96187cdbddd742728557062b85d05ac320c3e8f Mon Sep 17 00:00:00 2001
+From: Sebastian Lackner <sebastian@fds-team.de>
+Date: Thu, 19 Mar 2015 07:51:48 +0100
+Subject: Revert various changes conflicting with Maarten Lankhorst's gstreamer
+ hack v5.
+
+Note: These changes have to be reapplied with the corresponding -post patchset
+afterwards.
+---
+ dlls/ntdll/ntdll_misc.h | 1 -
+ dlls/ntdll/thread.c | 7 -------
+ 2 files changed, 8 deletions(-)
+
+diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
+index e7facf3..88531df 100644
+--- a/dlls/ntdll/ntdll_misc.h
++++ b/dlls/ntdll/ntdll_misc.h
+@@ -243,7 +243,6 @@ struct ntdll_thread_data
+ WINE_VM86_TEB_INFO vm86; /* 1fc vm86 private data */
+ void *exit_frame; /* 204 exit frame pointer */
+ #endif
+- void *pthread_stack; /* 208/318 pthread stack */
+ };
+
+ C_ASSERT( FIELD_OFFSET(TEB, SpareBytes1) + sizeof(struct ntdll_thread_data) <=
+diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
+index 6ad4b95..3ad51a2 100644
+--- a/dlls/ntdll/thread.c
++++ b/dlls/ntdll/thread.c
+@@ -391,8 +391,6 @@ void terminate_thread( int status )
+ void exit_thread( int status )
+ {
+ static void *prev_teb;
+- shmlocal_t *shmlocal;
+- sigset_t sigset;
+ TEB *teb;
+
+ if (status) /* send the exit code to the server (0 is already the default) */
+@@ -431,11 +429,6 @@ void exit_thread( int status )
+ }
+ }
+
+- sigemptyset( &sigset );
+- sigaddset( &sigset, SIGQUIT );
+- pthread_sigmask( SIG_BLOCK, &sigset, NULL );
+- if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
+-
+ close( ntdll_get_thread_data()->wait_fd[0] );
+ close( ntdll_get_thread_data()->wait_fd[1] );
+ close( ntdll_get_thread_data()->reply_fd );
+--
+2.6.4
+
diff --git a/app-emulation/wine-staging/files/wine-1.9.5-multilib-portage.patch b/app-emulation/wine-staging/files/wine-1.9.5-multilib-portage.patch
new file mode 100644
index 0000000..2166865
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-1.9.5-multilib-portage.patch
@@ -0,0 +1,22 @@
+--- configure.ac.orig 2016-03-05 20:53:50.574628728 -0500
++++ configure.ac 2016-03-05 20:57:54.945617833 -0500
+@@ -141,6 +141,9 @@
+ then
+ CC="$CC -m32"
+ CXX="$CXX -m32"
++ CFLAGS="$CFLAGS -m32"
++ LDFLAGS="$LDFLAGS -m32"
++ CXXFLAGS="$CXXFLAGS -m32"
+ AC_MSG_CHECKING([whether $CC works])
+ AC_LINK_IFELSE([AC_LANG_PROGRAM()],AC_MSG_RESULT([yes]),
+ [AC_MSG_RESULT([no])
+@@ -160,6 +163,9 @@
+ fi
+ CC="$CC -m64"
+ CXX="$CXX -m64"
++ CFLAGS="$CFLAGS -m64"
++ LDFLAGS="$LDFLAGS -m64"
++ CXXFLAGS="$CXXFLAGS -m64"
+ host_cpu="x86_64"
+ notice_platform="64-bit "
+ AC_SUBST(TARGETFLAGS,"-m64")
diff --git a/app-emulation/wine-staging/files/wine-gcc-4.9-null-pointer.patch b/app-emulation/wine-staging/files/wine-gcc-4.9-null-pointer.patch
new file mode 100644
index 0000000..213f2c6
--- /dev/null
+++ b/app-emulation/wine-staging/files/wine-gcc-4.9-null-pointer.patch
@@ -0,0 +1,35 @@
+From deb274226783ab886bdb44876944e156757efe2b Mon Sep 17 00:00:00 2001
+From: Daniel Beitler <dan@dablabs.com>
+Date: Sun, 18 May 2014 13:27:42 -0400
+Subject: [PATCH] msi: Prevent call to memset with a null pointer in
+ get_tablecolumns function.
+
+---
+ dlls/msi/table.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dlls/msi/table.c b/dlls/msi/table.c
+index 8012369..9ed9421 100644
+--- a/dlls/msi/table.c
++++ b/dlls/msi/table.c
+@@ -671,7 +671,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF
+ /* Note: _Columns table doesn't have non-persistent data */
+
+ /* if maxcount is non-zero, assume it's exactly right for this table */
+- memset( colinfo, 0, maxcount * sizeof(*colinfo) );
++ if (colinfo) memset( colinfo, 0, maxcount * sizeof(*colinfo) );
+ count = table->row_count;
+ for (i = 0; i < count; i++)
+ {
+@@ -684,7 +684,7 @@ static UINT get_tablecolumns( MSIDATABASE *db, LPCWSTR szTableName, MSICOLUMNINF
+ /* check the column number is in range */
+ if (col < 1 || col > maxcount)
+ {
+- ERR("column %d out of range\n", col);
++ ERR("column %d out of range (maxcount: %d)\n", col, maxcount);
+ continue;
+ }
+ /* check if this column was already set */
+--
+1.9.1
+