# Template file for 'xen'
pkgname=xen4.2
version=4.2.2
wrksrc=xen-${version}
revision=1
short_desc="Xen Hypervisor and Utilities (4.2.x series)"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://xen.org"
license="GPL-2"
distfiles="http://bits.xensource.com/oss-xen/release/$version/xen-$version.tar.gz"
checksum=c9bfe91a5e72f8545acebad9889d64368020359bfe18044c0e683133e55ae005
long_desc="
 This package provides the official Xen Hypervisor and related utilities
 for starting/stopping/accessing unprivileged domains (domUs)."

# Update this if support for ARM7 is added.
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"

if [ "${XBPS_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 -rf ${DESTDIR}/usr/share/qemu-xen
	rm -f ${DESTDIR}/boot/xen{,-4,-4.2}.gz
	rm -f ${DESTDIR}/usr/sbin/xen-python-path
	rm -f ${DESTDIR}/{install,COPYING,README,usr/lib/lib}
	rm -rf ${DESTDIR}/etc/udev

	# 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*
}

xen4.2-devel_package() {
	short_desc+=" - development files"
	provides="xen-devel-${version}_${revision}"
	replaces="xen-devel>=0"
	pkg_install() {
		vmove usr/include
		vmove "usr/lib/*.a"
	}
}

xen4.2_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
		xen-syms-${version}"
	pycompile_module="xen grub"
	depends="iproute2 bridge-utils"
	provides="xen-${version}_${revision}"
	replaces="xen>=0"
	pkg_install() {
		vmove all
	}
}
