summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-11 15:35:17 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-11 15:35:17 +0100
commit75949673f38270397841d9c2322dbb774ac41554 (patch)
treeefeb01f94fd2a5bf01d3c892bd0c0d5a32b63770 /app-emulation
parent7e2b5bc2c2e2e045de6095d46c24ee857453adf2 (diff)
gentoo auto-resync : 11:08:2023 - 15:35:17
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15342 -> 15340 bytes
-rw-r--r--app-emulation/wine-proton/Manifest6
-rw-r--r--app-emulation/wine-proton/wine-proton-7.0.6.ebuild7
-rw-r--r--app-emulation/wine-proton/wine-proton-8.0.3c.ebuild18
-rw-r--r--app-emulation/wine-proton/wine-proton-8.0.9999.ebuild18
-rw-r--r--app-emulation/wine-staging/Manifest10
-rw-r--r--app-emulation/wine-staging/wine-staging-8.0.ebuild12
-rw-r--r--app-emulation/wine-staging/wine-staging-8.11-r1.ebuild12
-rw-r--r--app-emulation/wine-staging/wine-staging-8.12.ebuild12
-rw-r--r--app-emulation/wine-staging/wine-staging-8.13.ebuild36
-rw-r--r--app-emulation/wine-staging/wine-staging-9999.ebuild36
-rw-r--r--app-emulation/wine-vanilla/Manifest14
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild12
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild12
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild12
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild12
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild12
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild36
-rw-r--r--app-emulation/wine-vanilla/wine-vanilla-9999.ebuild36
19 files changed, 248 insertions, 65 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 7460a034f6c7..6a3eab658d3a 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest
index 2125941a075d..7400d89ab114 100644
--- a/app-emulation/wine-proton/Manifest
+++ b/app-emulation/wine-proton/Manifest
@@ -7,7 +7,7 @@ AUX wine-proton-7.0.6-mingw64-11.0.0.patch 849 BLAKE2B 26833ef532e7c5b8b0ae14424
AUX wine-proton-8.0.1c-unwind.patch 1488 BLAKE2B 1a6d69484fb36f94f32d74679e809cfd7666363bede5dddedd2449e07251823b1ce86a717e06d342eec782aff501f27bc23433511c163da0b2a50c411df7ac53 SHA512 82ff0510fcab35471aa0db8f32f48cd62dbf78b3f5f36e3d191b86be55cb476df1ee689e5cd53c95d4f02199b5900eb0c8a45959693739a6c35e4c8b3cfa243f
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
DIST proton-wine-8.0-3c.tar.gz 48254135 BLAKE2B fee58928555376f71579099d3fb39dbe2242516b671af1ca2507a135c3119422d6e168ed2a258d29c57a8fc33a026e5cf788d8362f238f1c0c4c7c81c9cbb147 SHA512 5d473534834ce8ea855d4ee2d39f1596117c0abab0925ee50875245ff6e1f49fe4684fe6f162e92a4b5e408795ff8c9b15b382fb013074216dd565143ecd9efc
-EBUILD wine-proton-7.0.6.ebuild 10957 BLAKE2B 42161cb65325f6cb0c129055c58301efbd7f38151958809289d269053c0573c60e11ce8ff6a393c87e39e31c737a3c92a2984b322e1178ac6f8e51e9913fe735 SHA512 6447856a8664212ed1ec7ca068f94b3003e5790f730db5703ec10bdfade5f8ad6e48de85c6e1e80a7cc6ce91b548b81fdadeb26d8312e8ba50aee8680584f0ac
-EBUILD wine-proton-8.0.3c.ebuild 11215 BLAKE2B 8712763fbb60efb62860a0511ab50b412466037cb4a888abc8d8aff1114bcca07ea6c98a8e6e59cdd048b2f9c352d8ec2a86b54a87942f9af3eb9d5167458e1d SHA512 472139158349310af399ddbeaf975d1b668a14b7779022fdcbbd22ed4e44ac0eeca86e348bec617a7fcacbb170af652fb58862ab4897014b3da2c6b8d67cb78a
-EBUILD wine-proton-8.0.9999.ebuild 11275 BLAKE2B 2cc71b94cf649b3bc4cd4873ecb6bd7c4aa4d15235a26b5524f4cf70d284cb426e2914f1fe80b7584b80e4ee15afd63575cdbf3108f5c5a49f15b4fed1286a16 SHA512 04d9ec9711121a3e8b59a65144cf9e5de1210cff551a55c517d936bb4d0cd529f0e9c93811fa777caf238b2948a41bb534bf5e0ed69bc23680e0f4bf9cd61a5c
+EBUILD wine-proton-7.0.6.ebuild 11234 BLAKE2B 54384570b1202653c5f5112eddce5253666095deb4073197ea22531d3e5db04452e6fac0dfd4a9b04aa21ed8be84e76b0b72e8ba82508d63bd741366bdcd5e33 SHA512 8fe4a60335e9eeeff86b99605818ffaaecb8d2e59aaebc55af9623814945e417956a70e65a721b89e8b70fcce7844f065b8231799746ad0efb5b63f08e35d0be
+EBUILD wine-proton-8.0.3c.ebuild 11565 BLAKE2B 38dd9b30e87c104ca9270d93d25332f40947852d4ef517f8c2a56ed15c8e5f087add2f42eedf25fab6c00ff2f713632825acd70f86072a111320785d227ba325 SHA512 3a498f0265426dad3b79f4f4d6556a0b8d20796ce9c573585aadd750f71689ed835b1e983e6b83f8d2d968f34dff13a66169b0bb0aaa8b0ccbb22c933a6f0845
+EBUILD wine-proton-8.0.9999.ebuild 11625 BLAKE2B 0fb0d5ed5bb2f7a5bb80643fac07ba7af3caca85edf14be436b28f9fb626a63721e345b980425919e371f091efd3001aa2dfa636fe2779ccf5963c1ac5444226 SHA512 6258cd5a656fe75677f86be9636f4ce35e72c31b199c6b02b5fed04b84cc4a6fb7a1d0fc00ecca374e219787df99c51d024a82fad42a19f02a1203ca235e1d51
MISC metadata.xml 1222 BLAKE2B 75e8a33a16e4d718c5299ae719cdd009e9ac6f0d2eafb112c9e38e7d860a51d7f4d5be14912c1c812718b36fd4d71a9d3ddf2c68f5a076fc71f5d47fab120736 SHA512 3fc770b9d6f1e7cb7cba7fc28f90d5f51ad431f38e757dcb47b03543985d0919e29b6648b8c3f6bb6e1c7b172bb164cde35e2fea24564e476088c1a91e6131c8
diff --git a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
index 294e5c9aab65..95664cb0ff23 100644
--- a/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
+++ b/app-emulation/wine-proton/wine-proton-7.0.6.ebuild
@@ -152,6 +152,13 @@ src_prepare() {
default
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
index 3f2ba5ab1d26..c5db812fe92b 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.3c.ebuild
@@ -60,8 +60,10 @@ WINE_DLOPEN_DEPEND="
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
@@ -149,6 +151,16 @@ src_prepare() {
default
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
@@ -218,11 +230,7 @@ src_configure() {
$(use_with xinerama)
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
index 68a943a8042e..cced91f4ca78 100644
--- a/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
+++ b/app-emulation/wine-proton/wine-proton-8.0.9999.ebuild
@@ -60,8 +60,10 @@ WINE_DLOPEN_DEPEND="
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
+# gcc: for -latomic with clang
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
+ sys-devel/gcc:*
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
@@ -149,6 +151,16 @@ src_prepare() {
default
+ if tc-is-clang; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite --with-mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+
+ # needed by Valve's fsync patches if using clang (undef atomic_load_8)
+ sed -i '/^UNIX_LIBS.*=/s/$/ -latomic/' dlls/ntdll/Makefile.in || die
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
@@ -220,11 +232,7 @@ src_configure() {
--without-vosk # unpackaged, file a bug if you need this
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
+ tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest
index e326797085db..ea9695bf4b30 100644
--- a/app-emulation/wine-staging/Manifest
+++ b/app-emulation/wine-staging/Manifest
@@ -9,9 +9,9 @@ DIST wine-staging-8.0.tar.gz 9529620 BLAKE2B c9540195ea885d9f1e980232b0af471e92c
DIST wine-staging-8.11.tar.gz 9715880 BLAKE2B 2795389381d6e52215d8b1b2c437a47beaf61e9b36e78f99c45b3fcd79d554f2d4abafcbf34c366dcb7ce4fc14d66b8751466c30648ae0d7c451aaa345c30c5f SHA512 fb7a5f575c092e84afa78868e3b15fa33d67205a5e20deae61a60613714df784b18d54cd32167355ae38543f047f4304bfbc7f2ba2b3f6050c9f738812a15154
DIST wine-staging-8.12.tar.gz 9764049 BLAKE2B 739c6dfdcef6e744fc7f6dcee24abdedd5f96b7ad688bdd5cc667627cec0b21d658354369ecc0de71a4ba682636e369105cef3de97dbf095f1ee1025d9a12fc2 SHA512 11364b2367e25706b98c168710288b796e9dea1e3400efc0d010ea8827cb8c4187385f53aebd1fda46611902f6619282ea97ce9d7c20fe18aa48c14f15c99d14
DIST wine-staging-8.13.tar.gz 9785058 BLAKE2B 6c797cd50276009cc23619447a70ac972b5c7ad7684d7bd99f20cd7607b88f911eb89f59df98680ef8786495f2f8ff2910c8bbd930d811bb31147aa230105ce1 SHA512 b2104b0893ba27ee7f4f5495f7dee990962ff668786fd95e11af6d3975b7d00bc4ecb2572f280d27fbb6d1672745e0acbdb392ec7b3fd5b330a846783c23e12d
-EBUILD wine-staging-8.0.ebuild 11924 BLAKE2B 0e4562181251cd9844b940bb43dfa010e1867417086102b67be02492d1f28a579cd6b4c075de2cd00ccac65d2e69b451f95f17ba5559f581e57cbf8869a37bea SHA512 404a62047ff77551065f9109ad43c301f65744f07b33fbbfdd8cfe3a172a92956ab4d313ab2ddef1e1bfd00b39f3f4fd92dc308783ee1c6e5f221beabd28d5f4
-EBUILD wine-staging-8.11-r1.ebuild 12235 BLAKE2B f4b5947c95e11e2bfcb20c4c52e859501a8ceff4369ac52af4ab41829530c8ad98b07000e01285e6b53665a08c30828f294e743261526faeffa7022b44aefc4b SHA512 b9b009b867264879549a6d8bce9ef3da3b64bfbe61536ca3a6e17a547047ef3bcf448b7b9efc6524c1c6b02b77d0009ad8d6c18e2d52b851f80575f3f504f536
-EBUILD wine-staging-8.12.ebuild 12235 BLAKE2B f4b5947c95e11e2bfcb20c4c52e859501a8ceff4369ac52af4ab41829530c8ad98b07000e01285e6b53665a08c30828f294e743261526faeffa7022b44aefc4b SHA512 b9b009b867264879549a6d8bce9ef3da3b64bfbe61536ca3a6e17a547047ef3bcf448b7b9efc6524c1c6b02b77d0009ad8d6c18e2d52b851f80575f3f504f536
-EBUILD wine-staging-8.13.ebuild 13240 BLAKE2B 771571ba19aed269fe64ffd9c59b431aee97059c68168e9b4bed03425c355892293404885f4ec62122b2bf9772c86b10af7fda2d28961c166dba2fcbdf118155 SHA512 fad252e72f69a7f151786a997bd7a87c11e9a81db4d174ceb7d7907c2f30694e4bc20729f066ea8717a097956ae5e6d4039e555e3a0f7be4b8ecd15fd310cc08
-EBUILD wine-staging-9999.ebuild 13240 BLAKE2B 771571ba19aed269fe64ffd9c59b431aee97059c68168e9b4bed03425c355892293404885f4ec62122b2bf9772c86b10af7fda2d28961c166dba2fcbdf118155 SHA512 fad252e72f69a7f151786a997bd7a87c11e9a81db4d174ceb7d7907c2f30694e4bc20729f066ea8717a097956ae5e6d4039e555e3a0f7be4b8ecd15fd310cc08
+EBUILD wine-staging-8.0.ebuild 12368 BLAKE2B 499087cf6caf1dc87607c93824b08274046defcf33f86279d7c47579ae9b2c9911bca2edefcffc2ff8305061685189d41c5ee4a1619f5c9f341daaaf4ae7720b SHA512 43dc6e883dd7a6586d6dfedcd128d5c43f64c1f7365728b2381e6106e673883383fcb66ae2304663487f7262d71b553605dfdf164b2a290879a911cc7cd9a374
+EBUILD wine-staging-8.11-r1.ebuild 12679 BLAKE2B 6a212b78a2a8a4394c2ccb96b795eb0913323f189a1758bc9f8165f6a54b41b90a3ff054f6d0fbaa6030ff2131d3bb5cec1ffdab8bb33a8062f46db9f8f21410 SHA512 22a53994cdbfe3e0627e1f15ac2995048cfdb90197429d0d5529354bc051db166d086e583d68713a198a0134182bdfbe6fba66ff3bf147f12f63cd495fe01fe2
+EBUILD wine-staging-8.12.ebuild 12679 BLAKE2B 6a212b78a2a8a4394c2ccb96b795eb0913323f189a1758bc9f8165f6a54b41b90a3ff054f6d0fbaa6030ff2131d3bb5cec1ffdab8bb33a8062f46db9f8f21410 SHA512 22a53994cdbfe3e0627e1f15ac2995048cfdb90197429d0d5529354bc051db166d086e583d68713a198a0134182bdfbe6fba66ff3bf147f12f63cd495fe01fe2
+EBUILD wine-staging-8.13.ebuild 13745 BLAKE2B ab12fda76bb7c6fb1caaea88d06e42899303766f7c2c6221c653123fe22385840d2f00dac0bb46c129fb9310fba0497ee27628bc248be87aeb542eb5c473e690 SHA512 cd4ea13ce79f8a95ef0ce1e585270958874d7fbdc5740cbd1ea680daa7d31c44002f085f22ac08bd00345e029e3c02dab167f8636744c4d07dfc90b6c9fa8aec
+EBUILD wine-staging-9999.ebuild 13745 BLAKE2B ab12fda76bb7c6fb1caaea88d06e42899303766f7c2c6221c653123fe22385840d2f00dac0bb46c129fb9310fba0497ee27628bc248be87aeb542eb5c473e690 SHA512 cd4ea13ce79f8a95ef0ce1e585270958874d7fbdc5740cbd1ea680daa7d31c44002f085f22ac08bd00345e029e3c02dab167f8636744c4d07dfc90b6c9fa8aec
MISC metadata.xml 2538 BLAKE2B cb657e04ad7f26b088f03f862a7e7ccbc4eb6592de17ec8022b5e4b306bd10f7daae7f6de113b142a9cf713a91cab9fbd0650cca4591adc13e4a77280f9812e3 SHA512 a87687fb1a0d2f639626f4a90e7fb78bd31926c53460af3cc80c93e9974f189b545c830278157893f5e48a54b20e5b49b2d1e996ccb5520a47f319b7048999a7
diff --git a/app-emulation/wine-staging/wine-staging-8.0.ebuild b/app-emulation/wine-staging/wine-staging-8.0.ebuild
index d5832e55b076..9b2fa68aa6e5 100644
--- a/app-emulation/wine-staging/wine-staging-8.0.ebuild
+++ b/app-emulation/wine-staging/wine-staging-8.0.ebuild
@@ -201,6 +201,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild b/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild
index 4c8102d89813..f2f9ddf5ead8 100644
--- a/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild
+++ b/app-emulation/wine-staging/wine-staging-8.11-r1.ebuild
@@ -214,6 +214,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-staging/wine-staging-8.12.ebuild b/app-emulation/wine-staging/wine-staging-8.12.ebuild
index 4c8102d89813..f2f9ddf5ead8 100644
--- a/app-emulation/wine-staging/wine-staging-8.12.ebuild
+++ b/app-emulation/wine-staging/wine-staging-8.12.ebuild
@@ -214,6 +214,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-staging/wine-staging-8.13.ebuild b/app-emulation/wine-staging/wine-staging-8.13.ebuild
index ce3852c77cc9..bf30ea0d2af9 100644
--- a/app-emulation/wine-staging/wine-staging-8.13.ebuild
+++ b/app-emulation/wine-staging/wine-staging-8.13.ebuild
@@ -5,6 +5,7 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{10..12} )
+# note: multilib+wrapper are not unused, currently a pkgcheck false positive
inherit autotools edo flag-o-matic multilib multilib-build
inherit prefix python-any-r1 toolchain-funcs wrapper
@@ -137,8 +138,11 @@ BDEPEND="
sys-apps/util-linux
)
)
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
dev-lang/perl
- sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
@@ -222,6 +226,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
@@ -284,18 +300,18 @@ src_configure() {
$(use_with xinerama)
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
if use mingw; then
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild
index ce3852c77cc9..bf30ea0d2af9 100644
--- a/app-emulation/wine-staging/wine-staging-9999.ebuild
+++ b/app-emulation/wine-staging/wine-staging-9999.ebuild
@@ -5,6 +5,7 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{10..12} )
+# note: multilib+wrapper are not unused, currently a pkgcheck false positive
inherit autotools edo flag-o-matic multilib multilib-build
inherit prefix python-any-r1 toolchain-funcs wrapper
@@ -137,8 +138,11 @@ BDEPEND="
sys-apps/util-linux
)
)
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
dev-lang/perl
- sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
@@ -222,6 +226,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
@@ -284,18 +300,18 @@ src_configure() {
$(use_with xinerama)
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
if use mingw; then
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest
index 4959a7eb8157..07122a05a101 100644
--- a/app-emulation/wine-vanilla/Manifest
+++ b/app-emulation/wine-vanilla/Manifest
@@ -8,11 +8,11 @@ DIST wine-8.0.2.tar.xz 29060452 BLAKE2B dcffaba6c90c4e02a7bc591a81e11aced06c0063
DIST wine-8.11.tar.xz 29236492 BLAKE2B db97b9abde6e1f4c854b449d27bdbafbc91bd75b835d84da401777c6ae2f4f623f2130f470d2e9a3aaf7e737f75d143a07191d38b409c06596373bece3df23c5 SHA512 f3e37f51f0a13aacbd41b017fc3d35e197614b03c00f5b9959c0fabc4e89975b5c3f411b38329e45ce6f9d2a2d82952b95e0907fbe2d6ae35cc4bec293825769
DIST wine-8.12.tar.xz 29276732 BLAKE2B c1bf0d32eaf17f06b47dd7ffc495db4874f72ffec7cfca9edd9b2b9def8ab16db2583349950c3af447d85d476aa013914554f990d5f42d5bc8243b9effbaf869 SHA512 6b9eab7ca1ed5a13202b1250d8d95f6bd8ee5176f0c39b5358aedaf28f7f23543f4a73bf0782c3b4e50936813fc2a459582b5d294569c976ace784fbd9e0af1b
DIST wine-8.13.tar.xz 29379824 BLAKE2B fa07edba8e45ef17813e63f793ca18cd05fd421b803d416421ec0fb7aeb4223ae44376a7e75a195e91c30259f27b48c3ed4ab0b613cbb9464b824f51e85ea240 SHA512 952c670635f91879cf6908343a04c0f41ae54e213123242e24fc282f9705fbe3b800dc1de454b6cfb1ebb89431b0e6eb3df3b094c1d9f4e69835d0f1b8f4fcb5
-EBUILD wine-vanilla-7.0.2.ebuild 10967 BLAKE2B bb7d128114fe10630ad356de3be55ec24efcb23b78d07de69ac2bca936dd16ea6a8846d1abd2a878ce989eec8a13b31504f74a9cd9de8a3ceab796845f063140 SHA512 c3ae177905e552f1d83bdc298d8f1fe36812ee11352e27998861eb7e92aa8acf52de5576c42700fd803b10747f1c3f14357e394a2f6fac49d867337a131e9d27
-EBUILD wine-vanilla-8.0.1.ebuild 10985 BLAKE2B 7b93e79599ebcf73c6fc743ffd3fe883e495505627ee77ebce11cd2b726503c3668dbe49483378fcb6918f1698e5bd4f59ab48c270564877fe56288c4482cbe0 SHA512 d5a2df24f0102283086831bd3eac762f5d8d0d6e3b784f3648b383a98c2346c324f09d851b20ce5ad9f21487a3a720cb6f049b1437186e80e24fbec3ad581a50
-EBUILD wine-vanilla-8.0.2.ebuild 11058 BLAKE2B fca4c342cb39cb6a234bd10ea3aff0f9cbcef5f1c722de81df06a8817a85f94e0d101e5f0f3d5b9a7cd6b192e8c6d3ca5b116e0cee000e7955ea1b2f16bf2b07 SHA512 347ca915d58921acbbb737960895b320989fa97db54a74d4342a3862f9d4ae086032887d74ab8e55acd4927a2a62fd4521e5dfe354d63ceab08ca2da9d138875
-EBUILD wine-vanilla-8.11-r1.ebuild 11168 BLAKE2B aa9617531bb05bc9fc27881772062da0982ece732a269adcb7b09a31b9e63ffef84bf795c10a34d1475d7a3c52910bd0012652bb2f4875365b0fb0d8e853984a SHA512 fb6cf93d21420a893a20d5738a4f57e9530eeb7af4a2080667b29820a8d1a1f87e3f48075b90e3ed4705eaf65af72e5982a6300579fe321d1f34e15d4e5e40c2
-EBUILD wine-vanilla-8.12.ebuild 11168 BLAKE2B aa9617531bb05bc9fc27881772062da0982ece732a269adcb7b09a31b9e63ffef84bf795c10a34d1475d7a3c52910bd0012652bb2f4875365b0fb0d8e853984a SHA512 fb6cf93d21420a893a20d5738a4f57e9530eeb7af4a2080667b29820a8d1a1f87e3f48075b90e3ed4705eaf65af72e5982a6300579fe321d1f34e15d4e5e40c2
-EBUILD wine-vanilla-8.13.ebuild 12173 BLAKE2B a82f88b539caa45a6d0e4f16131a73719628a7a62e528edbd6736d3ce3a49d316b40dfdfbeab508d708b4106d1658d4f9dbebf9e12196e43d74eefcaadd74a0b SHA512 c70426d2dc0b158eb2277d13376a49d6793934fa0d7e5256ad7fc6742427ab7d463514a80b3b4613d0fed46a1a5346487d2efe369772f6a56b6920979dbd60cd
-EBUILD wine-vanilla-9999.ebuild 12173 BLAKE2B a82f88b539caa45a6d0e4f16131a73719628a7a62e528edbd6736d3ce3a49d316b40dfdfbeab508d708b4106d1658d4f9dbebf9e12196e43d74eefcaadd74a0b SHA512 c70426d2dc0b158eb2277d13376a49d6793934fa0d7e5256ad7fc6742427ab7d463514a80b3b4613d0fed46a1a5346487d2efe369772f6a56b6920979dbd60cd
+EBUILD wine-vanilla-7.0.2.ebuild 11411 BLAKE2B 0c40971c222e9f87e4326eed3d2e11e53eabed656313d349303032cd0c49aaae11da67f2c990940fd2f6253c23279ed6f866420350a95d8981871d23b3fdea48 SHA512 f3ca6507b5f7855a4c63e719d0d5e5c735330e071e968b1de2a0903f8a243a2d739d2c4aabf962c60216928116374b0fb5b35fc0d0c75d65c626a803b6f9a234
+EBUILD wine-vanilla-8.0.1.ebuild 11429 BLAKE2B 794d23ded61df53a29351bd4139e255dae675b52e796c945138c0be109d259a88a21d3d7d77a228d69c54fae38b405b608768cb4bf949855c58d83712ee6c8a6 SHA512 2d00ea182084ef6260f9acf69090cc6a49f1b4e0a769acb59136e17fb91b7a6cb40059781b368650df75bf7705537a9a1e0d10f31af5adbcae13cc2377fcf0a1
+EBUILD wine-vanilla-8.0.2.ebuild 11502 BLAKE2B 6d551bedada83a40a50f44b76e0c86dabcb68d65f944c4fdd12dfd8a735930b5ef8070ce43b3317e9d54ee0841ce0e3ed451034a02e6999414a4a360c7cb9b78 SHA512 77de2406868a80147880879d6508d2bafa4c106b18a5f18faaf95720928d7d72b621e4e553926edd4e9ed33e4ab681a6e6cf10ebe2840c3662708a3d8970f384
+EBUILD wine-vanilla-8.11-r1.ebuild 11612 BLAKE2B dc5688e33c28adfe9396b372167acb4137a2450b0442fa0f5c5bdb238c633aa75ab6453cb9d8962decb8f25b15fbd4ff22957b15aaebb49919dff13be165134e SHA512 d80656c35faa26f0277870c9f72b23390d61cb31c1e1cbc5e17ddc2029dcaf4de469af3e9782485e9a3845ed9a975f9400e4ecb04c059565e6630ffb1bca0846
+EBUILD wine-vanilla-8.12.ebuild 11612 BLAKE2B dc5688e33c28adfe9396b372167acb4137a2450b0442fa0f5c5bdb238c633aa75ab6453cb9d8962decb8f25b15fbd4ff22957b15aaebb49919dff13be165134e SHA512 d80656c35faa26f0277870c9f72b23390d61cb31c1e1cbc5e17ddc2029dcaf4de469af3e9782485e9a3845ed9a975f9400e4ecb04c059565e6630ffb1bca0846
+EBUILD wine-vanilla-8.13.ebuild 12678 BLAKE2B dfadfc8f91acdc57f44d5a94caee5397367e0c7692f0fd1402eb2df2ad969eabef8ce2afc7b5567a5b82402aca9a6d6c01b3600340cda08e287da4e3bf7bd6a8 SHA512 b58e8dabaa207a8a7161cdd18ce4ce310da339438d1fea7809a4c2192a6cd935f081867c362dc291222d30076d97846b8fef72032e9a2e52a1794537bb2c97f1
+EBUILD wine-vanilla-9999.ebuild 12678 BLAKE2B dfadfc8f91acdc57f44d5a94caee5397367e0c7692f0fd1402eb2df2ad969eabef8ce2afc7b5567a5b82402aca9a6d6c01b3600340cda08e287da4e3bf7bd6a8 SHA512 b58e8dabaa207a8a7161cdd18ce4ce310da339438d1fea7809a4c2192a6cd935f081867c362dc291222d30076d97846b8fef72032e9a2e52a1794537bb2c97f1
MISC metadata.xml 2605 BLAKE2B 11bdcd81e6e4620229177026a6eea5bbbff4f2f8c92deabd08d096bd1ffab0bea06f950fe4631f227bb31dcf22e9d41456803a3924c0cf934c5d7b28aa7f0308 SHA512 e96b8ab85a6b124ae154b514b8dd9385158b999f7ffbd0a1e04d9bbb52288cd07b81a2fe989431ac214fc0ae37445e2c819b6593d31001fa54b0aa6f48561e8a
diff --git a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
index 31bb2a4e7fdf..eee523c84dde 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-7.0.2.ebuild
@@ -171,6 +171,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild
index 289ad34feeb6..aed49df3605b 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-8.0.1.ebuild
@@ -169,6 +169,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild
index b8679687d7f1..ca24322d73fc 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-8.0.2.ebuild
@@ -169,6 +169,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild
index 28ee8cb167cc..9573a0a88c0b 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-8.11-r1.ebuild
@@ -173,6 +173,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild
index 28ee8cb167cc..9573a0a88c0b 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-8.12.ebuild
@@ -173,6 +173,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
diff --git a/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild
index 9f0672c16b6e..8eec4853243e 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-8.13.ebuild
@@ -4,6 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
+# note: multilib+wrapper are not unused, currently a pkgcheck false positive
inherit autotools flag-o-matic multilib multilib-build
inherit prefix toolchain-funcs wrapper
@@ -124,8 +125,11 @@ DEPEND="
sys-kernel/linux-headers
X? ( x11-base/xorg-proto )"
BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
dev-lang/perl
- sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
@@ -181,6 +185,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
@@ -244,18 +260,18 @@ src_configure() {
$(usev !odbc ac_cv_lib_soname_odbc=)
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
if use mingw; then
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
diff --git a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
index 9f0672c16b6e..8eec4853243e 100644
--- a/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
+++ b/app-emulation/wine-vanilla/wine-vanilla-9999.ebuild
@@ -4,6 +4,7 @@
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
+# note: multilib+wrapper are not unused, currently a pkgcheck false positive
inherit autotools flag-o-matic multilib multilib-build
inherit prefix toolchain-funcs wrapper
@@ -124,8 +125,11 @@ DEPEND="
sys-kernel/linux-headers
X? ( x11-base/xorg-proto )"
BDEPEND="
+ || (
+ sys-devel/binutils
+ sys-devel/lld
+ )
dev-lang/perl
- sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
@@ -181,6 +185,18 @@ src_prepare() {
default
+ if tc-is-clang; then
+ if use mingw; then
+ # -mabi=ms was ignored by <clang:16 then turned error in :17
+ # and it still gets used in install phase despite USE=mingw,
+ # drop as a quick fix for now which hopefully should be safe
+ sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die
+ else
+ # ./configure will abort looking for -mabi=ms, so do it early
+ die "building ${PN} with clang requires USE=mingw to be enabled"
+ fi
+ fi
+
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
@@ -244,18 +260,18 @@ src_configure() {
$(usev !odbc ac_cv_lib_soname_odbc=)
)
- # builds with non-bfd but broken at runtime (bug #867097)
- # TODO: retest mold and lld, and figure out what's wrong if
- # still broken given (at least) lld is supposed to work
- tc-ld-force-bfd
-
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
- # temporary workaround for tc-ld-force-bfd not yet enforcing with mold
- # https://github.com/gentoo/gentoo/pull/28355
- [[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
- append-ldflags -fuse-ld=bfd
+ # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097)
+ # (do self test until https://github.com/gentoo/gentoo/pull/28355)
+ if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]]
+ then
+ has_version -b sys-devel/binutils &&
+ append-ldflags -fuse-ld=bfd ||
+ append-ldflags -fuse-ld=lld
+ strip-unsupported-flags
+ fi
if use mingw; then
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}