commit:     18bba14d15e78f2572f74788d2557e095b91ddfb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 28 10:05:56 2024 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Mar 28 10:10:06 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=18bba14d

app-emulation/dxvk: filter -Wl,-z,* ... for C(XX)FLAGS

strip-unsupported-flags handles this fine in LDFLAGS, but -Wl,*
are no-ops during compile-only tests (thus not stripped) and then
if a package compiles and links anything at same time it fails.

This used not to be a big problem but now that 23.0 profiles
do -Wl,-z,pack-relative-relocs (mingw ld has no -z) this is
hitting bashrc-mv users that tend to do CFLAGS="${LDFLAGS}"
by default. Tempting to ignore it because of how wrong it is,
but well.

An alternate route could be to eventually have strip-flags
and/or strip-unsupported-flags remove -Wl,* from non-LDFLAGS
given this could affect more than mingw (e.g. switching to
bfd when there is a lld-only option).

wrt bug #928038, this already been done a while ago for wine,
mingw64-runtime, and mingw64-toolchain itself and there *should*
have been only dxvk and vkd3d-proton left (now done).

Closes: https://bugs.gentoo.org/928038
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/dxvk/dxvk-1.10.3-r1.ebuild | 5 +++++
 app-emulation/dxvk/dxvk-2.2-r1.ebuild    | 5 +++++
 app-emulation/dxvk/dxvk-2.3.1-r1.ebuild  | 5 +++++
 app-emulation/dxvk/dxvk-2.3.ebuild       | 5 +++++
 app-emulation/dxvk/dxvk-9999.ebuild      | 5 +++++
 5 files changed, 25 insertions(+)

diff --git a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild 
b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
index dd2598cfe637..701ccb453a83 100644
--- a/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-1.10.3-r1.ebuild
@@ -84,6 +84,11 @@ src_configure() {
                        unset AR CC CXX RC STRIP
                        filter-flags '-fuse-ld=*'
                        filter-flags '-mfunction-return=thunk*' #878849
+
+                       # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" 
and then
+                       # strip-unsupported-flags miss these during 
compile-only tests
+                       # (primarily done for 23.0 profiles' -z, not full 
coverage)
+                       filter-flags '-Wl,-z,*' #928038
                fi
 
                CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-2.2-r1.ebuild 
b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
index 3273526f0700..1d3d3ded718f 100644
--- a/app-emulation/dxvk/dxvk-2.2-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.2-r1.ebuild
@@ -108,6 +108,11 @@ src_configure() {
                        unset AR CC CXX RC STRIP
                        filter-flags '-fuse-ld=*'
                        filter-flags '-mfunction-return=thunk*' #878849
+
+                       # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" 
and then
+                       # strip-unsupported-flags miss these during 
compile-only tests
+                       # (primarily done for 23.0 profiles' -z, not full 
coverage)
+                       filter-flags '-Wl,-z,*' #928038
                fi
 
                CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild 
b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
index c3d261f000ce..d47a7f2b914a 100644
--- a/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.1-r1.ebuild
@@ -111,6 +111,11 @@ src_configure() {
                        unset AR CC CXX RC STRIP
                        filter-flags '-fuse-ld=*'
                        filter-flags '-mfunction-return=thunk*' #878849
+
+                       # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" 
and then
+                       # strip-unsupported-flags miss these during 
compile-only tests
+                       # (primarily done for 23.0 profiles' -z, not full 
coverage)
+                       filter-flags '-Wl,-z,*' #928038
                fi
 
                CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-2.3.ebuild 
b/app-emulation/dxvk/dxvk-2.3.ebuild
index 432cc57f5108..2a0cdc34b1a0 100644
--- a/app-emulation/dxvk/dxvk-2.3.ebuild
+++ b/app-emulation/dxvk/dxvk-2.3.ebuild
@@ -108,6 +108,11 @@ src_configure() {
                        unset AR CC CXX RC STRIP
                        filter-flags '-fuse-ld=*'
                        filter-flags '-mfunction-return=thunk*' #878849
+
+                       # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" 
and then
+                       # strip-unsupported-flags miss these during 
compile-only tests
+                       # (primarily done for 23.0 profiles' -z, not full 
coverage)
+                       filter-flags '-Wl,-z,*' #928038
                fi
 
                CHOST_amd64=x86_64-w64-mingw32

diff --git a/app-emulation/dxvk/dxvk-9999.ebuild 
b/app-emulation/dxvk/dxvk-9999.ebuild
index 46dba5771f65..210cfcc0e294 100644
--- a/app-emulation/dxvk/dxvk-9999.ebuild
+++ b/app-emulation/dxvk/dxvk-9999.ebuild
@@ -111,6 +111,11 @@ src_configure() {
                        unset AR CC CXX RC STRIP
                        filter-flags '-fuse-ld=*'
                        filter-flags '-mfunction-return=thunk*' #878849
+
+                       # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" 
and then
+                       # strip-unsupported-flags miss these during 
compile-only tests
+                       # (primarily done for 23.0 profiles' -z, not full 
coverage)
+                       filter-flags '-Wl,-z,*' #928038
                fi
 
                CHOST_amd64=x86_64-w64-mingw32

Reply via email to