# Template file for 'xen' pkgname=xen version=4.3.1 wrksrc=xen-${version} revision=2 short_desc="Xen utilities" maintainer="Juan RP " homepage="http://xen.org" license="GPL-2" distfiles="http://bits.xensource.com/oss-xen/release/$version/xen-$version.tar.gz" checksum=3b5b7cc508b1739753585b5c25635471cdcef680e8770a78bf6ef9333d26a9fd long_desc=" This package provides the official Xen Hypervisor and related utilities for starting/stopping/accessing unprivileged domains (domUs)." only_for_archs="i686 x86_64" hostmakedepends="which wget bison pkg-config" makedepends="lzo-devel openssl-devel e2fsprogs-devel zlib-devel gnutls-devel>=3.1.5 libbluetooth-devel pciutils-devel libX11-devel libXext-devel SDL-devel MesaLib-devel ncurses-devel liblzma-devel python-devel yajl-devel libuuid-devel libglib-devel iproute2 bridge-utils dev86 acpica-utils pixman-devel" if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then makedepends+=" gcc-multilib" fi do_configure() { unset CC LD AR AS RANLIB CPP CFLAGS CPPFLAGS LDFLAGS ./configure ${configure_args} } do_build() { if [ "${XBPS_MACHINE}" = "x86_64" ]; then install -d ${DESTDIR}/usr/lib cd ${DESTDIR}/usr ln -sf lib lib64 fi cd ${wrksrc} unset CC LD AR AS RANLIB CPP CFLAGS CPPFLAGS LDFLAGS make ${makejobs} DISTDIR=${wrksrc}/${pkgver}-distdir } do_install() { if [ "${XBPS_MACHINE}" = "x86_64" ]; then install -d ${DESTDIR}/usr/lib cd ${DESTDIR}/usr ln -sf lib lib64 cd ${wrksrc} fi unset CC LD AR AS RANLIB CPP CFLAGS CPPFLAGS LDFLAGS make DESTDIR=${DESTDIR} install # Move example config files into correct directory. vmkdir usr/share/examples/xen mv ${DESTDIR}/etc/xen/x*example* ${DESTDIR}/usr/share/examples/xen mv ${DESTDIR}/etc/xen/cpupool ${DESTDIR}/usr/share/examples/xen mv ${DESTDIR}/etc/init.d/xendomains ${DESTDIR}/etc/xen/scripts # Remove useless stuff. rm -rf ${DESTDIR}/etc/init.d ${DESTDIR}/usr/local rm -f ${DESTDIR}/install.sh ${DESTDIR}/usr/lib64 rm -rf ${DESTDIR}/usr/bin/qemu-*-xen rm -f ${DESTDIR}/boot/xen{,-4,-4.3}.gz rm -f ${DESTDIR}/usr/sbin/xen-python-path rm -f ${DESTDIR}/{install,COPYING,README,usr/lib/lib} rm -rf ${DESTDIR}/etc/udev rm -f ${DESTDIR}//usr/libexec/qemu-bridge-helper rm -rf ${DESTDIR}/usr/etc # Move bash-completion to the correct dir. vmkdir usr/share/bash-completion/completions mv ${DESTDIR}/etc/bash_completion.d/* \ ${DESTDIR}/usr/share/bash-completion/completions # Install systemd services. vmkdir usr/lib/systemd/system install -m644 ${FILESDIR}/*.{mount,service} ${DESTDIR}/usr/lib/systemd/system vmkdir usr/lib/modules-load.d install -m644 ${FILESDIR}/xen.conf ${DESTDIR}/usr/lib/modules-load.d install -Dm644 ${FILESDIR}/tmpfiles.d-xen.conf \ ${DESTDIR}/usr/lib/tmpfiles.d/xen.conf # Move bins to /usr/bin. mv ${DESTDIR}/usr/sbin/* ${DESTDIR}/usr/bin/ # Drop xen/xm stuff (obsolete). rm -f ${DESTDIR}/usr/bin/{xm,xend} rm -f ${DESTDIR}/etc/xen/*.{sxp,xml} rm -f ${DESTDIR}/usr/share/man/man5/{xmdomain.cfg,xend-config.sxp}.5 rm -f ${DESTDIR}/usr/share/man/man1/xm.1 rm -f ${DESTDIR}/usr/share/doc/xen/html/man/xm.1.html rm -f ${DESTDIR}/usr/share/doc/xen/html/man/{xmdomain.cfg,xend-config.sxp}.5.html rm -f ${DESTDIR}/usr/share/examples/xen/xmexample* } # This package is only generated on x86_64. if [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then xen-hypervisor_package() { short_desc="Xen Hypervisor" replaces="xen<4.3.1_2" nostrip_files="xen-syms-${version}" pkg_install() { vmove boot } } fi # !x86_64 xen-devel_package() { short_desc+=" - development files" depends="xen-libs>=${version}_${revision}" pkg_install() { vmove usr/include vmove "usr/lib/*.a" vmove "usr/lib/*.so" } } xen-libs_package() { short_desc+=" - runtime libraries" replaces="xen<4.3.1_2" pkg_install() { vmove "usr/lib/*.so.*" } } xen_package() { make_dirs=" /var/lib/xenstored 755 root root /var/lib/xen/xenpaging 755 root root /var/xen/dump 755 root root /etc/xen/auto 755 root root" conf_files=" /etc/default/xendomains /etc/default/xencommons /etc/xen/xl.conf" nostrip_files=" openbios-ppc openbios-sparc32 openbios-sparc64 palcode-clipper" pycompile_module="xen grub" depends="iproute2 bridge-utils xen-hypervisor" pkg_install() { vmove all } }