From 38b4eed14617df058843367a4189932d11e9046c Mon Sep 17 00:00:00 2001 From: Iwan Date: Sat, 31 Jan 2026 10:10:58 +0100 Subject: [PATCH] nmstate: init at 2.2.57 --- pkgs/by-name/nm/nmstate/package.nix | 60 +++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 pkgs/by-name/nm/nmstate/package.nix diff --git a/pkgs/by-name/nm/nmstate/package.nix b/pkgs/by-name/nm/nmstate/package.nix new file mode 100644 index 000000000000..c6814571555e --- /dev/null +++ b/pkgs/by-name/nm/nmstate/package.nix @@ -0,0 +1,60 @@ +{ + lib, + fetchFromGitHub, + fetchurl, + rustPlatform, + libfaketime, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "nmstate"; + version = "2.2.57"; + + srcs = [ + (fetchFromGitHub { + owner = "nmstate"; + repo = "nmstate"; + tag = "v${finalAttrs.version}"; + hash = "sha256-7X51XmoSwlIrbsdJFfTQ23bhO3bitkHXOObL6JaGpvI="; + }) + (fetchurl { + url = "https://github.com/nmstate/nmstate/releases/download/v${finalAttrs.version}/nmstate-vendor-${finalAttrs.version}.tar.xz"; + hash = "sha256-stOHNezPLPjSrt/f3HmhqWMxSaSfOh/hYVGB2+l8Pb4="; + }) + ]; + sourceRoot = "."; + postUnpack = '' + mv vendor source/rust/ + cd source + ''; + + postPatch = '' + substituteInPlace packaging/nmstate.service --replace-fail /usr/bin $out/bin + ''; + + cargoRoot = "rust"; + buildAndTestSubdir = finalAttrs.cargoRoot; + cargoVendorDir = "vendor"; + + nativeBuildInputs = [ + libfaketime + ]; + + postInstall = '' + ln -s ../target rust/target + source_date=$(date --utc --date=@$SOURCE_DATE_EPOCH "+%F %T") + PREFIX=$out LIBDIR=$out/lib RELEASE=1 SKIP_PYTHON_INSTALL=1 faketime -f "$source_date" make install + ''; + + meta = { + description = "Nmstate: A Declarative Network API"; + homepage = "https://nmstate.io/"; + changelog = "https://github.com/nmstate/nmstate/blob/v${finalAttrs.version}/CHANGELOG"; + license = lib.licenses.asl20; + mainProgram = "nmstatectl"; + maintainers = with lib.maintainers; [ + iwanb + ]; + platforms = with lib.platforms; unix; + }; +})