commit:     4b914dcad9bf86d5f5c7d9c1384f9c9ee28170f8
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 27 10:02:19 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Dec 27 11:11:14 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b914dca

x11-drivers/nvidia-drivers: adjust flags for kernel-open

linux-mod_src_compile normally does not use *FLAGS, but the
kernel blob is a different story and it fails quite easily.

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild | 8 ++++++++
 x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild | 8 ++++++++
 x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild | 8 ++++++++
 3 files changed, 24 insertions(+)

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild
index c8a19fc25b38..97648a86e8c4 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.86.01.ebuild
@@ -337,7 +337,15 @@ src_compile() {
                        fi
                fi
 
+               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
+               if use kernel-open; then
+                       # building the nvidia "blob" fails with lto, and also 
need
+                       # to strip in case of a different toolchain for the 
kernel
+                       filter-lto
+                       strip-unsupported-flags
+               fi
                linux-mod_src_compile
+               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
        fi
 
        emake "${NV_ARGS[@]}" -C nvidia-modprobe

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild
index 3d6e9c685aea..bdab775a8f7b 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.47.04.ebuild
@@ -334,7 +334,15 @@ src_compile() {
                        fi
                fi
 
+               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
+               if use kernel-open; then
+                       # building the nvidia "blob" fails with lto, and also 
need
+                       # to strip in case of a different toolchain for the 
kernel
+                       filter-lto
+                       strip-unsupported-flags
+               fi
                linux-mod_src_compile
+               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
        fi
 
        emake "${NV_ARGS[@]}" -C nvidia-modprobe

diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild 
b/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild
index 6060ff5b02d2..b3d834f2d113 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-525.60.13.ebuild
@@ -333,7 +333,15 @@ src_compile() {
                        fi
                fi
 
+               local o_cflags=${CFLAGS} o_cxxflags=${CXXFLAGS} 
o_ldflags=${LDFLAGS}
+               if use kernel-open; then
+                       # building the nvidia "blob" fails with lto, and also 
need
+                       # to strip in case of a different toolchain for the 
kernel
+                       filter-lto
+                       strip-unsupported-flags
+               fi
                linux-mod_src_compile
+               CFLAGS=${o_cflags} CXXFLAGS=${o_cxxflags} LDFLAGS=${o_ldflags}
        fi
 
        emake "${NV_ARGS[@]}" -C nvidia-modprobe

Reply via email to