From e9be5fe419c945d0473b60f4072028e3160d0a8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 19 May 2022 19:40:34 +0200 Subject: [PATCH 1/2] linux-doc: init --- pkgs/os-specific/linux/kernel/htmldocs.nix | 84 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 86 insertions(+) create mode 100644 pkgs/os-specific/linux/kernel/htmldocs.nix diff --git a/pkgs/os-specific/linux/kernel/htmldocs.nix b/pkgs/os-specific/linux/kernel/htmldocs.nix new file mode 100644 index 000000000000..ce7ea63f0a6d --- /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 0d763d9f5d1e..3f4e9f03a0a3 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 { From fc4dc5ef8c7f89e6de57ed1be7060a91dafe6a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Thu, 19 May 2022 19:40:55 +0200 Subject: [PATCH 2/2] systeroid: init at 0.1.1 --- pkgs/tools/system/systeroid/default.nix | 39 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 41 insertions(+) create mode 100644 pkgs/tools/system/systeroid/default.nix diff --git a/pkgs/tools/system/systeroid/default.nix b/pkgs/tools/system/systeroid/default.nix new file mode 100644 index 000000000000..25d1a5342773 --- /dev/null +++ b/pkgs/tools/system/systeroid/default.nix @@ -0,0 +1,39 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, linux-doc +, xorg +}: + +rustPlatform.buildRustPackage rec { + pname = "systeroid"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "orhun"; + repo = pname; + rev = "v${version}"; + sha256 = "0xf81wyp5qg67r0vyqg0209pcabx70vvxx4nrg2y7qa0mhvf6p94"; + }; + + postPatch = '' + substituteInPlace systeroid-core/src/parsers.rs \ + --replace '"/usr/share/doc/kernel-doc-*/Documentation/*",' '"${linux-doc}/share/doc/linux-doc/*",' + ''; + + cargoSha256 = "sha256-D/sSeMR1Zg3OH1fdSVKdxdIcoP4OLp3T8mwQ28O8rfk="; + + buildInputs = [ + xorg.libxcb + ]; + + # tries to access /sys/ + doCheck = false; + + meta = with lib; { + description = "More powerful alternative to sysctl(8) with a terminal user interface"; + homepage = "https://github.com/orhun/systeroid"; + license = licenses.asl20; + maintainers = with maintainers; [ SuperSandro2000 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3f4e9f03a0a3..9b6c45796d48 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1188,6 +1188,8 @@ with pkgs; sx-go = callPackage ../tools/security/sx-go { }; + systeroid = callPackage ../tools/system/systeroid { }; + tauon = callPackage ../applications/audio/tauon { }; termusic = callPackage ../applications/audio/termusic { };