Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / libblockdev / default.nix
blobe2bbd8a485d26acb6c1c0150d35e8dc831f749dc
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , autoreconfHook
5 , pkg-config
6 , gtk-doc
7 , docbook_xml_dtd_43
8 , python3
9 , gobject-introspection
10 , glib
11 , udev
12 , kmod
13 , parted
14 , cryptsetup
15 , lvm2
16 , util-linux
17 , libbytesize
18 , libndctl
19 , nss
20 , volume_key
21 , libxslt
22 , docbook_xsl
23 , gptfdisk
24 , libyaml
25 , autoconf-archive
26 , thin-provisioning-tools
27 , makeBinaryWrapper
28 , e2fsprogs
29 , libnvme
30 , keyutils
32 stdenv.mkDerivation (finalAttrs: {
33   pname = "libblockdev";
34   version = "3.0.3";
36   src = fetchFromGitHub {
37     owner = "storaged-project";
38     repo = "libblockdev";
39     rev = "${finalAttrs.version}-1";
40     hash = "sha256-vQ+JHMhfCNb5PALGL9FchRYPHGj+6oQpRfmmGS0ZczI=";
41   };
43   outputs = [ "out" "dev" "devdoc" ];
45   postPatch = ''
46     patchShebangs scripts
47   '';
49   nativeBuildInputs = [
50     autoconf-archive
51     autoreconfHook
52     docbook_xsl
53     docbook_xml_dtd_43
54     gobject-introspection
55     gtk-doc
56     libxslt
57     makeBinaryWrapper
58     pkg-config
59     python3
60   ];
62   buildInputs = [
63     cryptsetup
64     e2fsprogs
65     glib
66     gptfdisk
67     keyutils
68     kmod
69     libbytesize
70     libndctl
71     libnvme
72     libyaml
73     lvm2
74     nss
75     parted
76     udev
77     util-linux
78     volume_key
79   ];
81   postInstall = ''
82     wrapProgram $out/bin/lvm-cache-stats --prefix PATH : \
83       ${lib.makeBinPath [ thin-provisioning-tools ]}
84   '';
86   meta = {
87     changelog = "https://github.com/storaged-project/libblockdev/raw/${finalAttrs.src.rev}/NEWS.rst";
88     description = "A library for manipulating block devices";
89     homepage = "http://storaged.org/libblockdev/";
90     license = with lib.licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the utils
91     maintainers = with lib.maintainers; [ johnazoidberg ];
92     platforms = lib.platforms.linux;
93   };