1{ stdenv, fetchurl, pkgconfig, udev, utillinux, coreutils, enable_dmeventd ? false }:
2
3let
4 version = "2.02.132";
5in
6
7stdenv.mkDerivation {
8 name = "lvm2-${version}";
9
10 src = fetchurl {
11 url = "ftp://sources.redhat.com/pub/lvm2/releases/LVM2.${version}.tgz";
12 sha256 = "0ac8izssflj371zzar16965zlia6a6zd97i0n00jxfxssnfa0fj1";
13 };
14
15 configureFlags = [
16 "--disable-readline"
17 "--enable-udev_rules"
18 "--enable-udev_sync"
19 "--enable-pkgconfig"
20 "--enable-applib"
21 "--enable-cmdlib"
22 ] ++ stdenv.lib.optional enable_dmeventd " --enable-dmeventd";
23
24 nativeBuildInputs = [ pkgconfig ];
25 buildInputs = [ udev ];
26
27 preConfigure =
28 ''
29 substituteInPlace scripts/lvmdump.sh \
30 --replace /usr/bin/tr ${coreutils}/bin/tr
31 substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
32 --replace /usr/sbin/lvm $out/sbin/lvm \
33 --replace /usr/bin/udevadm ${udev}/bin/udevadm
34
35 sed -i /DEFAULT_SYS_DIR/d Makefile.in
36 sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
37 '';
38
39 enableParallelBuilding = true;
40
41 #patches = [ ./purity.patch ];
42
43 # To prevent make install from failing.
44 preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\"";
45
46 # Install systemd stuff.
47 #installTargets = "install install_systemd_generators install_systemd_units install_tmpfiles_configuration";
48
49 postInstall =
50 ''
51 substituteInPlace $out/lib/udev/rules.d/13-dm-disk.rules \
52 --replace $out/sbin/blkid ${utillinux}/sbin/blkid
53
54 # Systemd stuff
55 mkdir -p $out/etc/systemd/system $out/lib/systemd/system-generators
56 cp scripts/blk_availability_systemd_red_hat.service $out/etc/systemd/system
57 cp scripts/lvm2_activation_generator_systemd_red_hat $out/lib/systemd/system-generators
58 '';
59
60 meta = {
61 homepage = http://sourceware.org/lvm2/;
62 descriptions = "Tools to support Logical Volume Management (LVM) on Linux";
63 platforms = stdenv.lib.platforms.linux;
64 maintainers = with stdenv.lib.maintainers; [raskin];
65 inherit version;
66 downloadPage = "ftp://sources.redhat.com/pub/lvm2/";
67 };
68}