# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=6 PYTHON_COMPAT=( python2_7 ) inherit eutils multilib python-single-r1 versionator toolchain-funcs MY_PV="${PV/beta/BETA}" MY_PV="${MY_PV/rc/RC}" MY_P=VirtualBox-${MY_PV} DESCRIPTION="VirtualBox X11 video driver for Gentoo guest" HOMEPAGE="http://www.virtualbox.org/" SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="dri" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND=" /dev/null || die MAKE="kmk" \ emake TOOL_YASM_AS=yasm \ VBOX_USE_SYSTEM_XORG_HEADERS=1 \ KBUILD_PATH="${S}/kBuild" \ KBUILD_VERBOSE=2 popd &>/dev/null || die done if use dri; then local objdir="out/linux.${ARCH}/release/obj/vboxvideo_drm" # We need a Makefile, so use Makefile.module.kms ln -s Makefile.module.kms "${MODULES_SRC_DIR}"/Makefile || die # All of these are expected to be in $(KBUILD_EXTMOD)/ so symlink them into place targets=( include src/VBox/Runtime/r0drv src/VBox/Installer/linux/Makefile.include.{head,foot}er out/linux.${ARCH}/release/{product,version,revision}-generated.h ) for each in ${targets[@]} ; do ln -s "${S}"/${each} \ "${MODULES_SRC_DIR}"/${each##*/} || die done # see the vboxvideo_drm_SOURCES list in Makefile.kmk for the below, # and replace '..' with 'dt' targets=( dt/dt/common/VBoxVideo/HGSMIBase.o dt/dt/common/VBoxVideo/Modesetting.o dt/dt/common/VBoxVideo/VBVABase.o dt/dt/dt/GuestHost/HGSMI/HGSMICommon.o dt/dt/dt/GuestHost/HGSMI/HGSMIMemAlloc.o dt/dt/dt/Runtime/common/alloc/heapoffset.o ) for each in ${targets[@]} ; do ln -s "${S}"/${objdir}/${each} \ "${MODULES_SRC_DIR}" || die ln -s "${S}"/${objdir}/${each}.dep \ "${MODULES_SRC_DIR}" || die done fi } src_install() { cd "${S}/out/linux.${ARCH}/release/bin/additions" || die insinto /usr/$(get_libdir)/xorg/modules/drivers newins vboxvideo_drv_system.so vboxvideo_drv.so # Guest OpenGL driver insinto /usr/$(get_libdir) doins -r VBoxOGL* if use dri ; then dosym /usr/$(get_libdir)/VBoxOGL.so \ /usr/$(get_libdir)/dri/vboxvideo_dri.so fi } pkg_postinst() { elog "You need to edit the file /etc/X11/xorg.conf and set:" elog "" elog " Driver \"vboxvideo\"" elog "" elog "in the Graphics device section (Section \"Device\")" }