summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2015-09-10 05:05:56 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2015-09-10 05:05:56 +0300
commitfff7e89f50b8652a8833831e6f87f601585a6369 (patch)
tree8b0ac97509587603ade67330d3865470443eadfa /app-emulation
parent0eafb7fe7985573871136165577bd9ad724a424e (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.patch40
-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.7.12-osmesa-check.patch38
-rw-r--r--app-emulation/wine/wine-scm.ebuild400
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() {