nixpkgs/pkgs/development/libraries/libvirt/default.nix
Eelco Dolstra 8844b1545a * Libvirt keeps state (such as information about running VMs) in
$(sysconfdir).  So this needs to be /etc rather than $out/etc.  No
  wonder libvirt forgot about my VMs every time it got upgraded...
  (I guess it should really be /var, but that's upstream's decision.)

svn path=/nixpkgs/branches/modular-python/; revision=26643
2011-03-31 22:09:07 +00:00

42 lines
1.2 KiB
Nix

{ stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext
, libtasn1, ebtables
}:
let version = "0.9.0-rc2"; in
stdenv.mkDerivation {
name = "libvirt-${version}";
src = fetchurl {
url = "http://libvirt.org/sources/libvirt-${version}.tar.gz";
sha256 = "1blfx5rh8in5qn91944fz1mxv8jyigac4br8qmh7hvrw3wj2wrl9";
};
buildInputs =
[ pkgconfig libxml2 gnutls devicemapper perl python readline lvm2
utillinux udev libpciaccess gettext libtasn1
];
preConfigure =
''
PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:$PATH
'';
configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-init-script=redhat";
installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc";
postInstall =
''
substituteInPlace $out/etc/rc.d/init.d/libvirt-guests \
--replace "$out/bin" "${gettext}/bin"
'';
meta = {
homepage = http://libvirt.org/;
description = "A toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes)";
license = "LGPLv2+";
platforms = stdenv.lib.platforms.linux;
};
}