summaryrefslogtreecommitdiff
path: root/app-emulation/wine-staging
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/wine-staging')
-rw-r--r--app-emulation/wine-staging/Manifest24
-rw-r--r--app-emulation/wine-staging/metadata.xml9
-rw-r--r--app-emulation/wine-staging/wine-staging-7.10.ebuild (renamed from app-emulation/wine-staging/wine-staging-7.5-r1.ebuild)131
-rw-r--r--app-emulation/wine-staging/wine-staging-7.11.ebuild (renamed from app-emulation/wine-staging/wine-staging-7.7.ebuild)131
-rw-r--r--app-emulation/wine-staging/wine-staging-7.8.ebuild124
-rw-r--r--app-emulation/wine-staging/wine-staging-7.9.ebuild (renamed from app-emulation/wine-staging/wine-staging-7.6-r1.ebuild)129
-rw-r--r--app-emulation/wine-staging/wine-staging-9999.ebuild126
7 files changed, 152 insertions, 522 deletions
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index 9d73f27d92b9..a8ad0f266f53 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -1,15 +1,15 @@
DIST gentoo-wine-patches-20211122.tar.xz 59796 BLAKE2B 21460e6adf4934a52f8841f76f234a764c2dc1ac77eeed1cee10adafec3aa723640ebd4b51559e9ef433070ac731c4648620bd9e75e99f31b2e2f494cf01f02d SHA512 a18cb320617e2157977032c38c322177a2d248f14e43051d38de595af171495546c93d5e71e0dbe1a4f326a2dc819bb03dcfd04454ac85bbcd6b1975ae5d9d96
-DIST wine-7.5.tar.xz 27702532 BLAKE2B e0490d5ca8ef8dc6de807eea9f06e0dd09512dfa34aebf3a2ccbf610ad78fd09c94e3368f92966a92d80e39cd86da71bcd4a7803e1af9f7f3c8ba4cc33b72447 SHA512 70458d702e04075915a97a12c5ebd33ec50cbb094f5f837e6bb498e24ee48630359d819d9689e84d29708398162ca7b8f7737216fb31c350701b66733da98616
-DIST wine-7.6.tar.xz 27674208 BLAKE2B 9c1abafca0e489876500e4640e6087456f0f93f544fba547541bc454aae5a8cb757454b1c863edc6f70cbd5a8ef848a8bdb3d6f9aaae471b97891a0a188ec640 SHA512 7eabae6e40df187da977ff412adda23697f8cd5f6c4e565d3fff74770f13f7c93ca3d81e77a72a1b929d7af675499e72925e4ab2225b5ca13ef0d88baf1f9646
-DIST wine-7.7.tar.xz 27716124 BLAKE2B 13df0de6b65ec96d99d14f43e5250a105d07414f90388fec6b19ee1a4ac4ba98fde66ed9d1eb966a07c0a2ad37e744d87eb7047b48b92ccee3e3db197730a7f9 SHA512 b0185176a1074ff7331a937a2a5a1f0b865f3e38abbe2fdca841b9f14540497bf941a2aa3bf8dc52d19eb848c68974f3ab47b6d0031cbf4eebc8a76b0b1484be
+DIST wine-7.10.tar.xz 27915328 BLAKE2B fc778285cce52317d77461f0bce11d6e3214a536ecd42364d6cd31f609a23116fa582a7cb85873a99c61eb5cf5e1e3036e4d4d1887b87f75f501109ac3eb4625 SHA512 be460be6c3f6f54c20220287a7c4c9d41d27bd14fabb97b1f9824a4be361e38b2e2e51a621e0332d6c48934b1af425efaec92132f73e6d1270337ffbfcac2576
+DIST wine-7.11.tar.xz 27975308 BLAKE2B 7031c950de4ee6d00c1006841a2d6fe55cebce644d354eb05cb963207b491a717c6ba7ce8f19c337167ec8bd6c1480427112a32b4363db745e99461be5917c77 SHA512 aff6a5996ba7336d97c59a1402688b109e6cca123c60fa6f03813d81ad6478f4ed4a62fb7813dc6952cca7ec1250182730873f3ac17f0855bbf000bf3c1d86fe
DIST wine-7.8.tar.xz 27728116 BLAKE2B 3c878de8377906a687026bf1d5f9167bdce6b13a3d750d2a92fdcf70aed8e3da01560d26e4b075b6564b741996fc2168bb98c409f95618ab9fbb8e8b583a5384 SHA512 5e63edabc7dcdce62a1ce683c9ef387a2d801af3a0f99c32daacfea566a3813086f4f5977279c7b7526574f5cd95d052805bd5c145b82221d321d8aa638bfe1d
-DIST wine-staging-7.5.tar.gz 9669503 BLAKE2B dbc307bebd50f67ea7718d1409734cc724551f1ca5ea359dd0eeb050bb5a74deb1f5732cff74dd07526f719a1ab342ae821d5ecba850f2e1c684256586205668 SHA512 138456d1fd76fa433afe01cd1d2cadb88c631277f69734641f1136795f0761a68fdfc564b9da90a342ff42e82f04436b70bb57913f92417b14e24cd7720a7b90
-DIST wine-staging-7.6.tar.gz 9668909 BLAKE2B aa7860c22b10cf7aa29fa5903e5628cd36bf8b8488fc5909b92a462ddfa134a44cd2f85e2396266127d442dc38e172b94dac145507a4f84e0867436b112a16a4 SHA512 83bc03e7f8ee4bf21465d05de22449f26480675129b6b533865c31505e09144554c2d14cfa5c9b867d3ba4273e5acd4589d32231f79a15f3f0e8b3493d32b50d
-DIST wine-staging-7.7.tar.gz 9669097 BLAKE2B 343c361d622ca5bee41d26b353ec9cbcc78105231e0e99d52419b560570a92bfcbc6fd0f8630d929d15dc2c3c09c302e74f5661dc84b867eaf3b6050d277b893 SHA512 9047a432a932474a2de3c808015b2466f6c8acea3ac3201b4b9b496f49667c7716245724b05ba98e03e1c2825d83c226f441ba1de917814dbb61959cdf98ff27
+DIST wine-7.9.tar.xz 27783272 BLAKE2B 3265402b90913670b6a81a1f0d91d84d536734883749d31af572953e3b244ba721c15bb851e0e0e868c402d9add2e2007e49225bdaaa02a8dedee575d4e69602 SHA512 47ecbb8bc31a06d0f40a63469ffe3df4a1e05c9476a8926ec7f20c2230de8afecb5e0df9f3c5dd238ce3d0323d7cf9c9f48c41ef6ca149822458a4e605a2e029
+DIST wine-staging-7.10.tar.gz 9646352 BLAKE2B acb68df0b79c5912ecfc400ac7b40fd0205908ce7edb06f69fa4c8e7a3c94d33551b98c7ae2aadded65c012aaf1b7990ac7aeefb37e7c07779aaeceb7d74397e SHA512 7c2aa5ec78f12ef3415f7e3615775f8a0a727f6e5bb0173f5746934166dbec5d4edfaa572d3fe26ef62fe933772346495a6c618d58ee0a6374028a158beb05c8
+DIST wine-staging-7.11.tar.gz 9643832 BLAKE2B d215353a0163011b964d24d6e0cb3011286ce8d9ad6b42ad2bd389cb65c214db01a67a6f37db3eedd36d34995d7423112bbddbd06abbcbc5bb5f0d565d06a157 SHA512 5985f7536f7d0a8bedcfcdf095861a06589ea6ad9896c87043ca88f9ef3c4bc9854931b51b64471e361378f332cea70adc58ef9303e9e5d1a6dcc9789761c187
DIST wine-staging-7.8.tar.gz 9658435 BLAKE2B 0c089cd1498a5d8d90bbcabf8c3b55552176bc1f0c4717c6f7d1f6dcadfdaa0d52b0fdfd3c150de0da3626085e05fdb49343739950558bf47eff96f77f6a1464 SHA512 86f514a60d6f7ed612189a6834a18265a7551f3358903a3d67413d81d134c98f2aa7e4f79682be1a75d7bec194c4ca0bbf5d10c6e10277d451cd4aa332cc20ed
-EBUILD wine-staging-7.5-r1.ebuild 20251 BLAKE2B dd84d22041b4d145db85c12e995f9fea33d733ea3a8db31d764acfaa7e2e6266afe48c28acb646de47111a2f8d87a923a1e1d084fe640b88afaafeb29dd9e852 SHA512 b636c0dadf9972873cb7bdc2cf6b681dfc31e8a9509fd70f53962c3d79d325503ce306c740bdcb04dc840cfbd0a44d05b624d751d21569b8787055f239f500ef
-EBUILD wine-staging-7.6-r1.ebuild 20251 BLAKE2B 0eb3841100fbf82c26ac48400df45ddf401db3a3800f16130542e45a1fbd404d73b008b8ffbd2d5a850606a700ecee99ea8594b025b41ad9d258829e699b5d24 SHA512 3c4ef1ca4c6cc775efae85e4b175ca2e4acf661767708df6123183fc2ee712b772c30ed92c9347f55d6f045bc8420848ca77f74c584353201190cce657c2ced1
-EBUILD wine-staging-7.7.ebuild 20251 BLAKE2B 0eb3841100fbf82c26ac48400df45ddf401db3a3800f16130542e45a1fbd404d73b008b8ffbd2d5a850606a700ecee99ea8594b025b41ad9d258829e699b5d24 SHA512 3c4ef1ca4c6cc775efae85e4b175ca2e4acf661767708df6123183fc2ee712b772c30ed92c9347f55d6f045bc8420848ca77f74c584353201190cce657c2ced1
-EBUILD wine-staging-7.8.ebuild 20146 BLAKE2B f21ac6878dbda1a40f3848aa3c63f4cce72265a7b6977b34ea827038f29eed2ccba73a2a9e1599857f1f30e197bebc54fcc0f4e1ac234139dcf73d415d74a52b SHA512 33fa51cf930d115eb81ae4edf288cdafbdc5ae94fdca71c4966ecc99c08b909d4103b8f6c34247b9d8d19055cf0d0ddef91a20bb7eb6bbc70eda185abe0993fd
-EBUILD wine-staging-9999.ebuild 20146 BLAKE2B f21ac6878dbda1a40f3848aa3c63f4cce72265a7b6977b34ea827038f29eed2ccba73a2a9e1599857f1f30e197bebc54fcc0f4e1ac234139dcf73d415d74a52b SHA512 33fa51cf930d115eb81ae4edf288cdafbdc5ae94fdca71c4966ecc99c08b909d4103b8f6c34247b9d8d19055cf0d0ddef91a20bb7eb6bbc70eda185abe0993fd
-MISC metadata.xml 3508 BLAKE2B 9746414e926a61c411904701eb90034e1e883bf69079057d3dcd22e939677afa8b79845e27e319b80ecff3ff64bb900f3a87b64644e8eb93665e8e3e9d6a4a98 SHA512 a903a74c39cbf2788c54af794b8b235e8477b2af9637d9a774bce073181264eb60aae15dfda4009e913fe24831d20c0f8e40a43b61d1e7853a2282315aef98ff
+DIST wine-staging-7.9.tar.gz 9657482 BLAKE2B 2b7f30fde6a73d1012f31e83ca9fd7bd20d87a0edcf1f175115139e47d8aecdfeea5e432cd8cc4253773755856fff00e36aab25098a9a59ed44a2f0c572e7ba5 SHA512 6c856eeaa18bad56b5302939968995221277f80eb380510762535063929b7d95e58df11ad01459ab4e6a7f97efada8c09034457a58ad637620d3a296c93ace6d
+EBUILD wine-staging-7.10.ebuild 16988 BLAKE2B e8c363f35b8bd578dda2d1d79f31d93d845bddcf35c8ab977479ddd0ef3da83303a3772b37c183d61f3c3be5272d992ac6e069cd79fec965e33db19de7dff0f6 SHA512 6e952e136e8872c95fdf6478e40c5bff53f93a02f859696febddbc1f7279a0ec498eb98d3e15d713c20d3392332ba5c4413d25c56c0e05024c979ba38a8814ab
+EBUILD wine-staging-7.11.ebuild 16988 BLAKE2B e8c363f35b8bd578dda2d1d79f31d93d845bddcf35c8ab977479ddd0ef3da83303a3772b37c183d61f3c3be5272d992ac6e069cd79fec965e33db19de7dff0f6 SHA512 6e952e136e8872c95fdf6478e40c5bff53f93a02f859696febddbc1f7279a0ec498eb98d3e15d713c20d3392332ba5c4413d25c56c0e05024c979ba38a8814ab
+EBUILD wine-staging-7.8.ebuild 16986 BLAKE2B 96ddbfe126315deca01943943eaaaa8d6bb99ace3bf7ee1f4591ea1c5f22edd989ea135b1f6f04f1c7359fa473b96dca4e8b6d9c715fde5a2efceb6d67e080d0 SHA512 d7fb6d6c173e462930b0d4ccf54e9e880da210669356cba8c7629766b0121c7a28dbc0f0ab83c18f502cf62d732cfacf3aa61e966547d4403b617b83a2641dee
+EBUILD wine-staging-7.9.ebuild 16986 BLAKE2B 96ddbfe126315deca01943943eaaaa8d6bb99ace3bf7ee1f4591ea1c5f22edd989ea135b1f6f04f1c7359fa473b96dca4e8b6d9c715fde5a2efceb6d67e080d0 SHA512 d7fb6d6c173e462930b0d4ccf54e9e880da210669356cba8c7629766b0121c7a28dbc0f0ab83c18f502cf62d732cfacf3aa61e966547d4403b617b83a2641dee
+EBUILD wine-staging-9999.ebuild 16988 BLAKE2B e8c363f35b8bd578dda2d1d79f31d93d845bddcf35c8ab977479ddd0ef3da83303a3772b37c183d61f3c3be5272d992ac6e069cd79fec965e33db19de7dff0f6 SHA512 6e952e136e8872c95fdf6478e40c5bff53f93a02f859696febddbc1f7279a0ec498eb98d3e15d713c20d3392332ba5c4413d25c56c0e05024c979ba38a8814ab
+MISC metadata.xml 3391 BLAKE2B d6da53830248d3f66ba4cc850f7d879f2d7ba636f51a657ff8078349ca5bbb0e1f20693792f56fdb2739e0d4cd85345f7ee7da06d11c4e573767dd2fb508a0c1 SHA512 e344bd026808190ffab209cc7deeeb32659be30a41a5f81ddbf23e95773ffa831c0534b7184bd6e9cee0d8ea79ec7985188d1ca066d9af493f9ec3da461d81e7
diff --git a/app-emulation/wine-staging/metadata.xml b/app-emulation/wine-staging/metadata.xml
index ee411faa12da..ac05bc09abde 100644
--- a/app-emulation/wine-staging/metadata.xml
+++ b/app-emulation/wine-staging/metadata.xml
@@ -4,10 +4,6 @@
<maintainer type="project">
<email>wine@gentoo.org</email>
<name>Wine</name>
- <description>
- This package must be kept in sync with repo/proj/wine repository.
- Any changes need to be run past the maintainer to ensure the two repositories are kept in sync.
- </description>
</maintainer>
<longdescription>
Wine is an Open Source implementation of the Windows API on top of X and Unix.
@@ -18,6 +14,10 @@ This variant of the Wine packaging includes the Wine-Staging patchset.
</longdescription>
<use>
<flag name="capi">Enable ISDN support via CAPI</flag>
+ <flag name="crossdev-mingw">
+ Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than
+ <pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up)
+ </flag>
<flag name="custom-cflags">Bypass strip-flags; use at your own peril</flag>
<flag name="dos">Pull in <pkg>games-emulation/dosbox</pkg> to run DOS applications</flag>
<flag name="gecko">Add support for the Gecko engine when using iexplore</flag>
@@ -42,7 +42,6 @@ This variant of the Wine packaging includes the Wine-Staging patchset.
<flag name="udev">Use <pkg>virtual/libudev</pkg> to provide plug and play support</flag>
<flag name="unwind">Use <pkg>sys-libs/libunwind</pkg> to unwind the stack</flag>
<flag name="usb">Use <pkg>virtual/libusb</pkg> to provide USB support</flag>
- <flag name="vkd3d">Use <pkg>app-emulation/vkd3d</pkg> to provide Direct3D 12 support</flag>
<flag name="vulkan">Enable Vulkan drivers</flag>
</use>
<upstream>
diff --git a/app-emulation/wine-staging/wine-staging-7.5-r1.ebuild b/app-emulation/wine-staging/wine-staging-7.10.ebuild
index 96b148692d17..9d69fea688ff 100644
--- a/app-emulation/wine-staging/wine-staging-7.5-r1.ebuild
+++ b/app-emulation/wine-staging/wine-staging-7.10.ebuild
@@ -48,14 +48,14 @@ fi
LICENSE="LGPL-2.1"
SLOT="${MY_PV}"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vkd3d vulkan +X +xcomposite xinerama"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
+ crossdev-mingw? ( mingw )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
- test? ( abi_x86_32 )
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
+ test? ( abi_x86_32 )" # 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.
@@ -63,7 +63,8 @@ RESTRICT="test"
BDEPEND="sys-devel/flex
virtual/yacc
- virtual/pkgconfig"
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
COMMON_DEPEND="
X? (
@@ -110,7 +111,6 @@ COMMON_DEPEND="
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
@@ -120,7 +120,7 @@ RDEPEND="${COMMON_DEPEND}
>app-eselect/eselect-wine-0.3
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:7.1.1 )
+ mono? ( app-emulation/wine-mono:7.3.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
@@ -163,80 +163,14 @@ if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then
fi
wine_compiler_check() {
- # 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 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
- # Run in subshell to prevent "Aborted" message
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1
- if ! eend $?; 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 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
- if ! eend $?; 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
-
# 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
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
- if ! eend $?; 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
+ # (No checks here as of 2022)
+ return 0
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
- if use abi_x86_64; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
- eerror "You need gcc-4.4+ to compile 64-bit wine"
- die
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
- eerror "You need clang-3.8+ to compile 64-bit wine"
- die
- fi
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
- ewarn "See package.env in man 5 portage for more information on how to do this."
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
- fi
- fi
-
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; 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."
@@ -283,32 +217,18 @@ pkg_pretend() {
fi
fi
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ type -P ${mingw}-gcc && continue
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ done
fi
fi
}
@@ -435,7 +355,13 @@ src_configure() {
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
+ use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
+ : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
fi
multilib-minimal_src_configure
@@ -463,7 +389,7 @@ multilib_src_configure() {
$(use_with gphoto2 gphoto)
$(use_with gssapi)
$(use_with gstreamer)
- --disable-hal
+ --enable-hal
$(use_with kerberos krb5)
$(use_with ldap)
# TODO: Will bug 685172 still need special handling?
@@ -487,7 +413,6 @@ multilib_src_configure() {
$(use_with unwind)
$(use_with usb)
$(use_with v4l v4l2)
- $(use_enable vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
diff --git a/app-emulation/wine-staging/wine-staging-7.7.ebuild b/app-emulation/wine-staging/wine-staging-7.11.ebuild
index 85082a82bc6f..9d69fea688ff 100644
--- a/app-emulation/wine-staging/wine-staging-7.7.ebuild
+++ b/app-emulation/wine-staging/wine-staging-7.11.ebuild
@@ -48,14 +48,14 @@ fi
LICENSE="LGPL-2.1"
SLOT="${MY_PV}"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vkd3d vulkan +X +xcomposite xinerama"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
+ crossdev-mingw? ( mingw )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
- test? ( abi_x86_32 )
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
+ test? ( abi_x86_32 )" # 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.
@@ -63,7 +63,8 @@ RESTRICT="test"
BDEPEND="sys-devel/flex
virtual/yacc
- virtual/pkgconfig"
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
COMMON_DEPEND="
X? (
@@ -110,7 +111,6 @@ COMMON_DEPEND="
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
@@ -120,7 +120,7 @@ RDEPEND="${COMMON_DEPEND}
>app-eselect/eselect-wine-0.3
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:7.2.0 )
+ mono? ( app-emulation/wine-mono:7.3.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
@@ -163,80 +163,14 @@ if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then
fi
wine_compiler_check() {
- # 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 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
- # Run in subshell to prevent "Aborted" message
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1
- if ! eend $?; 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 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
- if ! eend $?; 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
-
# 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
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
- if ! eend $?; 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
+ # (No checks here as of 2022)
+ return 0
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
- if use abi_x86_64; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
- eerror "You need gcc-4.4+ to compile 64-bit wine"
- die
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
- eerror "You need clang-3.8+ to compile 64-bit wine"
- die
- fi
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
- ewarn "See package.env in man 5 portage for more information on how to do this."
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
- fi
- fi
-
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; 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."
@@ -283,32 +217,18 @@ pkg_pretend() {
fi
fi
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ type -P ${mingw}-gcc && continue
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ done
fi
fi
}
@@ -435,7 +355,13 @@ src_configure() {
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
+ use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
+ : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
fi
multilib-minimal_src_configure
@@ -463,7 +389,7 @@ multilib_src_configure() {
$(use_with gphoto2 gphoto)
$(use_with gssapi)
$(use_with gstreamer)
- --disable-hal
+ --enable-hal
$(use_with kerberos krb5)
$(use_with ldap)
# TODO: Will bug 685172 still need special handling?
@@ -487,7 +413,6 @@ multilib_src_configure() {
$(use_with unwind)
$(use_with usb)
$(use_with v4l v4l2)
- $(use_enable vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
diff --git a/app-emulation/wine-staging/wine-staging-7.8.ebuild b/app-emulation/wine-staging/wine-staging-7.8.ebuild
index 4929984b47e1..f4c0f73c2350 100644
--- a/app-emulation/wine-staging/wine-staging-7.8.ebuild
+++ b/app-emulation/wine-staging/wine-staging-7.8.ebuild
@@ -48,9 +48,10 @@ fi
LICENSE="LGPL-2.1"
SLOT="${MY_PV}"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
+ crossdev-mingw? ( mingw )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
@@ -62,7 +63,8 @@ RESTRICT="test"
BDEPEND="sys-devel/flex
virtual/yacc
- virtual/pkgconfig"
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
COMMON_DEPEND="
X? (
@@ -161,80 +163,14 @@ if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then
fi
wine_compiler_check() {
- # 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 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
- # Run in subshell to prevent "Aborted" message
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1
- if ! eend $?; 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 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
- if ! eend $?; 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
-
# 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
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
- if ! eend $?; 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
+ # (No checks here as of 2022)
+ return 0
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
- if use abi_x86_64; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
- eerror "You need gcc-4.4+ to compile 64-bit wine"
- die
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
- eerror "You need clang-3.8+ to compile 64-bit wine"
- die
- fi
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
- ewarn "See package.env in man 5 portage for more information on how to do this."
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
- fi
- fi
-
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; 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."
@@ -281,32 +217,18 @@ pkg_pretend() {
fi
fi
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ type -P ${mingw}-gcc && continue
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ done
fi
fi
}
@@ -433,7 +355,13 @@ src_configure() {
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
+ : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
fi
multilib-minimal_src_configure
@@ -461,7 +389,7 @@ multilib_src_configure() {
$(use_with gphoto2 gphoto)
$(use_with gssapi)
$(use_with gstreamer)
- --disable-hal
+ --enable-hal
$(use_with kerberos krb5)
$(use_with ldap)
# TODO: Will bug 685172 still need special handling?
diff --git a/app-emulation/wine-staging/wine-staging-7.6-r1.ebuild b/app-emulation/wine-staging/wine-staging-7.9.ebuild
index 85082a82bc6f..f4c0f73c2350 100644
--- a/app-emulation/wine-staging/wine-staging-7.6-r1.ebuild
+++ b/app-emulation/wine-staging/wine-staging-7.9.ebuild
@@ -48,14 +48,14 @@ fi
LICENSE="LGPL-2.1"
SLOT="${MY_PV}"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vkd3d vulkan +X +xcomposite xinerama"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
+ crossdev-mingw? ( mingw )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
- test? ( abi_x86_32 )
- vkd3d? ( vulkan )" # osmesa-opengl #286560 # X-truetype #551124
+ test? ( abi_x86_32 )" # 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.
@@ -63,7 +63,8 @@ RESTRICT="test"
BDEPEND="sys-devel/flex
virtual/yacc
- virtual/pkgconfig"
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
COMMON_DEPEND="
X? (
@@ -110,7 +111,6 @@ COMMON_DEPEND="
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
usb? ( virtual/libusb:1[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
- vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )
vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
@@ -163,80 +163,14 @@ if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then
fi
wine_compiler_check() {
- # 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 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
- # Run in subshell to prevent "Aborted" message
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1
- if ! eend $?; 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 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
- if ! eend $?; 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
-
# 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
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
- if ! eend $?; 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
+ # (No checks here as of 2022)
+ return 0
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
- if use abi_x86_64; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
- eerror "You need gcc-4.4+ to compile 64-bit wine"
- die
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
- eerror "You need clang-3.8+ to compile 64-bit wine"
- die
- fi
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
- ewarn "See package.env in man 5 portage for more information on how to do this."
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
- fi
- fi
-
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; 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."
@@ -283,32 +217,18 @@ pkg_pretend() {
fi
fi
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ type -P ${mingw}-gcc && continue
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ done
fi
fi
}
@@ -435,7 +355,13 @@ src_configure() {
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
+ use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
+ : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
fi
multilib-minimal_src_configure
@@ -463,7 +389,7 @@ multilib_src_configure() {
$(use_with gphoto2 gphoto)
$(use_with gssapi)
$(use_with gstreamer)
- --disable-hal
+ --enable-hal
$(use_with kerberos krb5)
$(use_with ldap)
# TODO: Will bug 685172 still need special handling?
@@ -487,7 +413,6 @@ multilib_src_configure() {
$(use_with unwind)
$(use_with usb)
$(use_with v4l v4l2)
- $(use_enable vkd3d)
$(use_with vulkan)
$(use_with X x)
$(use_with X xfixes)
diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild
index 4929984b47e1..9d69fea688ff 100644
--- a/app-emulation/wine-staging/wine-staging-9999.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9999.ebuild
@@ -48,9 +48,10 @@ fi
LICENSE="LGPL-2.1"
SLOT="${MY_PV}"
-IUSE="+abi_x86_32 +abi_x86_64 +alsa capi cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
+IUSE="+abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups custom-cflags dos +fontconfig +gecko gphoto2 gssapi gstreamer kerberos ldap mingw +mono mp3 netapi nls odbc openal opencl +opengl osmesa oss +perl pcap pipelight pulseaudio +realtime +run-exes samba scanner sdl selinux +ssl staging test +threads +truetype udev +udisks +unwind usb v4l vulkan +X +xcomposite xinerama"
REQUIRED_USE="|| ( abi_x86_32 abi_x86_64 )
X? ( truetype )
+ crossdev-mingw? ( mingw )
elibc_glibc? ( threads )
osmesa? ( opengl )
pipelight? ( staging )
@@ -62,7 +63,8 @@ RESTRICT="test"
BDEPEND="sys-devel/flex
virtual/yacc
- virtual/pkgconfig"
+ virtual/pkgconfig
+ mingw? ( !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) )"
COMMON_DEPEND="
X? (
@@ -118,7 +120,7 @@ RDEPEND="${COMMON_DEPEND}
>app-eselect/eselect-wine-0.3
dos? ( >=games-emulation/dosbox-0.74_p20160629 )
gecko? ( app-emulation/wine-gecko:2.47.2[abi_x86_32?,abi_x86_64?] )
- mono? ( app-emulation/wine-mono:7.2.0 )
+ mono? ( app-emulation/wine-mono:7.3.0 )
perl? (
dev-lang/perl
dev-perl/XML-Simple
@@ -161,80 +163,14 @@ if [[ ${#PATCHES_BIN[@]} -ge 1 ]] || [[ ${MY_PV} == 9999 ]]; then
fi
wine_compiler_check() {
- # 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 "${PATCHDIR}/files/pr66838.c" -o "${T}"/pr66838 || die
- # Run in subshell to prevent "Aborted" message
- ( "${T}"/pr66838 || false ) >/dev/null 2>&1
- if ! eend $?; 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 "${PATCHDIR}/files/pr69140.c" -o "${T}"/pr69140 ) >/dev/null 2>&1
- if ! eend $?; 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
-
# 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
- ( $(tc-getCC) -O2 "${PATCHDIR}/files/builtin_ms_va_list.c" -o "${T}"/builtin_ms_va_list >/dev/null 2>&1)
- if ! eend $?; 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
+ # (No checks here as of 2022)
+ return 0
}
wine_build_environment_check() {
[[ ${MERGE_TYPE} = "binary" ]] && return 0
- if use abi_x86_64; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 4 || ( $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 4 ) ]]; then
- eerror "You need gcc-4.4+ to compile 64-bit wine"
- die
- elif tc-is-clang && [[ $(clang-major-version) -lt 3 || ( $(clang-major-version) -eq 3 && $(clang-minor-version) -lt 8 ) ]]; then
- eerror "You need clang-3.8+ to compile 64-bit wine"
- die
- fi
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -le 3 ]]; then
- ewarn "GCC-5.0-5.3 suffered from compiler bugs and are no longer supported by"
- ewarn "Gentoo's Toolchain Team. If your ebuild fails the compiler checks in"
- ewarn "the configure phase, either update your compiler or switch to <5.0 || >=5.4"
- fi
- if tc-is-gcc && [[ $(gcc-major-version) -eq 5 && $(gcc-minor-version) -eq 4 ]]; then
- if has "-march=i686" ${CFLAGS} && ! has "-mtune=generic" ${CFLAGS}; then
- ewarn "Compilation can hang with CFLAGS=\"-march=i686\". You can temporarily work"
- ewarn "around this by adding \"-mtune=generic\" to your CFLAGS for wine."
- ewarn "See package.env in man 5 portage for more information on how to do this."
- ewarn "See https://bugs.gentoo.org/show_bug.cgi?id=613128 for more details"
- fi
- fi
-
if use abi_x86_32 && use opencl && [[ "$(eselect opencl show 2> /dev/null)" == "intel" ]]; 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."
@@ -281,32 +217,18 @@ pkg_pretend() {
fi
fi
- if use mingw && use abi_x86_32 && ! has_version "cross-i686-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-i686-w64-mingw32' compiler and its runtime for 32-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target i686-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
- fi
-
- if use mingw && use abi_x86_64 && ! has_version "cross-x86_64-w64-mingw32/gcc"; then
- eerror
- eerror "USE=\"mingw\" is currently experimental, and requires the"
- eerror "'cross-x86_64-w64-mingw32' compiler and its runtime for 64-bit builds."
- eerror
- eerror "These can be installed by using 'sys-devel/crossdev':"
- eerror
- eerror "crossdev --target x86_64-w64-mingw32"
- eerror
- eerror "For more information on setting up MinGW, see: https://wiki.gentoo.org/wiki/Mingw"
- eerror
- die "MinGW build was enabled, but no compiler to support it was found."
+ if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then
+ local mingw=-w64-mingw32
+ for mingw in $(usev abi_x86_64 x86_64${mingw}) $(usev abi_x86_32 i686${mingw}); do
+ type -P ${mingw}-gcc && continue
+ eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain"
+ eerror "yourself by installing sys-devel/crossdev then running:"
+ eerror
+ eerror " crossdev --target ${mingw}"
+ eerror
+ eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw"
+ die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found"
+ done
fi
fi
}
@@ -433,7 +355,13 @@ src_configure() {
export LDCONFIG=/bin/true
use custom-cflags || strip-flags
if use mingw; then
- export CROSSCFLAGS="${CFLAGS}"
+ use crossdev-mingw || PATH="${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}"
+
+ # use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
+ local mingwcc=${CROSSCC:-$(usex x86 i686 x86_64)-w64-mingw32-gcc}
+ : "${CROSSCFLAGS:=$(CC=${mingwcc} test-flags-CC ${CFLAGS:--O2})}"
+ : "${CROSSLDFLAGS:=$(CC=${mingwcc} test-flags-CCLD ${LDFLAGS})}"
+ export CROSS{C,LD}FLAGS
fi
multilib-minimal_src_configure
@@ -461,7 +389,7 @@ multilib_src_configure() {
$(use_with gphoto2 gphoto)
$(use_with gssapi)
$(use_with gstreamer)
- --disable-hal
+ --enable-hal
$(use_with kerberos krb5)
$(use_with ldap)
# TODO: Will bug 685172 still need special handling?