commit: b5304e6af951617b58f9e9276d72fe7d55e7f5b5 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> AuthorDate: Mon Feb 2 16:56:17 2026 +0000 Commit: James Le Cuirot <chewi <AT> gentoo <DOT> org> CommitDate: Tue Feb 3 12:28:34 2026 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b5304e6a
x11-drivers/nvidia-drivers: Fix cross-compiling by defining TARGET_ARCH There is also TARGET_ARCH_ABI, but it only affects nvidia-installer, which we don't use, and we don't keyword for arm anyway. Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org> Part-of: https://codeberg.org/gentoo/gentoo/pulls/29 Merges: https://codeberg.org/gentoo/gentoo/pulls/29 Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org> x11-drivers/nvidia-drivers/nvidia-drivers-535.288.01.ebuild | 10 ++++++++++ x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild | 10 ++++++++++ x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09-r1.ebuild | 10 ++++++++++ x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09.ebuild | 10 ++++++++++ x11-drivers/nvidia-drivers/nvidia-drivers-580.94.17.ebuild | 10 ++++++++++ x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild | 10 ++++++++++ x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01-r1.ebuild | 10 ++++++++++ 7 files changed, 70 insertions(+) diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-535.288.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-535.288.01.ebuild index c3e46133df0c..55126f020b22 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-535.288.01.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-535.288.01.ebuild @@ -182,6 +182,14 @@ src_compile() { local xnvflags=-fPIC #840389 tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + NV_ARGS=( PREFIX="${EPREFIX}"/usr HOST_CC="$(tc-getBUILD_CC)" @@ -189,6 +197,7 @@ src_compile() { BUILD_GTK2LIB= NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" WAYLAND_AVAILABLE=$(usex wayland 1 0) XNVCTRL_CFLAGS="${xnvflags}" ) @@ -217,6 +226,7 @@ src_compile() { CC="${KERNEL_CC}" # needed for above gnu17 workaround IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" # kernel takes "x86" and "x86_64" as meaning the same, but nvidia # makes the distinction (since 550.135) and is not happy with "x86" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild index 348954cbce55..4d3677fc8473 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-570.211.01.ebuild @@ -182,6 +182,14 @@ src_compile() { local xnvflags=-fPIC #840389 tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + NV_ARGS=( PREFIX="${EPREFIX}"/usr HOST_CC="$(tc-getBUILD_CC)" @@ -189,6 +197,7 @@ src_compile() { BUILD_GTK2LIB= NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" WAYLAND_AVAILABLE=$(usex wayland 1 0) XNVCTRL_CFLAGS="${xnvflags}" ) @@ -213,6 +222,7 @@ src_compile() { local modargs=( IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" # kernel takes "x86" and "x86_64" as meaning the same, but nvidia # makes the distinction (since 550.135) and is not happy with "x86" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09-r1.ebuild index d4368e661ac7..76738725bdb1 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09-r1.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09-r1.ebuild @@ -186,6 +186,14 @@ src_compile() { local xnvflags=-fPIC #840389 tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + NV_ARGS=( PREFIX="${EPREFIX}"/usr HOST_CC="$(tc-getBUILD_CC)" @@ -193,6 +201,7 @@ src_compile() { BUILD_GTK2LIB= NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" WAYLAND_AVAILABLE=$(usex wayland 1 0) XNVCTRL_CFLAGS="${xnvflags}" ) @@ -217,6 +226,7 @@ src_compile() { local modargs=( IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" # kernel takes "x86" and "x86_64" as meaning the same, but nvidia # makes the distinction (since 550.135) and is not happy with "x86" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09.ebuild index 13ce5264223a..cae783c258ad 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-580.126.09.ebuild @@ -186,6 +186,14 @@ src_compile() { local xnvflags=-fPIC #840389 tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + NV_ARGS=( PREFIX="${EPREFIX}"/usr HOST_CC="$(tc-getBUILD_CC)" @@ -193,6 +201,7 @@ src_compile() { BUILD_GTK2LIB= NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" WAYLAND_AVAILABLE=$(usex wayland 1 0) XNVCTRL_CFLAGS="${xnvflags}" ) @@ -217,6 +226,7 @@ src_compile() { local modargs=( IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" # kernel takes "x86" and "x86_64" as meaning the same, but nvidia # makes the distinction (since 550.135) and is not happy with "x86" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.17.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.17.ebuild index 5b53166ed2ae..3edb4410bd8f 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.17.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-580.94.17.ebuild @@ -187,6 +187,14 @@ src_compile() { local xnvflags=-fPIC #840389 tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + NV_ARGS=( PREFIX="${EPREFIX}"/usr HOST_CC="$(tc-getBUILD_CC)" @@ -194,6 +202,7 @@ src_compile() { BUILD_GTK2LIB= NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" WAYLAND_AVAILABLE=$(usex wayland 1 0) XNVCTRL_CFLAGS="${xnvflags}" ) @@ -218,6 +227,7 @@ src_compile() { local modargs=( IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" # kernel takes "x86" and "x86_64" as meaning the same, but nvidia # makes the distinction (since 550.135) and is not happy with "x86" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild index 6a1b01343a4f..982c8be6128f 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-580.95.05.ebuild @@ -187,6 +187,14 @@ src_compile() { local xnvflags=-fPIC #840389 tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + NV_ARGS=( PREFIX="${EPREFIX}"/usr HOST_CC="$(tc-getBUILD_CC)" @@ -194,6 +202,7 @@ src_compile() { BUILD_GTK2LIB= NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" WAYLAND_AVAILABLE=$(usex wayland 1 0) XNVCTRL_CFLAGS="${xnvflags}" ) @@ -218,6 +227,7 @@ src_compile() { local modargs=( IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" # kernel takes "x86" and "x86_64" as meaning the same, but nvidia # makes the distinction (since 550.135) and is not happy with "x86" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01-r1.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01-r1.ebuild index 316ccfc8752e..3540676cad0d 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01-r1.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-590.48.01-r1.ebuild @@ -186,6 +186,14 @@ src_compile() { local xnvflags=-fPIC #840389 tc-is-lto && xnvflags+=" $(test-flags-CC -ffat-lto-objects)" + # Same as uname -m. + local target_arch + case ${ARCH} in + amd64) target_arch=x86_64 ;; + arm64) target_arch=aarch64 ;; + *) die "Unrecognised architecture: ${ARCH}" ;; + esac + NV_ARGS=( PREFIX="${EPREFIX}"/usr HOST_CC="$(tc-getBUILD_CC)" @@ -193,6 +201,7 @@ src_compile() { BUILD_GTK2LIB= NV_USE_BUNDLED_LIBJANSSON=0 NV_VERBOSE=1 DO_STRIP= MANPAGE_GZIP= OUTPUTDIR=out + TARGET_ARCH="${target_arch}" WAYLAND_AVAILABLE=$(usex wayland 1 0) XNVCTRL_CFLAGS="${xnvflags}" ) @@ -217,6 +226,7 @@ src_compile() { local modargs=( IGNORE_CC_MISMATCH=yes NV_VERBOSE=1 SYSOUT="${KV_OUT_DIR}" SYSSRC="${KV_DIR}" + TARGET_ARCH="${target_arch}" # kernel takes "x86" and "x86_64" as meaning the same, but nvidia # makes the distinction (since 550.135) and is not happy with "x86"
