diff options
author | x-drum <x-drum@localhost> | 2009-07-02 15:00:57 +0000 |
---|---|---|
committer | x-drum <x-drum@localhost> | 2009-07-02 15:00:57 +0000 |
commit | ca9691ddc969dcb848f62cc2d9b3f76bcfd33088 (patch) | |
tree | 071f23e624c2878bb93924f3d70fee603aeb6e81 /x11-drivers | |
parent | Add a patch to fix mesa checks in configure, thanks to Grzegorz Chwesewicz an... (diff) | |
download | jokey-ca9691ddc969dcb848f62cc2d9b3f76bcfd33088.tar.gz jokey-ca9691ddc969dcb848f62cc2d9b3f76bcfd33088.tar.bz2 jokey-ca9691ddc969dcb848f62cc2d9b3f76bcfd33088.zip |
Version bump; add support for the vboxvideo drm kernel driver; add a patch to fix mesa checks in configure thanks to Grzegorz Chwesewicz and David Gence, wrt #265558 and #268885
svn path=/trunk/; revision=686
Diffstat (limited to 'x11-drivers')
5 files changed, 443 insertions, 5 deletions
diff --git a/x11-drivers/xf86-video-virtualbox/ChangeLog b/x11-drivers/xf86-video-virtualbox/ChangeLog index 092aa82..d534065 100644 --- a/x11-drivers/xf86-video-virtualbox/ChangeLog +++ b/x11-drivers/xf86-video-virtualbox/ChangeLog @@ -1,10 +1,20 @@ # ChangeLog for x11-drivers/xf86-video-virtualbox # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-virtualbox/ChangeLog,v 1.11 2009/04/30 16:38:03 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-virtualbox/ChangeLog,v 1.12 2009/06/01 00:26:48 patrick Exp $ - 30 May 2009; Alessio Cassibba (X-Drum) <swapon@gmail.com> - -xf86-video-virtualbox-2.2.2.ebuild, +xf86-video-virtualbox-2.2.4.ebuild: - Version bump + 02 Jul 2009; Alessio Cassibba (X-Drum) <swapon@gmail.com> + +files/xf86-video-virtualbox-3.0.0-mesa-check.patch, + +files/xf86-video-virtualbox-3-vboxvideo_drm.makefile, + +xf86-video-virtualbox-3.0.0.ebuild: + Version bump; add support for the vboxvideo drm kernel driver; + add a patch to fix mesa checks in configure thanks to + Grzegorz Chwesewicz and David Gence, wrt #265558 and #268885 + +*xf86-video-virtualbox-2.2.4 (01 Jun 2009) + + 01 Jun 2009; Patrick Lauer <patrick@gentoo.org> + +xf86-video-virtualbox-2.2.4.ebuild: + Bump to 2.2.4, thanks to Alessio Cassibba. Fixes #271983 #271341 #269335 30 Apr 2009; Patrick Lauer <patrick@gentoo.org> -xf86-video-virtualbox-2.0.2.ebuild, -xf86-video-virtualbox-2.0.4.ebuild, diff --git a/x11-drivers/xf86-video-virtualbox/Manifest b/x11-drivers/xf86-video-virtualbox/Manifest index e2b6244..7765b03 100644 --- a/x11-drivers/xf86-video-virtualbox/Manifest +++ b/x11-drivers/xf86-video-virtualbox/Manifest @@ -1,6 +1,10 @@ AUX xf86-video-virtualbox-2-localconfig 876 RMD160 db4b06bd8646f237260e8d61c5651a1fb4c22787 SHA1 9ab92582b1e0cc8a6a36cbd2fb52974bc90a5e8d SHA256 a11765d7e2623a081857ede04a650151742ef827bc7675323b4f7b14d06a3d64 AUX xf86-video-virtualbox-2.2.0-enable-opengl.patch 303 RMD160 c8c8e6a9aaea1ec53f3c0cb285750921287959a6 SHA1 7d68f5529a921f7d9786b232e8ecc7ebe7ba0e1b SHA256 194b7bca875f18e1621f065640d1c1a1364640e17475c493ec3b56f6e7e5ce66 +AUX xf86-video-virtualbox-3-vboxvideo_drm.makefile 6810 RMD160 55758e73adef9924a9bcea5da465fc93a1ea03df SHA1 fce332db7b3f9fd337b26e2165441aaeb2193b48 SHA256 ccf3eaaa8e1ed4a9c816a9a944c3ce6f289d002f03ce72d796500d209e26ae7e +AUX xf86-video-virtualbox-3.0.0-mesa-check.patch 692 RMD160 c1b62d987fa941f5455a8fb0c0d6b07377756d0f SHA1 18c987a024fc45778cc2dc55515100150996408d SHA256 88e981ed765b26c11ea9c606a009a9a1b03c67a1de5cb42b18e0088e027fe0c8 DIST VirtualBox-2.2.4-OSE.tar.bz2 50948689 RMD160 12577f01568e362d6285aa19eeb8eeb9ca6eadb7 SHA1 ebc5566c4b8115c649a82bde743e94ea62ed1a26 SHA256 b5d52a67b94510275eb3dc8649eb7d3063446da4f3ac038f821d598c62b5d6c5 +DIST VirtualBox-3.0.0-OSE.tar.bz2 51171539 RMD160 6d32630b1650b9c47faa1345cc770c6c05b61227 SHA1 168ce7b058894f5cc771953b9e4daf1ca5f5c542 SHA256 d5301fc222d8ea36f1b417159855b43f473d089c4e376c1580fa57a207f42937 EBUILD xf86-video-virtualbox-2.2.4.ebuild 2860 RMD160 37dbe66e28952c6265603b2ceee79e2c264aba69 SHA1 b40dd75554a0da0196f559d6f7e46e8a9c064420 SHA256 bf78665cd0d1690e07e3fe20915f4260d096bad96ec010c3249f3003d32d5186 -MISC ChangeLog 5455 RMD160 44705bd60f366b31e1f3e00217dedc58af8dba57 SHA1 01e6d1349a3efc99b513f95180939942f579a394 SHA256 59b0e587c67d5454a698fc17d3a0efe57aeed0a327b8447a3be9f29ee128a7ff +EBUILD xf86-video-virtualbox-3.0.0.ebuild 3977 RMD160 99f2ccccf78913a953fa2ed2d00342a0a40ea480 SHA1 6684cd7f8ad03a4c439b7a64afeae1e869b504f7 SHA256 1c934228b74d38874d61ed7be49067e5819beddcc34640248c99b1995775ef3a +MISC ChangeLog 5908 RMD160 9767380b589a6d3fdfcdb16d364b591a2023a1a0 SHA1 a59c3cd9f33f8f83a5f6aaed4b83fbe64489d4ab SHA256 7fcf3a30e3bd21c7aff622dbe1e33f926a1af593b700d28c6f8a3a5d377feba7 MISC metadata.xml 344 RMD160 12935d5b21be85bc4222fd06371c93dcbf6f534e SHA1 68b99919921f246738cce4350b77d895e7c78106 SHA256 fff5aeb6f453d2e137765ca5016e81344cb0cd0cecd51d81bbb889cb1d7a5ba9 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 100755 index 0000000..a09e58c --- /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-3.0.0-mesa-check.patch b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3.0.0-mesa-check.patch new file mode 100644 index 0000000..53277db --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/files/xf86-video-virtualbox-3.0.0-mesa-check.patch @@ -0,0 +1,33 @@ +--- configure.orig 2009-07-01 22:54:39.830348980 +0200 ++++ configure 2009-07-01 23:01:11.346350261 +0200 +@@ -1206,9 +1206,7 @@ + } + 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 + } + + +@@ -1288,19 +1286,6 @@ + #include <GL/glu.h> + extern "C" int main(void) + { +- Display *dpy; +- int major, minor; +- +- dpy = XOpenDisplay(NULL); +- if (dpy) +- { +- if (glXQueryVersion(dpy, &major, &minor)) +- { +- 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/xf86-video-virtualbox-3.0.0.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-3.0.0.ebuild new file mode 100644 index 0000000..0ae9a14 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-3.0.0.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-2.2.4.ebuild,v 1.1 2009/06/01 00:26:48 patrick Exp $ + +EAPI=2 + +inherit x-modular eutils linux-mod + +MY_P=VirtualBox-${PV}-OSE +DESCRIPTION="VirtualBox video driver" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dri" + +RDEPEND="x11-base/xorg-server" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.5-r1 + >=dev-lang/yasm-0.6.2 + sys-devel/dev86 + sys-power/iasl + x11-proto/fontsproto + x11-proto/randrproto + x11-proto/renderproto + x11-proto/xextproto + x11-proto/xineramaproto + x11-proto/xproto + x11-libs/libXdmcp + x11-libs/libXcomposite + 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)" + +S=${WORKDIR}/${MY_P/-OSE/_OSE} + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=${KV_DIR} KERNOUT=${KV_OUT_DIR}" +} + +src_unpack() { + unpack ${A} + + # Prepare the vboxvideo_drm sources and Makefile in ${WORKDIR} + cp -a "${MY_P/-OSE/_OSE}"/src/VBox/Additions/linux/drm \ + "${WORKDIR}/vboxvideo_drm" + cp "${FILESDIR}/${PN}-3-vboxvideo_drm.makefile" \ + "${WORKDIR}/vboxvideo_drm/Makefile" +} + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -rf kBuild/bin tools + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-2-localconfig" LocalConfig.kmk + + # Ugly hack to build the opengl part of the video driver + epatch "${FILESDIR}/${PN}-2.2.0-enable-opengl.patch" + + # unset useless/problematic mesa checks in configure + epatch "${FILESDIR}/${P}-mesa-check.patch" +} + +src_configure() { + # build the user-space tools, warnings are harmless + ./configure --nofatal \ + --disable-xpcom \ + --disable-sdl-ttf \ + --disable-pulse \ + --disable-alsa \ + --build-headless || die "configure failed" + source ./env.sh +} + +src_compile() { + if use dri; then + linux-mod_src_compile + fi + + 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} + MAKE="kmk" emake TOOL_YASM_AS=yasm \ + KBUILD_PATH="${S}/kBuild" \ + || die "kmk failed" + done +} + +src_install() { + if use dri; then + linux-mod_src_install + fi + + cd "${S}/out/linux.${ARCH}/release/bin/additions" + insinto /usr/lib/xorg/modules/drivers + + # xorg-server-1.6.x (currently on the official x11 overlay) + if has_version ">=x11-base/xorg-server-1.6" ; then + newins vboxvideo_drv_16.so vboxvideo_drv.so + # xorg-server-1.5.x + elif has_version ">=x11-base/xorg-server-1.5" \ + && has_version "<x11-base/xorg-server-1.6" ; then + newins vboxvideo_drv_15.so vboxvideo_drv.so + # xorg-server-1.4.x + elif has_version ">=x11-base/xorg-server-1.4" \ + && has_version "<x11-base/xorg-server-1.5" ; then + newins vboxvideo_drv_14.so vboxvideo_drv.so + # xorg-server-1.3.x + else + newins vboxvideo_drv_13.so vboxvideo_drv.so + fi + + # Guest OpenGL driver + insinto /usr/lib + doins -r VBoxOGL* || die + + if use dri ; then + dosym /usr/lib/VBoxOGL.so /usr/lib/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 +} |