at 23.05-pre 85 lines 1.9 kB view raw
1{ lib 2, stdenv 3, graphviz 4, imagemagick 5, linux_latest 6, makeFontsConf 7, perl 8, python3 9, sphinx 10, which 11}: 12 13let 14 py = python3.override { 15 packageOverrides = final: prev: rec { 16 docutils_old = prev.docutils.overridePythonAttrs (oldAttrs: rec { 17 version = "0.16"; 18 src = final.fetchPypi { 19 pname = "docutils"; 20 inherit version; 21 sha256 = "sha256-wt46YOnn0Hvia38rAMoDCcIH4GwQD5zCqUkx/HWkePw="; 22 }; 23 }); 24 25 sphinx = (prev.sphinx.override rec { 26 alabaster = prev.alabaster.override { inherit pygments; }; 27 docutils = docutils_old; 28 pygments = prev.pygments.override { docutils = docutils_old; }; 29 }).overridePythonAttrs { 30 # fails due to duplicated packages 31 doCheck = false; 32 }; 33 34 sphinx-rtd-theme = prev.sphinx-rtd-theme.override { 35 inherit sphinx; 36 docutils = docutils_old; 37 }; 38 }; 39 }; 40in 41 42stdenv.mkDerivation { 43 pname = "linux-kernel-latest-htmldocs"; 44 45 inherit (linux_latest) version src; 46 47 postPatch = '' 48 patchShebangs \ 49 Documentation/sphinx/parse-headers.pl \ 50 scripts/{get_abi.pl,get_feat.pl,kernel-doc,sphinx-pre-install} 51 ''; 52 53 FONTCONFIG_FILE = makeFontsConf { 54 fontDirectories = [ ]; 55 }; 56 57 nativeBuildInputs = [ 58 graphviz 59 imagemagick 60 perl 61 py.pkgs.sphinx 62 py.pkgs.sphinx-rtd-theme 63 which 64 ]; 65 66 preBuild = '' 67 export XDG_CACHE_HOME="$(mktemp -d)" 68 ''; 69 70 makeFlags = [ "htmldocs" ]; 71 72 installPhase = '' 73 mkdir -p $out/share/doc 74 mv Documentation/output $out/share/doc/linux-doc 75 cp -r Documentation/* $out/share/doc/linux-doc/ 76 ''; 77 78 meta = with lib; { 79 description = "Linux kernel html documentation"; 80 homepage = "https://www.kernel.org/doc/htmldocs/"; 81 platforms = platforms.linux; 82 inherit (linux_latest.meta) license; 83 maintainers = with maintainers; [ SuperSandro2000 ]; 84 }; 85}