diff options
Diffstat (limited to 'app-emulation/wine-staging')
-rw-r--r-- | app-emulation/wine-staging/Manifest | 24 | ||||
-rw-r--r-- | app-emulation/wine-staging/metadata.xml | 9 | ||||
-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.ebuild | 124 | ||||
-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.ebuild | 126 |
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? |