commit: 29bdb6848e7e8ba4e28efd06d13e2f0ac8d6e4a0 Author: Andrew Savchenko <bircoph <AT> gentoo <DOT> org> AuthorDate: Fri Jul 29 14:41:21 2016 +0000 Commit: Andrew Savchenko <bircoph <AT> gentoo <DOT> org> CommitDate: Fri Jul 29 14:41:21 2016 +0000 URL: https://gitweb.gentoo.org/dev/bircoph.git/commit/?id=29bdb684
app-emulation/wine: sync with portage app-emulation/wine/Manifest | 12 +- app-emulation/wine/files/builtin_ms_va_list.c | 9 + .../wine/{wine-1.9.9.ebuild => wine-1.9.15.ebuild} | 213 ++++++++++++++------- 3 files changed, 157 insertions(+), 77 deletions(-) diff --git a/app-emulation/wine/Manifest b/app-emulation/wine/Manifest index 4de707a..7a52730 100644 --- a/app-emulation/wine/Manifest +++ b/app-emulation/wine/Manifest @@ -1,7 +1,7 @@ -DIST wine-1.9.9.tar.bz2 23155986 SHA256 a1e76fd9842d0fe385e930cd62e7193035a04ed11fe771d9cd6ee9b2ceda7b41 SHA512 370caf527eac948b8bf2583e8f8a647e9b353b8ea70a341a0eb1fd768eea6c982a5c8b7eb23ecfded6eebea370d06bd23ee1ba7b2ded63547f571cc293ee1695 WHIRLPOOL bf97f4fcacda1913d2e7be21f6c771392b06653a7877ea07cf65731bf37eae3f3eb5d5fe5971dae18be709afcbbc65b3337e8d1d0c01e938671eed095aacd0af -DIST wine-d3d9-1.9.9.tar.gz 45615 SHA256 cc6575ef97c6ff74d11d370f6af012c82b33697cb5d120d93d3d501623ef4856 SHA512 142e4c11c392a7999093c6703e3e506c365633e7ae4c2426d164e411e5d28fd0c7b00acffc0ca35c755d8ff6d8585072f6a3d3bcb8b5e32417db5597f236c4d0 WHIRLPOOL d56f84a455dc643f756fedfffdc73640cb34aa8164df747fe44f204dd7165d7b000c22de8c33c9978ad97b32b8b6d285551de8607acf75b5f079cb7eeeadb05e +DIST wine-1.9.15.tar.bz2 23357574 SHA256 cf992ac991b0e49fd0b186305021acf6e612d5df18d30e3d5808fa6f6731adda SHA512 39eda9c0123453321d414690db5ca5849326bf44d116a353296e88026fa618535a306b9e0c6666ea6716dc8d44f81a2caeae11be80f15448b67bde2be9e1210a WHIRLPOOL cdaa74399ef4849a297a9d8040333500e1007ca8374b76e0677ba8b21e087feac262cf449f90826f4cd417989742670f86eed4c2fb5ef4345e8b955e8213fbef +DIST wine-d3d9-1.9.15.tar.gz 46418 SHA256 e6d8029e37c4afa8018f595ae8ee23a547782a614d5605352301685889996388 SHA512 6ad990ebd023d0125146c3b785cf38862368c3034daac6dad1a2e3a04737c5a31fbc81b562e4571ea386f515a04b50d42699b783ab15d9e3b19b12b1a7148c08 WHIRLPOOL 01a37e81fbbf99bbeab7b3c06eaadd52e8d4cf6459958465aa53d76b1717fb8bda356bae3f36c790bca29f38f80546c8d32a376f5fcb4d35f1593b647c9f5109 DIST wine-gentoo-2015.03.07.tar.bz2 85419 SHA256 f13f93dc49bbc33a294c4d511b6e01aec2d38bff77a1e44d07668291add1ab04 SHA512 bae1d2d5575d340d01f44008104f0e5ec0c4a4982995dec37d501594cd21d07a2b4ad4465c4273646d5bf6521996b4b82471097864be75342abe3e7d478a56bd WHIRLPOOL 0f254dd692e87a1f71dd19f6c1c8c59b8a91b994e75912a2e6e3ba5e875b85119fe497a331a95c2ce33bbf5f064143d23ee00275da92c494227de0807c9abb06 -DIST wine-mono-4.6.2.msi 45676544 SHA256 a46c5b32b6ed66e2e8d7ac9b15ff9ffe143a3aa6f12f2ea07a6ca9a4d2023e41 SHA512 7ff31b64539976cc4d5ded1b38549c9bec620ee7679b5a53093195b7df1a93a57db04ef81d94342ec6e4389fef356660e3eb4c35e7b50b6df98288ca19eb633f WHIRLPOOL eef536a301127f78b06d56054a95e86e73ce7ecd0522a41f6d581d6cfb8660ded5b8148e00e9f8ee77361bfa4a66996559480cd7881c4d132169b5de698f4ef2 -DIST wine-staging-1.9.9.tar.gz 9997618 SHA256 23e165b0259561a3449a7c0195352cca96fdc247ad524c6567421d9971ebf517 SHA512 4e06315eda4ba8e7a44c06a422ebb8a315c808f1f651430e7fc56950916a61c38aa6d3a2467a6c70be2c344744d00b25d83df27c8629c783c8b67584c01f8c0c WHIRLPOOL 01fe2ddb3de5485f221787a3899bca171ecf4d14c3c0c8a9b973757f1507a4ce3dcbf9c4cea2b20b31fb1ddc0ae0eaf8600c811f4fbcd1ffa39eb5fa81dcf313 -DIST wine_gecko-2.44-x86.msi 34832896 SHA256 77a64ad17571b3a00386a88b9b1b1ea4b7e759061675568bee0ec238fb456d39 SHA512 6c3b6ccbab0081d8ab188a9a031050ca8fd7ef8f1de0efa3a57569d6166397f91bf13037402e3437cc8cfc4fc25e7c2f8be32f66500306d567055e89aae0797d WHIRLPOOL 59c269a6d6e3ba829bd24cf81eba991f91bb0c1995a1841b7e548593f544088959093ba29eb83b53f38f77e71780d8288f0b12a212862af1374f954d61f24999 -DIST wine_gecko-2.44-x86_64.msi 36273152 SHA256 628e5a0d3b7406cbd2f031139be06e2ef695081fc77ee18dc06748e649ff6661 SHA512 71dcbd28ff048fc587ed796f2f09815f624774742abc192d9aa1104485f5d8cd93b2308fb72506f82d0ea5032dd6c7ed2af4ac95121e7b2367e7a6dd77cb042f WHIRLPOOL a327f2b5a8f47498967b80e06336918006b71b4e1b90a96943faa6f05e481273203259ab6f8a3b45ba85249344c76c100880ad88dd346a94ee45327fffb2f3a1 +DIST wine-mono-4.6.3.msi 45591040 SHA256 f883e88ae78c7ea3d887c24023aa1ed03bb71a83f717c6595abf18b31fef28b9 SHA512 b940d7c07d0892ac76ad9e4c3d4d159afeee43765b6bfe07f14beee1fc8674b58a9af20a5ee0a4d9667a15b83a0e6538c0143b9072c677dd753e32bbdd17065b WHIRLPOOL f04002904d99dc2615a179c13ae810c8208808c60c5e5eda7f9c3f07163d645cccf6f74d4354331fa25dfb41ef2c24e432f83670a3e7c3a90fa6d144b3d193b9 +DIST wine-staging-1.9.15.tar.gz 9926094 SHA256 10b836e4f78b7da1693cf1199f1b16c160a844a6372733817be31de67ea85150 SHA512 7eb1774381925944abe6bcbe1a8e1810b4d7f51d1f3c15bcdc15084420bfdb6f90b8edbbc0876ad87e896471ab9c9f21d14420c3ecb485aa8ead4256ff8ca60b WHIRLPOOL bcb9e7f15437a03baed57aeb082267b47a06504246f029bf31ead117a258b1b26dd70924427c0cda1526f7fab5ac1eb17a756fb5c1b2f87d8f8727923a185d4e +DIST wine_gecko-2.47-x86.msi 49266176 SHA256 3b8a361f5d63952d21caafd74e849a774994822fb96c5922b01d554f1677643a SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4 WHIRLPOOL 2b4e3e88d530106d942200e5cdc67e51fc529c51864dee687ff1d6ae4cc94557481f74797a5ca7c1de8ca5ad00f7d9cb71e484ab24d73867d1032ccd88c0c376 +DIST wine_gecko-2.47-x86_64.msi 50806272 SHA256 c565ea25e50ea953937d4ab01299e4306da4a556946327d253ea9b28357e4a7d SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41 WHIRLPOOL c7619954da22a47dae86ef4c6c0cfbece41943edcceb2c21babe610e0a0b2197b244ebbddd2f3986ee4d5251b062e5f3b8e079426ec77c311b928d18c8451677 diff --git a/app-emulation/wine/files/builtin_ms_va_list.c b/app-emulation/wine/files/builtin_ms_va_list.c new file mode 100644 index 0000000..f36fc26 --- /dev/null +++ b/app-emulation/wine/files/builtin_ms_va_list.c @@ -0,0 +1,9 @@ +/* Taken from Wine's configure script. LGPL 2.1+ */ + +#include <stdarg.h> + +int main(void) +{ + void func(__builtin_ms_va_list *args); + return 0; +} diff --git a/app-emulation/wine/wine-1.9.9.ebuild b/app-emulation/wine/wine-1.9.15.ebuild similarity index 75% rename from app-emulation/wine/wine-1.9.9.ebuild rename to app-emulation/wine/wine-1.9.15.ebuild index 7561b7a..4433df1 100644 --- a/app-emulation/wine/wine-1.9.9.ebuild +++ b/app-emulation/wine/wine-1.9.15.ebuild @@ -21,8 +21,10 @@ else KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd" fi -GV="2.44" -MV="4.6.2" +VANILLA_GV="2.47" +VANILLA_MV="4.6.3" +STAGING_GV="2.47" +STAGING_MV="4.6.3" [[ ${MAJOR_V} == "1.8" ]] && SUFFIX="-unofficial" STAGING_P="wine-staging-${PV}" STAGING_DIR="${WORKDIR}/${STAGING_P}${SUFFIX}" @@ -32,11 +34,20 @@ WINE_GENTOO="wine-gentoo-2015.03.07" DESCRIPTION="Free implementation of Windows(tm) on Unix" HOMEPAGE="http://www.winehq.org/" SRC_URI="${SRC_URI} - gecko? ( - abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86.msi ) - abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${GV}/wine_gecko-${GV}-x86_64.msi ) + !staging? ( + gecko? ( + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86.msi ) + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${VANILLA_GV}/wine_gecko-${VANILLA_GV}-x86_64.msi ) + ) + mono? ( https://dl.winehq.org/wine/wine-mono/${VANILLA_MV}/wine-mono-${VANILLA_MV}.msi ) + ) + staging? ( + gecko? ( + abi_x86_32? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86.msi ) + abi_x86_64? ( https://dl.winehq.org/wine/wine-gecko/${STAGING_GV}/wine_gecko-${STAGING_GV}-x86_64.msi ) + ) + mono? ( https://dl.winehq.org/wine/wine-mono/${STAGING_MV}/wine-mono-${STAGING_MV}.msi ) ) - mono? ( https://dl.winehq.org/wine/wine-mono/${MV}/wine-mono-${MV}.msi ) https://dev.gentoo.org/~tetromino/distfiles/${PN}/${WINE_GENTOO}.tar.bz2" if [[ ${PV} == "9999" ]] ; then @@ -50,32 +61,21 @@ fi LICENSE="LGPL-2.1" SLOT="0" -IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg +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" +IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags d3d9 dos elibc_glibc +fontconfig +gecko gphoto2 gsm gstreamer +jpeg kernel_FreeBSD +lcms ldap +mono mp3 ncurses netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight +png prelink pulseaudio +realtime +run-exes s3tc samba scanner selinux +ssl staging test +threads +truetype +udisks v4l vaapi +X +xcomposite xinerama +xml" REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 ) - test? ( abi_x86_32 ) + X? ( truetype ) elibc_glibc? ( threads ) + osmesa? ( opengl ) pipelight? ( staging ) s3tc? ( staging ) - vaapi? ( staging ) - osmesa? ( opengl )" #286560 + test? ( abi_x86_32 ) + vaapi? ( staging )" # osmesa-opengl #286560 # X-truetype #551124 # 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 ) - d3d9? ( media-libs/mesa[d3d9,${MULTILIB_USEDEP}] ) - 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:1.0[${MULTILIB_USEDEP}] - media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] - ) X? ( x11-libs/libXcursor[${MULTILIB_USEDEP}] x11-libs/libXext[${MULTILIB_USEDEP}] @@ -83,36 +83,53 @@ COMMON_DEPEND=" x11-libs/libXi[${MULTILIB_USEDEP}] x11-libs/libXxf86vm[${MULTILIB_USEDEP}] ) - xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi[${MULTILIB_USEDEP}] ) cups? ( net-print/cups:=[${MULTILIB_USEDEP}] ) - opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) - opengl? ( - virtual/glu[${MULTILIB_USEDEP}] - virtual/opengl[${MULTILIB_USEDEP}] + d3d9? ( + media-libs/mesa[d3d9,egl,${MULTILIB_USEDEP}] + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libxcb[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) gsm? ( media-sound/gsm:=[${MULTILIB_USEDEP}] ) + gstreamer? ( + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] + ) jpeg? ( virtual/jpeg:0=[${MULTILIB_USEDEP}] ) - ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) lcms? ( media-libs/lcms:2=[${MULTILIB_USEDEP}] ) + ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] ) mp3? ( >=media-sound/mpg123-1.5.0[${MULTILIB_USEDEP}] ) + ncurses? ( >=sys-libs/ncurses-5.2:0=[${MULTILIB_USEDEP}] ) netapi? ( net-fs/samba[netapi(+),${MULTILIB_USEDEP}] ) nls? ( sys-devel/gettext[${MULTILIB_USEDEP}] ) odbc? ( dev-db/unixODBC:=[${MULTILIB_USEDEP}] ) + openal? ( media-libs/openal:=[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + png? ( media-libs/libpng:0=[${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}] ) + staging? ( sys-apps/attr[${MULTILIB_USEDEP}] ) + truetype? ( >=media-libs/freetype-2.0.0[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) vaapi? ( x11-libs/libva[X,${MULTILIB_USEDEP}] ) xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + xml? ( + dev-libs/libxml2[${MULTILIB_USEDEP}] + dev-libs/libxslt[${MULTILIB_USEDEP}] + ) abi_x86_32? ( !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] !<app-emulation/emul-linux-x86-baselibs-20140508-r14 @@ -131,28 +148,36 @@ COMMON_DEPEND=" )" RDEPEND="${COMMON_DEPEND} - dos? ( games-emulation/dosbox ) - perl? ( dev-lang/perl dev-perl/XML-Simple ) + dos? ( >=games-emulation/dosbox-0.74_p20160629 ) + perl? ( + dev-lang/perl + dev-perl/XML-Simple + ) + pulseaudio? ( + realtime? ( sys-auth/rtkit ) + ) s3tc? ( >=media-libs/libtxc_dxtn-1.0.1-r1[${MULTILIB_USEDEP}] ) samba? ( >=net-fs/samba-3.0.25[winbind] ) selinux? ( sec-policy/selinux-wine ) - udisks? ( sys-fs/udisks:2 ) - pulseaudio? ( realtime? ( sys-auth/rtkit ) )" + udisks? ( sys-fs/udisks:2 )" # tools/make_requests requires perl DEPEND="${COMMON_DEPEND} - staging? ( dev-lang/perl dev-perl/XML-Simple ) + sys-devel/flex + >=sys-kernel/linux-headers-2.6 + virtual/pkgconfig + virtual/yacc 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" + staging? ( + dev-lang/perl + dev-perl/XML-Simple + ) + xinerama? ( x11-proto/xineramaproto )" # These use a non-standard "Wine" category, which is provided by # /etc/xdg/applications-merged/wine.menu @@ -161,42 +186,62 @@ usr/share/applications/wine-notepad.desktop usr/share/applications/wine-uninstaller.desktop usr/share/applications/wine-winecfg.desktop" -wine_build_environment_check() { +wine_compiler_check() { [[ ${MERGE_TYPE} = "binary" ]] && return 0 - # bug #549768 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then - einfo "Checking for gcc-5 ms_abi compiler bug ..." - $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die - # Run in subshell to prevent "Aborted" message - if ! ( "${T}"/pr66838 || false ) >/dev/null 2>&1; then - eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/549768" - eerror - return 1 + # GCC-specific bugs + if tc-is-gcc; then + # bug #549768 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) -le 2 ]]; then + ebegin "Checking for gcc-5 ms_abi compiler bug" + $(tc-getCC) -O2 "${FILESDIR}"/pr66838.c -o "${T}"/pr66838 || die + # Run in subshell to prevent "Aborted" message + ( "${T}"/pr66838 || false ) >/dev/null 2>&1 + eend $? + if [[ $? -ne 0 ]] ; then + eerror "64-bit wine cannot be built with gcc-5.1 or initial patchset of 5.2.0" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.2.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/549768" + eerror + return 1 + fi + fi + # bug #574044 + if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then + ebegin "Checking for gcc-5-3 stack realignment compiler bug" + # Compile in subshell to prevent "Aborted" message + ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1 + eend $? + if [[ $? -ne 0 ]] ; then + eerror "Wine cannot be built with this version of gcc-5.3" + eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," + eerror "or use gcc-config to select a different compiler version." + eerror "See https://bugs.gentoo.org/574044" + eerror + return 1 + fi fi fi - # bug #574044 - if use abi_x86_64 && [[ $(gcc-major-version) = 5 && $(gcc-minor-version) = 3 ]]; then - einfo "Checking for gcc-5-3 stack realignment compiler bug ..." + + # Ensure compiler support + if use abi_x86_64; then + ebegin "Checking for 64-bit compiler with builtin_ms_va_list support" # Compile in subshell to prevent "Aborted" message - if ! ( $(tc-getCC) -O2 -mincoming-stack-boundary=3 "${FILESDIR}"/pr69140.c -o "${T}"/pr69140 || false ) >/dev/null 2>&1; then - eerror "Wine cannot be built with this version of gcc-5.3" - eerror "due to compiler bugs; please re-emerge the latest gcc-5.3.x ebuild," - eerror "or use gcc-config to select a different compiler version." - eerror "See https://bugs.gentoo.org/574044" + ( $(tc-getCC) -O2 "${FILESDIR}"/builtin_ms_va_list.c -o "${T}"/builtin_ms_va_list >/dev/null 2>&1) + eend $? + if [[ $? -ne 0 ]]; then + eerror "This version of $(tc-getCC) does not support builtin_ms_va_list, can't enable 64-bit wine" + eerror + eerror "You need gcc-4.4+ or clang 3.8+ to build 64-bit wine" eerror return 1 fi 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 +wine_build_environment_check() { + [[ ${MERGE_TYPE} = "binary" ]] && return 0 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." @@ -207,12 +252,31 @@ wine_build_environment_check() { } pkg_pretend() { + wine_compiler_check || die wine_build_environment_check || die + + # Verify OSS support + if use oss && ! use kernel_FreeBSD; then + local oss_vers=$(best_version media-sound/oss) + if [[ -z ${oss_vers} ]] || ! version_is_at_least "4" ${oss_vers}; then + eerror "You cannot build wine with USE=oss without having support from a" + eerror "FreeBSD kernel or >=media-sound/oss-4 (only available through external repos)" + eerror + die + fi + fi } pkg_setup() { enewgroup wine wine_build_environment_check || die + if ! use staging; then + GV=${VANILLA_GV} + MV=${VANILLA_MV} + else + GV=${STAGING_GV} + MV=${STAGING_MV} + fi } src_unpack() { @@ -304,7 +368,7 @@ src_prepare() { # 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 + l10n_get_locales > po/LINGUAS || die # otherwise wine doesn't respect LINGUAS } src_configure() { @@ -423,6 +487,13 @@ multilib_src_install_all() { rm "${D}"usr/bin/{wine{dump,maker},function_grep.pl} "${D}"usr/share/man/man1/wine{dump,maker}.1 || die fi + # Remove wineconsole if neither backend is installed #551124 + if ! use X && ! use ncurses; then + rm "${D}"/usr/{bin/,man/man1/}wineconsole* || die + use abi_x86_32 && rm "${D}"/usr/lib32/wine/{,fakedlls/}wineconsole.exe* || die + use abi_x86_64 && rm "${D}"/usr/lib64/wine/{,fakedlls/}wineconsole.exe* || die + 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}