Files
haikuports/app-emulation/libvirt/libvirt-8.10.0.recipe
2022-12-14 01:28:01 +03:00

154 lines
5.0 KiB
Bash

SUMMARY="An API for virtualization"
DESCRIPTION="Libvirt provides a portable, long term stable C API for managing \
the virtualization technologies provided by many operating systems. It \
includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter \
and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
For some of these hypervisors, it provides a stateful management daemon which \
runs on the virtualization host allowing access to the API both by \
non-privileged local users and remote users.
Layered packages provide bindings of the libvirt C API into other languages \
including Python, Perl, PHP, Go, Java, OCaml, as well as mappings into object \
systems such as GObject, CIM and SNMP."
HOMEPAGE="https://libvirt.org/"
COPYRIGHT="2005-2022 Daniel Veillard"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://github.com/libvirt/libvirt/archive/refs/tags/v$portVersion.tar.gz"
CHECKSUM_SHA256="7a5ddc97a3e0e534259b90dcdf24209ce4923a671c7c3fae7f47b1cda27ef81a"
SOURCE_DIR="$portVersionedName"
SOURCE_URI_2="https://github.com/qemu/keycodemapdb/archive/e15649b83a78f89f57205927022115536d2c1698.zip"
CHECKSUM_SHA256_2="9567575d03438ae7c05352771522fa200e26a4d658b3b6d4b7c1235634bcce37"
PATCHES="libvirt-$portVersion.patchset"
ARCHITECTURES="all"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
GLOBAL_WRITABLE_FILES="
settings/libvirt/libvirt-admin.conf auto-merge
settings/libvirt/libvirt.conf auto-merge
settings/libvirt/libvirtd.conf auto-merge
settings/libvirt/qemu/networks/autostart/default.xml auto-merge
settings/libvirt/qemu/networks/default.xml auto-merge
settings/libvirt/qemu-lockd.conf auto-merge
settings/libvirt/qemu.conf auto-merge
settings/libvirt/virtlockd.conf auto-merge
settings/libvirt/virtlogd.conf auto-merge
settings/libvirt/virtnetworkd.conf auto-merge
settings/libvirt/virtproxyd.conf auto-merge
settings/libvirt/virtqemud.conf auto-merge
settings/libvirt/virtsecretd.conf auto-merge
settings/libvirt/virtstoraged.conf auto-merge
settings/libvirt/virtvboxd.conf auto-merge
settings/logrotate.d/libvirtd auto-merge
settings/logrotate.d/libvirtd.libxl auto-merge
settings/logrotate.d/libvirtd.lxc auto-merge
settings/logrotate.d/libvirtd.qemu auto-merge
"
PROVIDES="
libvirt$secondaryArchSuffix = $portVersion
lib:libvirt$secondaryArchSuffix = $portVersion
cmd:libvirtd$secondaryArchSuffix
cmd:virsh$secondaryArchSuffix
cmd:virt_admin$secondaryArchSuffix
cmd:virt_qemu_qmp_proxy$secondaryArchSuffix
cmd:virt_qemu_run$secondaryArchSuffix
cmd:virt_qemu_sev_validate$secondaryArchSuffix
cmd:virt_host_validate$secondaryArchSuffix
cmd:virt_pki_query_dn$secondaryArchSuffix
cmd:virt_pki_validate$secondaryArchSuffix
cmd:virt_ssh_helper$secondaryArchSuffix
cmd:virt_xml_validate$secondaryArchSuffix
cmd:virtlockd$secondaryArchSuffix
cmd:virtlogd$secondaryArchSuffix
cmd:virtnetworkd$secondaryArchSuffix
cmd:virtproxyd$secondaryArchSuffix
cmd:virtqemud$secondaryArchSuffix
cmd:virtsecretd$secondaryArchSuffix
cmd:virtstoraged$secondaryArchSuffix
cmd:virtvboxd$secondaryArchSuffix
lib:libvirt_admin$secondaryArchSuffix
lib:libvirt_lxc$secondaryArchSuffix
lib:libvirt_qemu$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgnutls$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libssh2$secondaryArchSuffix
lib:libtirpc$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libyajl$secondaryArchSuffix
"
PROVIDES_devel="
libvirt${secondaryArchSuffix}_devel = $portVersion
devel:libvirt$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
libvirt$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgnutls$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
devel:libssh2$secondaryArchSuffix
devel:libtasn1$secondaryArchSuffix
devel:libtirpc$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libyajl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:gcc$secondaryArchSuffix
cmd:git
cmd:make
cmd:meson
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
cmd:rpcgen
cmd:xsltproc
"
BUILD()
{
rm -rf src/keycodemapdb/*
cp -r /sources-2/keycodemapdb*/* src/keycodemapdb
chmod +x src/keycodemapdb/tools/keymap-gen
export CFLAGS="-DB_USE_POSITIVE_POSIX_ERRORS -D_BSD_SOURCE"
export LDFLAGS="-lposix_error_mapper -lnetwork -lbsd"
meson build --buildtype=release \
--prefix=$prefix --libdir=$libDir --datadir=$dataDir --bindir=$binDir\
--includedir=$includeDir --sysconfdir=$settingsDir --sbindir=$binDir \
--libexecdir=$libDir --localedir=$dataDir/locale \
-Dwerror=false -Dgit_werror=disabled -Ddocs=disabled -Dtests=disabled
}
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs libvirt
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
cd build
meson test
}