1{ lib, stdenv, fetchFromGitHub, pkg-config
2, libuuid
3}:
4
5stdenv.mkDerivation rec {
6 pname = "nvme-cli";
7 version = "1.15";
8
9 src = fetchFromGitHub {
10 owner = "linux-nvme";
11 repo = "nvme-cli";
12 rev = "v${version}";
13 sha256 = "0qr1wa163cb7z6g083nl3zcc28mmlbxh1m97pd54bp3gyrhmdhhr";
14 };
15
16 nativeBuildInputs = [ pkg-config ];
17 buildInputs = [ libuuid ];
18
19 makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
20
21 # To omit the hostnqn and hostid files that are impure and should be unique
22 # for each target host:
23 installTargets = [ "install-spec" ];
24
25 meta = with lib; {
26 inherit (src.meta) homepage; # https://nvmexpress.org/
27 description = "NVM-Express user space tooling for Linux";
28 longDescription = ''
29 NVM-Express is a fast, scalable host controller interface designed to
30 address the needs for not only PCI Express based solid state drives, but
31 also NVMe-oF(over fabrics).
32 This nvme program is a user space utility to provide standards compliant
33 tooling for NVM-Express drives. It was made specifically for Linux as it
34 relies on the IOCTLs defined by the mainline kernel driver.
35 '';
36 license = licenses.gpl2Plus;
37 platforms = platforms.linux;
38 maintainers = with maintainers; [ mic92 ];
39 };
40}