diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /x11-drivers/xf86-video-virtualbox |
reinit the tree, so we can have metadata
Diffstat (limited to 'x11-drivers/xf86-video-virtualbox')
14 files changed, 1248 insertions, 0 deletions
diff --git a/x11-drivers/xf86-video-virtualbox/Manifest b/x11-drivers/xf86-video-virtualbox/Manifest new file mode 100644 index 000000000000..baeccf8da3b2 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/Manifest @@ -0,0 +1,19 @@ +AUX xf86-video-virtualbox-2.2.0-enable-opengl.patch 230 SHA256 4812be4043833ebe19b48f8c9541b79b6dc7f5bebaa26c2f61ac9be0166d4abe SHA512 a8f4243ef70c72fa4e3dc71a4ab319ee77aac9e077804fa53f53ab338ad44773645af6c658da9d67b45c362632f0ed17edc13887721e013ceda7455bb9a28108 WHIRLPOOL da826b3ef3b5e7069e008e2ee9f57d63f0161749f6d29098f0a91c54ce7745dff16f8f8498cd1074b1ea8f20d7258c946afca6ece545fc245b4c0ca52ffd7b2c +AUX xf86-video-virtualbox-3-vboxvideo_drm.makefile 6810 SHA256 ccf3eaaa8e1ed4a9c816a9a944c3ce6f289d002f03ce72d796500d209e26ae7e SHA512 a0ab5b1cbe83dad8f39120dd9d5d301fcf8a7f0840478b5a94088317b0693ec9a457f95aac6abf4070184434d1dc81e4a8b8a202f7a11860fbac71757f05d202 WHIRLPOOL e429528ac22ea6410c77fce5d6a48afbb617b29279b058463209887988f8dab6e1474fb53bf55e26ac5269b869cd4b0a41e2d7469267acc5ab858aeefc7adda7 +AUX xf86-video-virtualbox-5-localconfig 996 SHA256 472568eba9c27ca365a71cdce4d5da68493192dab13928ba262091b06a2268fb SHA512 385711818aad370b87992190017d35f9caadb96d8dec387cdf6e70a4f70718107af36b98b2396a7255b2fbbd121644267e81804d397a6246969b5977bd9e94e8 WHIRLPOOL 816338bf822a73db1340f3ecc24234e9bc1ea07c5bc9e3ee5ffd519efe3b43f2a0f20dc53fdd84e889c5b4a841cbcfc5f3a4a7ab35a836594422838cfb648feb +AUX xf86-video-virtualbox-5.0.0_beta3-configure_checks.patch 1248 SHA256 a69d882f55ef3c7ff07051dda71c08a623dac3d46d6b8607ccf7364fdf71a474 SHA512 793a7f937eddf955ae7a2ca48d41675c8a6ec8c34e9f76d3edc8618562c2d0333714d9de7ae5927e16df7bc750e0309a3dd4173f3f9e262aa5c0d80190c98302 WHIRLPOOL 1cfbabf87ad9bae4cbcbbae2317ad1b86cc8f1768456317828d94ae710a576f7a22cf3a5300b60564024eaa23cea0e6ae2b32db275ecc4cb110034e479c6576e +AUX xf86-video-virtualbox-5.1.10-xorg119.patch 3375 SHA256 4e00f268882b952ecb5d67a453c5c5c8f21a0f93a67ac90bfbe378310ffb67b4 SHA512 f84cdbb6b43444eda753f6a31b3fe2514152545a7d75569d88f3b2d22542e5d087dfbd735457155f1463449f4e2138382d6f730978bd8d80280ad609dc826718 WHIRLPOOL b069db4e1f97d16e9f723bda0cfd7010daec8513d141f87e67bb8a3b25409b4cf1ee1032d9a78d7c3e4f311d456d56645c60060fc3e9a0793ef19ac0ca79b0cd +AUX xf86-video-virtualbox-5.1.22-sysmacros.patch 334 SHA256 725d2799a4e0e30eee72d0483c339a6a06f3a55c87e9e9d0c0f75903f08d57aa SHA512 b0599b0f7dc7a4fcab166c25de5ac4b3c8efb66740cec5ba17bbedd4c6d2048983bb3497e58ebef6c1b049271ca9883043c6b513a4ed2c9edf21b14e5a7dd83e WHIRLPOOL ca1b6231b92dfdba2b50af328e4a7aca4b189bed030a495e55015400c5ee29c067d5f411d13123fdc449f2778b0eed34dcdc78967994911807ae0a5185ed4e58 +AUX xf86-video-virtualbox-5.1.24-Makefile.module.kms.patch 533 SHA256 e5092a784d90944fc54a62dc3029c8408b105fd419e93f2e9ae7791a3360c113 SHA512 325a7adca76884e40be17d756ebdee3c8e8565d50a872c7cb2e429d046fd91b44acc6b788abb0eb28ab14594687203894ffe0c2d441c38ea5f87a88e76e87997 WHIRLPOOL 3bd607956a387bdbb8a4260effe4bef60526dd900e464efd3e262f6031c2f99ed293d3f946924c98fa4381e66876d717ff751f9583266f3fab7233b2613100d1 +AUX xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch 543 SHA256 235407737faa2857a23da183afe7a459bb6973535b3748b0282b46c5ce019590 SHA512 cad19fb144d77a23acfb0645adddcd6926ee0d4cc03ada29a5a7d1cad8e915e1b6d18d565b97ed577c910b174769e7e1c13fc433a20703c72e607d3620cd2e1e WHIRLPOOL badfb24fce18c502f60dfc13e4cbcd865187e88e65ab05380ea9ed684dbdd629d77f663f06103f308b03d8668bfe32e9447615ec314f4a338e6d66dc4dd12469 +DIST VirtualBox-5.0.16.tar.bz2 111062984 SHA256 f5a44d33a1db911f445b2eb2d22d9293a96a535cba488b5a235577ef868fa63c SHA512 3da3a227360fb50d299e99770378f65e8cb99525377343fa8faff2360be66643d46f68323d6a8b8d4d26182082f171bb35ab2497167bf6df18827a5ea7742074 WHIRLPOOL ea709057c588f28820790c2b193decba9ee0c57e0f82aa4361ca87aef661315182e18b5ee29558e47ed92f6037eb91befa5390680661a7b9f2248c7819b4a85c +DIST VirtualBox-5.0.40.tar.bz2 112997095 SHA256 e4275b7ada40b358e6e3bd1231b3a320aa06c72ae301283cac5adb42eaa8e4b5 SHA512 70cd4355591c5aed82148954bf55637a5dcdd1a5177dba78192e7c6eadfbf3f7023f352ba8f89d9eb3c3fc55b049f7c76af6bc94e04d1766d7fbe39e51a1393c WHIRLPOOL 9f471e63814c9d48063857f3b95410f5acdd4a3bd2716c525f2449f1eae95d0e91dbe5422374a49f31f8219daa155f716455f0259d131d93afb5cd9e13a7d467 +DIST VirtualBox-5.1.26.tar.bz2 115915813 SHA256 b5715035e681a11ef1475f83f9503d34a00f0276b89c572eebec363dda80c8a9 SHA512 680e9646a51a0a5923b3ded10007ee1c1e2a41c6d8a961d2b2540db6578bed2847154f4cac87e3cfe1118a62595b47c7df99da854f6c340e173b9eb8cacf2add WHIRLPOOL 9d7950ec3ec2cd9b8aaa0ea319f9f5089eed7d2cd2879d313426b448a27570b5582235aa46c5ad5a0fd4d0b967f8d58a963f001549232136d6a8609262af71d0 +DIST VirtualBox-5.1.28.tar.bz2 116427658 SHA256 ce7d4bf6535f70e3214abeb4866f7a8634aa3c7b6dedf8825e6ad80bd821398d SHA512 5c21fd535424d7fd9adbb51894ec6d37ecf00a63a850362bd7b61fedca5031e096641814130a97ad839c0bd7089dc3dc465509615aab2af3c5735ff71005670a WHIRLPOOL 2e3fbeb39083c2e69fb23200570781a8845780a6295553af48fa9155db132e37d0fc2fb26e8a45c52864f69f02e8a0d0cbd4c895e5fbb87ab9a51dd60c7c7904 +EBUILD xf86-video-virtualbox-5.0.16.ebuild 4656 SHA256 b758cd027de5242ec54d2eb68ffd4622af280f42cd303e3a195d48dfb5a5f6ac SHA512 f1674db25096049a67b3792d148da9d718caf9494780dbdb19888acb7a94d704d8d06edf562d20a2f9e9b9d5eac4d73fba91f22590c0a7648627f92b345207b1 WHIRLPOOL 57a6945f760f0b1ad147632b5f23d94d3049a1fc80f362ffec6dfcee7319baf84a27514e0ad29dc0bd92de8c363000c9170027b8049a4333b8b8f3c0f6d12cf6 +EBUILD xf86-video-virtualbox-5.0.40.ebuild 4978 SHA256 4dd9cbef7db76b836a77ac214e18d015a099f95d117720e404eb2917bc6d5570 SHA512 3df7c8b78827f4df238eb366f62ea135c4abd15c498541581941596d1ecd988dee892de1ea40514a8faa1f9411b2cf8b9e813656846cfc93fc539b4e19045b90 WHIRLPOOL cf7ccd98beb8e1b65bbc56349d7cdb8f7e8f13bc44c26cc04c7a42cc178169cb069840a72e6d630c3b40ed753aeee7b7bbed960bbb48bf8ff88b818afbe8747e +EBUILD xf86-video-virtualbox-5.1.26.ebuild 5110 SHA256 01646a29c48e36b0e43ebce6706661b5468f2d3c182949c5a0395639b6b66559 SHA512 3e88079b60657f33380edfecf79b2dced855ff680abd134cff1eb91bd9061b94261baaa2bb50c8f9c7c3da7d3b766576b5d1bd1bac90dcefd0f9d8d2aa0e1ea1 WHIRLPOOL 214c0a390b198e4d0acaf9ab9e06db7f65a5594d29d1bb446ecc32c10e3a0c059aa43d12bd9644a15a44338a9dc93cafc995625944bcefc0a5fcb9b060463b4f +EBUILD xf86-video-virtualbox-5.1.28.ebuild 5112 SHA256 3f0448133457da1e2bcdb23a33c8a0af7a1d4311cab429bb0cf0f3ce22a9f855 SHA512 6d7a3aa7e1fe7acd795ac6151a92463f5f0c35796ae468e3aa0d483f8d6677ba946a02b20f84ae6069540d8431954fdcefd9975bc1e0472cd2e95011885fe3f3 WHIRLPOOL 78018c71c0cd086a6d7d736963b0ad600e58f807fd86aef520e31bfe3d1c83079f0b0423bc0d741e152745571f15d020dcca62f022aed48834ab9f3ea7612b4a +MISC ChangeLog 15688 SHA256 b6cb5dae336fe761711cff59df877db1ad162d9dd717343f876c1d870385b1e8 SHA512 69df5f03d88f2729296637ba046ab22d29152a2dfe5a3a8c604931c279e1cb984fe0a4b7a2799139ea481753b633d01e60a3d306ca56cac8a67c7571ef935574 WHIRLPOOL 2aff5086fa2f369a560103c716d30ef08a9ca4b1b999e391852a00d602faf8b5a0299be86a32faa1c394fe0a4a059b14b0fd20d2e766d55ed6556ab623e5179c +MISC ChangeLog-2015 32796 SHA256 5a3147ae7a3184c7f3290ef2b4718ec31a4971541d8a6b589461d9fa4eeef7fd SHA512 14285cac9051d949904e15fb94bd0d008331aeda34ff1d7a05ee021962b1065c3865a6769b17722544114b641ca6ebcba46ef83c801bad512c9d7cf8a107a12d WHIRLPOOL 29ebaf0e63f0606e7c7c42d3b25573706b6196e657f05459687dc91f2c806f94deca9480ae4ea19d7f52bd0d923e93ba8c02a8bcd742295b3d597d7c4d71fa70 +MISC metadata.xml 407 SHA256 a07752ac478a75b8186129fcab7d7fc7b239adf7a03d52a275a1d61c66b54aa6 SHA512 e28c65e666d3f78cc8752c3f8af0d7e5494b4a2f93fdc98cf71110424aa9a72b68ee40aa299c46a7048d375a1f52bd0f03efd12d5e88226a4934989e7634afc2 WHIRLPOOL 38d004ad7163b0ba06c7b86c4e02612a94ff449f1d8a0be61fe705bd1a4bd8c88c8cab27fd5103110663f7b0de9f131b204aa92b7c3584cef93f0bde957c7248 diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-2.2.0-enable-opengl.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-2.2.0-enable-opengl.patch new file mode 100644 index 000000000000..b0779d42270a --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-2.2.0-enable-opengl.patch @@ -0,0 +1,13 @@ +--- a/configure ++++ b/configure +@@ -1955,8 +1955,8 @@ + HEADLESS=1 + WITH_SDL=0 + WITH_SDL_TTF=0 +- WITH_X11=0 +- WITH_OPENGL=0 ++ WITH_X11=1 ++ WITH_OPENGL=1 + WITH_QT4=0 + ;; + --ose) 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 000000000000..a09e58c0075b --- /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=<directory> 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=<directory> 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=<directory> 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 <kernel_directory> 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-5-localconfig b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5-localconfig new file mode 100644 index 000000000000..aee5ec1ea83a --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5-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_VALIDATIONKIT := + +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-5.0.0_beta3-configure_checks.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.0_beta3-configure_checks.patch new file mode 100644 index 000000000000..92f8a182e34d --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.0.0_beta3-configure_checks.patch @@ -0,0 +1,52 @@ +--- VirtualBox-5.0.0_BETA3/configure ++++ VirtualBox-5.0.0_BETA3/configure +@@ -1258,10 +1258,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 + } + + +@@ -1415,21 +1412,6 @@ + #include <GL/glu.h> + 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 +@@ -2706,7 +2688,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 + fi + + # the libraries +@@ -2774,7 +2755,6 @@ + check_compiler_h + [ $ONLY_ADDITIONS -eq 0 -a "$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-5.1.10-xorg119.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.10-xorg119.patch new file mode 100644 index 000000000000..26958fe8abbe --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.10-xorg119.patch @@ -0,0 +1,82 @@ +Fix from opensuse: +https://build.opensuse.org/package/view_file/Virtualization/virtualbox/Fix_for_server_1.19.patch + +https://bugs.gentoo.org/602784 + +Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h +=================================================================== +--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.h ++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h +@@ -52,6 +52,10 @@ + #ifndef _VBOXVIDEO_H_ + #define _VBOXVIDEO_H_ + ++#if XORG_VERSION_CURRENT >= 11900000 ++#include <bits/sigset.h> ++typedef __sigset_t sigset_t; ++#endif + #include <VBox/VBoxVideoGuest.h> + #include <VBox/VBoxVideo.h> + #include "version-generated.h" +Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c +=================================================================== +--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/helpers.c ++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c +@@ -82,7 +82,11 @@ void vbvxSetIntegerPropery(ScrnInfoPtr p + + property_name = MakeAtom(pszName, strlen(pszName), TRUE); + VBVXASSERT(property_name != BAD_RESOURCE, ("Failed to set atom \"%s\"\n", pszName)); ++#if XORG_VERSION_CURRENT >= 11900000 ++ dixChangeWindowProperty(serverClient, ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent); ++#else + ChangeWindowProperty(ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent); ++#endif + } + + void vbvxReprobeCursor(ScrnInfoPtr pScrn) +Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c +=================================================================== +--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.c ++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c +@@ -1229,7 +1229,11 @@ static Bool VBOXScreenInit(ScreenPtr pSc + updateGraphicsCapability(pScrn, TRUE); + + /* Register block and wake-up handlers for getting new screen size hints. */ ++#if XORG_VERSION_CURRENT >= 11900000 ++ RegisterBlockAndWakeupHandlers(vboxBlockHandler, (ServerWakeupHandlerProcPtr)NoopDDA, (pointer)pScrn); ++#else + RegisterBlockAndWakeupHandlers(vboxBlockHandler, (WakeupHandlerProcPtr)NoopDDA, (pointer)pScrn); ++#endif + + /* software cursor */ + miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); +Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c +=================================================================== +--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/pointer.c ++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c +@@ -15,6 +15,10 @@ + * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. + */ + ++#if XORG_VERSION_CURRENT >= 11900000 ++#include <bits/sigset.h> ++typedef __sigset_t sigset_t; ++#endif + #include <VBox/VBoxGuestLib.h> + + #ifndef PCIACCESS +Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c +=================================================================== +--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/edid.c ++++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c +@@ -44,6 +44,10 @@ + * Dave Airlie <airlied@redhat.com> + */ + ++#if XORG_VERSION_CURRENT >= 11900000 ++#include <bits/sigset.h> ++typedef __sigset_t sigset_t; ++#endif + #include <misc.h> + #include <xf86DDC.h> + #include <xf86Crtc.h> diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.22-sysmacros.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.22-sysmacros.patch new file mode 100644 index 000000000000..673beef32dee --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.22-sysmacros.patch @@ -0,0 +1,15 @@ +Fix bug #579910. Add sys/sysmacros.h header. + +https://bugs.gentoo.org/579910 + +index 20ae130..2f3fac0 100644 +--- a/src/VBox/Runtime/r3/linux/sysfs.cpp ++++ b/src/VBox/Runtime/r3/linux/sysfs.cpp +@@ -46,6 +46,7 @@ + #include <sys/sysctl.h> + #include <sys/stat.h> + #include <sys/fcntl.h> ++#include <sys/sysmacros.h> + #include <errno.h> + + diff --git a/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.24-Makefile.module.kms.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.24-Makefile.module.kms.patch new file mode 100644 index 000000000000..c5d3c3fc730e --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.24-Makefile.module.kms.patch @@ -0,0 +1,13 @@ +Fix bug #625690 + +--- a/src/VBox/Additions/linux/drm/Makefile.module.kms ++++ b/src/VBox/Additions/linux/drm/Makefile.module.kms +@@ -50,7 +50,7 @@ MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -fno-pie + ifneq ($(KERN_VERSION),24) + MOD_CFLAGS += -include $(MANGLING) + endif +-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/files/xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch new file mode 100644 index 000000000000..f34ac667d0e4 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-5.1.4-Makefile.module.kms.patch @@ -0,0 +1,11 @@ +--- a/src/VBox/Additions/linux/drm/Makefile.module.kms ++++ b/src/VBox/Additions/linux/drm/Makefile.module.kms +@@ -43,7 +43,7 @@ else + MANGLING := $(KBUILD_EXTMOD)/include/VBox/VBoxGuestMangling.h + endif + MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -include $(MANGLING) -fno-pie +-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/metadata.xml b/x11-drivers/xf86-video-virtualbox/metadata.xml new file mode 100644 index 000000000000..0fcee3f2dad9 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>polynomial-c@gentoo.org</email> + <name>Lars Wendler</name> + </maintainer> + <maintainer type="person"> + <email>masterzorag@gmail.com</email> + <description>Proxy maintainer. CC him on bugs</description> + </maintainer> +</pkgmetadata> diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.16.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.16.ebuild new file mode 100644 index 000000000000..25dabb13925d --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.16.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils linux-mod 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" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + <x11-base/xorg-server-1.19:=[-minimal] + x11-libs/libXcomposite + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130 + >=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 )" + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" +MODULE_NAMES="vboxvideo(misc:${WORKDIR}/vboxvideo_drm:${WORKDIR}/vboxvideo_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" +) + +S="${WORKDIR}/${MY_P}" + +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 + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}" + + python-single-r1_pkg_setup +} + +src_prepare() { + # Prepare the vboxvideo_drm sources and Makefile in ${WORKDIR} + cp -a "${S}"/src/VBox/Additions/linux/drm "${WORKDIR}/vboxvideo_drm" \ + || die "cannot copy vboxvideo_drm directory" + cp "${FILESDIR}/${PN}-3-vboxvideo_drm.makefile" \ + "${WORKDIR}/vboxvideo_drm/Makefile" \ + || die "cannot copy vboxvideo_drm Makefile" + + # stupid new header references... + for vboxheader in {product,version}-generated.h ; do + ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ + "${WORKDIR}/vboxvideo_drm/${vboxheader}" + done + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + default + + # link with lazy on hardened #394757 + sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ + -i Config.kmk || die +} + +src_configure() { + # build the user-space tools, warnings are harmless + 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() { + for each in /src/VBox/{Runtime,Additions/common/VBoxGuestLib} \ + /src/VBox/{GuestHost/OpenGL,Additions/x11/x11stubs,Additions/common/crOpenGL} \ + /src/VBox/Additions/x11/vboxvideo ; do + cd "${S}"${each} || die + MAKE="kmk" \ + emake TOOL_YASM_AS=yasm \ + VBOX_USE_SYSTEM_XORG_HEADERS=1 \ + KBUILD_PATH="${S}/kBuild" \ + KBUILD_VERBOSE=2 + done + + if use dri ; then + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + linux-mod_src_compile + fi +} + +src_install() { + if use dri; then + linux-mod_src_install + fi + + cd "${S}/out/linux.${ARCH}/release/bin/additions" + 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\")" + elog "" + if use dri; then + elog "To use the kernel drm video driver, please add:" + elog "\"vboxvideo\" 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 +} diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.40.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.40.ebuild new file mode 100644 index 000000000000..b8937614e94c --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.40.ebuild @@ -0,0 +1,190 @@ +# 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=" + <x11-base/xorg-server-1.19:=[-minimal] + x11-libs/libXcomposite + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + >=dev-lang/yasm-0.6.2 + >=dev-util/kbuild-0.1.9998_pre20131130 + >=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 )" +PDEPEND="dri? ( ~app-emulation/virtualbox-guest-additions-${PV} )" + +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() { + # Prepare the vboxvideo_drm Makefiles and build dir + eapply "${FILESDIR}"/${PN}-5.1.4-Makefile.module.kms.patch + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + default + + # link with lazy on hardened #394757 + sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ + -i Config.kmk || die +} + +src_configure() { + # build the user-space tools, warnings are harmless + 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 + ) + + # need to use the upstream build system to create necessary objects properly + 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" + # 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\")" +} diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.26.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.26.ebuild new file mode 100644 index 000000000000..58947da27bcd --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.26.ebuild @@ -0,0 +1,195 @@ +# 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=" + >=x11-base/xorg-server-1.7:=[-minimal] + x11-libs/libXcomposite + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + >=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} )" + +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" + + # xorg-1.19 patch from opensuse (bug #602784) + "${FILESDIR}/${PN}-5.1.10-xorg119.patch" + + # fix bug #579946 + "${FILESDIR}/${PN}-5.1.22-sysmacros.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() { + # Prepare the vboxvideo_drm Makefiles and build dir + eapply "${FILESDIR}"/${PN}-5.1.24-Makefile.module.kms.patch + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + default + + # link with lazy on hardened #394757 + sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ + -i Config.kmk || die +} + +src_configure() { + # build the user-space tools, warnings are harmless + 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 + ) + + # need to use the upstream build system to create necessary objects properly + 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" + # 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\")" +} diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.28.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.28.ebuild new file mode 100644 index 000000000000..3eb7cfa80d31 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.28.ebuild @@ -0,0 +1,195 @@ +# 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=" + >=x11-base/xorg-server-1.7:=[-minimal] + x11-libs/libXcomposite + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + >=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} )" + +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" + + # xorg-1.19 patch from opensuse (bug #602784) + "${FILESDIR}/${PN}-5.1.10-xorg119.patch" + + # fix bug #579946 + "${FILESDIR}/${PN}-5.1.22-sysmacros.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() { + # Prepare the vboxvideo_drm Makefiles and build dir + eapply "${FILESDIR}"/${PN}-5.1.24-Makefile.module.kms.patch + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + default + + # link with lazy on hardened #394757 + sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ + -i Config.kmk || die +} + +src_configure() { + # build the user-space tools, warnings are harmless + 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 + ) + + # need to use the upstream build system to create necessary objects properly + 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" + # 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\")" +} |