f9f6f41bff
TODO: there was more significant refactoring of qtbase and plasma 5.5 on master, and I'm deferring pointing to correct outputs to later.
83 lines
2.6 KiB
Nix
83 lines
2.6 KiB
Nix
{ stdenv, fetchurl, pkgconfig, libxml2, gnutls, devicemapper, perl, python
|
|
, iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
|
|
, libtasn1, ebtables, libgcrypt, yajl, makeWrapper, pmutils, libcap_ng
|
|
, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
|
|
, curl, libiconv, gmp, xen
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "libvirt-${version}";
|
|
version = "1.2.19";
|
|
|
|
src = fetchurl {
|
|
url = "http://libvirt.org/sources/${name}.tar.gz";
|
|
sha256 = "0vnxmqf04frrj18lrvq7wc70wh179d382py14006879k0cgi8b18";
|
|
};
|
|
|
|
buildInputs = [
|
|
pkgconfig libxml2 gnutls perl python readline
|
|
gettext libtasn1 libgcrypt yajl makeWrapper
|
|
libxslt xhtml1 perlPackages.XMLXPath curl libpcap
|
|
] ++ stdenv.lib.optionals stdenv.isLinux [
|
|
libpciaccess devicemapper lvm2 utillinux systemd.udev.lib libcap_ng
|
|
libnl numad numactl xen
|
|
] ++ stdenv.lib.optionals stdenv.isDarwin [
|
|
libiconv gmp
|
|
];
|
|
|
|
preConfigure = stdenv.lib.optionalString stdenv.isLinux ''
|
|
PATH=${iproute}/sbin:${iptables}/sbin:${ebtables}/sbin:${lvm2}/sbin:${systemd.udev.bin}/bin:$PATH
|
|
substituteInPlace configure --replace 'as_dummy="/bin:/usr/bin:/usr/sbin"' 'as_dummy="${numad}/bin"'
|
|
'' + ''
|
|
PATH=${dnsmasq}/bin:$PATH
|
|
patchShebangs . # fixes /usr/bin/python references
|
|
'';
|
|
|
|
configureFlags = [
|
|
"--localstatedir=/var"
|
|
"--sysconfdir=/etc"
|
|
"--with-libpcap"
|
|
"--with-vmware"
|
|
"--with-vbox"
|
|
"--with-test"
|
|
"--with-esx"
|
|
"--with-remote"
|
|
] ++ stdenv.lib.optionals stdenv.isLinux [
|
|
"--with-numad"
|
|
"--with-macvtap"
|
|
"--with-virtualport"
|
|
"--with-init-script=redhat"
|
|
] ++ stdenv.lib.optionals stdenv.isDarwin [
|
|
"--with-init-script=none"
|
|
];
|
|
|
|
installFlags = [
|
|
"localstatedir=$(TMPDIR)/var"
|
|
"sysconfdir=$(out)/etc"
|
|
];
|
|
|
|
postInstall = ''
|
|
sed -i 's/ON_SHUTDOWN=suspend/ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}/' $out/libexec/libvirt-guests.sh
|
|
substituteInPlace $out/libexec/libvirt-guests.sh \
|
|
--replace "$out/bin" "${gettext}/bin"
|
|
'' + stdenv.lib.optionalString stdenv.isLinux ''
|
|
wrapProgram $out/sbin/libvirtd \
|
|
--prefix PATH : ${iptables}/sbin:${iproute}/sbin:${pmutils}/bin:${numad}/bin:${numactl}/bin
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
NIX_CFLAGS_COMPILE = "-fno-stack-protector";
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = http://libvirt.org/;
|
|
repositories.git = git://libvirt.org/libvirt.git;
|
|
description = ''
|
|
A toolkit to interact with the virtualization capabilities of recent
|
|
versions of Linux (and other OSes)
|
|
'';
|
|
license = licenses.lgpl2Plus;
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|