From 75f358e0e06042c591158f01d8cdc10e1dfd7cb8 Mon Sep 17 00:00:00 2001 From: Joel Granados Date: Thu, 14 Aug 2025 13:36:52 +0200 Subject: [PATCH 1/2] maintainers: add joelgranados Signed-off-by: Joel Granados --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ad30138b2099..6a0deca11fa3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -12216,6 +12216,12 @@ githubId = 310981; name = "Joel Burget"; }; + joelgranados = { + email = "joel.granados.oss@joelgranados.com"; + github = "Joelgranados"; + githubId = 356364; + name = "Joel Granados"; + }; joelmo = { email = "joel.moberg@gmail.com"; github = "joelmo"; From 44d00e69a952195012f7106b7b29b6f5784041bc Mon Sep 17 00:00:00 2001 From: Joel Granados Date: Thu, 14 Aug 2025 13:37:01 +0200 Subject: [PATCH 2/2] libvfn: init at 5.1.0 Signed-off-by: Joel Granados --- pkgs/by-name/li/libvfn/package.nix | 69 ++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 pkgs/by-name/li/libvfn/package.nix diff --git a/pkgs/by-name/li/libvfn/package.nix b/pkgs/by-name/li/libvfn/package.nix new file mode 100644 index 000000000000..a523b0a150ce --- /dev/null +++ b/pkgs/by-name/li/libvfn/package.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + fetchFromGitHub, + meson, + ninja, + pkg-config, + perl, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "libvfn"; + version = "5.1.0"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "SamsungDS"; + repo = "libvfn"; + tag = "v${finalAttrs.version}"; + hash = "sha256-CEVjJVeDEEJcJX2/6fwKGBHDsxgN+pL7fJWvQ+iCh3Y="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + perl + ]; + + postPatch = '' + patchShebangs scripts/trace.pl scripts/ctags.sh scripts/sparse.py + ''; + + mesonFlags = [ + (lib.mesonEnable "docs" false) + (lib.mesonEnable "libnvme" false) + (lib.mesonBool "profiling" false) + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Zero-dependency library for interacting with PCIe-based NVMe devices from user-space"; + longDescription = '' + libvfn is a zero-dependency library for interacting with PCIe-based NVMe + devices from user-space using the Linux kernel vfio-pci driver. The core + of the library is excessively low-level and aims to allow controller + verification and testing teams to interact with the NVMe device at the + register and queue level. + ''; + homepage = "https://github.com/SamsungDS/libvfn"; + license = lib.licenses.lgpl21Plus; + maintainers = with lib.maintainers; [ joelgranados ]; + + # Explicit list of tested platforms. The abstractions on other platforms + # are untested and might not work. More will be added as we test them. + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + sourceProvenance = with lib.sourceTypes; [ + fromSource + binaryNativeCode + ]; + }; +})