diff --git a/pkgs/os-specific/linux/libnvme/default.nix b/pkgs/os-specific/linux/libnvme/default.nix new file mode 100644 index 00000000000..6c2ece4b8cb --- /dev/null +++ b/pkgs/os-specific/linux/libnvme/default.nix @@ -0,0 +1,63 @@ +{ fetchFromGitHub +, json_c +, lib +, libuuid +, meson +, ninja +, openssl +, perl +, pkg-config +, python3 +, stdenv +, systemd +}: + +stdenv.mkDerivation rec { + pname = "libnvme"; + version = "1.1"; + + outputs = [ "out" "man" ]; + + src = fetchFromGitHub { + owner = "linux-nvme"; + repo = "libnvme"; + rev = "v${version}"; + sha256 = "EPAPWY6/Bh8I1eLslKJAofLn0IAizmGn00Q5PJPtdRw="; + }; + + postPatch = '' + patchShebangs meson-vcs-tag.sh + chmod +x doc/kernel-doc-check + patchShebangs doc/kernel-doc doc/kernel-doc-check doc/list-man-pages.sh + ''; + + nativeBuildInputs = [ + meson + ninja + perl # for kernel-doc + pkg-config + ]; + + buildInputs = [ + json_c + libuuid + openssl + python3 + systemd + ]; + + mesonFlags = [ + "-Ddocs=man" + "-Ddocs-build=true" + ]; + + doCheck = true; + + meta = with lib; { + description = "C Library for NVM Express on Linux"; + homepage = "https://github.com/linux-nvme/libnvme"; + maintainers = with maintainers; [ zseri ]; + license = with licenses; [ lgpl21Plus ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index caf25432d2f..2c0bd64aa1e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4204,6 +4204,8 @@ with pkgs; libnss-mysql = callPackage ../os-specific/linux/libnss-mysql { }; + libnvme = callPackage ../os-specific/linux/libnvme { }; + libxnd = callPackage ../development/libraries/libxnd { }; libzbc = callPackage ../os-specific/linux/libzbc { };