Wine 1.7.26 added.

This commit is contained in:
Kolan Sh 2014-09-06 10:04:17 +04:00
parent 07da13462a
commit de96de1974
7 changed files with 664 additions and 0 deletions

View File

@ -0,0 +1,7 @@
DIST wine-1.7.26.tar.bz2 21708411 SHA256 e20c7c26a3bd887afac655a274335923ae7ccf4053383e4edbb0c290aadb5de8 SHA512 4203959776f0977999fa9e1751515207fb4292b3c35b755ed7c68d53f179aabfba997fea5c3fdf9abe2c7fe21aeba364173f60c0666e7603c75d470a855b1ca7 WHIRLPOOL eb8aeb70aca2598b03a6d374b0a8d00e18862469259f25b4441b3bf65d234a53ec04cbe183bb70f1232e9663714fc3517c9882b2e4ef9b359bf9a468472dfa57
DIST wine-compholio-daily-1.7.25.tar.gz 8340792 SHA256 aed651e819f996deb4f12259a596f8c970fdfa0bcd25f94bac357502e7310295 SHA512 3fbcba70e9a47bf77c55cabd9bbbb8aa3d2717a8d3ef022fedb0e0f7817ff55cf3ea5dff995342cafc48973d6826b80827fe5429a76530798d7dd2ef33984d22 WHIRLPOOL b479f497f46198cfac7ad52a25bf564d2376f70aac14433e9776983ce76038c3cc5a795a10a1102ebe203f2a44cf55e476b0a2fff7c822755ee1b780246a4f59
DIST wine-gentoo-2013.06.24.tar.bz2 85442 SHA256 bfbf6b25e98f717320de2ede467e3628fbc749d936b8449f8477c9dc6f41e04b SHA512 b6819889314f6a6ea16c1332f4b177c43623116763969c31b23b61754cd304dd085f5d3eafbe847159331eb97dddd9b4c10699430129ea4a71da418c1fe175f0 WHIRLPOOL 227e0ac6569736d4ad5813cef49f775dae956f4fc9255de95753d5d3cba1bf6cf3db31d23d3702bb54d2e60c5a6f779b602f0efb2096e4c827c924565b273d00
DIST wine-mono-4.5.2.msi 52502528 SHA256 d9124edb41ba4418af10eba519dafb25ab4338c567d25ce0eb4ce1e1b4d7eaad SHA512 73c907f63b73836d5afd0753197358aaea43a74a47800f929ef0627112298256f1fa46d1b9ff297b117468d953cdeab21fb5962db13c5debbcb71004462df609 WHIRLPOOL 18d3544c6753c5a01917bfc1b694f31ce45213108527f13317ec0bb8b2d2339ce41800534967e067cd15cd186ef9e186a5d3252275e443dfa1a6ae3641d4d17c
DIST wine_gecko-2.24-x86.msi 22373888 SHA256 6e38acae87ea66e2c1e8f2f0afe88f89eed3e6e0b431cd3da38dea814b71202c SHA512 f158d28ca09bc900a2680892e7ac10770e06050a9251e1ec3a953fee0bf9b1c326e166f92fb88a4648297b6587c91a5ef5af35f267bb2ba5f679da4c8fdb6898 WHIRLPOOL bbe7a2572d89dc5e0347ba11b2014bac79fc4427d7551655313a46b147a79c1607b7f46596877c459ddaa0e202337fb3d217429ddd6a4df49ee33b373a788487
DIST wine_gecko-2.24-x86_64.msi 23608320 SHA256 47557da68bcb2aedaebb93af73275aac96ba23e896bd98f25f2acbfd216d9cc8 SHA512 45ce0dcf42c3e2fe2198092812242e3467b19db4a4946e0b1a2d6327fd48aa936fb85cc1930bace6eaba0c61bff3a6536767ba0a91a0f085f307d1bddd171f0c WHIRLPOOL b6ba7c784d3a79d7afc11f0e12f0372b52b9f194eedfd083abed36a461e7301d2dd936be3be12619364f6ac5aae9cfbfb7fc47141bff92b62826f209365210ec
DIST winepulse-patches-1.7.21.tar.bz2 52679 SHA256 38daf95ea99cf831c56634e1dd4a4ea5fa4c11f570dfbddff06ceb7cd05e7303 SHA512 8feb729461a0e9791eeae11bd354407bdb389aefd1d30454781cd56072deeb507dccf5a825e580194d1a26c2c83b631d38967011c5360c46340dc3ceb7c0096d WHIRLPOOL e5cd496a7a66036825cff73dcdb76d787948b05d604b26042b024f7c9e991f4ea61efbd41a53fe667bd023e04cd5763f806166ab3aa9de757105ee3fbe6f65e8

View File

@ -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])

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,498 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-emulation/wine/wine-1.7.26.ebuild,v 1.1 2014/06/29 00:42:47 tetromino Exp $
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"
inherit git-2
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.24"
MV="4.5.2"
PULSE_PATCHES="winepulse-patches-1.7.21"
COMPHOLIOV="1.7.25"
COMPHOLIO_PATCHES="wine-compholio-daily-${COMPHOLIOV}"
WINE_GENTOO="wine-gentoo-2013.06.24"
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 )
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 )
http://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2"
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"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
test? ( abi_x86_32 )
elibc_glibc? ( threads )
gstreamer? ( pulseaudio )
mono? ( abi_x86_32 )
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 )
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 )
X? (
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXrandr
x11-libs/libXi
x11-libs/libXxf86vm
)
xinerama? ( x11-libs/libXinerama )
alsa? ( media-libs/alsa-lib )
cups? ( net-print/cups:= )
opencl? ( virtual/opencl )
opengl? (
virtual/glu
virtual/opengl
)
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 )"
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(-)]
) )
)
)"
RDEPEND="${COMMON_DEPEND}
dos? ( games-emulation/dosbox )
perl? ( dev-lang/perl dev-perl/XML-Simple )
samba? ( >=net-fs/samba-3.0.25 )
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )
pulseaudio? ( realtime? ( sys-auth/rtkit ) )"
DEPEND="${COMMON_DEPEND}
amd64? ( abi_x86_32? ( !abi_x86_64? ( ${NATIVE_DEPEND} ) ) )
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
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-2_src_unpack
else
unpack ${MY_P}.tar.bz2
fi
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
fi
unpack "${WINE_GENTOO}.tar.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 )
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"
)
# 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
fi
autotools-utils_src_prepare
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_with gphoto2 gphoto)
$(use_with gsm)
$(use_with gstreamer)
--without-hal
$(use_with jpeg)
$(use_with ldap)
$(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 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)
)
use pulseaudio && myconf+=( --with-pulse )
use pipelight && myconf+=( --with-xattr )
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
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
}
pkg_postrm() {
gnome2_icon_cache_update
fdo-mime_desktop_database_update
}

View File

@ -20,6 +20,7 @@ app-editors/gvim ~amd64
app-editors/oxygenxml ~x86
app-editors/vim ~amd64
app-editors/vim-core ~amd64
app-emulation/crossover-bin ~amd64
app-emulation/qemu ~amd64
app-emulation/spice-protocol ~amd64
app-emulation/virtualbox ~amd64