app-emulation/wine broken (staging), removed, replaced with official one.
This commit is contained in:
parent
52e680b5c5
commit
5b4dbb7cd7
|
@ -1,7 +0,0 @@
|
|||
DIST wine-1.7.34-gstreamer-v5.patch.bz2 5703 SHA256 c3bb6f669f46d9f2d7ba494a2264cee457349f559d4b0758db80e39eb22f2aee SHA512 e780394e8739a58593d264322c462bfe9040c1cabce93b84d24f09040026368efb4ac34a6a302beb6048d14b4ac835b87a0c515b52c1a0c143aa4e15691eb01b WHIRLPOOL 1befbb0fbd026d6e833c5d72341064dd6e12157e1b7df58e349b9985648bfbc63f70e9cab45b61155515ac65057968e30ba313e71e183b8027153c9392d89192
|
||||
DIST wine-1.7.55.tar.bz2 22814631 SHA256 a148f6c9cb45a75ef1a15e60a7db9c22fce985e0e58fe1350e7931dfe5d36119 SHA512 f47025017836ce1bbf2ed69c7d7421bd8a2f33ff94ced4a5caf92f4fabdf336119c80a28aeb8ba1ebe0239871a6ac62d8af8435d220c317624c17aabc2100dd7 WHIRLPOOL c5575d2ef687caccbdb5cc09a0c6a4ba9f65ec9674cbe3f23ecfced62710dcb0019a11ff66f2ec4c2eafdb30d9891abad158ac4f865cc580a2878067de7304d7
|
||||
DIST wine-gentoo-2015.03.07.tar.bz2 85419 SHA256 f13f93dc49bbc33a294c4d511b6e01aec2d38bff77a1e44d07668291add1ab04 SHA512 bae1d2d5575d340d01f44008104f0e5ec0c4a4982995dec37d501594cd21d07a2b4ad4465c4273646d5bf6521996b4b82471097864be75342abe3e7d478a56bd WHIRLPOOL 0f254dd692e87a1f71dd19f6c1c8c59b8a91b994e75912a2e6e3ba5e875b85119fe497a331a95c2ce33bbf5f064143d23ee00275da92c494227de0807c9abb06
|
||||
DIST wine-mono-4.5.6.msi 53705216 SHA256 ac681f737f83742d786706529eb85f4bc8d6bdddd8dcdfa9e2e336b71973bc25 SHA512 4d8df04c1d0da09d1abe423dd271e5dd14a193d607fb54e214d2e340827f7c33829342d1580b6907d7cf466e70993d743c6e1ca9a026d4b6225dd7c1fc8b1386 WHIRLPOOL 9a68e502da0be6768e92d88f2ccace607300f3a331e0f9e1b6d60e9c6c2d4eb635b902f03e13aad73461dd5f0c2691c7b41958356ebb7f445e8def4282c675d3
|
||||
DIST wine-staging-1.7.51.tar.gz 9628831 SHA256 662cbfcca95405045ba063f312fa4f605d8c48b7b0930c951e2ebac817f3b763 SHA512 f9d2388d63af3aa6ccdc7b66f9d767c19c1577acb84eb3ac03f9b4e07b3ff76906875998fdb42baae3768202129d270b1a1b15fd6bfb20fa33e3bc70559bdf45 WHIRLPOOL f606b6cb2f9a2ece0ce411423df8db1a95217341c2dc6720f748ba8df71758e0a099afc7679fc37fb6621ba1f2fcd5bb505a85cdde797adb45d093836e001441
|
||||
DIST wine_gecko-2.40-x86.msi 31741440 SHA256 1a29d17435a52b7663cea6f30a0771f74097962b07031947719bb7b46057d302 SHA512 2f203852afede3f6b0899a54ad6eaa27c972a84df51de1632cb21af0c322e369a13150a5f19f68d7c4fcb0610b65e9244658e622c7e6b14c93ae6b7372bb184f WHIRLPOOL 461358782c8aa21be5bf934bdb7b7397717add883036a773dad20d2ba5169a5229c211781c60fb4df46057b476765c6541340f5764a5a7362daf357ab60877b6
|
||||
DIST wine_gecko-2.40-x86_64.msi 33056768 SHA256 c3e28988e7d92221596fc4c569d10eb4dd2ca64b9f4970bf77e791f5dd8c9230 SHA512 af171193f221f2cd51f6dc3382a9b1c658ef2553213be32f201c05f7122eb6883838be97c3ec66177b1e3922df64c409745c3223acb01910680a5476c3f01478 WHIRLPOOL d11234b593f4190ae8fa99bec8363c0047f6de08b186752b9f49764519ee9f4aafd017a16c0496581a0f4791e1109273846cec0314d9e320423d51723cd2083a
|
|
@ -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])
|
|
@ -1,59 +0,0 @@
|
|||
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;
|
|
@ -1,21 +0,0 @@
|
|||
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
|
|
@ -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
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
From b97783fd33b4d9897c149d7a14747aa4969bd9e9 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 19 Mar 2015 07:56:04 +0100
|
||||
Subject: Reapply various changes conflicting with Maarten Lankhorst's
|
||||
gstreamer hack v5.
|
||||
|
||||
---
|
||||
dlls/ntdll/thread.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 1e7f231..cf0461d 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -461,6 +461,8 @@ static void exit_thread_common( int status )
|
||||
static void *prev_teb;
|
||||
TEB *teb;
|
||||
#endif
|
||||
+ shmlocal_t *shmlocal;
|
||||
+ sigset_t sigset;
|
||||
|
||||
if (status) /* send the exit code to the server (0 is already the default) */
|
||||
{
|
||||
@@ -502,6 +504,11 @@ static void exit_thread_common( int status )
|
||||
reap_thread(NtCurrentTeb());
|
||||
#endif
|
||||
|
||||
+ sigemptyset( &sigset );
|
||||
+ sigaddset( &sigset, SIGQUIT );
|
||||
+ pthread_sigmask( SIG_BLOCK, &sigset, NULL );
|
||||
+ if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
|
||||
+
|
||||
close( ntdll_get_thread_data()->wait_fd[0] );
|
||||
close( ntdll_get_thread_data()->wait_fd[1] );
|
||||
close( ntdll_get_thread_data()->reply_fd );
|
||||
--
|
||||
2.3.2
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
From 1527fb44c331f2c61224514beb758895a5f85c8d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 19 Mar 2015 07:51:48 +0100
|
||||
Subject: Revert various changes conflicting with Maarten Lankhorst's gstreamer
|
||||
hack v5.
|
||||
|
||||
Note: These changes have to be reapplied with the corresponding -post patchset
|
||||
afterwards.
|
||||
---
|
||||
dlls/ntdll/thread.c | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
|
||||
index 30a4720..843be0f 100644
|
||||
--- a/dlls/ntdll/thread.c
|
||||
+++ b/dlls/ntdll/thread.c
|
||||
@@ -385,8 +385,6 @@ void terminate_thread( int status )
|
||||
void exit_thread( int status )
|
||||
{
|
||||
static void *prev_teb;
|
||||
- shmlocal_t *shmlocal;
|
||||
- sigset_t sigset;
|
||||
TEB *teb;
|
||||
|
||||
if (status) /* send the exit code to the server (0 is already the default) */
|
||||
@@ -425,11 +423,6 @@ void exit_thread( int status )
|
||||
}
|
||||
}
|
||||
|
||||
- sigemptyset( &sigset );
|
||||
- sigaddset( &sigset, SIGQUIT );
|
||||
- pthread_sigmask( SIG_BLOCK, &sigset, NULL );
|
||||
- if (interlocked_xchg_add( &nb_threads, -1 ) <= 1) _exit( status );
|
||||
-
|
||||
close( ntdll_get_thread_data()->wait_fd[0] );
|
||||
close( ntdll_get_thread_data()->wait_fd[1] );
|
||||
close( ntdll_get_thread_data()->reply_fd );
|
||||
--
|
||||
2.3.2
|
||||
|
|
@ -1,439 +0,0 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
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
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
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=""
|
||||
#KEYWORDS=""
|
||||
else
|
||||
MY_P="${PN}-${PV/_/-}"
|
||||
SRC_URI="mirror://sourceforge/${PN}/Source/${MY_P}.tar.bz2"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
fi
|
||||
|
||||
GV="2.40"
|
||||
MV="4.5.6"
|
||||
STAGING_P="wine-staging-1.7.51" #${PV}"
|
||||
STAGING_DIR="${WORKDIR}/${STAGING_P}"
|
||||
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}
|
||||
gecko? (
|
||||
abi_x86_32? ( mirror://sourceforge/${PN}/Wine%20Gecko/${GV}/wine_gecko-${GV}-x86.msi )
|
||||
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 )
|
||||
gstreamer? ( https://dev.gentoo.org/~tetromino/distfiles/${PN}/${GST_P}.patch.bz2 )
|
||||
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"
|
||||
else
|
||||
SRC_URI="${SRC_URI}
|
||||
staging? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )
|
||||
pulseaudio? ( https://github.com/wine-compholio/wine-staging/archive/v${PV}.tar.gz -> ${STAGING_P}.tar.gz )"
|
||||
fi
|
||||
|
||||
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 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 )
|
||||
mono? ( abi_x86_32 )
|
||||
pipelight? ( staging )
|
||||
s3tc? ( staging )
|
||||
vaapi? ( staging )
|
||||
?? ( gstreamer staging )
|
||||
osmesa? ( opengl )" #286560
|
||||
|
||||
# FIXME: the test suite is unsuitable for us; many tests require net access
|
||||
# or fail due to Xvfb's opengl limitations.
|
||||
RESTRICT="test"
|
||||
|
||||
COMMON_DEPEND="
|
||||
truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] )
|
||||
capi? ( net-dialup/capi4k-utils )
|
||||
ncurses? ( >=sys-libs/ncurses-5.2:0=[${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[${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[${MULTILIB_USEDEP}] )
|
||||
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
|
||||
cups? ( net-print/cups:=[${MULTILIB_USEDEP}] )
|
||||
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
|
||||
opengl? (
|
||||
virtual/glu[${MULTILIB_USEDEP}]
|
||||
virtual/opengl[${MULTILIB_USEDEP}]
|
||||
)
|
||||
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}]
|
||||
)
|
||||
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 ) )"
|
||||
|
||||
# tools/make_requests requires perl
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
staging? ( dev-lang/perl dev-perl/XML-Simple )
|
||||
X? (
|
||||
x11-proto/inputproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xf86vidmodeproto
|
||||
)
|
||||
xinerama? ( x11-proto/xineramaproto )
|
||||
prelink? ( sys-devel/prelink )
|
||||
>=sys-kernel/linux-headers-2.6
|
||||
virtual/pkgconfig
|
||||
virtual/yacc
|
||||
sys-devel/flex"
|
||||
|
||||
# These use a non-standard "Wine" category, which is provided by
|
||||
# /etc/xdg/applications-merged/wine.menu
|
||||
QA_DESKTOP_FILE="usr/share/applications/wine-browsedrive.desktop
|
||||
usr/share/applications/wine-notepad.desktop
|
||||
usr/share/applications/wine-uninstaller.desktop
|
||||
usr/share/applications/wine-winecfg.desktop"
|
||||
|
||||
wine_build_environment_check() {
|
||||
[[ ${MERGE_TYPE} = "binary" ]] && return 0
|
||||
|
||||
# bug #549768
|
||||
if use abi_x86_64 && [[ $(gcc-major-version) = 5 ]]; then
|
||||
eerror "64-bit wine cannot be built with gcc-5.1 or 5.2 due to compiler bugs;"
|
||||
eerror "you may use gcc-config to select an older compiler version."
|
||||
eerror "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
|
||||
return 1
|
||||
fi
|
||||
|
||||
if use abi_x86_32 && use opencl && [[ x$(eselect opencl show 2> /dev/null) = "xintel" ]]; 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."
|
||||
eerror
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
wine_build_environment_check || die
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
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
|
||||
else
|
||||
unpack ${MY_P}.tar.bz2
|
||||
use staging || use pulseaudio && unpack "${STAGING_P}.tar.gz"
|
||||
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 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
|
||||
)
|
||||
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."
|
||||
|
||||
# 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 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"
|
||||
)
|
||||
eend $?
|
||||
elif use pulseaudio; then
|
||||
PATCHES+=( "${STAGING_DIR}/patches/winepulse-PulseAudio_Support"/*.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
|
||||
fi
|
||||
sed -i '/^UPDATE_DESKTOP_DATABASE/s:=.*:=true:' tools/Makefile.in || die
|
||||
if ! use run-exes; then
|
||||
sed -i '/^MimeType/d' tools/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
|
||||
|
||||
l10n_get_locales > po/LINGUAS # otherwise wine doesn't respect LINGUAS
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export LDCONFIG=/bin/true
|
||||
use custom-cflags || strip-flags
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--sysconfdir=/etc/wine
|
||||
$(use_with alsa)
|
||||
$(use_with capi)
|
||||
$(use_with lcms cms)
|
||||
$(use_with cups)
|
||||
$(use_with ncurses curses)
|
||||
$(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)
|
||||
$(use_with openal)
|
||||
$(use_with opencl)
|
||||
$(use_with opengl)
|
||||
$(use_with osmesa)
|
||||
$(use_with oss)
|
||||
$(use_with pcap)
|
||||
$(use_with png)
|
||||
$(use_with threads pthread)
|
||||
$(use_with scanner sane)
|
||||
$(use_enable test tests)
|
||||
$(use_with truetype freetype)
|
||||
$(use_with v4l)
|
||||
$(use_with X x)
|
||||
$(use_with xcomposite)
|
||||
$(use_with xinerama)
|
||||
$(use_with xml)
|
||||
$(use_with xml xslt)
|
||||
)
|
||||
|
||||
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
|
||||
# set AR and RANLIB to make QA scripts happy; #483342
|
||||
tc-export PKG_CONFIG AR RANLIB
|
||||
|
||||
if use amd64; then
|
||||
if [[ ${ABI} == amd64 ]]; then
|
||||
myconf+=( --enable-win64 )
|
||||
else
|
||||
myconf+=( --disable-win64 )
|
||||
fi
|
||||
|
||||
# Note: using --with-wine64 results in problems with multilib.eclass
|
||||
# CC/LD hackery. We're using separate tools instead.
|
||||
fi
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
econf "${myconf[@]}"
|
||||
emake depend
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# FIXME: win32-only; wine64 tests fail with "could not find the Wine loader"
|
||||
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"
|
||||
return
|
||||
fi
|
||||
|
||||
WINEPREFIX="${T}/.wine-${ABI}" \
|
||||
Xemake test
|
||||
fi
|
||||
}
|
||||
|
||||
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} )
|
||||
}
|
||||
l10n_for_each_locale_do add_locale_docs
|
||||
|
||||
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
|
||||
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}
|
||||
|
||||
if use abi_x86_64 && ! use abi_x86_32; then
|
||||
dosym /usr/bin/wine{64,} # 404331
|
||||
dosym /usr/bin/wine{64,}-preloader
|
||||
fi
|
||||
|
||||
# respect LINGUAS when installing man pages, #469418
|
||||
for l in de fr pl; do
|
||||
use linguas_${l} || rm -r "${D}"usr/share/man/${l}*
|
||||
done
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
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() {
|
||||
gnome2_icon_cache_update
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
Loading…
Reference in New Issue