summary refs log tree commit diff
diff options
context:
space:
mode:
authorSandro <sandro.jaeckel@gmail.com>2021-10-25 13:59:47 +0200
committerGitHub <noreply@github.com>2021-10-25 13:59:47 +0200
commit44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa (patch)
tree0699badd3e458e62602ca47d6a54886894ef0c77
parent830026758a400b3c90dbfb6ab89820ec335a0cad (diff)
parentfb4c3dec25deb30e57d5bb6b0bd3a3ed62d2c0a2 (diff)
downloadnixpkgs-44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa.tar
nixpkgs-44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa.tar.gz
nixpkgs-44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa.tar.bz2
nixpkgs-44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa.tar.lz
nixpkgs-44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa.tar.xz
nixpkgs-44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa.tar.zst
nixpkgs-44f2fc42d39f3bb8c8e01fe96eb7b85bf5a9a9aa.zip
Merge pull request #139672 from illdefined/linux-manual
-rw-r--r--pkgs/data/documentation/linux-manual/default.nix40
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/data/documentation/linux-manual/default.nix b/pkgs/data/documentation/linux-manual/default.nix
new file mode 100644
index 00000000000..27690f9b99c
--- /dev/null
+++ b/pkgs/data/documentation/linux-manual/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchurl, perl, linuxPackages_latest }:
+
+stdenv.mkDerivation rec {
+  pname = "linux-manual";
+  inherit (linuxPackages_latest.kernel) version src;
+
+  nativeBuildInputs = [ perl ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  postPatch = ''
+    patchShebangs --build \
+      scripts/kernel-doc \
+      scripts/split-man.pl
+  '';
+
+  installPhase = ''
+    mandir=$out/share/man/man9
+    mkdir -p $mandir
+
+    KBUILD_BUILD_TIMESTAMP=$(stat -c %Y Makefile) \
+    grep -F -l -Z \
+      --exclude-dir Documentation \
+      --exclude-dir tools \
+      -R '/**' \
+      | xargs -0 -n 256 -P $NIX_BUILD_CORES \
+        $SHELL -c '{ scripts/kernel-doc -man "$@" || :; } \
+          | scripts/split-man.pl '$mandir kernel-doc
+
+    test -f $mandir/kmalloc.9
+  '';
+
+  meta = with lib; {
+    homepage = "https://kernel.org/";
+    description = "Linux kernel API manual pages";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ mvs ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b83938c39ff..aaa4638d7d1 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -23081,6 +23081,8 @@ with pkgs;
 
   line-awesome = callPackage ../data/fonts/line-awesome { };
 
+  linux-manual = callPackage ../data/documentation/linux-manual { };
+
   lmmath = callPackage ../data/fonts/lmmath {};
 
   lmodern = callPackage ../data/fonts/lmodern { };