95 lines
1.7 KiB
Nix
95 lines
1.7 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchFromGitHub
|
|
, autoreconfHook
|
|
, pkg-config
|
|
, gtk-doc
|
|
, docbook_xml_dtd_43
|
|
, python3
|
|
, gobject-introspection
|
|
, glib
|
|
, udev
|
|
, kmod
|
|
, parted
|
|
, cryptsetup
|
|
, lvm2
|
|
, util-linux
|
|
, libbytesize
|
|
, libndctl
|
|
, nss
|
|
, volume_key
|
|
, libxslt
|
|
, docbook_xsl
|
|
, gptfdisk
|
|
, libyaml
|
|
, autoconf-archive
|
|
, thin-provisioning-tools
|
|
, makeBinaryWrapper
|
|
, e2fsprogs
|
|
, libnvme
|
|
, keyutils
|
|
}:
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "libblockdev";
|
|
version = "3.0.2";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "storaged-project";
|
|
repo = "libblockdev";
|
|
rev = "${finalAttrs.version}-1";
|
|
hash = "sha256-tqF96yeBPilF0zQ53RNN7IZ2wVgWQOwbGkvoywN/i+0=";
|
|
};
|
|
|
|
outputs = [ "out" "dev" "devdoc" ];
|
|
|
|
postPatch = ''
|
|
patchShebangs scripts
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
autoconf-archive
|
|
autoreconfHook
|
|
docbook_xsl
|
|
docbook_xml_dtd_43
|
|
gobject-introspection
|
|
gtk-doc
|
|
libxslt
|
|
makeBinaryWrapper
|
|
pkg-config
|
|
python3
|
|
];
|
|
|
|
buildInputs = [
|
|
cryptsetup
|
|
e2fsprogs
|
|
glib
|
|
gptfdisk
|
|
keyutils
|
|
kmod
|
|
libbytesize
|
|
libndctl
|
|
libnvme
|
|
libyaml
|
|
lvm2
|
|
nss
|
|
parted
|
|
udev
|
|
util-linux
|
|
volume_key
|
|
];
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/lvm-cache-stats --prefix PATH : \
|
|
${lib.makeBinPath [ thin-provisioning-tools ]}
|
|
'';
|
|
|
|
meta = {
|
|
changelog = "https://github.com/storaged-project/libblockdev/raw/${finalAttrs.src.rev}/NEWS.rst";
|
|
description = "A library for manipulating block devices";
|
|
homepage = "http://storaged.org/libblockdev/";
|
|
license = with lib.licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the utils
|
|
maintainers = with lib.maintainers; [ johnazoidberg ];
|
|
platforms = lib.platforms.linux;
|
|
};
|
|
})
|