From f2995689ecdc02a89cfbe6c1fff0a0391f7a1af9 Mon Sep 17 00:00:00 2001 From: Brian McGillion Date: Wed, 21 May 2025 18:35:44 +0400 Subject: [PATCH] systemd-bootchart: init at 235 Add the systemd-bootchart package. At this stage just adding the package. The plan is to add the module and kernel configurations for the boot invocation in a follow up PR. Being utilized in nixosConfigurations as part of Ghaf, where the systemd-analyze does not provide enough information, especially cpu and mem usages for throttling the start of some of the virtual machines. This has been tested locally in realtime with: ``` /nix/store/...-systemd-bootchart-235/lib/systemd/systemd-bootchart --rel -o $(mktemp -d) ``` Waiting the requisite 20 seconds and then viewing the created .svg file. Signed-off-by: Brian McGillion --- pkgs/by-name/sy/systemd-bootchart/package.nix | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pkgs/by-name/sy/systemd-bootchart/package.nix diff --git a/pkgs/by-name/sy/systemd-bootchart/package.nix b/pkgs/by-name/sy/systemd-bootchart/package.nix new file mode 100644 index 000000000000..5f3a88573858 --- /dev/null +++ b/pkgs/by-name/sy/systemd-bootchart/package.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + systemd, + libxslt, + docbook_xsl, + docbook_xml_dtd_45, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "systemd-bootchart"; + version = "235"; + + src = fetchFromGitHub { + owner = "systemd"; + repo = "systemd-bootchart"; + tag = "v${finalAttrs.version}"; + hash = "sha256-1h6/Q6ShfJbu/DXENIe5GAQiZp4jlOAg6SAR36cmg2I="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + libxslt + docbook_xsl + docbook_xml_dtd_45 + ]; + + buildInputs = [ + systemd + ]; + + configureFlags = [ + "--with-rootprefix=$(out)" + ]; + + meta = { + description = "Boot performance graphing tool from systemd"; + homepage = "https://github.com/systemd/systemd-bootchart"; + license = lib.licenses.lgpl21Plus; + maintainers = [ lib.maintainers.brianmcgillion ]; + platforms = lib.platforms.linux; + }; +})