From e1d696c11700dbd3307cadcf2d6c609eff5ff1bb Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 23 Jan 2017 23:35:02 +0000 Subject: update all virtualbox packages to 5.1.14 --- x11-drivers/xf86-video-virtualbox/Manifest | 2 +- .../files/xf86-video-virtualbox-3-localconfig | 30 +++ .../xf86-video-virtualbox-3-vboxvideo_drm.makefile | 240 +++++++++++++++++++++ .../xf86-video-virtualbox-3.2.8-mesa-check.patch | 36 ++++ .../xf86-video-virtualbox-4-makeself-check.patch | 10 + .../xf86-video-virtualbox-4-mkisofs-check.patch | 10 + ...o-virtualbox-4.3.8-vboxvideo_compilefixes.patch | 31 +++ ...deo-virtualbox-5.0.20-Makefile.module.kms.patch | 11 + .../xf86-video-virtualbox-5.1.14.ebuild | 182 ++++++++++++++++ .../xf86-video-virtualbox-5.1.8.ebuild | 188 ---------------- 10 files changed, 551 insertions(+), 189 deletions(-) create mode 100644 x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-localconfig create mode 100644 x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile create mode 100644 x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3.2.8-mesa-check.patch create mode 100644 x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-makeself-check.patch create mode 100644 x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-mkisofs-check.patch create mode 100644 x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4.3.8-vboxvideo_compilefixes.patch create mode 100644 x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.20-Makefile.module.kms.patch create mode 100644 x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.14.ebuild delete mode 100644 x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.8.ebuild (limited to 'x11-drivers/xf86-video-virtualbox') diff --git a/x11-drivers/xf86-video-virtualbox/Manifest b/x11-drivers/xf86-video-virtualbox/Manifest index c8bd71b8..0e370c01 100644 --- a/x11-drivers/xf86-video-virtualbox/Manifest +++ b/x11-drivers/xf86-video-virtualbox/Manifest @@ -1 +1 @@ -DIST VirtualBox-5.1.8.tar.bz2 114688166 SHA256 e447031de468aee746529b2cf60768922f9beff22a13c54284aa430f5e925933 SHA512 178299173ee0062e23aee779faa893a42815d17163eab9ba2ed8b46be63a7110fe1690792de21514dc05ccd5a1752ea0f11357220e0e6f91f101dea3416e819c WHIRLPOOL 20ea8d253d177fd11c4349656aaa0f87f0fb76018511b345e85800d4dd8ab1e2e05c300a1f932670e5f5fac6ea547bfaa0a52b8526c4f363358911c770444a81 +DIST VirtualBox-5.1.14.tar.bz2 115042132 SHA256 8267bb026717c6e55237eb798210767d9c703cfcdf01224d9bc26f7dac9f228a SHA512 ab0646c587fa1b573a9332ca0f1959660adc02f2ecf63ac808f4a7e3ceb9b2c58adab8e309aec4630ff7fa447f47d7487e7e8d0a1f718a42d39ce71e96067fae WHIRLPOOL 915b3ac0d50def86e92b662c7fe32e1390c9dab73efb9fc9595465c45818b86b4380be93a7075d17e33f9b70d92dbbbf6063ce0dad6448c9a592648a10f2409b diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-localconfig b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-localconfig new file mode 100644 index 00000000..535c3f91 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-localconfig @@ -0,0 +1,30 @@ +# -*- Makefile -*- +# +# Overwrite some default kBuild settings +# + +# +# Copyright (C) 2006-2008 Sun Microsystems, Inc. +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software Foundation, +# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE +# distribution. VirtualBox OSE is distributed in the hope that it will +# be useful, but WITHOUT ANY WARRANTY of any kind. +# + +# don't build testcases to save time, they are not needed for the package +VBOX_WITH_TESTCASES := +VBOX_WITH_TESTSUITE := + +KBUILD_MSG_STYLE := brief + +## paths, origin, hardening +VBOX_WITH_HARDENING := 2 +VBOX_WITH_ORIGIN := +VBOX_ONLY_ADDITIONS := 1 + +TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.release = +TEMPLATE_VBOXGUESTR3XORGMOD_LDFLAGS = $(TEMPLATE_VBOXGUESTR3DLL_LDFLAGS) diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile new file mode 100644 index 00000000..a09e58c0 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3-vboxvideo_drm.makefile @@ -0,0 +1,240 @@ +# +# VirtualBox Guest Additions Module Makefile. +# +# (For 2.6.x this file must be 'Makefile'!) +# +# Copyright (C) 2006-2007 Sun Microsystems, Inc. +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa +# Clara, CA 95054 USA or visit http://www.sun.com if you need +# additional information or have any questions. +# + +## @todo We must make this into a common template *soon*. + +# +# First, figure out which architecture we're targeting and the build type. +# (We have to support basic cross building (ARCH=i386|x86_64).) +# While at it, warn about BUILD_* vars found to help with user problems. +# +ifeq ($(filter-out x86_64 amd64 AMD64,$(shell uname -m)),) + BUILD_TARGET_ARCH_DEF := amd64 +else + BUILD_TARGET_ARCH_DEF := x86 +endif +ifneq ($(filter-out amd64 x86,$(BUILD_TARGET_ARCH)),) + $(warning Ignoring unknown BUILD_TARGET_ARCH value '$(BUILD_TARGET_ARCH)'.) + BUILD_TARGET_ARCH := +endif +ifeq ($(BUILD_TARGET_ARCH),) + ifeq ($(ARCH),x86_64) + BUILD_TARGET_ARCH := amd64 + else + ifeq ($(ARCH),i386) + BUILD_TARGET_ARCH := x86 + else + BUILD_TARGET_ARCH := $(BUILD_TARGET_ARCH_DEF) + endif + endif +else + ifneq ($(BUILD_TARGET_ARCH),$(BUILD_TARGET_ARCH_DEF)) + $(warning Using BUILD_TARGET_ARCH='$(BUILD_TARGET_ARCH)' from the $(origin BUILD_TARGET_ARCH).) + endif +endif + +ifneq ($(filter-out release profile debug strict,$(BUILD_TYPE)),) + $(warning Ignoring unknown BUILD_TYPE value '$(BUILD_TYPE)'.) + BUILD_TYPE := +endif +ifeq ($(BUILD_TYPE),) + BUILD_TYPE := release +else + ifneq ($(BUILD_TYPE),release) + $(warning Using BUILD_TYPE='$(BUILD_TYPE)' from the $(origin BUILD_TYPE).) + endif +endif + +EXTRA_CFLAGS = -fshort-wchar + +ifneq ($(MAKECMDGOALS),clean) + +ifeq ($(KERNELRELEASE),) + + # + # building from this directory + # + + # kernel base directory + ifndef KERN_DIR + KERN_DIR := /lib/modules/$(shell uname -r)/build + ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) + KERN_DIR := /usr/src/linux + ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) + $(error Error: unable to find the sources of your current Linux kernel. \ + Specify KERN_DIR= and run Make again) + endif + $(warning Warning: using /usr/src/linux as the source directory of your \ + Linux kernel. If this is not correct, specify \ + KERN_DIR= and run Make again.) + endif + else + ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes) + $(error Error: KERN_DIR does not point to a directory) + endif + endif + + # includes + ifndef KERN_INCL + KERN_INCL = $(KERN_DIR)/include + endif + ifneq ($(shell if test -d $(KERN_INCL); then echo yes; fi),yes) + $(error Error: unable to find the include directory for your current Linux \ + kernel. Specify KERN_INCL= and run Make again) + endif + + # module install dir. + ifneq ($(filter install install_rpm,$(MAKECMDGOALS)),) + ifndef MODULE_DIR + MODULE_DIR_TST := /lib/modules/$(shell uname -r) + ifeq ($(shell if test -d $(MODULE_DIR_TST); then echo yes; fi),yes) + MODULE_DIR := $(MODULE_DIR_TST)/misc + else + $(error Unable to find the folder to install the DRM driver to) + endif + endif # MODULE_DIR unspecified + endif + + # guess kernel version (24 or 26) + ifeq ($(shell if grep '"2\.4\.' $(KERN_INCL)/linux/version.h > /dev/null; then echo yes; fi),yes) + KERN_VERSION := 24 + else + KERN_VERSION := 26 + endif + +else # neq($(KERNELRELEASE),) + + # + # building from kbuild (make -C M=`pwd`) + # + + # guess kernel version (24 or 26) + ifeq ($(shell if echo "$(VERSION).$(PATCHLEVEL)." | grep '2\.4\.' > /dev/null; then echo yes; fi),yes) + KERN_VERSION := 24 + else + KERN_VERSION := 26 + endif + +endif # neq($(KERNELRELEASE),) + +# debug - show guesses. +ifdef DEBUG +$(warning dbg: KERN_DIR = $(KERN_DIR)) +$(warning dbg: KERN_INCL = $(KERN_INCL)) +$(warning dbg: MODULE_DIR = $(MODULE_DIR)) +$(warning dbg: KERN_VERSION = $(KERN_VERSION)) +endif + +KBUILD_VERBOSE ?= 1 + +# +# Compiler options +# +ifndef INCL + INCL := $(addprefix -I,$(KERN_INCL) $(EXTRA_INCL)) + ifndef KBUILD_EXTMOD + KBUILD_EXTMOD := $(shell pwd) + endif + INCL += $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) + export INCL +endif +KFLAGS := -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \ + -DIN_SUP_R0 -DVBOX -DVBOX_WITH_HGCM -DLOG_TO_BACKDOOR -DIN_MODULE \ + -DIN_GUEST_R0 +ifeq ($(BUILD_TARGET_ARCH),amd64) + KFLAGS += -DRT_ARCH_AMD64 -DVBOX_WITH_64_BITS_GUESTS +else + KFLAGS += -DRT_ARCH_X86 +endif +ifeq ($(BUILD_TYPE),debug) +KFLAGS += -DDEBUG +endif + +# override is required by the Debian guys +override MODULE = vboxvideo +OBJS = vboxvideo_drm.o + +ifeq ($(KERN_VERSION), 24) +# +# 2.4 +# + +CFLAGS := -O2 -DVBOX_LINUX_2_4 $(INCL) $(KFLAGS) $(KDEBUG) +MODULE_EXT := o + +# 2.4 Module linking +$(MODULE).o: $(OBJS) + $(LD) -o $@ -r $(OBJS) + +.PHONY: $(MODULE) +all: $(MODULE) +$(MODULE): $(MODULE).o + +else +# +# 2.6 and later +# + +MODULE_EXT := ko + +$(MODULE)-y := $(OBJS) + +# special hack for Fedora Core 6 2.6.18 (fc6), rhel5 2.6.18 (el5), +# ClarkConnect 4.3 (cc4) and ClarkConnect 5 (v5) +ifeq ($(KERNELRELEASE),) + KFLAGS += $(foreach inc,$(KERN_INCL),\ + $(if $(wildcard $(inc)/linux/utsrelease.h),\ + $(if $(shell grep '"2.6.18.*fc6.*"' $(inc)/linux/utsrelease.h; \ + grep '"2.6.18.*el5.*"' $(inc)/linux/utsrelease.h; \ + grep '"2.6.18.*v5.*"' $(inc)/linux/utsrelease.h; \ + grep '"2.6.18.*cc4.*"' $(inc)/linux/utsrelease.h),\ + -DKERNEL_FC6,),)) +else + KFLAGS += $(if $(shell echo "$(KERNELRELEASE)"|grep '2.6.18.*fc6.*';\ + echo "$(KERNELRELEASE)"|grep '2.6.18.*el5.*';\ + echo "$(KERNELRELEASE)"|grep '2.6.18.*v5.*';\ + echo "$(KERNELRELEASE)"|grep '2.6.18.*cc4.*'),\ + -DKERNEL_FC6,) +endif + +# build defs +EXTRA_CFLAGS += $(INCL) $(KFLAGS) $(KDEBUG) + +all: $(MODULE) + +obj-m += $(MODULE).o + +$(MODULE): + $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C $(KERN_DIR) SUBDIRS=$(CURDIR) SRCROOT=$(CURDIR) modules + +endif + +install: $(MODULE) + @mkdir -p $(MODULE_DIR); \ + install -m 0664 -o root -g root $(MODULE).$(MODULE_EXT) $(MODULE_DIR); \ + PATH="$(PATH):/bin:/sbin" depmod -ae; + +endif # eq($(MAKECMDGOALS),clean) + +# important: Don't remove Module.symvers! DKMS does 'make clean' before building ... +clean: + for f in . linux r0drv r0drv/linux; do rm -f $$f/*.o $$f/.*.cmd $$f/.*.flags; done + rm -rf .vboxvideo* .tmp_ver* vboxvideo.* Modules.symvers modules.order + diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3.2.8-mesa-check.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3.2.8-mesa-check.patch new file mode 100644 index 00000000..6813a174 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3.2.8-mesa-check.patch @@ -0,0 +1,36 @@ +--- configure ++++ configure +@@ -1225,10 +1225,7 @@ + XCloseDisplay(dpy); + } + EOF +- [ -n "$INCX11" ] && I_INCX11=`prefix_I "$INCX11"` +- if test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs; then +- log_success "found" +- fi ++ test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs + } + + +@@ -1382,21 +1379,6 @@ + #include + extern "C" int main(void) + { +- Display *dpy; +- int major, minor; +- +- dpy = XOpenDisplay(NULL); +- if (dpy) +- { +- Bool glx_version = glXQueryVersion(dpy, &major, &minor); +- XCloseDisplay(dpy); +- if (glx_version) +- { +- printf("found version %u.%u, OK.\n", major, minor); +- return 0; +- } +- } +- printf("found (inactive), OK.\n"); + return 0; + } + EOF diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-makeself-check.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-makeself-check.patch new file mode 100644 index 00000000..e1fcb8c2 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-makeself-check.patch @@ -0,0 +1,10 @@ +--- VirtualBox-4.0.0_OSE/configure ++++ VirtualBox-4.0.0_OSE/configure +@@ -2527,7 +2527,6 @@ + check_compiler_h + [ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit + # tools/common/makeself* +- [ $OSE -ge 1 ] && check_makeself + fi + + [ -n "$SETUP_WINE" ] && setup_wine diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-mkisofs-check.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-mkisofs-check.patch new file mode 100644 index 00000000..8b0d5912 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4-mkisofs-check.patch @@ -0,0 +1,10 @@ +--- VirtualBox-4.0.0_OSE/configure ++++ VirtualBox-4.0.0_OSE/configure +@@ -2499,7 +2499,6 @@ + # don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs + # [ "$OS" != "darwin" ] && check_yasm + [ "$OS" != "darwin" ] && check_xsltproc +-[ "$OS" != "darwin" ] && check_mkisofs + + # the libraries + [ "$OS" != "darwin" ] && check_pthread diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4.3.8-vboxvideo_compilefixes.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4.3.8-vboxvideo_compilefixes.patch new file mode 100644 index 00000000..23be8a5c --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-4.3.8-vboxvideo_compilefixes.patch @@ -0,0 +1,31 @@ +--- VirtualBox-4.3.8/src/VBox/Additions/x11/vboxvideo/vboxvideo.h ++++ VirtualBox-4.3.8/src/VBox/Additions/x11/vboxvideo/vboxvideo.h +@@ -105,7 +105,6 @@ + #define VBOX_NAME "VBoxVideo" + #define VBOX_DRIVER_NAME "vboxvideo" + +-#ifdef VBOX_DRI_OLD + /* DRI support */ + #define _XF86DRI_SERVER_ + /* Hack to work around a libdrm header which is broken on Solaris */ +@@ -120,7 +119,6 @@ + /* For some reason this is not in the header files. */ + extern void GlxSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, + void **configprivs); +-#endif + + #define VBOX_VIDEO_MAJOR 1 + #define VBOX_VIDEO_MINOR 0 +@@ -191,12 +189,10 @@ + Bool fAnyX; + #ifdef VBOX_DRI + Bool useDRI; +-#ifdef VBOX_DRI_OLD + int cVisualConfigs; + __GLXvisualConfig *pVisualConfigs; + DRIInfoRec *pDRIInfo; + int drmFD; +-# endif + #endif + } VBOXRec, *VBOXPtr; + diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.20-Makefile.module.kms.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.20-Makefile.module.kms.patch new file mode 100644 index 00000000..dd05a4a7 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.20-Makefile.module.kms.patch @@ -0,0 +1,11 @@ +--- a/src/VBox/Additions/linux/drm/Makefile.module.kms 2016-04-28 09:08:06.000000000 -0400 ++++ b/src/VBox/Additions/linux/drm/Makefile.module.kms 2016-05-03 15:11:22.134971872 -0400 +@@ -38,7 +38,7 @@ + MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h + endif + MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -include $(MANGLING) +-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include) ++MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux) + # What on earth is this? + MOD_INCL += $(addprefix -I$(KBUILD_EXTMOD)/vboxvideo,/ /include) + MOD_INCL += -Iinclude/drm diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.14.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.14.ebuild new file mode 100644 index 00000000..b1e6a1a6 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.14.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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" + +RDEPEND="=sys-kernel/virtualbox-guest-dkms-${PV} + >=x11-base/xorg-server-1.7:=[-minimal] + x11-libs/libXcomposite" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-lang/yasm-0.6.2 + >=dev-util/kbuild-0.1.9998_pre20131130 + sys-power/iasl + x11-proto/fontsproto + x11-proto/randrproto + x11-proto/renderproto + x11-proto/resourceproto + x11-proto/scrnsaverproto + x11-proto/xextproto + x11-proto/xineramaproto + x11-proto/xproto + x11-libs/libXdmcp + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXext + dri? ( x11-proto/xf86driproto + >=x11-libs/libdrm-2.4.5 )" +PDEPEND="dri? ( ~app-emulation/virtualbox-guest-additions-${PV} )" + +REQUIRED_USE=( "${PYTHON_REQUIRED_USE}" ) + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" +S="${WORKDIR}/${MY_P}" +MODULES_SRC_DIR="${S}/src/VBox/Additions/linux/drm" + +PATCHES=( + # Ugly hack to build the opengl part of the video driver + "${FILESDIR}/${PN}-2.2.0-enable-opengl.patch" + + # unset useless/problematic checks in configure + "${FILESDIR}/${PN}-5.0.0_beta3-configure_checks.patch" +) + +QA_TEXTRELS_x86="usr/lib/VBoxOGL.so" + +pkg_setup() { + if [ "${MERGE_TYPE}" != "binary" ]; then + version_is_at_least 4.9 $(gcc-version) || die "Please set gcc 4.9 or higher as active in gcc-config to build ${PN}" + fi + + python-single-r1_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/${PN}-5.1.4-Makefile.module.kms.patch + + rm -r kBuild/bin tools || die + + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + + sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ + -i configure || die + + default + + sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ + -i Config.kmk || die +} + +src_configure() { + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + local each targets=( + Runtime + Additions/common/VBoxGuestLib + GuestHost/OpenGL + Additions/x11/x11stubs + Additions/common/crOpenGL + Additions/x11/vboxvideo + ) + + use dri && targets+=( Additions/linux/drm ) + + for each in ${targets[@]} ; do + pushd "${S}"/src/VBox/${each} &>/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" + ln -s Makefile.module.kms "${MODULES_SRC_DIR}"/Makefile || die + 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 + : + 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 + : + done + fi +} + +src_install() { + if use dri ; then + : + fi + + cd "${S}/out/linux.${ARCH}/release/bin/additions" || die + insinto /usr/$(get_libdir)/xorg/modules/drivers + newins vboxvideo_drv_system.so vboxvideo_drv.so + + 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\")" +} diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.8.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.8.ebuild deleted file mode 100644 index 8fa24a5e..00000000 --- a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.8.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -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 video driver" -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" - -RDEPEND="=sys-kernel/virtualbox-guest-dkms-${PV} - >=x11-base/xorg-server-1.7:=[-minimal] - x11-libs/libXcomposite" -DEPEND="${RDEPEND} - >=dev-util/kbuild-0.1.9998_pre20131130 - ${PYTHON_DEPS} - >=dev-lang/yasm-0.6.2 - >=sys-devel/gcc-4.9.0 - sys-power/iasl - x11-proto/fontsproto - x11-proto/randrproto - x11-proto/renderproto - x11-proto/resourceproto - x11-proto/scrnsaverproto - x11-proto/xextproto - x11-proto/xineramaproto - x11-proto/xproto - x11-libs/libXdmcp - x11-libs/libXau - x11-libs/libX11 - x11-libs/libXfixes - x11-libs/libXext - dri? ( x11-proto/xf86driproto - >=x11-libs/libdrm-2.4.5 )" - -REQUIRED_USE=( "${PYTHON_REQUIRED_USE}" ) - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - # Ugly hack to build the opengl part of the video driver - "${FILESDIR}/${PN}-2.2.0-enable-opengl.patch" - - # unset useless/problematic checks in configure - "${FILESDIR}/${PN}-5.0.0_beta3-configure_checks.patch" -) - -QA_TEXTRELS_x86="usr/lib/VBoxOGL.so" - -pkg_setup() { - if [ "${MERGE_TYPE}" != "binary" ]; then - version_is_at_least 4.9 $(gcc-version) || die "Please set gcc 4.9 or higher as active in gcc-config to build ${PN}" - fi - - python-single-r1_pkg_setup -} - -src_prepare() { - eapply "${FILESDIR}"/${PN}-5.1.4-Makefile.module.kms.patch - - rm -r kBuild/bin tools || die - - cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die - - sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ - -i configure || die - - default - - sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ - -i Config.kmk || die -} - -src_configure() { - local cmd=( - ./configure - --nofatal - --disable-xpcom - --disable-sdl-ttf - --disable-pulse - --disable-alsa - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - --target-arch=${ARCH} - --with-linux="${KV_OUT_DIR}" - --build-headless - ) - echo "${cmd[@]}" - "${cmd[@]}" || die "configure failed" - source ./env.sh - export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" -} - -src_compile() { - local each targets=( - Runtime - Additions/common/VBoxGuestLib - GuestHost/OpenGL - Additions/x11/x11stubs - Additions/common/crOpenGL - Additions/x11/vboxvideo - ) - - use dri && targets+=( Additions/linux/drm ) - - for each in ${targets[@]} ; do - pushd "${S}"/src/VBox/${each} $>/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" - 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 - : - done - 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 - : - done - - fi -} - -src_install() { - if use dri; then - : - fi - - cd "${S}/out/linux.${ARCH}/release/bin/additions" || die - insinto /usr/$(get_libdir)/xorg/modules/drivers - newins vboxvideo_drv_system.so vboxvideo_drv.so - - 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\")" - elog "" - if use dri; then - elog "To use the kernel drm video driver, please add:" - elog "\"${MODULE_NAMES%(*}\" to:" - if has_version sys-apps/openrc ; then - elog "/etc/conf.d/modules" - else - elog "/etc/modules.autoload.d/kernel-${KV_MAJOR}.${KV_MINOR}" - fi - elog "" - fi -} -- cgit v1.2.3