nixpkgs/pkgs/os-specific/linux/libnvme/default.nix
apfelkuchen06 7cdd1f3ebf libnvme: fix cross
without this, pkgsCross.armv7l-hf-multiplatform.libnvme fails to build with

[93/811] Compiling C object libnvme/_nvme.cpython-310-x86_64-linux-gnu.so.p/meson-generated_.._nvme_wrap.c.o
FAILED: libnvme/_nvme.cpython-310-x86_64-linux-gnu.so.p/meson-generated_.._nvme_wrap.c.o
armv7l-unknown-linux-gnueabihf-gcc -Ilibnvme/_nvme.cpython-310-x86_64-linux-gnu.so.p -Ilibnvme -I../libnvme -I. -I.. -Iccan -I../ccan -Isrc -I../src -Iinternal -I../internal -I/nix/store/fg4hibxylq2lhfc2xx2asaih8c02c77m-json-c-armv7l-unknown-linux-gnueabihf-0.16-dev/include -I/nix/store/fg4hibxylq2lhfc2xx2asaih8c02c77m-json-c-armv7l-unknown-linux-gnueabihf-0.16-dev/include/json-c -I/nix/store/fdqpyj613dr0v1l1lrzqhzay7sk4xg87-python3-3.10.10/include/python3.10 -fvisibility=hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu99 -fomit-frame-pointer -D_GNU_SOURCE -include internal/config.h -fPIC -MD -MQ libnvme/_nvme.cpython-310-x86_64-linux-gnu.so.p/meson-generated_.._nvme_wrap.c.o -MF libnvme/_nvme.cpython-310-x86_64-linux-gnu.so.p/meson-generated_.._nvme_wrap.c.o.d -o libnvme/_nvme.cpython-310-x86_64-linux-gnu.so.p/meson-generated_.._nvme_wrap.c.o -c libnvme/nvme_wrap.c
In file included from /nix/store/fdqpyj613dr0v1l1lrzqhzay7sk4xg87-python3-3.10.10/include/python3.10/Python.h:50,
                 from libnvme/nvme_wrap.c:149:
/nix/store/fdqpyj613dr0v1l1lrzqhzay7sk4xg87-python3-3.10.10/include/python3.10/pyport.h:746:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
  746 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
      |  ^~~~~
2023-04-17 19:00:15 +02:00

67 lines
1.1 KiB
Nix

{ fetchFromGitHub
, json_c
, keyutils
, lib
, meson
, ninja
, openssl
, perl
, pkg-config
, python3
, stdenv
, swig
, systemd
}:
stdenv.mkDerivation rec {
pname = "libnvme";
version = "1.4";
outputs = [ "out" "man" ];
src = fetchFromGitHub {
owner = "linux-nvme";
repo = "libnvme";
rev = "v${version}";
sha256 = "sha256-8DlEQ4LH6UhIHr0znJGqkuCosLHqA6hkJjmiCawNE1k=";
};
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
python3.pythonForBuild
swig
];
buildInputs = [
keyutils
json_c
openssl
systemd
python3
];
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;
};
}