diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2015-09-10 05:05:56 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2015-09-10 05:05:56 +0300 |
commit | fff7e89f50b8652a8833831e6f87f601585a6369 (patch) | |
tree | 8b0ac97509587603ade67330d3865470443eadfa /app-emulation | |
parent | 0eafb7fe7985573871136165577bd9ad724a424e (diff) |
wine ebuild from wine-overlay with gallium-nine live patch
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch | 40 | ||||
-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.7.12-osmesa-check.patch | 38 | ||||
-rw-r--r-- | app-emulation/wine/wine-scm.ebuild | 400 |
5 files changed, 326 insertions, 232 deletions
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 new file mode 100644 index 0000000..be6ffc5 --- /dev/null +++ b/app-emulation/wine/files/wine-1.4_rc2-multilib-portage.patch @@ -0,0 +1,40 @@ +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.5.26-winegcc.patch b/app-emulation/wine/files/wine-1.5.26-winegcc.patch new file mode 100644 index 0000000..2045e34 --- /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 0000000..75372f8 --- /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.7.12-osmesa-check.patch b/app-emulation/wine/files/wine-1.7.12-osmesa-check.patch new file mode 100644 index 0000000..7cafcd4 --- /dev/null +++ b/app-emulation/wine/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/wine-scm.ebuild b/app-emulation/wine/wine-scm.ebuild index 5d54593..d3c72cd 100644 --- a/app-emulation/wine/wine-scm.ebuild +++ b/app-emulation/wine/wine-scm.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2014 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-9999.ebuild,v 1.172 2014/06/29 00:42:47 tetromino Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.38.ebuild,v 1.1 2015/03/08 07:00:24 tetromino Exp $ EAPI="5" @@ -8,22 +8,21 @@ AUTOTOOLS_AUTORECONF=1 PLOCALES="ar bg ca cs da de el en en_US eo es fa fi fr he hi hr hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW" PLOCALE_BACKUP="en" -inherit autotools-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx git-2 - -if use nine; then - EGIT_REPO_URI="https://github.com/iXit/wine.git" -else - EGIT_REPO_URI="git://source.winehq.org/git/wine.git" -fi +inherit autotools-utils eutils fdo-mime flag-o-matic gnome2-utils l10n multilib multilib-minimal pax-utils toolchain-funcs virtualx +EGIT_REPO_URI="git://source.winehq.org/git/wine.git http://source.winehq.org/git/wine.git" +EGIT_BRANCH="master" +inherit git-r3 SRC_URI="" - -GV="2.24" -MV="4.5.2" -PULSE_PATCHES="winepulse-patches-1.7.21" -COMPHOLIOV="1.7.21" -COMPHOLIO_PATCHES="wine-compholio-daily-${COMPHOLIOV}" -WINE_GENTOO="wine-gentoo-2013.06.24" +#KEYWORDS="" + +GV="2.36" +MV="4.5.6" +STAGING_P="wine-staging-${PV}" +STAGING_DIR="${WORKDIR}/${STAGING_P}" +WINE_NINE_DIR="${WORKDIR}/wine-nine" +WINE_GENTOO="wine-gentoo-2015.03.07" +GST_P="wine-1.7.34-gstreamer-v5" DESCRIPTION="Free implementation of Windows(tm) on Unix" HOMEPAGE="http://www.winehq.org/" SRC_URI="${SRC_URI} @@ -32,220 +31,109 @@ SRC_URI="${SRC_URI} abi_x86_64? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86_64.msi ) ) mono? ( mirror://sourceforge/${PN}/Wine%20Mono/${MV}/wine-mono-${MV}.msi ) - pipelight? ( https://github.com/compholio/wine-compholio-daily/archive/v${COMPHOLIOV}.tar.gz -> ${COMPHOLIO_PATCHES}.tar.gz ) - pulseaudio? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${PULSE_PATCHES}.tar.bz2 ) + gstreamer? ( http://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 ) http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2" +STAGING_EGIT_REPO_URI="git://github.com/wine-compholio/wine-staging.git" + +WINE_NINE_EGIT_REPO_URI="https://github.com/NP-Hardass/wine-d3d9-patches.git" + LICENSE="LGPL-2.1" SLOT="0" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pipelight +png +prelink pulseaudio +realtime +run-exes samba scanner selinux +ssl test +threads +truetype +udisks v4l +X xcomposite xinerama +xml nine" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +lcms ldap +mono mp3 ncurses netapi nls nine odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png +prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml" REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) test? ( abi_x86_32 ) elibc_glibc? ( threads ) - gstreamer? ( pulseaudio ) mono? ( abi_x86_32 ) + pipelight? ( staging ) + s3tc? ( staging ) + vaapi? ( staging ) osmesa? ( opengl )" #286560 -# winepulse patches needed for gstreamer due to http://bugs.winehq.org/show_bug.cgi?id=30557 # FIXME: the test suite is unsuitable for us; many tests require net access # or fail due to Xvfb's opengl limitations. RESTRICT="test" -NATIVE_DEPEND=" - truetype? ( >=media-libs/freetype-2.0.0 ) +COMMON_DEPEND=" + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) capi? ( net-dialup/capi4k-utils ) - ncurses? ( >=sys-libs/ncurses-5.2:= ) - udisks? ( sys-apps/dbus ) - fontconfig? ( media-libs/fontconfig:= ) - gphoto2? ( media-libs/libgphoto2:= ) - openal? ( media-libs/openal:= ) - gstreamer? ( media-libs/gstreamer:0.10 media-libs/gst-plugins-base:0.10 ) + ncurses? ( >=sys-libs/ncurses-5.2:=[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:0.10[${MULTILIB_USEDEP}] + media-libs/gst-plugins-base:0.10[${MULTILIB_USEDEP}] + ) X? ( - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXrandr - x11-libs/libXi - x11-libs/libXxf86vm + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama ) - alsa? ( media-libs/alsa-lib ) - cups? ( net-print/cups:= ) - opencl? ( virtual/opencl ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) opengl? ( - virtual/glu - virtual/opengl + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] ) - gsm? ( media-sound/gsm:= ) - jpeg? ( virtual/jpeg:0= ) - ldap? ( net-nds/openldap:= ) - lcms? ( media-libs/lcms:2= ) - mp3? ( >=media-sound/mpg123-1.5.0 ) - netapi? ( net-fs/samba[netapi(+)] ) - nls? ( sys-devel/gettext ) - odbc? ( dev-db/unixODBC:= ) - osmesa? ( media-libs/mesa[osmesa] ) - pipelight? ( sys-apps/attr ) - pulseaudio? ( media-sound/pulseaudio ) - xml? ( dev-libs/libxml2 dev-libs/libxslt ) - scanner? ( media-gfx/sane-backends:= ) - ssl? ( net-libs/gnutls:= ) - png? ( media-libs/libpng:0= ) - v4l? ( media-libs/libv4l ) - xcomposite? ( x11-libs/libXcomposite ) - nine? ( - media-libs/mesa[d3d9,dri3] - x11-drivers/xf86-video-ati[dri3] + gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) + lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) + nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) + odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-sound/pulseaudio[${MULTILIB_USEDEP}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] ) - media-libs/mesa - " - -COMMON_DEPEND=" - !amd64? ( ${NATIVE_DEPEND} ) - amd64? ( - abi_x86_64? ( ${NATIVE_DEPEND} ) - abi_x86_32? ( - truetype? ( || ( - >=app-emulation/emul-linux-x86-xlibs-2.1[development,-abi_x86_32(-)] - >=media-libs/freetype-2.5.0.1[abi_x86_32(-)] - ) ) - ncurses? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=sys-libs/ncurses-5.9-r3[abi_x86_32(-)] - ) ) - udisks? ( || ( - >=app-emulation/emul-linux-x86-baselibs-20130224[development,-abi_x86_32(-)] - >=sys-apps/dbus-1.6.18-r1[abi_x86_32(-)] - ) ) - fontconfig? ( || ( - app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)] - >=media-libs/fontconfig-2.10.92[abi_x86_32(-)] - ) ) - gphoto2? ( || ( - app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)] - >=media-libs/libgphoto2-2.5.3.1[abi_x86_32(-)] - ) ) - openal? ( || ( - app-emulation/emul-linux-x86-sdl[development,-abi_x86_32(-)] - >=media-libs/openal-1.15.1[abi_x86_32(-)] - ) ) - gstreamer? ( || ( - app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)] - ( - >=media-libs/gstreamer-0.10.36-r2:0.10[abi_x86_32(-)] - >=media-libs/gst-plugins-base-0.10.36:0.10[abi_x86_32(-)] - ) - ) ) - X? ( || ( - app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)] - ( - >=x11-libs/libXcursor-1.1.14[abi_x86_32(-)] - >=x11-libs/libXext-1.3.2[abi_x86_32(-)] - >=x11-libs/libXrandr-1.4.2[abi_x86_32(-)] - >=x11-libs/libXi-1.7.2[abi_x86_32(-)] - >=x11-libs/libXxf86vm-1.1.3[abi_x86_32(-)] - ) - ) ) - xinerama? ( || ( - app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)] - >=x11-libs/libXinerama-1.1.3[abi_x86_32(-)] - ) ) - alsa? ( || ( - app-emulation/emul-linux-x86-soundlibs[alsa,development,-abi_x86_32(-)] - >=media-libs/alsa-lib-1.0.27.2[abi_x86_32(-)] - ) ) - cups? ( || ( - app-emulation/emul-linux-x86-baselibs - >=net-print/cups-1.7.1-r1[abi_x86_32(-)] - ) ) - opencl? ( >=virtual/opencl-0-r3[abi_x86_32(-)] ) - opengl? ( || ( - app-emulation/emul-linux-x86-opengl[development,-abi_x86_32(-)] - ( - >=virtual/glu-9.0-r1[abi_x86_32(-)] - >=virtual/opengl-7.0-r1[abi_x86_32(-)] - ) - ) ) - gsm? ( || ( - app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)] - >=media-sound/gsm-1.0.13-r1[abi_x86_32(-)] - ) ) - jpeg? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=virtual/jpeg-0-r2:0[abi_x86_32(-)] - ) ) - ldap? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=net-nds/openldap-2.4.38-r1:=[abi_x86_32(-)] - ) ) - lcms? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=media-libs/lcms-2.5:2[abi_x86_32(-)] - ) ) - mp3? ( || ( - app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)] - >=media-sound/mpg123-1.15.4[abi_x86_32(-)] - ) ) - netapi? ( >=net-fs/samba-3.6.23-r1[netapi(+),abi_x86_32(-)] ) - nls? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=sys-devel/gettext-0.18.3.2[abi_x86_32(-)] - ) ) - odbc? ( || ( - app-emulation/emul-linux-x86-db[development,-abi_x86_32(-)] - >=dev-db/unixODBC-2.3.2:=[abi_x86_32(-)] - ) ) - osmesa? ( || ( - >=app-emulation/emul-linux-x86-opengl-20121028[development,-abi_x86_32(-)] - >=media-libs/mesa-9.1.6[osmesa,abi_x86_32(-)] - ) ) - pipelight? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=sys-apps/attr-2.4.47-r1[abi_x86_32(-)] - ) ) - pulseaudio? ( || ( - app-emulation/emul-linux-x86-soundlibs[development,-abi_x86_32(-)] - >=media-sound/pulseaudio-5.0[abi_x86_32(-)] - ) ) - xml? ( || ( - >=app-emulation/emul-linux-x86-baselibs-20131008[development,-abi_x86_32(-)] - ( - >=dev-libs/libxml2-2.9.1-r4[abi_x86_32(-)] - >=dev-libs/libxslt-1.1.28-r1[abi_x86_32(-)] - ) - ) ) - scanner? ( || ( - app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)] - >=media-gfx/sane-backends-1.0.23:=[abi_x86_32(-)] - ) ) - ssl? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=net-libs/gnutls-2.12.23-r6:=[abi_x86_32(-)] - ) ) - png? ( || ( - app-emulation/emul-linux-x86-baselibs[development,-abi_x86_32(-)] - >=media-libs/libpng-1.6.10:0[abi_x86_32(-)] - ) ) - v4l? ( || ( - app-emulation/emul-linux-x86-medialibs[development,-abi_x86_32(-)] - >=media-libs/libv4l-0.9.5[abi_x86_32(-)] - ) ) - xcomposite? ( || ( - app-emulation/emul-linux-x86-xlibs[development,-abi_x86_32(-)] - >=x11-libs/libXcomposite-0.4.4-r1[abi_x86_32(-)] - ) ) - ) + scanner? ( media-gfx/sane-backends:=[${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + abi_x86_32? ( + !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-baselibs-20140508-r14 + !app-emulation/emul-linux-x86-db[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-db-20140508-r3 + !app-emulation/emul-linux-x86-medialibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-medialibs-20140508-r6 + !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-opengl-20140508-r1 + !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-sdl-20140508-r1 + !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-soundlibs-20140508 + !app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)] + !<app-emulation/emul-linux-x86-xlibs-20140508 )" RDEPEND="${COMMON_DEPEND} dos? ( games-emulation/dosbox ) perl? ( dev-lang/perl dev-perl/XML-Simple ) + s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) samba? ( >=net-fs/samba-3.0.25 ) selinux? ( sec-policy/selinux-wine ) udisks? ( sys-fs/udisks:2 ) - pulseaudio? ( realtime? ( sys-auth/rtkit ) )" + pulseaudio? ( realtime? ( sys-auth/rtkit ) ) + nine? ( media-libs/mesa[d3d9] ) + " +# tools/make_requests requires perl DEPEND="${COMMON_DEPEND} - amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) ) + staging? ( dev-lang/perl dev-perl/XML-Simple ) X? ( x11-proto/inputproto x11-proto/xextproto @@ -268,6 +156,13 @@ usr/share/applications/wine-winecfg.desktop" wine_build_environment_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 + # bug #549768 + if [[ $(gcc-major-version) = 5 ]]; then + eerror "You need gcc-4.x to build wine; see https://bugs.gentoo.org/549768" + eerror + return 1 + fi + if use abi_x86_64 && [[ $(( $(gcc-major-version) * 100 + $(gcc-minor-version) )) -lt 404 ]]; then eerror "You need gcc-4.4+ to build 64-bit wine" eerror @@ -291,58 +186,78 @@ pkg_setup() { } src_unpack() { - git-2_src_unpack - - use pulseaudio && unpack "${PULSE_PATCHES}.tar.bz2" - if use pipelight; then - unpack "${COMPHOLIO_PATCHES}.tar.gz" - # we use a separate pulseaudio patchset - rm -r "${COMPHOLIO_PATCHES}/patches/06-winepulse" || die - # ... and need special tools for binary patches - mv "${COMPHOLIO_PATCHES}/patches/10-Missing_Fonts" "${T}" || die + git-r3_src_unpack + if use staging || use pulseaudio; then + EGIT_REPO_URI=${STAGING_EGIT_REPO_URI} + unset ${PN}_LIVE_REPO; + EGIT_CHECKOUT_DIR=${STAGING_DIR} git-r3_src_unpack + fi + + if use nine; then + EGIT_REPO_URI=${WINE_NINE_EGIT_REPO_URI} + unset ${PN}_LIVE_REPO; + EGIT_CHECKOUT_DIR=${WINE_NINE_DIR} git-r3_src_unpack fi + unpack "${WINE_GENTOO}.tar.bz2" + use gstreamer && unpack "${GST_P}.patch.bz2" l10n_find_plocales_changes "${S}/po" "" ".po" } src_prepare() { local md5="$(md5sum server/protocol.def)" - local f local PATCHES=( "${FILESDIR}"/${PN}-1.5.26-winegcc.patch #260726 "${FILESDIR}"/${PN}-1.4_rc2-multilib-portage.patch #395615 "${FILESDIR}"/${PN}-1.7.12-osmesa-check.patch #429386 "${FILESDIR}"/${PN}-1.6-memset-O3.patch #480508 ) - use pulseaudio && PATCHES+=( - "../${PULSE_PATCHES}"/*.patch #421365 - ) if use gstreamer; then # See http://bugs.winehq.org/show_bug.cgi?id=30557 ewarn "Applying experimental patch to fix GStreamer support. Note that" ewarn "this patch has been reported to cause crashes in certain games." - PATCHES+=( "../${PULSE_PATCHES}"/gstreamer/*.patch ) + # Wine-Staging 1.7.38 "ntdll: Fix race-condition when threads are killed + # during shutdown" patch and "Added patch to implement shared memory + # wineserver communication for various user32 functions" prevents the + # gstreamer patch from applying cleanly. + # So undo the staging patch, apply gstreamer, then re-apply rebased staging + # patch on top. + if use staging; then + PATCHES+=( + "${FILESDIR}/${PN}-1.7.39-gstreamer-v5-staging-pre.patch" + "${WORKDIR}/${GST_P}.patch" + "${FILESDIR}/${PN}-1.7.39-gstreamer-v5-staging-post.patch" ) + else + PATCHES+=( "${WORKDIR}/${GST_P}.patch" ) + fi fi - if use pipelight; then - ewarn "Applying the unofficial Compholio patchset for Pipelight support," - ewarn "which is unsupported by Wine developers. Please don't report bugs" - ewarn "to Wine bugzilla unless you can reproduce them with USE=-pipelight" - - PATCHES+=( - "../${COMPHOLIO_PATCHES}/patches"/*/*.patch #507950 - "../${COMPHOLIO_PATCHES}/patches/patch-list.patch" + if use staging; then + ewarn "Applying the unofficial Wine-Staging patchset which is unsupported" + ewarn "by Wine developers. Please don't report bugs to Wine bugzilla" + ewarn "unless you can reproduce them with USE=-staging" + + local STAGING_EXCLUDE="" + 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 + ebegin "Running Wine-Staging patch installer" + ( + set -- DESTDIR="${S}" --backend=epatch --no-autoconf --all ${STAGING_EXCLUDE} + cd "${STAGING_DIR}/patches" + source "${STAGING_DIR}/patches/patchinstall.sh" ) - # epatch doesn't support binary patches - ebegin "Applying Compholio font patches" - for f in "${T}/10-Missing_Fonts"/*.patch; do - "../${COMPHOLIO_PATCHES}/debian/tools/gitapply.sh" < "${f}" || die "Failed to apply Compholio font patches" - done - eend + eend $? + elif use pulseaudio; then + PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.patch ) + fi + if use nine; then + PATCHES+=( "${WINE_NINE_DIR}"/*.patch ) fi autotools-utils_src_prepare + # Modification of the server protocol requires regenerating the server requests if [[ "$(md5sum server/protocol.def)" != "${md5}" ]]; then einfo "server/protocol.def was patched; running tools/make_requests" tools/make_requests || die #432348 @@ -376,12 +291,14 @@ multilib_src_configure() { $(use_with udisks dbus) $(use_with fontconfig) $(use_with ssl gnutls) + $(use_enable gecko mshtml) $(use_with gphoto2 gphoto) $(use_with gsm) $(use_with gstreamer) --without-hal $(use_with jpeg) $(use_with ldap) + $(use_enable mono mscoree) $(use_with mp3 mpg123) $(use_with netapi) $(use_with nls gettext) @@ -390,6 +307,7 @@ multilib_src_configure() { $(use_with opengl) $(use_with osmesa) $(use_with oss) + $(use_with pcap) $(use_with png) $(use_with threads pthread) $(use_with scanner sane) @@ -402,9 +320,14 @@ multilib_src_configure() { $(use_with xml) $(use_with xml xslt) ) - use nine && myconf+=( --with-d3dadapter ) - use pulseaudio && myconf+=( --with-pulse ) - use pipelight && myconf+=( --with-xattr ) + + if use pulseaudio || use staging; then + myconf+=( $(use_with pulseaudio pulse) ) + fi + use staging && myconf+=( + --with-xattr + $(use_with vaapi va) + ) local PKG_CONFIG AR RANLIB # Avoid crossdev's i686-pc-linux-gnu-pkg-config if building wine32 on amd64; #472038 @@ -463,7 +386,7 @@ multilib_src_install_all() { insinto /usr/share/wine/mono doins "${DISTDIR}"/wine-mono-${MV}.msi fi - if ! use perl ; then + 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 fi @@ -488,6 +411,19 @@ pkg_preinst() { pkg_postinst() { gnome2_icon_cache_update fdo-mime_desktop_database_update + + if ! use gecko; then + ewarn "Without Wine Gecko, wine prefixes will not have a default" + ewarn "implementation of iexplore. Many older windows applications" + ewarn "rely upon the existence of an iexplore implementation, so" + ewarn "you will likely need to install an external one, like via winetricks" + fi + if ! use mono; then + ewarn "Without Wine Mono, wine prefixes will not have a default" + ewarn "implementation of .NET. Many windows applications rely upon" + ewarn "the existence of a .NET implementation, so you will likely need" + ewarn "to install an external one, like via winetricks" + fi } pkg_postrm() { |