diff options
author | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2022-05-19 19:40:34 +0200 |
---|---|---|
committer | Sandro Jäckel <sandro.jaeckel@gmail.com> | 2022-05-23 21:57:06 +0200 |
commit | e9be5fe419c945d0473b60f4072028e3160d0a8a (patch) | |
tree | 12e874b8051ed946aa1a0e01876641176c88ba2d | |
parent | cc2ead5d96c8099d945c8dd3da89e1ac6ed7ab8d (diff) |
linux-doc: init
-rw-r--r-- | pkgs/os-specific/linux/kernel/htmldocs.nix | 84 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/kernel/htmldocs.nix b/pkgs/os-specific/linux/kernel/htmldocs.nix new file mode 100644 index 0000000000000..ce7ea63f0a6d9 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/htmldocs.nix @@ -0,0 +1,84 @@ +{ lib +, stdenv +, graphviz +, imagemagick +, linux_latest +, makeFontsConf +, perl +, python3 +, sphinx +, which +}: + +let + py = python3.override { + packageOverrides = final: prev: rec { + docutils_old = prev.docutils.overridePythonAttrs (oldAttrs: rec { + version = "0.16"; + src = oldAttrs.src.override { + inherit version; + sha256 = "sha256-wt46YOnn0Hvia38rAMoDCcIH4GwQD5zCqUkx/HWkePw="; + }; + }); + + sphinx = (prev.sphinx.override rec { + alabaster = prev.alabaster.override { inherit pygments; }; + docutils = docutils_old; + pygments = prev.pygments.override { docutils = docutils_old; }; + }).overridePythonAttrs { + # fails due to duplicated packages + doCheck = false; + }; + + sphinx_rtd_theme = prev.sphinx_rtd_theme.override { + inherit sphinx; + docutils = docutils_old; + }; + }; + }; +in + +stdenv.mkDerivation { + pname = "linux-kernel-latest-htmldocs"; + + inherit (linux_latest) version src; + + postPatch = '' + patchShebangs \ + Documentation/sphinx/parse-headers.pl \ + scripts/{get_abi.pl,get_feat.pl,kernel-doc,sphinx-pre-install} + ''; + + FONTCONFIG_FILE = makeFontsConf { + fontDirectories = [ ]; + }; + + nativeBuildInputs = [ + graphviz + imagemagick + perl + py.pkgs.sphinx + py.pkgs.sphinx_rtd_theme + which + ]; + + preBuild = '' + export XDG_CACHE_HOME="$(mktemp -d)" + ''; + + makeFlags = [ "htmldocs" ]; + + installPhase = '' + mkdir -p $out/share/doc + mv Documentation/output $out/share/doc/linux-doc + cp -r Documentation/* $out/share/doc/linux-doc/ + ''; + + meta = with lib; { + description = "Linux kernel html documentation"; + homepage = "https://www.kernel.org/doc/htmldocs/"; + platforms = platforms.linux; + inherit (linux_latest.meta) license; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0d763d9f5d1e1..3f4e9f03a0a3c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23259,6 +23259,8 @@ with pkgs; linuxPackages_xanmod_latest = linuxKernel.packages.linux_xanmod_latest; linux_xanmod_latest = linuxKernel.kernels.linux_xanmod_latest; + linux-doc = callPackage ../os-specific/linux/kernel/htmldocs.nix { }; + cryptodev = linuxKernel.packages.linux_4_9.cryptodev; dpdk = callPackage ../os-specific/linux/dpdk { |