diff options
-rw-r--r-- | app-emulation/wine/Manifest | 11 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch | 40 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-1.7.12-osmesa-check.patch | 38 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-1.8-gnutls-3.5-compat.patch | 39 | ||||
-rw-r--r-- | app-emulation/wine/files/wine-2.0-multislot-apploader.patch | 14 | ||||
-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.12.ebuild (renamed from app-emulation/wine/wine-1.9.15-r1.ebuild) | 236 |
8 files changed, 168 insertions, 422 deletions
diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest index 7a527308..3512e8bb 100644 --- a/app-emulation/wine/Manifest +++ b/app-emulation/wine/Manifest @@ -1,7 +1,4 @@ -DIST wine-1.9.15.tar.bz2 23357574 SHA256 cf992ac991b0e49fd0b186305021acf6e612d5df18d30e3d5808fa6f6731adda SHA512 39eda9c0123453321d414690db5ca5849326bf44d116a353296e88026fa618535a306b9e0c6666ea6716dc8d44f81a2caeae11be80f15448b67bde2be9e1210a WHIRLPOOL cdaa74399ef4849a297a9d8040333500e1007ca8374b76e0677ba8b21e087feac262cf449f90826f4cd417989742670f86eed4c2fb5ef4345e8b955e8213fbef -DIST wine-d3d9-1.9.15.tar.gz 46418 SHA256 e6d8029e37c4afa8018f595ae8ee23a547782a614d5605352301685889996388 SHA512 6ad990ebd023d0125146c3b785cf38862368c3034daac6dad1a2e3a04737c5a31fbc81b562e4571ea386f515a04b50d42699b783ab15d9e3b19b12b1a7148c08 WHIRLPOOL 01a37e81fbbf99bbeab7b3c06eaadd52e8d4cf6459958465aa53d76b1717fb8bda356bae3f36c790bca29f38f80546c8d32a376f5fcb4d35f1593b647c9f5109 -DIST wine-gentoo-2015.03.07.tar.bz2 85419 SHA256 f13f93dc49bbc33a294c4d511b6e01aec2d38bff77a1e44d07668291add1ab04 SHA512 bae1d2d5575d340d01f44008104f0e5ec0c4a4982995dec37d501594cd21d07a2b4ad4465c4273646d5bf6521996b4b82471097864be75342abe3e7d478a56bd WHIRLPOOL 0f254dd692e87a1f71dd19f6c1c8c59b8a91b994e75912a2e6e3ba5e875b85119fe497a331a95c2ce33bbf5f064143d23ee00275da92c494227de0807c9abb06 -DIST wine-mono-4.6.3.msi 45591040 SHA256 f883e88ae78c7ea3d887c24023aa1ed03bb71a83f717c6595abf18b31fef28b9 SHA512 b940d7c07d0892ac76ad9e4c3d4d159afeee43765b6bfe07f14beee1fc8674b58a9af20a5ee0a4d9667a15b83a0e6538c0143b9072c677dd753e32bbdd17065b WHIRLPOOL f04002904d99dc2615a179c13ae810c8208808c60c5e5eda7f9c3f07163d645cccf6f74d4354331fa25dfb41ef2c24e432f83670a3e7c3a90fa6d144b3d193b9 -DIST wine-staging-1.9.15.tar.gz 9926094 SHA256 10b836e4f78b7da1693cf1199f1b16c160a844a6372733817be31de67ea85150 SHA512 7eb1774381925944abe6bcbe1a8e1810b4d7f51d1f3c15bcdc15084420bfdb6f90b8edbbc0876ad87e896471ab9c9f21d14420c3ecb485aa8ead4256ff8ca60b WHIRLPOOL bcb9e7f15437a03baed57aeb082267b47a06504246f029bf31ead117a258b1b26dd70924427c0cda1526f7fab5ac1eb17a756fb5c1b2f87d8f8727923a185d4e -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 +DIST wine-2.12.tar.xz 19301968 SHA256 496c11af841487e6ec4e1953ac19b05a7f48e397da502653ffbd9fe9004213a7 SHA512 d44c1937d7d2d797150381f70317b810616d61355a59be096366d3507f59b678cffaf6d841cecf02bf9d2afa3dbf4d19270f80fb1d3ba5f0f93787d40c328f62 WHIRLPOOL 6f4b9baa6fcfe86f3d195fe603c2b9450a72a593c8f7042959b42a76880cb4ae680fde7beb70a8e823150849fda36c42985035de891ebf0088c8ffc2bceb15bf +DIST wine-d3d9-2.12.tar.gz 48716 SHA256 544e8b901b2fe1e0da90828f07683abf45794a3a41fdfae20eb5d29b5ee7d22b SHA512 8fe9b37ff54372984a234b18037bc736f69f2adf41478f037bc93e3d72893c46174fc3fbff78042ac66bb03d31ea85d293dbadc2b32630218ae53be8e360425d WHIRLPOOL 17f28bafb20c559424945ff92041a5c634b8775a8e97ed8aa940308fa815f2b3cfa48499a58a511fc5c33bde47db07008d168d8b0c103eec379ba27b33b8ffdd +DIST wine-desktop-common-20150204.tar.gz 99491 SHA256 444ad6b52b5290ec7d160e2cc40e4ba0910b4c4983dba1ceb054b81b09b24b5e SHA512 1f3d7022c5cff87ed3b8fd3b7cd14397c6f23b98fe6a7c583ac0d2f439ff29d943f57375f23687aa6519ff1d84ff07624a9a712d6f19fa207fd26d01edcb6688 WHIRLPOOL e9810b2952d25c05d831000e00e423de86809ec31b9a033fd4c64a70709da7338a9afc9e632e678f49c789a8a3702fbd0113226770cdb806623f2de371a16f54 +DIST wine-staging-2.12.tar.gz 10105899 SHA256 0f186d2268011c12094ecac8747378ad8f4ee7152e8854cb00496ba9565b7974 SHA512 a8c21c923153a42609e3ea9065b84208b01f3b14d55b7e68e548ebf6d27df956051b29dc2f053aec6287422c13eed5b6ec71e667ae6f46b1c80ae7c84a51b648 WHIRLPOOL 01cf39fa257e9975cfd16976e680117dac3d0ea3f9bc41e2d0a636023bd4afba0676587e41c55d4417cff97080b90eb11b3fe475970eec70be64f5c788c1cf88 diff --git a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch b/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch deleted file mode 100644 index be6ffc56..00000000 --- a/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch +++ /dev/null @@ -1,40 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=395615 - -Explicitly add the required -m32/m64 to *FLAGS; this overrides any -arch-specific -m* flags that may have been appended by multilib-portage. - -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 @@ - 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]) diff --git a/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch b/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch deleted file mode 100644 index 7cafcd4e..00000000 --- a/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch +++ /dev/null @@ -1,38 +0,0 @@ -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/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-2.0-multislot-apploader.patch b/app-emulation/wine/files/wine-2.0-multislot-apploader.patch new file mode 100644 index 00000000..b336c4f5 --- /dev/null +++ b/app-emulation/wine/files/wine-2.0-multislot-apploader.patch @@ -0,0 +1,14 @@ +diff --git a/tools/wineapploader.in b/tools/wineapploader.in +index f48d552..14001a0 100755 +--- a/tools/wineapploader.in ++++ b/tools/wineapploader.in +@@ -20,7 +20,8 @@ + # + + # determine the app Winelib library name +-appname=`basename "$0" .exe`.exe ++appname=${0##*/} ++appname="${appname%%-*}.exe" + + # first try explicit WINELOADER + if [ -x "$WINELOADER" ]; then exec "$WINELOADER" "$appname" "$@"; fi 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.12.ebuild index 3dbcf0d4..1fcfc13e 100644 --- a/app-emulation/wine/wine-1.9.15-r1.ebuild +++ b/app-emulation/wine/wine-2.12.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 @@ -9,6 +8,9 @@ PLOCALE_BACKUP="en" inherit autotools eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx versionator +MY_PN="${PN}" +MY_P="${MY_PN}-${PV}" + if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git" EGIT_BRANCH="master" @@ -16,52 +18,37 @@ 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/${MY_P}.tar.xz" + KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" fi +S="${WORKDIR}/${MY_P}" -VANILLA_GV="2.47" -VANILLA_MV="4.6.3" -STAGING_GV="2.47" -STAGING_MV="4.6.3" -[[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial" STAGING_P="wine-staging-${PV}" -STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" 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/" +WDC_V="20150204" +WINE_DESKTOP_COMMON_P="wine-desktop-common-${WDC_V}" + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with optional external patchsets" +HOMEPAGE="https://www.winehq.org/" SRC_URI="${SRC_URI} - !staging? ( - gecko? ( - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi ) - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi ) - ) - mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi ) - ) - staging? ( - gecko? ( - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi ) - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi ) - ) - mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi ) - ) - https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2" + https://github.com/NP-Hardass/wine-desktop-common/archive/${WDC_V}.tar.gz -> ${WINE_DESKTOP_COMMON_P}.tar.gz +" 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 ) + staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz ) d3d9? ( https://github.com/sarnex/wine-d3d9-patches/archive/${D3D9_P}.tar.gz )" 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" +SLOT="${PV}" +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 ) @@ -80,6 +67,7 @@ COMMON_DEPEND=" X? ( x11-libs/libXcursor[${MULTILIB_USEDEP}] x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] x11-libs/libXrandr[${MULTILIB_USEDEP}] x11-libs/libXi[${MULTILIB_USEDEP}] x11-libs/libXxf86vm[${MULTILIB_USEDEP}] @@ -114,7 +102,7 @@ COMMON_DEPEND=" virtual/glu[${MULTILIB_USEDEP}] virtual/opengl[${MULTILIB_USEDEP}] ) - osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) + osmesa? ( >=media-libs/mesa-13[osmesa,${MULTILIB_USEDEP}] ) pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) @@ -127,6 +115,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}] ) @@ -154,7 +143,12 @@ COMMON_DEPEND=" )" RDEPEND="${COMMON_DEPEND} + app-emulation/wine-desktop-common + >app-eselect/eselect-wine-0.3 + !app-emulation/wine:0 dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + gecko? ( app-emulation/wine-gecko:2.47[abi_x86_32?,abi_x86_64?] ) + mono? ( app-emulation/wine-mono:4.7.0 ) perl? ( dev-lang/perl dev-perl/XML-Simple @@ -246,6 +240,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." @@ -260,7 +277,7 @@ wine_env_vcs_vars() { eval pn_live_val='$'${pn_live_val} if [[ ! -z ${pn_live_val} ]]; then if use staging || use d3d9; then - eerror "Because of the multi-repo nature of ${PN}, ${pn_live_var}" + eerror "Because of the multi-repo nature of ${MY_PN}, ${pn_live_var}" eerror "cannot be used to set the commit. Instead, you may use the" eerror "environmental variables WINE_COMMIT, STAGING_COMMIT, and D3D9_COMMIT." eerror @@ -276,7 +293,6 @@ wine_env_vcs_vars() { } pkg_pretend() { - wine_compiler_check || die wine_build_environment_check || die # Verify OSS support @@ -293,18 +309,23 @@ pkg_pretend() { pkg_setup() { wine_build_environment_check || die wine_env_vcs_vars || die - if ! use staging; then - GV=${VANILLA_GV} - MV=${VANILLA_MV} - else - GV=${STAGING_GV} - MV=${STAGING_MV} - fi + + WINE_VARIANT="${PN#wine}-${PV}" + WINE_VARIANT="${WINE_VARIANT#-}" + + MY_PREFIX="${EPREFIX}/usr/lib/wine-${WINE_VARIANT}" + MY_DATAROOTDIR="${EPREFIX}/usr/share/wine-${WINE_VARIANT}" + MY_DATADIR="${MY_DATAROOTDIR}" + MY_DOCDIR="${EPREFIX}/usr/share/doc/${PF}" + MY_INCLUDEDIR="${EPREFIX}/usr/include/wine-${WINE_VARIANT}" + MY_LIBEXECDIR="${EPREFIX}/usr/libexec/wine-${WINE_VARIANT}" + MY_LOCALSTATEDIR="${EPREFIX}/var/wine-${WINE_VARIANT}" + MY_MANDIR="${MY_DATADIR}/man" } src_unpack() { if [[ ${PV} == "9999" ]] ; then - EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack + EGIT_CHECKOUT_DIR="${S}" EGIT_COMMIT="${WINE_COMMIT}" git-r3_src_unpack if use staging; then local CURRENT_WINE_COMMIT=${EGIT_VERSION} @@ -315,7 +336,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 @@ -333,31 +354,27 @@ src_unpack() { src_prepare() { local md5="$(md5sum server/protocol.def)" local PATCHES=( - "${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726 - "${FILESDIR}"/${PN}-1.9.5-multilib-portage.patch #395615 - "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386 - "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508 + "${FILESDIR}"/${MY_PN}-1.5.26-winegcc.patch #260726 + "${FILESDIR}"/${MY_PN}-1.9.5-multilib-portage.patch #395615 + "${FILESDIR}"/${MY_PN}-1.6-memset-O3.patch #480508 + "${FILESDIR}"/${MY_PN}-2.0-multislot-apploader.patch ) if use staging; then ewarn "Applying the Wine-Staging patchset. Any bug reports to the" 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" ) eend $? || die "Failed to apply Wine-Staging patches" - - # To differentiate unofficial staging releases - if [[ ! -z ${SUFFIX} ]]; then - sed -i "s/(Staging)/(Staging [Unofficial])/" libs/wine/Makefile.in || die - fi fi if use d3d9; then if use staging; then @@ -381,13 +398,18 @@ 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 - cp "${WORKDIR}"/${WINE_GENTOO}/icons/oic_winlogo.ico dlls/user32/resources/ || die + # Edit wine.desktop to work for specific variant + sed -e "/^Exec=/s/wine /wine-${WINE_VARIANT} /" -i loader/wine.desktop || die + + # hi-res default icon, #472990, https://bugs.winehq.org/show_bug.cgi?id=24652 + cp "${WORKDIR}/${WINE_DESKTOP_COMMON_P}/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 @@ -396,6 +418,15 @@ src_configure() { multilib_src_configure() { local myconf=( + --prefix="${MY_PREFIX}" + --datarootdir="${MY_DATAROOTDIR}" + --datadir="${MY_DATADIR}" + --docdir="${MY_DOCDIR}" + --includedir="${MY_INCLUDEDIR}" + --libdir="${EPREFIX}/usr/$(get_libdir)/wine-${WINE_VARIANT}" + --libexecdir="${MY_LIBEXECDIR}" + --localstatedir="${MY_LOCALSTATEDIR}" + --mandir="${MY_MANDIR}" --sysconfdir=/etc/wine $(use_with alsa) $(use_with capi) @@ -428,8 +459,10 @@ 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 X xfixes) $(use_with xcomposite) $(use_with xinerama) $(use_with xml) @@ -441,7 +474,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 @@ -469,7 +502,7 @@ multilib_src_test() { if [[ ${ABI} == x86 ]]; then if [[ $(id -u) == 0 ]]; then ewarn "Skipping tests since they cannot be run under the root user." - ewarn "To run the test ${PN} suite, add userpriv to FEATURES in make.conf" + ewarn "To run the test ${MY_PN} suite, add userpriv to FEATURES in make.conf" return fi @@ -480,7 +513,6 @@ multilib_src_test() { multilib_src_install_all() { local DOCS=( ANNOUNCE AUTHORS README ) - local l add_locale_docs() { local locale_doc="documentation/README.$1" [[ ! -e ${locale_doc} ]] || DOCS+=( ${locale_doc} ) @@ -490,47 +522,64 @@ multilib_src_install_all() { einstalldocs prune_libtool_files --all - emake -C "../${WINE_GENTOO}" install DESTDIR="${D}" EPREFIX="${EPREFIX}" - if use gecko ; then - insinto /usr/share/wine/gecko - use abi_x86_32 && doins "${DISTDIR}"/wine_gecko-${GV}-x86.msi - use abi_x86_64 && doins "${DISTDIR}"/wine_gecko-${GV}-x86_64.msi - fi - if use mono ; then - insinto /usr/share/wine/mono - doins "${DISTDIR}"/wine-mono-${MV}.msi - fi if ! use perl ; then # winedump calls function_grep.pl, and winemaker is a perl script - rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die + rm "${D%/}${MY_PREFIX}"/bin/{wine{dump,maker},function_grep.pl} \ + "${D%/}${MY_MANDIR}"/man1/wine{dump,maker}.1 || die fi # 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%/}${MY_PREFIX}"/bin/wineconsole* || die + rm "${D%/}${MY_MANDIR}"/man1/wineconsole* || die + rm_wineconsole() { + rm "${D%/}${MY_PREFIX}/$(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 - use abi_x86_64 && pax-mark psmr "${D}"usr/bin/wine64{,-preloader} + use abi_x86_32 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine{,-preloader} #255055 + use abi_x86_64 && pax-mark psmr "${D%/}${MY_PREFIX}"/bin/wine64{,-preloader} if use abi_x86_64 && ! use abi_x86_32; then - dosym /usr/bin/wine{64,} # 404331 - dosym /usr/bin/wine{64,}-preloader + dosym "${MY_PREFIX}"/bin/wine{64,} # 404331 + dosym "${MY_PREFIX}"/bin/wine{64,}-preloader fi + # Failglob for bin and man loops + local glob_state=$(shopt -p failglob) + shopt -s failglob + + # Make wrappers for binaries for handling multiple variants + # Note: wrappers instead of symlinks because some are shell which use basename + local b + for b in "${D%/}${MY_PREFIX}"/bin/*; do + make_wrapper "${b##*/}-${WINE_VARIANT}" "${MY_PREFIX}/bin/${b##*/}" + done + # respect LINGUAS when installing man pages, #469418 + local l for l in de fr pl; do - use linguas_${l} || rm -r "${D}"usr/share/man/${l}* + use linguas_${l} || rm -r "${D%/}${MY_MANDIR}"/${l}* done -} -pkg_preinst() { - gnome2_icon_savelist + eval "${glob_state}" } pkg_postinst() { - gnome2_icon_cache_update + eselect wine register ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine register --vanilla ${P} || die + else + if use staging; then + eselect wine register --staging ${P} || die + fi + if use d3d9; then + eselect wine register --d3d9 ${P} || die + fi + fi + + eselect wine update --all --if-unset || die + fdo-mime_desktop_database_update if ! use gecko; then @@ -547,7 +596,22 @@ pkg_postinst() { fi } +pkg_prerm() { + eselect wine deregister ${P} + if [[ ${PN} == "wine-vanilla" ]]; then + eselect wine deregister --vanilla ${P} || die + else + if use staging; then + eselect wine deregister --staging ${P} || die + fi + if use d3d9; then + eselect wine deregister --d3d9 ${P} || die + fi + fi + + eselect wine update --all --if-unset || die +} + pkg_postrm() { - gnome2_icon_cache_update fdo-mime_desktop_database_update } |