at v192 2.0 kB view raw
1{ stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python 2, iproute, iptables, readline, lvm2, utillinux, udev, libpciaccess, gettext 3, libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng 4, dnsmasq, libnl, libpcap, libxslt, xhtml1 5, pythonPackages, perlPackages 6}: 7 8let version = "1.2.19"; in 9 10assert version == pythonPackages.libvirt.version; 11 12stdenv.mkDerivation rec { 13 name = "libvirt-${version}"; 14 15 src = fetchurl { 16 url = "http://libvirt.org/sources/${name}.tar.gz"; 17 sha256 = "0vnxmqf04frrj18lrvq7wc70wh179d382py14006879k0cgi8b18"; 18 }; 19 20 buildInputs = [ 21 pkgconfig libxml2 gnutls devicemapper perl python readline lvm2 22 utillinux udev libpciaccess gettext libtasn1 libgcrypt yajl makeWrapper 23 libcap_ng libnl libxslt xhtml1 perlPackages.XMLXPath 24 ]; 25 26 preConfigure = '' 27 PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${udev}/sbin:${dnsmasq}/bin:$PATH 28 patchShebangs . # fixes /usr/bin/python references 29 ''; 30 31 configureFlags = [ 32 "--localstatedir=/var" 33 "--sysconfdir=/etc" 34 "--with-init-script=redhat" 35 "--with-macvtap" 36 "--with-virtualport" 37 "--with-libpcap" 38 ]; 39 40 installFlags = [ 41 "localstatedir=$(TMPDIR)/var" 42 "sysconfdir=$(out)/etc" 43 ]; 44 45 postInstall = '' 46 sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}/' $out/libexec/libvirt-guests.sh 47 substituteInPlace $out/libexec/libvirt-guests.sh \ 48 --replace "$out/bin" "${gettext}/bin" 49 wrapProgram $out/sbin/libvirtd \ 50 --prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin 51 ''; 52 53 enableParallelBuilding = true; 54 55 NIX_CFLAGS_COMPILE = "-fno-stack-protector"; 56 57 meta = with stdenv.lib; { 58 homepage = http://libvirt.org/; 59 repositories.git = git://libvirt.org/libvirt.git; 60 description = '' 61 A toolkit to interact with the virtualization capabilities of recent 62 versions of Linux (and other OSes) 63 ''; 64 license = licenses.lgpl2Plus; 65 platforms = platforms.linux; 66 }; 67}