Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / spdk / default.nix
blobc7b83db53489383fe971b4e5756c89c94608312b
1 { lib, stdenv
2 , fetchFromGitHub
3 , ncurses
4 , python3
5 , cunit
6 , dpdk
7 , libaio
8 , libbsd
9 , libuuid
10 , numactl
11 , openssl
12 , pkg-config
13 , zlib
14 , libpcap
15 , libnl
16 , libelf
17 , jansson
18 , ensureNewerSourcesForZipFilesHook
21 stdenv.mkDerivation rec {
22   pname = "spdk";
24   version = "23.09";
26   src = fetchFromGitHub {
27     owner = "spdk";
28     repo = "spdk";
29     rev = "v${version}";
30     sha256 = "sha256-P10NDa+MIEY8B3bu34Dq2keyuv2a24XV5Wf+Ah701b8=";
31     fetchSubmodules = true;
32   };
34   nativeBuildInputs = [
35     python3
36     python3.pkgs.setuptools
37     pkg-config
38     ensureNewerSourcesForZipFilesHook
39   ];
41   buildInputs = [
42     cunit
43     dpdk
44     jansson
45     libaio
46     libbsd
47     libelf
48     libuuid
49     libpcap
50     libnl
51     numactl
52     openssl
53     ncurses
54     zlib
55   ];
57   patches = [
58     # https://review.spdk.io/gerrit/c/spdk/spdk/+/20394
59     ./setuptools.patch
60   ];
62   postPatch = ''
63     patchShebangs .
64   '';
66   enableParallelBuilding = true;
68   configureFlags = [
69     "--with-dpdk=${dpdk}"
70     "--pydir=${placeholder "out"}/${python3.sitePackages}"
71   ];
73   env.NIX_CFLAGS_COMPILE = "-mssse3"; # Necessary to compile.
74   # otherwise does not find strncpy when compiling
75   env.NIX_LDFLAGS = "-lbsd";
77   meta = with lib; {
78     description = "Set of libraries for fast user-mode storage";
79     homepage = "https://spdk.io/";
80     license = licenses.bsd3;
81     platforms =  [ "x86_64-linux" ];
82     maintainers = with maintainers; [ orivej ];
83   };