summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emulation/wine/Manifest7
-rw-r--r--app-emulation/wine/files/builtin_ms_va_list.c9
-rw-r--r--app-emulation/wine/files/pr66838.c36
-rw-r--r--app-emulation/wine/files/pr69140.c37
-rw-r--r--app-emulation/wine/files/wine-1.5.26-winegcc.patch59
-rw-r--r--app-emulation/wine/files/wine-1.6-memset-O3.patch21
-rw-r--r--app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch39
-rw-r--r--app-emulation/wine/files/wine-1.9.5-multilib-portage.patch (renamed from app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch)35
-rw-r--r--app-emulation/wine/files/wine-gcc-4.9-null-pointer.patch35
-rw-r--r--app-emulation/wine/files/wine-sysmacros.patch177
-rw-r--r--app-emulation/wine/wine-2.10.ebuild (renamed from app-emulation/wine/wine-1.9.15-r1.ebuild)69
11 files changed, 231 insertions, 293 deletions
diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest
new file mode 100644
index 00000000..44de512f
--- /dev/null
+++ b/app-emulation/wine/Manifest
@@ -0,0 +1,7 @@
+DIST wine-2.10.tar.xz 19209580 SHA256 488df7ffd2e81da455bf428fc9eb784bb4273a890334500895665711bd52f179 SHA512 8807e16a571bf45d99097ad5fdfb9fe755f6dbe84010a330fed82f1d48c76b7f19589bfc0e5dde0b9e49a608fd0501db3f7e3e129e4d9d34bcae03bc51a73139 WHIRLPOOL e9a8248aac31593fbac28a3d8d4e62bfce14a7c41cc416ebfca8606518d28efd31b32196133da211f75f48bd228bd5d21fcbbc0479293e813ed99b258b37126e
+DIST wine-d3d9-2.10.tar.gz 48713 SHA256 62a199a239fca4f172f9ff871086196f8eeb35483d7bcab4acb144c05e60debb SHA512 808241f545e60c0546ff3918cac28e2abb6fe8496e8ade3cfa8bf81612724e827d31787d1d320cbac80b71a5d6180bcc8e51249c12c099e44637e0bb9f4875cd WHIRLPOOL a8c58c5321107b958780348aebad41d57ac0a3a307e176715950e1ed1eae7d19d858db3f9b0e5cb86484919d683321ff6fc19ec1696ba5418e0d2dd861bfaff4
+DIST wine-gentoo-2015.03.07.tar.bz2 85419 SHA256 f13f93dc49bbc33a294c4d511b6e01aec2d38bff77a1e44d07668291add1ab04 SHA512 bae1d2d5575d340d01f44008104f0e5ec0c4a4982995dec37d501594cd21d07a2b4ad4465c4273646d5bf6521996b4b82471097864be75342abe3e7d478a56bd WHIRLPOOL 0f254dd692e87a1f71dd19f6c1c8c59b8a91b994e75912a2e6e3ba5e875b85119fe497a331a95c2ce33bbf5f064143d23ee00275da92c494227de0807c9abb06
+DIST wine-mono-4.6.4.msi 45592064 SHA256 91b7d58177b9a9355edf007dab94535471aebdddae12734ceb4a219d2ecc4152 SHA512 1d50df5d4d000998c74fbee79b8ffc691d88ee3b34db9fd7124e0df68d6f84768ece489ac8c3f5f3141c2073c8666b93ae23ca6cd652a6542a821df3d1b66b6d WHIRLPOOL 54b77eabdb357822a89f3ff0d318755d0bae60a4a1df44ad33e663138d3f874f2bd271368df86e350ecc96908e77e82cc9ff7eef6cd80e20998b5cfc068703df
+DIST wine-staging-2.10.tar.gz 10091114 SHA256 b361ec92b2e40de983b987f6564dbb75dcb121c6e2f0123fe1ae234fd81a591b SHA512 c3bf7027ddfd1405263cce844a7cbeb923e9de56cffdb296384449c0cc600b3c9a37c7fe09b62fb9ae0b47f97a2d4f208cc589f0e4205fa84ce5d112953ac2e7 WHIRLPOOL 01c5436179bcbd29ee0468f2f4d839ba805c064d80835fcd1d5e6eba562881c65ac576657a733c726ccf4b37473da6724ae06ebc023fb988d8810ed1f8096c6b
+DIST wine_gecko-2.47-x86.msi 49266176 SHA256 3b8a361f5d63952d21caafd74e849a774994822fb96c5922b01d554f1677643a SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4 WHIRLPOOL 2b4e3e88d530106d942200e5cdc67e51fc529c51864dee687ff1d6ae4cc94557481f74797a5ca7c1de8ca5ad00f7d9cb71e484ab24d73867d1032ccd88c0c376
+DIST wine_gecko-2.47-x86_64.msi 50806272 SHA256 c565ea25e50ea953937d4ab01299e4306da4a556946327d253ea9b28357e4a7d SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41 WHIRLPOOL c7619954da22a47dae86ef4c6c0cfbece41943edcceb2c21babe610e0a0b2197b244ebbddd2f3986ee4d5251b062e5f3b8e079426ec77c311b928d18c8451677
diff --git a/app-emulation/wine/files/builtin_ms_va_list.c b/app-emulation/wine/files/builtin_ms_va_list.c
new file mode 100644
index 00000000..f36fc260
--- /dev/null
+++ b/app-emulation/wine/files/builtin_ms_va_list.c
@@ -0,0 +1,9 @@
+/* Taken from Wine's configure script. LGPL 2.1+ */
+
+#include <stdarg.h>
+
+int main(void)
+{
+ void func(__builtin_ms_va_list *args);
+ return 0;
+}
diff --git a/app-emulation/wine/files/pr66838.c b/app-emulation/wine/files/pr66838.c
new file mode 100644
index 00000000..cd616859
--- /dev/null
+++ b/app-emulation/wine/files/pr66838.c
@@ -0,0 +1,36 @@
+/* From gcc svn, /branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr66838.c */
+/* Copyrighted and distributed under the same terms as gcc */
+
+void abort (void);
+
+char global;
+
+__attribute__((sysv_abi, noinline, noclone))
+void sysv_abi_func(char const *desc, void *local)
+{
+ register int esi asm ("esi");
+ register int edi asm ("edi");
+
+ if (local != &global)
+ abort ();
+
+ /* Clobber some of the extra SYSV ABI registers. */
+ asm volatile ("movl\t%2, %0\n\tmovl\t%2, %1"
+ : "=r" (esi), "=r" (edi)
+ : "i" (0xdeadbeef));
+}
+
+__attribute__((ms_abi, noinline, noclone))
+void ms_abi_func ()
+{
+ sysv_abi_func ("1st call", &global);
+ sysv_abi_func ("2nd call", &global);
+ sysv_abi_func ("3rd call", &global);
+}
+
+int
+main(void)
+{
+ ms_abi_func();
+ return 0;
+}
diff --git a/app-emulation/wine/files/pr69140.c b/app-emulation/wine/files/pr69140.c
new file mode 100644
index 00000000..7c9e001f
--- /dev/null
+++ b/app-emulation/wine/files/pr69140.c
@@ -0,0 +1,37 @@
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-O2 -mincoming-stack-boundary=3" } */
+
+typedef struct {
+ unsigned int buf[4];
+ unsigned char in[64];
+} MD4_CTX;
+
+static void
+MD4Transform (unsigned int buf[4], const unsigned int in[16])
+{
+ unsigned int a, b, c, d;
+ (b) += ((((c)) & ((d))) | ((~(c)) & ((a)))) + (in[7]);
+ (a) += ((((b)) & ((c))) | ((~(b)) & ((d)))) + (in[8]);
+ (d) += ((((a)) & ((b))) | ((~(a)) & ((c)))) + (in[9]);
+ buf[3] += d;
+}
+
+void __attribute__((ms_abi))
+MD4Update (MD4_CTX *ctx, const unsigned char *buf)
+{
+ MD4Transform( ctx->buf, (unsigned int *)ctx->in);
+ MD4Transform( ctx->buf, (unsigned int *)ctx->in);
+}
+
+int
+main(void)
+{
+ MD4_CTX ctx_test =
+ {
+ { 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476 },
+ { 0, 0 }
+ };
+ unsigned char buf[64];
+
+ MD4Update(&ctx_test, (const unsigned char *) &buf);
+}
diff --git a/app-emulation/wine/files/wine-1.5.26-winegcc.patch b/app-emulation/wine/files/wine-1.5.26-winegcc.patch
new file mode 100644
index 00000000..2045e343
--- /dev/null
+++ b/app-emulation/wine/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/files/wine-1.6-memset-O3.patch b/app-emulation/wine/files/wine-1.6-memset-O3.patch
new file mode 100644
index 00000000..75372f86
--- /dev/null
+++ b/app-emulation/wine/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/files/wine-1.8-gnutls-3.5-compat.patch b/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch
deleted file mode 100644
index 291c4a51..00000000
--- a/app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From bf5ac531a030bce9e798ab66bc53e84a65ca8fdb Mon Sep 17 00:00:00 2001
-From: Michael Cronenworth <mike@cchtml.com>
-Date: Thu, 16 Jun 2016 00:21:13 -0500
-Subject: [PATCH] secur32: Provide a static declaration for
- gnutls_cipher_get_block_size.
-
-Instead of providing an extern provide a static declaration. The
-function return type changed from signed to unsigned in GnuTLS 3.5.
-
-Signed-off-by: Michael Cronenworth <mike@cchtml.com>
-Signed-off-by: Alexandre Julliard <julliard@winehq.org>
----
- dlls/secur32/schannel_gnutls.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/dlls/secur32/schannel_gnutls.c b/dlls/secur32/schannel_gnutls.c
-index b10b629..bcadd47 100644
---- a/dlls/secur32/schannel_gnutls.c
-+++ b/dlls/secur32/schannel_gnutls.c
-@@ -42,7 +42,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(secur32);
- WINE_DECLARE_DEBUG_CHANNEL(winediag);
-
- /* Not present in gnutls version < 2.9.10. */
--extern int gnutls_cipher_get_block_size(gnutls_cipher_algorithm_t algorithm);
-+static int (*pgnutls_cipher_get_block_size)(gnutls_cipher_algorithm_t algorithm);
-
- static void *libgnutls_handle;
- #define MAKE_FUNCPTR(f) static typeof(f) * p##f
-@@ -52,7 +52,6 @@ MAKE_FUNCPTR(gnutls_certificate_allocate_credentials);
- MAKE_FUNCPTR(gnutls_certificate_free_credentials);
- MAKE_FUNCPTR(gnutls_certificate_get_peers);
- MAKE_FUNCPTR(gnutls_cipher_get);
--MAKE_FUNCPTR(gnutls_cipher_get_block_size);
- MAKE_FUNCPTR(gnutls_cipher_get_key_size);
- MAKE_FUNCPTR(gnutls_credentials_set);
- MAKE_FUNCPTR(gnutls_deinit);
---
-2.1.4
-
diff --git a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch b/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch
index be6ffc56..c19d0d8a 100644
--- a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch
+++ b/app-emulation/wine/files/wine-1.9.5-multilib-portage.patch
@@ -7,28 +7,9 @@ Even though -m32/m64 is now added to *FLAGS, -m32/m64 still has to be
explicitly added to CC and CXX due to wine's build system. For example,
winegcc saves the build-time value of CC and uses it at runtime.
---- a/configure.ac
-+++ b/configure.ac
-@@ -133,12 +133,18 @@
- then
- 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")
- else
- CC="$CC -m32"
- CXX="$CXX -m32"
-+ CFLAGS="$CFLAGS -m32"
-+ LDFLAGS="$LDFLAGS -m32"
-+ CXXFLAGS="$CXXFLAGS -m32"
- host_cpu="i386"
- notice_platform="32-bit "
- AC_SUBST(TARGETFLAGS,"-m32")
-@@ -150,6 +156,9 @@
+--- a/configure.ac 2016-03-05 20:53:50.574628728 -0500
++++ b/configure.ac 2016-03-05 20:57:54.945617833 -0500
+@@ -141,6 +141,9 @@
then
CC="$CC -m32"
CXX="$CXX -m32"
@@ -38,3 +19,13 @@ winegcc saves the build-time value of CC and uses it at runtime.
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/files/wine-gcc-4.9-null-pointer.patch b/app-emulation/wine/files/wine-gcc-4.9-null-pointer.patch
deleted file mode 100644
index 213f2c6c..00000000
--- a/app-emulation/wine/files/wine-gcc-4.9-null-pointer.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-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
-
diff --git a/app-emulation/wine/files/wine-sysmacros.patch b/app-emulation/wine/files/wine-sysmacros.patch
deleted file mode 100644
index 4ea515df..00000000
--- a/app-emulation/wine/files/wine-sysmacros.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-From ca8a08606d3f0900b3f4aa8f2e6547882a22dba8 Mon Sep 17 00:00:00 2001
-From: Seong-ho Cho <darkcircle.0426@gmail.com>
-Date: Mon, 18 Apr 2016 04:25:38 +0900
-Subject: [PATCH] configure: Add AC_HEADER_MAJOR to find where major() is
- defined.
-
-Signed-off-by: Seong-ho Cho <darkcircle.0426@gmail.com>
-Signed-off-by: Alexandre Julliard <julliard@winehq.org>
----
- configure | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
- configure.ac | 1 +
- dlls/ntdll/cdrom.c | 5 +++++
- dlls/ntdll/directory.c | 5 +++++
- dlls/ntdll/file.c | 5 +++++
- include/config.h.in | 8 ++++++++
- server/fd.c | 5 +++++
- 7 files changed, 79 insertions(+)
-
-diff --git a/configure b/configure
-index 1cb0e59..ffb1825 100755
---- a/configure
-+++ b/configure
-@@ -6836,6 +6836,56 @@ fi
-
- done
-
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5
-+$as_echo_n "checking whether sys/types.h defines makedev... " >&6; }
-+if ${ac_cv_header_sys_types_h_makedev+:} false; then :
-+ $as_echo_n "(cached) " >&6
-+else
-+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include <sys/types.h>
-+int
-+main ()
-+{
-+return makedev(0, 0);
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+ ac_cv_header_sys_types_h_makedev=yes
-+else
-+ ac_cv_header_sys_types_h_makedev=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_types_h_makedev" >&5
-+$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; }
-+
-+if test $ac_cv_header_sys_types_h_makedev = no; then
-+ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default"
-+if test "x$ac_cv_header_sys_mkdev_h" = xyes; then :
-+
-+$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h
-+
-+fi
-+
-+
-+
-+ if test $ac_cv_header_sys_mkdev_h = no; then
-+ ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default"
-+if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then :
-+
-+$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h
-+
-+fi
-+
-+
-+ fi
-+fi
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5
- $as_echo_n "checking whether stat file-mode macros are broken... " >&6; }
- if ${ac_cv_header_stat_broken+:} false; then :
-diff --git a/configure.ac b/configure.ac
-index 6189aa9..201bc77 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -512,6 +512,7 @@ AC_CHECK_HEADERS(\
- valgrind/valgrind.h \
- zlib.h
- )
-+AC_HEADER_MAJOR()
- AC_HEADER_STAT()
-
- dnl **** Checks for headers that depend on other ones ****
-diff --git a/dlls/ntdll/cdrom.c b/dlls/ntdll/cdrom.c
-index ee36045..2c64106 100644
---- a/dlls/ntdll/cdrom.c
-+++ b/dlls/ntdll/cdrom.c
-@@ -38,6 +38,11 @@
- #ifdef HAVE_SYS_STAT_H
- # include <sys/stat.h>
- #endif
-+#ifdef MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+# include <sys/sysmacros.h>
-+#endif
- #include <sys/types.h>
-
- #ifdef HAVE_SYS_IOCTL_H
-diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
-index 93fe594..4d431c0 100644
---- a/dlls/ntdll/directory.c
-+++ b/dlls/ntdll/directory.c
-@@ -47,6 +47,11 @@
- #ifdef HAVE_SYS_ATTR_H
- #include <sys/attr.h>
- #endif
-+#ifdef MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+# include <sys/sysmacros.h>
-+#endif
- #ifdef HAVE_SYS_VNODE_H
- /* Work around a conflict with Solaris' system list defined in sys/list.h. */
- #define list SYSLIST
-diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
-index 7e5da59..b3bd9d6 100644
---- a/dlls/ntdll/file.c
-+++ b/dlls/ntdll/file.c
-@@ -57,6 +57,11 @@
- #ifdef HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
- #endif
-+#ifdef MAJOR_IN_MKDEV
-+# include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+# include <sys/sysmacros.h>
-+#endif
- #ifdef HAVE_UTIME_H
- # include <utime.h>
- #endif
-diff --git a/include/config.h.in b/include/config.h.in
-index 0650f31..06b192f 100644
---- a/include/config.h.in
-+++ b/include/config.h.in
-@@ -1335,6 +1335,14 @@
- /* Define to 1 if you have the `__res_get_state' function. */
- #undef HAVE___RES_GET_STATE
-
-+/* Define to 1 if `major', `minor', and `makedev' are declared in <mkdev.h>.
-+ */
-+#undef MAJOR_IN_MKDEV
-+
-+/* Define to 1 if `major', `minor', and `makedev' are declared in
-+ <sysmacros.h>. */
-+#undef MAJOR_IN_SYSMACROS
-+
- /* Define to the address where bug reports for this package should be sent. */
- #undef PACKAGE_BUGREPORT
-
-diff --git a/server/fd.c b/server/fd.c
-index 1fd1ce7..17b1b66 100644
---- a/server/fd.c
-+++ b/server/fd.c
-@@ -83,6 +83,11 @@
- #endif
- #include <sys/stat.h>
- #include <sys/time.h>
-+#ifdef MAJOR_IN_MKDEV
-+#include <sys/mkdev.h>
-+#elif defined(MAJOR_IN_SYSMACROS)
-+#include <sys/sysmacros.h>
-+#endif
- #include <sys/types.h>
- #include <unistd.h>
- #ifdef HAVE_SYS_SYSCALL_H
---
-2.7.4
-
diff --git a/app-emulation/wine/wine-1.9.15-r1.ebuild b/app-emulation/wine/wine-2.10.ebuild
index 3dbcf0d4..494b5b25 100644
--- a/app-emulation/wine/wine-1.9.15-r1.ebuild
+++ b/app-emulation/wine/wine-2.10.ebuild
@@ -1,6 +1,5 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id$
EAPI=6
@@ -16,15 +15,15 @@ if [[ ${PV} == "9999" ]] ; then
SRC_URI=""
#KEYWORDS=""
else
- MAJOR_V=$(get_version_component_range 1-2)
- SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}/${P}.tar.bz2"
- KEYWORDS="amd64 x86"
+ MAJOR_V=$(get_version_component_range 1)
+ SRC_URI="https://dl.winehq.org/wine/source/${MAJOR_V}.x/${P}.tar.xz"
+ KEYWORDS="-* amd64 x86 x86-fbsd"
fi
VANILLA_GV="2.47"
-VANILLA_MV="4.6.3"
+VANILLA_MV="4.6.4"
STAGING_GV="2.47"
-STAGING_MV="4.6.3"
+STAGING_MV="4.6.4"
[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial"
STAGING_P="wine-staging-${PV}"
STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}"
@@ -32,7 +31,7 @@ D3D9_P="wine-d3d9-${PV}"
D3D9_DIR="${WORKDIR}/wine-d3d9-patches-${D3D9_P}"
WINE_GENTOO="wine-gentoo-2015.03.07"
DESCRIPTION="Free implementation of Windows(tm) on Unix"
-HOMEPAGE="http://www.winehq.org/"
+HOMEPAGE="https://www.winehq.org/"
SRC_URI="${SRC_URI}
!staging? (
gecko? (
@@ -51,8 +50,8 @@ SRC_URI="${SRC_URI}
https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
if [[ ${PV} == "9999" ]] ; then
- STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git"
- D3D9_EGIT_REPO_URI="git://github.com/sarnex/wine-d3d9-patches.git"
+ STAGING_EGIT_REPO_URI="https://github.com/wine-compholio/wine-staging.git"
+ D3D9_EGIT_REPO_URI="https://github.com/sarnex/wine-d3d9-patches.git"
else
SRC_URI="${SRC_URI}
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}${SUFFIX}.tar.gz -> ${STAGING_P}.tar.gz )
@@ -61,7 +60,7 @@ fi
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test themes +threads +truetype udev +udisks v4l vaapi +X +xcomposite xinerama +xml"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
elibc_glibc? ( threads )
@@ -127,6 +126,7 @@ COMMON_DEPEND="
x11-libs/gtk+:3[${MULTILIB_USEDEP}]
)
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
+ udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] )
@@ -246,6 +246,29 @@ wine_compiler_check() {
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
+ if use abi_x86_64; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
+ eerror "You need gcc-4.4+ to compile 64-bit wine"
+ die
+ elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
+ eerror "You need clang-3.8+ to compile 64-bit wine"
+ die
+ fi
+ fi
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
+ ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
+ ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
+ ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
+ fi
+ if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
+ if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
+ ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
+ ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
+ ewarn "See package.env in man 5 portage for more information on how to do this."
+ ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
+ fi
+ fi
+
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; then
eerror "You cannot build wine with USE=opencl because intel-ocl-sdk is 64-bit only."
eerror "See https://bugs.gentoo.org/487864 for more details."
@@ -276,7 +299,6 @@ wine_env_vcs_vars() {
}
pkg_pretend() {
- wine_compiler_check || die
wine_build_environment_check || die
# Verify OSS support
@@ -315,7 +337,7 @@ src_unpack() {
if [[ "${CURRENT_WINE_COMMIT}" != "${COMPAT_WINE_COMMIT}" ]]; then
einfo "The current Staging patchset is not guaranteed to apply on this WINE commit."
- einfo "If src_prepare fails, try emerging with the env var EGIT_COMMIT."
+ einfo "If src_prepare fails, try emerging with the env var WINE_COMMIT."
einfo "Example: WINE_COMMIT=${COMPAT_WINE_COMMIT} emerge -1 wine"
fi
fi
@@ -343,12 +365,13 @@ src_prepare() {
ewarn "Wine bugzilla should explicitly state that staging was used."
local STAGING_EXCLUDE=""
+ STAGING_EXCLUDE="${STAGING_EXCLUDE} -W winhlp32-Flex_Workaround" # Avoid double patching https://bugs.winehq.org/show_bug.cgi?id=42132
use pipelight || STAGING_EXCLUDE="${STAGING_EXCLUDE} -W Pipelight"
- # Launch wine-staging patcher in a subshell, using epatch as a backend, and gitapply.sh as a backend for binary patches
+ # Launch wine-staging patcher in a subshell, using eapply as a backend, and gitapply.sh as a backend for binary patches
ebegin "Running Wine-Staging patch installer"
(
- set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE}
+ set -- DESTDIR="${S}" --backend=eapply --no-autoconf --all ${STAGING_EXCLUDE}
cd "${STAGING_DIR}/patches"
source "${STAGING_DIR}/patches/patchinstall.sh"
)
@@ -381,13 +404,15 @@ src_prepare() {
sed -i '/^MimeType/d' loader/wine.desktop || die #117785
fi
- # hi-res default icon, #472990, http://bugs.winehq.org/show_bug.cgi?id=24652
+ # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652
cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die
l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS
}
src_configure() {
+ wine_compiler_check || die
+
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
@@ -428,6 +453,7 @@ multilib_src_configure() {
$(use_with scanner sane)
$(use_enable test tests)
$(use_with truetype freetype)
+ $(use_with udev)
$(use_with v4l)
$(use_with X x)
$(use_with xcomposite)
@@ -441,7 +467,7 @@ multilib_src_configure() {
$(use_with themes gtk3)
$(use_with vaapi va)
)
- use d3d9 && myconf+=( $(use_with d3d9 d3dadapter) )
+ use d3d9 && myconf+=( $(use_with d3d9 d3d9-nine) )
local PKG_CONFIG AR RANLIB
# Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038
@@ -506,9 +532,12 @@ multilib_src_install_all() {
# Remove wineconsole if neither backend is installed #551124
if ! use X && ! use ncurses; then
- rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die
- use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die
- use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die
+ rm "${D}"/usr/bin/wineconsole* || die
+ rm "${D}"/usr/share/man/man1/wineconsole* || die
+ rm_wineconsole() {
+ rm "${D}usr/$(get_libdir)"/wine/{,fakedlls/}wineconsole.exe* || die
+ }
+ multilib_foreach_abi rm_wineconsole
fi
use abi_x86_32 && pax-mark psmr "${D}"usr/bin/wine{,-preloader} #255055