libvirt: 6.6.0 -> 6.8.0
This commit is contained in:
parent
805108e6cf
commit
cc29c62867
@ -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
|
||||||
|
@ -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 ];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user