about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-04-01 15:50:50 +0000
committerAlyssa Ross <hi@alyssa.is>2020-04-01 15:50:50 +0000
commit75eafe97f7df0d653bec67f3962214d7c357831f (patch)
tree09f2cc901e0e637876cbb78d192dfe2fcfef8156 /nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
parenta53b121bf4331497da63df3b1b7f1a7897dad146 (diff)
parenta2e06fc3423c4be53181b15c28dfbe0bcf67dd73 (diff)
downloadnixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.gz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.bz2
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.lz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.xz
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.tar.zst
nixlib-75eafe97f7df0d653bec67f3962214d7c357831f.zip
Merge commit 'a2e06fc3423c4be53181b15c28dfbe0bcf67dd73'
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix')
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix37
1 files changed, 16 insertions, 21 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix b/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
index fb2b90689214..52b280c30261 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -1,7 +1,4 @@
-{ stdenvNoCC, lib, buildPackages
-, fetchurl, perl
-, elf-header
-}:
+{ stdenvNoCC, lib, buildPackages, fetchurl, perl, elf-header }:
 
 let
   makeLinuxHeaders = { src, version, patches ? [] }: stdenvNoCC.mkDerivation {
@@ -39,29 +36,28 @@ let
     # Skip clean on darwin, case-sensitivity issues.
     buildPhase = lib.optionalString (!stdenvNoCC.buildPlatform.isDarwin) ''
       make mrproper $makeFlags
-    ''
-    # For some reason, doing `make install_headers` twice, first without
-    # INSTALL_HDR_PATH=$out then with, is neccessary to get this to work
-    # for darwin cross. @Ericson2314 has no idea why.
-    + ''
-      make headers_install $makeFlags
+    '' + ''
+      make headers $makeFlags
     '';
 
     checkPhase = ''
       make headers_check $makeFlags
     '';
 
+    # The following command requires rsync:
+    #   make headers_install INSTALL_HDR_PATH=$out $makeFlags
+    # but rsync depends on popt which does not compile on aarch64 without
+    # updateAutotoolsGnuConfigScriptsHook which is not enabled in stage2,
+    # so we replicate it with cp. This also reduces bootstrap closure size.
     installPhase = ''
-      make headers_install INSTALL_HDR_PATH=$out $makeFlags
+      mkdir -p $out
+      cp -r usr/include $out
+      find $out -type f ! -name '*.h' -delete
     ''
     # Some builds (e.g. KVM) want a kernel.release.
-    + '' mkdir -p $out/include/config
-      echo "${version}-default" > $out/include/config/kernel.release
-    ''
-    # These oddly named file records the `SHELL` passed, which causes bootstrap
-    # tools run-time dependency.
     + ''
-      find "$out" -name '..install.cmd' -print0 | xargs -0 rm
+      mkdir -p $out/include/config
+      echo "${version}-default" > $out/include/config/kernel.release
     '';
 
     meta = with lib; {
@@ -73,16 +69,15 @@ let
 in {
   inherit makeLinuxHeaders;
 
-  linuxHeaders = let version = "4.19.16"; in
+  linuxHeaders = let version = "5.5"; in
     makeLinuxHeaders {
       inherit version;
       src = fetchurl {
-        url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-        sha256 = "1pqvn6dsh0xhdpawz4ag27vkw1abvb6sn3869i4fbrz33ww8i86q";
+        url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
+        sha256 = "0c131fi6s7vgvka1c0597vnvcmwn1pp968rci5kq64iwj3pd9yx6";
       };
       patches = [
          ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
-         ./no-dynamic-cc-version-check.patch # so we can use `stdenvNoCC`, see `makeFlags` above
       ];
     };
 }