# Template file for 'libvirt' pkgname=libvirt version=7.0.0 revision=1 build_style=meson configure_args="-Dqemu_user=libvirt -Dqemu_group=libvirt -Drunstatedir=/run" hostmakedepends="automake dnsmasq docbook-xsl gettext gettext-devel iptables libapparmor-devel libtool libxslt lvm2 parted perl pkg-config python3-docutils rpcsvc-proto" makedepends="readline-devel libcap-ng-devel attr-devel gnutls-devel libsasl-devel libcurl-devel libpcap-devel libxml2-devel libparted-devel device-mapper-devel eudev-libudev-devel libblkid-devel libpciaccess-devel avahi-libs-devel polkit-devel yajl-devel jansson-devel python3-devel libssh2-devel fuse-devel libtirpc-devel libapparmor-devel" depends="iptables dnsmasq" short_desc="Virtualization API for controlling virtualization engines" maintainer="Helmut Pozimski " license="LGPL-2.1-or-later" homepage="https://libvirt.org" changelog="https://libvirt.org/news.html" distfiles="https://libvirt.org/sources/${pkgname}-${version}.tar.xz" checksum=ca3833844d08c22867f1d1a46edc36bda7d6fe1a4f267e7d77100b79fc9ddd89 # FIX https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701649 system_accounts="libvirt" libvirt_groups="disk,kvm" case "$XBPS_TARGET_MACHINE" in i686*) makedepends+=" libnuma-devel" ;; x86_64*) makedepends+=" libnuma-devel xen-devel" ;; *) ;; esac case "$XBPS_TARGET_MACHINE" in *-musl) ;; *) # LTO apparently causes the linker to confuse the glibc symbol # xdr_int64_t with that provided by libtirpc, causing a crash. # https://gitlab.com/libvirt/libvirt/-/issues/92 configure_args+=" -Db_lto=false" ;; esac conf_files=" /etc/libvirt/nwfilter/*.xml /etc/libvirt/qemu/networks/*.xml /etc/libvirt/*.conf" make_dirs=" /var/lib/libvirt/uml 0755 root root /var/lib/libvirt/qemu/nvram 0755 root root /var/lib/libvirt/qemu/channel/target 0755 root root /var/lib/libvirt/network 0755 root root /var/lib/libvirt/lxc 0755 root root /var/lib/libvirt/lockd/files 0755 root root /var/lib/libvirt/libxl 0755 root root /var/lib/libvirt/images 0755 root root /var/lib/libvirt/filesystems 0755 root root /var/lib/libvirt/dnsmasq 0755 root root /var/libvirt/boot 0755 root root /var/cache/libvirt/qemu 0755 root root" post_patch() { # Upstream doesn't want to accept this patch from Alpine, but libvirt # is broken on musl without it, so apply it only for musl if [ "$XBPS_TARGET_LIBC" = "musl" ]; then patch -Np0 < ${FILESDIR}/musl-fork-nofree.patch fi } pre_build() { ninja -C build \ src/remote/qemu_protocol.h \ src/remote/remote_protocol.h } post_install() { # runit services vsv libvirtd vsv virtlockd vsv virtlogd rm -rf ${DESTDIR}/etc/sysconfig # Remove unused stuff. rm -rf ${DESTDIR}/var/log # workaround for musl not providing an utmpx implementation if [ "$XBPS_TARGET_LIBC" = "musl" ]; then echo "remember_owner = 0" >> ${DESTDIR}/etc/libvirt/qemu.conf fi } libvirt-devel_package() { depends="libvirt>=${version}_${revision}" short_desc+=" - development files" pkg_install() { vmove usr/include vmove usr/lib/pkgconfig vmove "usr/lib/*.so" vmove usr/share/doc } }