diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-11-21 16:12:21 +0100 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-11-21 16:12:48 +0100 |
commit | 048a4cd441a59cbf89defb18bb45c9f0b4429b35 (patch) | |
tree | f8f5850ff05521ab82d65745894714a8796cbfb6 /pkgs/tools/system/netdata/default.nix | |
parent | 030c5028b07afcedce7c5956015c629486cc79d9 (diff) | |
parent | 4c2d05dd6435d449a3651a6dd314d9411b5f8146 (diff) | |
download | nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.gz nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.bz2 nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.lz nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.xz nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.tar.zst nixpkgs-048a4cd441a59cbf89defb18bb45c9f0b4429b35.zip |
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'pkgs/tools/system/netdata/default.nix')
-rw-r--r-- | pkgs/tools/system/netdata/default.nix | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix index e3dbabe1f52..e6f65a8c0f5 100644 --- a/pkgs/tools/system/netdata/default.nix +++ b/pkgs/tools/system/netdata/default.nix @@ -1,48 +1,59 @@ -{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, makeWrapper +{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, makeWrapper , CoreFoundation, IOKit, libossp_uuid , nixosTests , netdata-go-plugins -, bash, curl, jemalloc, libuv, zlib, libyaml +, bash, curl, jemalloc, json_c, libuv, zlib, libyaml , libcap, libuuid, lm_sensors, protobuf , withCups ? false, cups , withDBengine ? true, lz4 , withIpmi ? (!stdenv.isDarwin), freeipmi , withNetfilter ? (!stdenv.isDarwin), libmnl, libnetfilter_acct -, withCloud ? (!stdenv.isDarwin), json_c +, withCloud ? false +, withCloudUi ? false , withConnPubSub ? false, google-cloud-cpp, grpc , withConnPrometheus ? false, snappy , withSsl ? true, openssl +, withSystemdJournal ? (!stdenv.isDarwin), systemd , withDebug ? false }: stdenv.mkDerivation rec { # Don't forget to update go.d.plugin.nix as well - version = "1.42.2"; + version = "1.43.2"; pname = "netdata"; src = fetchFromGitHub { owner = "netdata"; repo = "netdata"; rev = "v${version}"; - hash = "sha256-8L8PhPgNIHvw+Dcx2D6OE8fp2+GEYOc9wEIoPJSqXME="; + hash = if withCloudUi + then "sha256-ZhSuU2VTJPFJ3ja5eHx5uTuR19LleoID8Efr9FTyg74=" + else "sha256-t2awo118mYbuoNiKiAxM5xpRmQSha+/NR5G+shsotek="; fetchSubmodules = true; + + # Remove v2 dashboard distributed under NCUL1. Make sure an empty + # Makefile.am exists, as autoreconf will get confused otherwise. + postFetch = lib.optionalString (!withCloudUi) '' + rm -rf $out/web/gui/v2/* + touch $out/web/gui/v2/Makefile.am + ''; }; strictDeps = true; nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper protobuf ]; # bash is only used to rewrite shebangs - buildInputs = [ bash curl jemalloc libuv zlib libyaml ] + buildInputs = [ bash curl jemalloc json_c libuv zlib libyaml ] ++ lib.optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ] ++ lib.optionals (!stdenv.isDarwin) [ libcap libuuid ] ++ lib.optionals withCups [ cups ] ++ lib.optionals withDBengine [ lz4 ] ++ lib.optionals withIpmi [ freeipmi ] ++ lib.optionals withNetfilter [ libmnl libnetfilter_acct ] - ++ lib.optionals withCloud [ json_c ] ++ lib.optionals withConnPubSub [ google-cloud-cpp grpc ] ++ lib.optionals withConnPrometheus [ snappy ] ++ lib.optionals (withCloud || withConnPrometheus) [ protobuf ] + ++ lib.optionals withSystemdJournal [ systemd ] ++ lib.optionals withSsl [ openssl ]; patches = [ @@ -53,6 +64,12 @@ stdenv.mkDerivation rec { # Avoid build-only inputs in closure leaked by configure command: # https://github.com/NixOS/nixpkgs/issues/175693#issuecomment-1143344162 ./skip-CONFIGURE_COMMAND.patch + + # Allow building without non-free v2 dashboard. + (fetchpatch { + url = "https://github.com/peat-psuwit/netdata/commit/6ccbdd1500db2b205923968688d5f1777430a326.patch"; + hash = "sha256-jAyk5HlxdjFn5IP6jOKP8/SXOraMQSA6r1krThe+s7g="; + }) ]; # Guard against unused buld-time development inputs in closure. Without @@ -78,6 +95,10 @@ stdenv.mkDerivation rec { $out/libexec/netdata/plugins.d/perf.plugin.org mv $out/libexec/netdata/plugins.d/slabinfo.plugin \ $out/libexec/netdata/plugins.d/slabinfo.plugin.org + ${lib.optionalString withSystemdJournal '' + mv $out/libexec/netdata/plugins.d/systemd-journal.plugin \ + $out/libexec/netdata/plugins.d/systemd-journal.plugin.org + ''} ${lib.optionalString withIpmi '' mv $out/libexec/netdata/plugins.d/freeipmi.plugin \ $out/libexec/netdata/plugins.d/freeipmi.plugin.org @@ -94,13 +115,21 @@ stdenv.mkDerivation rec { "--sysconfdir=/etc" "--disable-ebpf" "--with-jemalloc=${jemalloc}" + ] ++ lib.optionals (withSystemdJournal) [ + "--enable-plugin-systemd-journal" ] ++ lib.optionals (!withDBengine) [ "--disable-dbengine" ] ++ lib.optionals (!withCloud) [ "--disable-cloud" + ] ++ lib.optionals (!withCloudUi) [ + "--disable-cloud-ui" ]; postFixup = '' + # remove once https://github.com/netdata/netdata/pull/16300 merged + substituteInPlace $out/bin/netdata-claim.sh \ + --replace /bin/echo echo + wrapProgram $out/bin/netdata-claim.sh --prefix PATH : ${lib.makeBinPath [ openssl ]} wrapProgram $out/libexec/netdata/plugins.d/cgroup-network-helper.sh --prefix PATH : ${lib.makeBinPath [ bash ]} wrapProgram $out/bin/netdatacli --set NETDATA_PIPENAME /run/netdata/ipc @@ -118,7 +147,8 @@ stdenv.mkDerivation rec { description = "Real-time performance monitoring tool"; homepage = "https://www.netdata.cloud/"; changelog = "https://github.com/netdata/netdata/releases/tag/v${version}"; - license = licenses.gpl3Plus; + license = [ licenses.gpl3Plus ] + ++ lib.optionals (withCloudUi) [ licenses.ncul1 ]; platforms = platforms.unix; maintainers = with maintainers; [ raitobezarius ]; }; |