diff options
author | volth <volth@volth.com> | 2018-02-26 22:50:46 +0000 |
---|---|---|
committer | volth <volth@volth.com> | 2018-03-08 23:45:28 +0000 |
commit | 632e9e62c817bdaa163510429625b5f48b6a18e4 (patch) | |
tree | 568250ae75b858c0a0e920c93309f51efe55ba03 /pkgs/development/libraries/libvirt | |
parent | 62bcd3b02e003f1bf100597c05c4c5a5c4e269cb (diff) | |
download | nixlib-632e9e62c817bdaa163510429625b5f48b6a18e4.tar nixlib-632e9e62c817bdaa163510429625b5f48b6a18e4.tar.gz nixlib-632e9e62c817bdaa163510429625b5f48b6a18e4.tar.bz2 nixlib-632e9e62c817bdaa163510429625b5f48b6a18e4.tar.lz nixlib-632e9e62c817bdaa163510429625b5f48b6a18e4.tar.xz nixlib-632e9e62c817bdaa163510429625b5f48b6a18e4.tar.zst nixlib-632e9e62c817bdaa163510429625b5f48b6a18e4.zip |
libvirt: 3.10.0 -> 4.1.0
Diffstat (limited to 'pkgs/development/libraries/libvirt')
-rw-r--r-- | pkgs/development/libraries/libvirt/build-on-bsd.patch | 58 | ||||
-rw-r--r-- | pkgs/development/libraries/libvirt/default.nix | 61 |
2 files changed, 36 insertions, 83 deletions
diff --git a/pkgs/development/libraries/libvirt/build-on-bsd.patch b/pkgs/development/libraries/libvirt/build-on-bsd.patch deleted file mode 100644 index 830f0f30ff9b..000000000000 --- a/pkgs/development/libraries/libvirt/build-on-bsd.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -Naur libvirt-1.3.0.orig/src/admin/admin_protocol.c libvirt-1.3.0/src/admin/admin_protocol.c ---- libvirt-1.3.0.orig/src/admin/admin_protocol.c 2015-12-02 16:17:07.000000000 +0100 -+++ libvirt-1.3.0/src/admin/admin_protocol.c 2016-01-04 17:57:10.043412857 +0100 -@@ -6,6 +6,25 @@ - - #include "admin_protocol.h" - -+/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t -+ * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32 -+ */ -+#ifdef HAVE_XDR_U_INT64_T -+# define xdr_uint64_t xdr_u_int64_t -+#endif -+#ifndef IXDR_PUT_INT32 -+# define IXDR_PUT_INT32 IXDR_PUT_LONG -+#endif -+#ifndef IXDR_GET_INT32 -+# define IXDR_GET_INT32 IXDR_GET_LONG -+#endif -+#ifndef IXDR_PUT_U_INT32 -+# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG -+#endif -+#ifndef IXDR_GET_U_INT32 -+# define IXDR_GET_U_INT32 IXDR_GET_U_LONG -+#endif -+ - bool_t - xdr_admin_nonnull_string (XDR *xdrs, admin_nonnull_string *objp) - { -diff -Naur libvirt-1.3.0.orig/src/logging/log_protocol.c libvirt-1.3.0/src/logging/log_protocol.c ---- libvirt-1.3.0.orig/src/logging/log_protocol.c 2015-12-08 13:07:35.000000000 +0100 -+++ libvirt-1.3.0/src/logging/log_protocol.c 2016-01-04 17:56:50.673463563 +0100 -@@ -7,6 +7,25 @@ - #include "log_protocol.h" - #include "internal.h" - -+/* cygwin's xdr implementation defines xdr_u_int64_t instead of xdr_uint64_t -+ * and lacks IXDR_PUT_INT32 and IXDR_GET_INT32 -+ */ -+#ifdef HAVE_XDR_U_INT64_T -+# define xdr_uint64_t xdr_u_int64_t -+#endif -+#ifndef IXDR_PUT_INT32 -+# define IXDR_PUT_INT32 IXDR_PUT_LONG -+#endif -+#ifndef IXDR_GET_INT32 -+# define IXDR_GET_INT32 IXDR_GET_LONG -+#endif -+#ifndef IXDR_PUT_U_INT32 -+# define IXDR_PUT_U_INT32 IXDR_PUT_U_LONG -+#endif -+#ifndef IXDR_GET_U_INT32 -+# define IXDR_GET_U_INT32 IXDR_GET_U_LONG -+#endif -+ - bool_t - xdr_virLogManagerProtocolUUID (XDR *xdrs, virLogManagerProtocolUUID objp) - { diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix index 2dbf80e71f77..98af04a5ec21 100644 --- a/pkgs/development/libraries/libvirt/default.nix +++ b/pkgs/development/libraries/libvirt/default.nix @@ -1,30 +1,41 @@ -{ stdenv, fetchurl, fetchpatch -, pkgconfig, makeWrapper +{ stdenv, fetchurl, fetchgit +, pkgconfig, makeWrapper, libtool, autoconf, automake , coreutils, libxml2, gnutls, devicemapper, perl, python2, attr , iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages -, curl, libiconv, gmp, xen, zfs, parted +, curl, libiconv, gmp, xen, zfs, parted, bridge-utils, dmidecode }: with stdenv.lib; -# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> or it will break -stdenv.mkDerivation rec { +# if you update, also bump <nixpkgs/pkgs/development/python-modules/libvirt/default.nix> and SysVirt in <nixpkgs/pkgs/top-level/perl-packages.nix> +let + buildFromTarball = false; +in stdenv.mkDerivation rec { name = "libvirt-${version}"; - version = "3.10.0"; + version = "4.1.0"; - src = fetchurl { - url = "http://libvirt.org/sources/${name}.tar.xz"; - sha256 = "03kb37iv3dvvdlslznlc0njvjpmq082lczmsslz5p4fcwb50kwfz"; - }; - - patches = [ ./build-on-bsd.patch ]; + src = + if buildFromTarball then + fetchurl { + url = "http://libvirt.org/sources/${name}.tar.xz"; + sha256 = "0fb466mcma21hsxx3cckllbr9hhncpbwim5px1mr66iidy1a8bwa"; + } + else + fetchgit { + url = git://libvirt.org/libvirt.git; + rev = "v${version}"; + sha256 = "01021r7i71dw9w7ffp6ia8h70ns6bc0ps5np0hq9nipxs68finm6"; + fetchSubmodules = true; + }; nativeBuildInputs = [ makeWrapper pkgconfig ]; buildInputs = [ libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl libxslt xhtml1 perlPackages.XMLXPath curl libpcap + ] ++ optionals (!buildFromTarball) [ + libtool autoconf automake ] ++ optionals stdenv.isLinux [ libpciaccess devicemapper lvm2 utillinux systemd libnl numad zfs libapparmor libcap_ng numactl attr parted @@ -34,17 +45,16 @@ stdenv.mkDerivation rec { libiconv gmp ]; - preConfigure = optionalString stdenv.isLinux '' - PATH=${stdenv.lib.makeBinPath [ iproute iptables ebtables lvm2 systemd ]}:$PATH - substituteInPlace configure \ - --replace 'as_dummy="/bin:/usr/bin:/usr/sbin"' 'as_dummy="${numad}/bin"' + preConfigure = '' + ${ optionalString (!buildFromTarball) "./bootstrap --no-git --gnulib-srcdir=$(pwd)/.gnulib" } + + PATH=${stdenv.lib.makeBinPath [ iproute iptables ebtables lvm2 systemd numad dnsmasq ]}:$PATH # 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 substituteInPlace src/lxc/lxc_conf.c \ --replace 'lxc_path,' '"/run/libvirt/nix-emulators/libvirt_lxc",' - '' + '' - PATH=${dnsmasq}/bin:$PATH + patchShebangs . # fixes /usr/bin/python references ''; @@ -78,18 +88,19 @@ stdenv.mkDerivation rec { ]; 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" \ - --replace "lock/subsys" "lock" - sed -e "/gettext\.sh/a \\\n# Added in nixpkgs:\ngettext() { \"${gettext}/bin/gettext\" \"\$@\"; }" \ - -i "$out/libexec/libvirt-guests.sh" - + --replace 'ON_SHUTDOWN=suspend' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \ + --replace "$out/bin" '${gettext}/bin' \ + --replace 'lock/subsys' 'lock' \ + --replace 'gettext.sh' 'gettext.sh + # Added in nixpkgs: + gettext() { "${gettext}/bin/gettext" "$@"; } + ' '' + optionalString stdenv.isLinux '' substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill rm $out/lib/systemd/system/{virtlockd,virtlogd}.* wrapProgram $out/sbin/libvirtd \ - --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath [ iptables iproute pmutils numad numactl ]} + --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath [ iptables iproute pmutils numad numactl bridge-utils dmidecode dnsmasq ebtables ]} ''; enableParallelBuilding = true; |