nixpkgs/pkgs/os-specific/linux/lvm2/default.nix

64 lines
2.0 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }:
let
2015-06-19 05:50:53 +01:00
version = "2.02.120";
in
stdenv.mkDerivation {
2014-08-31 18:08:56 +01:00
name = "lvm2-${version}";
src = fetchurl {
2014-08-31 18:08:56 +01:00
url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
2015-06-19 05:50:53 +01:00
sha256 = "06h8csqjy6b0khi73kklkp10j5yq3j1kxklfaf158c80glpx0swd";
};
configureFlags =
"--disable-readline --enable-udev_rules --enable-udev_sync --enable-pkgconfig --enable-applib --enable-cmdlib"
+ (stdenv.lib.optionalString enable_dmeventd " --enable-dmeventd")
;
buildInputs = [ pkgconfig udev ];
2012-08-16 20:36:25 +01:00
preConfigure =
''
substituteInPlace scripts/lvmdump.sh \
--replace /usr/bin/tr ${coreutils}/bin/tr
substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
--replace /usr/sbin/lvm $out/sbin/lvm \
--replace /usr/bin/udevadm ${udev}/bin/udevadm
2013-09-19 13:19:10 +01:00
sed -i /DEFAULT_SYS_DIR/d Makefile.in
sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
2012-08-16 20:36:25 +01:00
'';
2014-04-15 17:02:07 +01:00
enableParallelBuilding = true;
2012-08-16 20:36:25 +01:00
#patches = [ ./purity.patch ];
# To prevent make install from failing.
preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\"";
2012-08-16 20:36:25 +01:00
# Install systemd stuff.
#installTargets = "install install_systemd_generators install_systemd_units install_tmpfiles_configuration";
postInstall =
''
substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \
--replace $out/sbin/blkid ${utillinux}/sbin/blkid
# Systemd stuff
mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators
cp scripts/blk_availability_systemd_red_hat.service $out/etc/systemd/system
cp scripts/lvm2_activation_generator_systemd_red_hat $out/lib/systemd/system-generators
2012-08-16 20:36:25 +01:00
'';
meta = {
homepage = http://sourceware.org/lvm2/;
descriptions = "Tools to support Logical Volume Management (LVM) on Linux";
platforms = stdenv.lib.platforms.linux;
2014-08-31 18:08:56 +01:00
maintainers = with stdenv.lib.maintainers; [raskin];
inherit version;
downloadPage = "ftp://sources.redhat.com/pub/lvm2/";
};
}