about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix')
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix12
1 files changed, 9 insertions, 3 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix
index 3e21dade83ae..a6795c3fd5e7 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix
+++ b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/open.nix
@@ -7,7 +7,7 @@
 , broken ? false
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   pname = "nvidia-open";
   version = "${kernel.version}-${nvidia_x11.version}";
 
@@ -24,6 +24,10 @@ stdenv.mkDerivation {
     "SYSSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
     "SYSOUT=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "MODLIB=$(out)/lib/modules/${kernel.modDirVersion}"
+    {
+      aarch64-linux = "TARGET_ARCH=aarch64";
+      x86_64-linux = "TARGET_ARCH=x86_64";
+    }.${stdenv.hostPlatform.system}
   ];
 
   installTargets = [ "modules_install" ];
@@ -33,8 +37,10 @@ stdenv.mkDerivation {
     description = "NVIDIA Linux Open GPU Kernel Module";
     homepage = "https://github.com/NVIDIA/open-gpu-kernel-modules";
     license = with licenses; [ gpl2Plus mit ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ nickcao ];
     inherit broken;
   };
-}
+} // lib.optionalAttrs stdenv.hostPlatform.isAarch64 {
+  env.NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+})