libvirt: 6.6.0 -> 6.8.0

This commit is contained in:
Matthieu Coudron 2020-11-10 14:18:52 +01:00 committed by Jonathan Ringer
parent 805108e6cf
commit cc29c62867
2 changed files with 53 additions and 53 deletions

View File

@ -5,6 +5,7 @@
, libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
, dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
, curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, dbus, libtirpc, rpcsvc-proto, darwin , curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode, dbus, libtirpc, rpcsvc-proto, darwin
, meson, ninja, audit, cmake, bash-completion, pkg-config
, enableXen ? false, xen ? null , enableXen ? false, xen ? null
, enableIscsi ? false, openiscsi , enableIscsi ? false, openiscsi
, enableCeph ? false, ceph , enableCeph ? false, ceph
@ -17,26 +18,24 @@ let
buildFromTarball = stdenv.isDarwin; buildFromTarball = stdenv.isDarwin;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "libvirt"; pname = "libvirt";
version = "6.6.0"; version = "6.8.0";
src = src =
if buildFromTarball then if buildFromTarball then
fetchurl { fetchurl {
url = "https://libvirt.org/sources/${pname}-${version}.tar.xz"; url = "https://libvirt.org/sources/${pname}-${version}.tar.xz";
sha256 = "1y8y13zvh820f4b15287wb77wq7ra7kbfnpblzhm1dki5pfjvrcl"; sha256 = "0hhk2r0dnm9zmfwmnsnmnacm4pik6z60llp22axx7kcpqxv98nv5";
} }
else else
fetchgit { fetchgit {
url = "https://gitlab.com/libvirt/libvirt.git"; url = "https://gitlab.com/libvirt/libvirt.git";
rev = "v${version}"; rev = "v${version}";
sha256 = "09hsbm2qmx0jfmm418rf5lx374g85bwgg0kzlga62x5180jhsssn"; sha256 = "sha256-BQZPdmDE0g7xWd6QOHMKosP2HgVpIjsfgfohA9VxEHs=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper pkgconfig docutils ninja meson cmake makeWrapper pkgconfig docutils
] ++ optionals (!buildFromTarball) [
autoreconfHook
] ++ optional (!stdenv.isDarwin) [ ] ++ optional (!stdenv.isDarwin) [
rpcsvc-proto rpcsvc-proto
] ++ optionals stdenv.isDarwin [ ] ++ optionals stdenv.isDarwin [
@ -44,10 +43,11 @@ in stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
bash-completion pkg-config
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
libpciaccess lvm2 util-linux systemd libnl numad zfs audit libpciaccess lvm2 utillinux systemd libnl numad zfs
libapparmor libcap_ng numactl attr parted libtirpc libapparmor libcap_ng numactl attr parted libtirpc
] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [ ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [
xen xen
@ -59,58 +59,58 @@ in stdenv.mkDerivation rec {
libiconv gmp libiconv gmp
]; ];
preConfigure = '' preConfigure = let
overrides = {
QEMU_BRIDGE_HELPER = "/run/wrappers/bin/qemu-bridge-helper";
QEMU_PR_HELPER="/run/libvirt/nix-helpers/qemu-pr-helper";
EBTABLES_PATH ="${ebtables}/bin/ebtables-legacy";
# "CFLAGS"=-I${libtirpc.dev}/include/tirpc";
};
patchBuilder = var: value: ''
sed -i meson.build -e "s|conf.set_quoted('${var}',.*|conf.set_quoted('${var}','${value}')|"
'';
in ''
PATH=${stdenv.lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute iptables ebtables lvm2 systemd numad ] ++ optionals enableIscsi [ openiscsi ])}:$PATH PATH=${stdenv.lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute iptables ebtables lvm2 systemd numad ] ++ optionals enableIscsi [ openiscsi ])}:$PATH
# the path to qemu-kvm will be stored in VM's .xml and .save files # the path to qemu-kvm will be stored in VM's .xml and .save files
# do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
substituteInPlace src/lxc/lxc_conf.c \ substituteInPlace src/lxc/lxc_conf.c \
--replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",' --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",'
patchShebangs . # fixes /usr/bin/python references patchShebangs . # fixes /usr/bin/python references
mkdir -p build && cd build ''
''; #"QEMU_BRIDGE_HELPER" "/run/wrappers/bin/qemu-bridge-helper"
+ (stdenv.lib.concatStringsSep "\n" (stdenv.lib.mapAttrsToList patchBuilder overrides))
configureScript = "../configure"; ;
mesonAutoFeatures = "auto";
dontAddDisableDepTrack = true; mesonFlags = let
opt = option: enable: "-D${option}=${if enable then "enabled" else "disabled"}";
configureFlags = [ in [
"--with-runstatedir=/run" # TODO: remove when autoconf 2.70 is released # "localstatedir=$(TMPDIR)/var"
"--localstatedir=/var" # "sysconfdir=$(out)/var/lib"
"--sysconfdir=/var/lib" "-Drunstatedir=/run"
"--with-libpcap" # "-Dlocalstatedir=$(TMPDIR)/var"
"--with-qemu" "-Dsysconfdir=$(out)/var/lib"
"--with-vmware" "-Dlibpcap=enabled"
"--with-vbox" "-Ddriver_qemu=enabled"
"--with-test" "-Ddriver_vmware=enabled"
"--with-esx" "-Ddriver_vbox=enabled"
"--with-remote" "-Ddriver_test=enabled"
"--with-polkit" "-Ddriver_esx=enabled"
"-Ddriver_remote=enabled"
"-Dpolkit=enabled"
# "-Dbus=enabled"
(opt "storage_iscsi" enableIscsi)
] ++ optionals stdenv.isLinux [ ] ++ optionals stdenv.isLinux [
"QEMU_BRIDGE_HELPER=/run/wrappers/bin/qemu-bridge-helper" (opt "storage_zfs" (zfs != null))
"QEMU_PR_HELPER=/run/libvirt/nix-helpers/qemu-pr-helper" "-Dattr=enabled"
"EBTABLES_PATH=${ebtables}/bin/ebtables-legacy" "-Dapparmor=enabled"
"CFLAGS=-I${libtirpc.dev}/include/tirpc" "-Dsecdriver_apparmor=enabled"
"--with-attr" "-Dnumad=enabled"
"--with-apparmor" "-Dmacvtap=enabled"
"--with-secdriver-apparmor" "-Dvirtualport=enabled"
"--with-numad" "-Dstorage_disk=enabled"
"--with-macvtap" (opt "storage_rbd" enableCeph)
"--with-virtualport"
"--with-storage-disk"
] ++ optionals (stdenv.isLinux && zfs != null) [
"--with-storage-zfs"
] ++ optionals enableIscsi [
"--with-storage-iscsi"
] ++ optionals enableCeph [
"--with-storage-rbd"
] ++ optionals stdenv.isDarwin [ ] ++ optionals stdenv.isDarwin [
"--with-init-script=none" "-Dinit_script=none"
];
installFlags = [
"runstatedir=${placeholder "out"}/run"
"localstatedir=$(TMPDIR)/var"
"sysconfdir=$(out)/var/lib"
]; ];
postInstall = let postInstall = let

View File

@ -2,13 +2,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "libvirt"; pname = "libvirt";
version = "6.6.0"; version = "6.8.0";
src = assert version == libvirt.version; fetchFromGitLab { src = assert version == libvirt.version; fetchFromGitLab {
owner = "libvirt"; owner = "libvirt";
repo = "libvirt-python"; repo = "libvirt-python";
rev = "v${version}"; rev = "v${version}";
sha256 = "0jj6b2nlx7qldwbvixz74abn3p0sq4lkf6ak74vynrv5xvlycb9v"; sha256 = "sha256-A3eRfzQAfubyPefDlq5bAiFJ/G90D2JKdJO2Em0wE00=";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];