diff options
-rw-r--r-- | app-emulation/wine/Manifest | 7 | ||||
-rw-r--r-- | app-emulation/wine/files/builtin_ms_va_list.c | 9 | ||||
-rw-r--r-- | app-emulation/wine/files/pr66838.c | 36 | ||||
-rw-r--r-- | app-emulation/wine/files/pr69140.c | 37 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-1.5.26-winegcc.patch | 59 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-1.6-memset-O3.patch | 21 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch | 39 | ||||
-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.patch | 35 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-sysmacros.patch | 177 | ||||
-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 |