summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emulation/virtualbox/ChangeLog14
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-3-config1
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-3-localconfig45
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-3.0.0-mesa-check.patch33
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-3.1.8-iasl-length-calculation-fix.patch22
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch16
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-vnc.patch101
-rw-r--r--app-emulation/virtualbox/virtualbox-3.1.8.ebuild265
-rw-r--r--app-emulation/virtualbox/virtualbox-3.2.12-r3.ebuild293
-rw-r--r--app-emulation/virtualbox/virtualbox-3.2.12-r4.ebuild302
-rw-r--r--app-emulation/virtualbox/virtualbox-9999.ebuild204
11 files changed, 1295 insertions, 1 deletions
diff --git a/app-emulation/virtualbox/ChangeLog b/app-emulation/virtualbox/ChangeLog
index d6c46b844ccd..da0821227580 100644
--- a/app-emulation/virtualbox/ChangeLog
+++ b/app-emulation/virtualbox/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for app-emulation/virtualbox
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.48 2011/01/07 11:16:33 polynomial-c Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.49 2011/01/07 15:11:45 polynomial-c Exp $
+
+*virtualbox-9999 (07 Jan 2011)
+*virtualbox-3.2.12-r4 (07 Jan 2011)
+*virtualbox-3.2.12-r3 (07 Jan 2011)
+*virtualbox-3.1.8 (07 Jan 2011)
+
+ 07 Jan 2011; Lars Wendler <polynomial-c@gentoo.org> +virtualbox-3.1.8.ebuild,
+ +files/virtualbox-ose-3.2.0-mesa-check.patch, +virtualbox-3.2.12-r3.ebuild,
+ +virtualbox-3.2.12-r4.ebuild, +files/virtualbox-ose-3-config,
+ +files/virtualbox-ose-3-localconfig, +virtualbox-9999.ebuild,
+ +files/virtualbox-ose-asneeded.patch, +files/virtualbox-ose-vnc.patch:
+ Added old versions for pkgmove.
07 Jan 2011; Lars Wendler <polynomial-c@gentoo.org> virtualbox-4.0.0.ebuild:
Minor elog message adjustment.
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-3-config b/app-emulation/virtualbox/files/virtualbox-ose-3-config
new file mode 100644
index 000000000000..d1e35d2c40d2
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-3-config
@@ -0,0 +1 @@
+INSTALL_DIR=/usr/MY_LIBDIR/virtualbox-ose
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-3-localconfig b/app-emulation/virtualbox/files/virtualbox-ose-3-localconfig
new file mode 100644
index 000000000000..fb3440daba6b
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-3-localconfig
@@ -0,0 +1,45 @@
+# -*- 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.
+#
+
+# shut up wine complaining about unknown locale
+EXEC_X86_WIN32 := wine
+
+# don't build testcases to save time, they are not needed for the package
+VBOX_WITH_TESTCASES :=
+VBOX_WITH_TESTSUITE :=
+VBOX_DOCBOOK_WITH_LATEX := 1
+
+KBUILD_MSG_STYLE := brief
+
+## paths, origin, hardening
+VBOX_WITH_HARDENING := 1
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE_ARCH := /usr/MY_LIBDIR/virtualbox-ose
+VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox-ose
+VBOX_PATH_APP_DOCS = $(VBOX_PATH_PACKAGE_DOCS)
+
+## don't build unwanted/splitted stuff
+VBOX_WITHOUT_ADDITIONS := 1
+VBOX_WITH_VBOXDRV :=
+VBOX_WITH_VBOXBFE :=
+VBOX_WITH_KCHMVIEWER :=
+
+## don't build with -Werror
+VBOX_WITH_WARNINGS_AS_ERRORS :=
+
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-3.0.0-mesa-check.patch b/app-emulation/virtualbox/files/virtualbox-ose-3.0.0-mesa-check.patch
new file mode 100644
index 000000000000..53277db535fe
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-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/app-emulation/virtualbox/files/virtualbox-ose-3.1.8-iasl-length-calculation-fix.patch b/app-emulation/virtualbox/files/virtualbox-ose-3.1.8-iasl-length-calculation-fix.patch
new file mode 100644
index 000000000000..8e1d86f119dc
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-3.1.8-iasl-length-calculation-fix.patch
@@ -0,0 +1,22 @@
+# http://www.mail-archive.com/freebsd-emulation@freebsd.org/msg00197.html
+
+--- VirtualBox-3.1.8_OSE/src/VBox/Devices/PC/vbox.dsl
++++ VirtualBox-3.1.8_OSE/src/VBox/Devices/PC/vbox.dsl
+@@ -1064,7 +1064,7 @@
+ // (all of low memory space)
+ ResourceProducer, // bit 0 of general flags is 0
+ PosDecode, // positive Decode
+- MinFixed, // Range is fixed
++ MinNotFixed, // Range is not fixed
+ MaxFixed, // Range is fixed
+ Cacheable,
+ ReadWrite,
+@@ -1073,7 +1073,7 @@
+
+ 0xffdfffff, // Max = 4GB - 2MB
+ 0x00000000, // Translation
+- 0xdfdfffff, // Range Length (calculated
++ 0x00000000, // Range Length (calculated
+ // dynamically)
+ , // Optional field left blank
+ , // Optional field left blank
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch b/app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch
new file mode 100644
index 000000000000..2eee12598042
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch
@@ -0,0 +1,16 @@
+--- src/libs/xpcom18a4/Makefile.kmk
++++ src/libs/xpcom18a4/Makefile.kmk
+@@ -469,9 +469,10 @@
+ libIDL_config_cflags := $(shell $(VBOX_LIBIDL_CONFIG) --cflags)
+ libIDL_config_libs := $(shell $(VBOX_LIBIDL_CONFIG) --libs)
+ xpidl_CFLAGS = \
+- $(libIDL_config_cflags)
+- xpidl_LDFLAGS = \
+- $(libIDL_config_libs)
++ $(shell pkg-config --cflags libIDL-2.0)
++ xpidl_LDFLAGS = $(shell pkg-config --libs-only-L libIDL-2.0)
++ xpidl_LIBS.linux = $(shell pkg-config --libs-only-l libIDL-2.0 | sed -e 's/-l//g')
++
+ endif
+
+ #
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch b/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch
new file mode 100644
index 000000000000..b8a2088e27f9
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch
@@ -0,0 +1,101 @@
+--- configure.orig 2010-11-20 20:35:43.399739771 +0100
++++ configure 2010-11-20 22:04:15.523490599 +0100
+@@ -87,6 +87,7 @@
+ WITH_OPENGL=1
+ WITH_HARDENING=1
+ WITH_VDE=0
++WITH_VNC=0
+ BUILD_LIBXML2=
+ BUILD_LIBXSLT=
+ BUILD_LIBCURL=
+@@ -122,6 +123,8 @@
+ LIBZ="-lz"
+ INCPNG=""
+ LIBPNG="-lpng"
++INCVNCSERVER=""
++LIBVNCSERVER="-lvncserver"
+ CXX_FLAGS=""
+ if [ "$OS" = "freebsd" ]; then
+ INCCURL="-I/usr/local/include"
+@@ -949,6 +952,47 @@
+ }
+
+ #
++# Check for libvncserver, needed for VNC in OSE
++#
++check_vncserver()
++{
++ test_header libvncserver
++ cat > $ODIR.tmp_src.cc <<EOF
++#include <cstdio>
++#include <rfb/rfbconfig.h>
++
++extern "C" int main()
++{
++ const char* v=LIBVNCSERVER_VERSION;
++ unsigned int major = 0, minor = 0, micro = 0;
++
++ for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0';
++
++ printf("found version %s", LIBVNCSERVER_PACKAGE_VERSION);
++ if (major*10000 + minor*100 + micro >= 907)
++ {
++ printf(", OK.\n");
++ return 0;
++ }
++ else
++ {
++ printf(", expected version 0.9.7 or higher\n");
++ return 1;
++ }
++}
++EOF
++ if test_compile "$LIBVNCSERVER $INCVNCSERVER" libvncserver libvncserver; then
++ if test_execute; then
++ cnf_append "VBOX_WITH_VNC" "1"
++ fi
++ fi
++}
++
++#
+ # Check for libcurl, needed by S3
+ #
+ check_curl()
+@@ -2063,6 +2107,7 @@
+ [ $WITH_KMODS -eq 1 ] && echo " --disable-kmods don't build Linux kernel modules (host and guest)"
+ [ $WITH_OPENGL -eq 1 ] && echo " --disable-opengl disable OpenGL support (2D & 3D)"
+ [ $WITH_GSOAP -eq 0 ] && echo " --enable-webservice enable the webservice stuff"
++[ $OSE -eq 1 ] && echo " --enable-vnc enable the VNC server"
+ [ "$OS" = "linux" -o "$OS" = "freebsd" ] && echo " --enable-vde enable VDE networking"
+ cat << EOF
+ --disable-hardening don't be strict about /dev/vboxdrv access
+@@ -2224,6 +2269,9 @@
+ --enable-webservice)
+ [ $WITH_GSOAP -eq 0 ] && WITH_GSOAP=1
+ ;;
++ --enable-vnc)
++ WITH_VNC=1
++ ;;
+ --disable-hardening)
+ WITH_HARDENING=0
+ ;;
+@@ -2484,6 +2532,15 @@
+ fi
+ fi
+
++# VNC server support
++if [ $OSE -ge 1 ]; then
++ if [ $WITH_VNC = 1 ]; then
++ check_vncserver
++ else
++ cnf_append "VBOX_WITH_VNC" ""
++ fi
++fi
++
+ # success!
+ echo
+ echo "Successfully generated '$CNF' and '$ENV'."
diff --git a/app-emulation/virtualbox/virtualbox-3.1.8.ebuild b/app-emulation/virtualbox/virtualbox-3.1.8.ebuild
new file mode 100644
index 000000000000..b5710921596b
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-3.1.8.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-3.1.8.ebuild,v 1.1 2011/01/07 15:11:45 polynomial-c Exp $
+
+EAPI=2
+
+inherit eutils fdo-mime flag-o-matic linux-info pax-utils qt4-r2 toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ # XXX: should finish merging the -9999 ebuild into this one ...
+ ESVN_REPO_URI="http://www.virtualbox.org/svn/vbox/trunk"
+ inherit linux-mod subversion
+else
+ MY_P=VirtualBox-${PV}-OSE
+ SRC_URI="http://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2"
+ S="${WORKDIR}/${MY_P/-OSE/_OSE}"
+fi
+
+DESCRIPTION="Software family of powerful x86 virtualization"
+HOMEPAGE="http://www.virtualbox.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+additions alsa headless pulseaudio python +qt4 sdk vboxwebsrv"
+
+RDEPEND="!app-emulation/virtualbox-bin
+ ~app-emulation/virtualbox-modules-${PV}
+ dev-libs/libIDL
+ >=dev-libs/libxslt-1.1.19
+ net-misc/curl
+ !headless? (
+ qt4? (
+ x11-libs/qt-gui:4
+ x11-libs/qt-core:4
+ x11-libs/qt-opengl:4
+ )
+ virtual/opengl
+ media-libs/freeglut
+ x11-libs/libXcursor
+ media-libs/libsdl[X,video]
+ x11-libs/libXt
+ )
+ headless? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ >=dev-util/kbuild-0.1.5-r1
+ >=dev-lang/yasm-0.6.2
+ sys-devel/bin86
+ sys-devel/dev86
+ sys-power/iasl
+ media-libs/libpng
+ sys-libs/libcap
+ dev-util/pkgconfig
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? ( >=dev-lang/python-2.3[threads] )
+ vboxwebsrv? ( >=net-libs/gsoap-2.7.13 )"
+PDEPEND="additions? ( ~app-emulation/virtualbox-additions-${PV} )"
+
+QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
+ usr/lib/virtualbox-ose/VBoxSDL.so
+ usr/lib/virtualbox-ose/VBoxSharedFolders.so
+ usr/lib/virtualbox-ose/VBoxDD2.so
+ usr/lib/virtualbox-ose/VBoxOGLrenderspu.so
+ usr/lib/virtualbox-ose/VBoxPython.so
+ usr/lib/virtualbox-ose/VBoxDD.so
+ usr/lib/virtualbox-ose/VBoxDDU.so
+ usr/lib/virtualbox-ose/VBoxREM64.so
+ usr/lib/virtualbox-ose/VBoxSharedClipboard.so
+ usr/lib/virtualbox-ose/VBoxHeadless.so
+ usr/lib/virtualbox-ose/VBoxRT.so
+ usr/lib/virtualbox-ose/VBoxREM.so
+ usr/lib/virtualbox-ose/VBoxSettings.so
+ usr/lib/virtualbox-ose/VBoxKeyboard.so
+ usr/lib/virtualbox-ose/VBoxSharedCrOpenGL.so
+ usr/lib/virtualbox-ose/VBoxVMM.so
+ usr/lib/virtualbox-ose/VirtualBox.so
+ usr/lib/virtualbox-ose/VBoxOGLhosterrorspu.so
+ usr/lib/virtualbox-ose/components/VBoxC.so
+ usr/lib/virtualbox-ose/components/VBoxSVCM.so
+ usr/lib/virtualbox-ose/components/VBoxDDU.so
+ usr/lib/virtualbox-ose/components/VBoxRT.so
+ usr/lib/virtualbox-ose/components/VBoxREM.so
+ usr/lib/virtualbox-ose/components/VBoxVMM.so
+ usr/lib/virtualbox-ose/VBoxREM32.so
+ usr/lib/virtualbox-ose/VBoxPython2_4.so
+ usr/lib/virtualbox-ose/VBoxPython2_5.so
+ usr/lib/virtualbox-ose/VBoxPython2_6.so
+ usr/lib/virtualbox-ose/VBoxXPCOMC.so
+ usr/lib/virtualbox-ose/VBoxOGLhostcrutil.so
+ usr/lib/virtualbox-ose/VBoxNetDHCP.so"
+
+pkg_setup() {
+ if ! use headless && ! use qt4 ; then
+ einfo "No USE=\"qt4\" selected, this build will not include"
+ einfo "any Qt frontend."
+ elif use headless && use qt4 ; then
+ einfo "You selected USE=\"headless qt4\", defaulting to"
+ einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
+ fi
+}
+
+src_prepare() {
+ # Remove shipped binaries (kBuild,yasm), see bug #232775
+ rm -rf kBuild/bin tools
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s/MY_LIBDIR/$(get_libdir)/" \
+ "${FILESDIR}"/${PN}-ose-3-localconfig > LocalConfig.kmk || die
+
+ # unset useless/problematic mesa checks in configure
+ epatch "${FILESDIR}/${PN}-ose-3.0.0-mesa-check.patch"
+
+ # fix with newer iasl (bug #319127)
+ epatch "${FILESDIR}/${PN}-ose-3.1.8-iasl-length-calculation-fix.patch"
+}
+
+src_configure() {
+ local myconf
+ use alsa || myconf="${myconf} --disable-alsa"
+ use pulseaudio || myconf="${myconf} --disable-pulse"
+ use python || myconf="${myconf} --disable-python"
+ use vboxwebsrv && myconf="${myconf} --enable-webservice"
+ if ! use headless ; then
+ use qt4 || myconf="${myconf} --disable-qt4"
+ else
+ myconf="${myconf} --build-headless"
+ fi
+ # not an autoconf script
+ ./configure \
+ --with-gcc="$(tc-getCC)" \
+ --with-g++="$(tc-getCXX)" \
+ --disable-kmods \
+ --disable-dbus \
+ ${myconf} \
+ || die "configure failed"
+}
+
+src_compile() {
+ source ./env.sh
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ # and strip all flags
+ strip-flags
+
+ MAKE="kmk" emake \
+ TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
+ TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
+ TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
+ TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
+ TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \
+ all || die "kmk failed"
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/release/bin || die
+
+ # Create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-ose-3-config" vbox.cfg
+
+ # Set the right libdir
+ sed -i \
+ -e "s/MY_LIBDIR/$(get_libdir)/" \
+ "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+ # Symlink binaries to the shipped wrapper
+ exeinto /usr/$(get_libdir)/${PN}
+ newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox" || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox
+ fperms 0750 /usr/$(get_libdir)/${PN}/VBox
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless
+ dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
+
+ # Install binaries and libraries
+ insinto /usr/$(get_libdir)/${PN}
+ doins -r components || die
+
+ if use sdk ; then
+ doins -r sdk || die
+ fi
+
+ if use vboxwebsrv ; then
+ doins vboxwebsrv || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv
+ fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv
+ newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+ newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+ fi
+
+ for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP} *so *r0 *gc ; do
+ doins $each || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
+ fperms 0750 /usr/$(get_libdir)/${PN}/${each}
+ done
+ # VBoxNetAdpCtl binary needs to be suid root in any case..
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetAdpCtl
+
+ if ! use headless ; then
+ for each in VBox{SDL,Headless} ; do
+ doins $each || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
+ fperms 4750 /usr/$(get_libdir)/${PN}/${each}
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
+ done
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL
+
+ if use qt4 ; then
+ doins VirtualBox || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox
+ fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox
+
+ doins VBoxTestOGL || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL
+ fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox
+ fi
+
+ newicon "${S}"/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_32px.png ${PN}.png
+ domenu "${FILESDIR}"/${PN}.desktop
+ else
+ doins VBoxHeadless || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless
+ fi
+
+ insinto /usr/share/${PN}
+ if ! use headless && use qt4 ; then
+ doins -r nls
+ fi
+
+ # set an env-variable for 3rd party tools
+ echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ if ! use headless && use qt4 ; then
+ elog "To launch VirtualBox just type: \"VirtualBox\""
+ fi
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "The latest user manual is available for download at:"
+ elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+ elog "For advanced networking setups you should emerge:"
+ elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+ elog ""
+ elog "Please visit http://www.virtualbox.org/wiki/Editions for"
+ elog "an overview about the different features of ${PN}"
+ elog "and virtualbox-bin"
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-emulation/virtualbox/virtualbox-3.2.12-r3.ebuild b/app-emulation/virtualbox/virtualbox-3.2.12-r3.ebuild
new file mode 100644
index 000000000000..7f41218030da
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-3.2.12-r3.ebuild
@@ -0,0 +1,293 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-3.2.12-r3.ebuild,v 1.1 2011/01/07 15:11:45 polynomial-c Exp $
+
+EAPI=2
+
+inherit eutils fdo-mime flag-o-matic linux-info pax-utils qt4-r2 toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ # XXX: should finish merging the -9999 ebuild into this one ...
+ ESVN_REPO_URI="http://www.virtualbox.org/svn/vbox/trunk"
+ inherit linux-mod subversion
+else
+ MY_P=VirtualBox-${PV}-OSE
+ SRC_URI="http://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2"
+ S=${WORKDIR}/${MY_P/-OSE/_OSE}
+fi
+
+DESCRIPTION="Software family of powerful x86 virtualization"
+HOMEPAGE="http://www.virtualbox.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="+additions alsa headless pulseaudio +opengl python +qt4 sdk vboxwebsrv vnc"
+
+RDEPEND="!app-emulation/virtualbox-bin
+ ~app-emulation/virtualbox-modules-${PV}
+ dev-libs/libIDL
+ >=dev-libs/libxslt-1.1.19
+ net-misc/curl
+ !headless? (
+ qt4? (
+ x11-libs/qt-gui:4
+ x11-libs/qt-core:4
+ opengl? ( x11-libs/qt-opengl:4 )
+ )
+ opengl? ( virtual/opengl media-libs/freeglut )
+ x11-libs/libXcursor
+ media-libs/libsdl[X,video]
+ x11-libs/libXt
+ )
+ headless? ( x11-libs/libX11 )
+ vnc? ( >=net-libs/libvncserver-0.9.7 )"
+DEPEND="${RDEPEND}
+ >=dev-util/kbuild-0.1.5-r1
+ >=dev-lang/yasm-0.6.2
+ sys-devel/bin86
+ sys-devel/dev86
+ sys-power/iasl
+ media-libs/libpng
+ sys-libs/libcap
+ dev-util/pkgconfig
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ !headless? ( x11-libs/libXinerama )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? ( >=dev-lang/python-2.3[threads] )
+ vboxwebsrv? ( >=net-libs/gsoap-2.7.13 )"
+PDEPEND="additions? ( ~app-emulation/virtualbox-ose-additions-${PV} )"
+
+QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
+ usr/lib/virtualbox-ose/VBoxSDL.so
+ usr/lib/virtualbox-ose/VBoxSharedFolders.so
+ usr/lib/virtualbox-ose/VBoxDD2.so
+ usr/lib/virtualbox-ose/VBoxOGLrenderspu.so
+ usr/lib/virtualbox-ose/VBoxPython.so
+ usr/lib/virtualbox-ose/VBoxDD.so
+ usr/lib/virtualbox-ose/VBoxDDU.so
+ usr/lib/virtualbox-ose/VBoxREM64.so
+ usr/lib/virtualbox-ose/VBoxSharedClipboard.so
+ usr/lib/virtualbox-ose/VBoxHeadless.so
+ usr/lib/virtualbox-ose/VBoxRT.so
+ usr/lib/virtualbox-ose/VBoxREM.so
+ usr/lib/virtualbox-ose/VBoxSettings.so
+ usr/lib/virtualbox-ose/VBoxKeyboard.so
+ usr/lib/virtualbox-ose/VBoxSharedCrOpenGL.so
+ usr/lib/virtualbox-ose/VBoxVMM.so
+ usr/lib/virtualbox-ose/VirtualBox.so
+ usr/lib/virtualbox-ose/VBoxOGLhosterrorspu.so
+ usr/lib/virtualbox-ose/components/VBoxC.so
+ usr/lib/virtualbox-ose/components/VBoxSVCM.so
+ usr/lib/virtualbox-ose/components/VBoxDDU.so
+ usr/lib/virtualbox-ose/components/VBoxRT.so
+ usr/lib/virtualbox-ose/components/VBoxREM.so
+ usr/lib/virtualbox-ose/components/VBoxVMM.so
+ usr/lib/virtualbox-ose/VBoxREM32.so
+ usr/lib/virtualbox-ose/VBoxPython2_4.so
+ usr/lib/virtualbox-ose/VBoxPython2_5.so
+ usr/lib/virtualbox-ose/VBoxPython2_6.so
+ usr/lib/virtualbox-ose/VBoxPython2_7.so
+ usr/lib/virtualbox-ose/VBoxXPCOMC.so
+ usr/lib/virtualbox-ose/VBoxOGLhostcrutil.so
+ usr/lib/virtualbox-ose/VBoxNetDHCP.so"
+
+pkg_setup() {
+ if ! use headless && ! use qt4 ; then
+ einfo "No USE=\"qt4\" selected, this build will not include"
+ einfo "any Qt frontend."
+ elif use headless && use qt4 ; then
+ einfo "You selected USE=\"headless qt4\", defaulting to"
+ einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
+ fi
+
+ if ! use opengl ; then
+ einfo "No USE=\"opengl\" selected, this build will lack"
+ einfo "the OpenGL feature."
+ fi
+}
+
+src_prepare() {
+ # Remove shipped binaries (kBuild,yasm), see bug #232775
+ rm -rf kBuild/bin tools
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s/MY_LIBDIR/$(get_libdir)/" \
+ "${FILESDIR}"/${PN}-ose-3-localconfig > LocalConfig.kmk || die
+
+ # unset useless/problematic mesa checks in configure
+ epatch "${FILESDIR}/${PN}-ose-3.2.8-mesa-check.patch"
+
+ # fix build with --as-needed (bug #249295)
+ epatch "${FILESDIR}/${PN}-ose-asneeded.patch"
+
+ # add the --enable-vnc option to configure script (bug #348204)
+ epatch "${FILESDIR}/${PN}-ose-vnc.patch"
+}
+
+src_configure() {
+ local myconf
+ use alsa || myconf+=" --disable-alsa"
+ use opengl || myconf+=" --disable-opengl"
+ use pulseaudio || myconf+=" --disable-pulse"
+ use python || myconf+=" --disable-python"
+ use vboxwebsrv && myconf+=" --enable-webservice"
+ use vnc && myconf+=" --enable-vnc"
+ if ! use headless ; then
+ use qt4 || myconf+=" --disable-qt4"
+ else
+ myconf+=" --build-headless --disable-opengl"
+ fi
+ # not an autoconf script
+ ./configure \
+ --with-gcc="$(tc-getCC)" \
+ --with-g++="$(tc-getCXX)" \
+ --disable-kmods \
+ --disable-dbus \
+ ${myconf} \
+ || die "configure failed"
+}
+
+src_compile() {
+ source ./env.sh
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ # and strip all flags
+ strip-flags
+
+ MAKE="kmk" emake \
+ TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
+ TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
+ TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
+ TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
+ TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \
+ all || die "kmk failed"
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/release/bin || die
+
+ # Create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-ose-3-config" vbox.cfg
+
+ # Set the right libdir
+ sed -i \
+ -e "s/MY_LIBDIR/$(get_libdir)/" \
+ "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+ # Symlink binaries to the shipped wrapper
+ exeinto /usr/$(get_libdir)/${PN}
+ newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox" || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox
+ fperms 0750 /usr/$(get_libdir)/${PN}/VBox
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless
+ dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
+
+ # Install binaries and libraries
+ insinto /usr/$(get_libdir)/${PN}
+ doins -r components || die
+
+ if use sdk ; then
+ doins -r sdk || die
+ fi
+
+ if use vboxwebsrv ; then
+ doins vboxwebsrv || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv
+ fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv
+ newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+ newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+ fi
+
+ for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP} *so *r0 *gc ; do
+ doins $each || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
+ fperms 0750 /usr/$(get_libdir)/${PN}/${each}
+ done
+ # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetAdpCtl
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetDHCP
+
+ if ! use headless ; then
+ for each in VBox{SDL,Headless} ; do
+ doins $each || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
+ fperms 4750 /usr/$(get_libdir)/${PN}/${each}
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
+ done
+
+ if use opengl && use qt4 ; then
+ doins VBoxTestOGL || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL
+ fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL
+ fi
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL
+
+ if use qt4 ; then
+ doins VirtualBox || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox
+ fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox
+ fi
+
+ newicon "${S}"/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_32px.png ${PN}.png
+ newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
+ else
+ doins VBoxHeadless || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless
+ fi
+
+ # Install EFI Firmware files (bug #320757)
+ pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
+ for fwfile in VBoxEFI{32,64}.fd ; do
+ doins ${fwfile} || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile} || die
+ done
+ popd &>/dev/null || die
+
+ insinto /usr/share/${PN}
+ if ! use headless && use qt4 ; then
+ doins -r nls
+ fi
+
+ # set an env-variable for 3rd party tools
+ echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ if ! use headless && use qt4 ; then
+ elog "To launch VirtualBox just type: \"VirtualBox\""
+ fi
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "The latest user manual is available for download at:"
+ elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+ elog "For advanced networking setups you should emerge:"
+ elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+ elog ""
+ elog "IMPORTANT!"
+ elog "If you upgrade from app-emulation/virtualbox-ose make sure to run"
+ elog "\"env-update\" as root and logout and relogin as the user you wish"
+ elog "to run ${PN} as."
+ elog ""
+ elog "Please visit http://www.virtualbox.org/wiki/Editions for"
+ elog "an overview about the different features of ${PN}"
+ elog "and virtualbox-bin"
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-emulation/virtualbox/virtualbox-3.2.12-r4.ebuild b/app-emulation/virtualbox/virtualbox-3.2.12-r4.ebuild
new file mode 100644
index 000000000000..287e25971b0d
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-3.2.12-r4.ebuild
@@ -0,0 +1,302 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-3.2.12-r4.ebuild,v 1.1 2011/01/07 15:11:45 polynomial-c Exp $
+
+EAPI=2
+
+inherit eutils fdo-mime flag-o-matic linux-info pax-utils qt4-r2 toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ # XXX: should finish merging the -9999 ebuild into this one ...
+ ESVN_REPO_URI="http://www.virtualbox.org/svn/vbox/trunk"
+ inherit linux-mod subversion
+else
+ MY_P=VirtualBox-${PV}-OSE
+ SRC_URI="http://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2"
+ S=${WORKDIR}/${MY_P/-OSE/_OSE}
+fi
+
+DESCRIPTION="Software family of powerful x86 virtualization"
+HOMEPAGE="http://www.virtualbox.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+additions alsa headless pulseaudio +opengl python +qt4 sdk vboxwebsrv vnc"
+
+RDEPEND="!app-emulation/virtualbox-bin
+ ~app-emulation/virtualbox-modules-${PV}
+ dev-libs/libIDL
+ >=dev-libs/libxslt-1.1.19
+ net-misc/curl
+ !headless? (
+ qt4? (
+ x11-libs/qt-gui:4
+ x11-libs/qt-core:4
+ opengl? ( x11-libs/qt-opengl:4 )
+ )
+ opengl? ( virtual/opengl media-libs/freeglut )
+ x11-libs/libXcursor
+ media-libs/libsdl[X,video]
+ x11-libs/libXt
+ )
+ headless? ( x11-libs/libX11 )
+ vnc? ( >=net-libs/libvncserver-0.9.7 )"
+DEPEND="${RDEPEND}
+ >=dev-util/kbuild-0.1.5-r1
+ >=dev-lang/yasm-0.6.2
+ sys-devel/bin86
+ sys-devel/dev86
+ sys-power/iasl
+ media-libs/libpng
+ sys-libs/libcap
+ dev-util/pkgconfig
+ alsa? ( >=media-libs/alsa-lib-1.0.13 )
+ !headless? ( x11-libs/libXinerama )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? ( >=dev-lang/python-2.3[threads] )
+ vboxwebsrv? ( >=net-libs/gsoap-2.7.13 )"
+PDEPEND="additions? ( ~app-emulation/virtualbox-ose-additions-${PV} )"
+
+QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
+ usr/lib/virtualbox-ose/VBoxSDL.so
+ usr/lib/virtualbox-ose/VBoxSharedFolders.so
+ usr/lib/virtualbox-ose/VBoxDD2.so
+ usr/lib/virtualbox-ose/VBoxOGLrenderspu.so
+ usr/lib/virtualbox-ose/VBoxPython.so
+ usr/lib/virtualbox-ose/VBoxDD.so
+ usr/lib/virtualbox-ose/VBoxDDU.so
+ usr/lib/virtualbox-ose/VBoxREM64.so
+ usr/lib/virtualbox-ose/VBoxSharedClipboard.so
+ usr/lib/virtualbox-ose/VBoxHeadless.so
+ usr/lib/virtualbox-ose/VBoxRT.so
+ usr/lib/virtualbox-ose/VBoxREM.so
+ usr/lib/virtualbox-ose/VBoxSettings.so
+ usr/lib/virtualbox-ose/VBoxKeyboard.so
+ usr/lib/virtualbox-ose/VBoxSharedCrOpenGL.so
+ usr/lib/virtualbox-ose/VBoxVMM.so
+ usr/lib/virtualbox-ose/VirtualBox.so
+ usr/lib/virtualbox-ose/VBoxOGLhosterrorspu.so
+ usr/lib/virtualbox-ose/components/VBoxC.so
+ usr/lib/virtualbox-ose/components/VBoxSVCM.so
+ usr/lib/virtualbox-ose/components/VBoxDDU.so
+ usr/lib/virtualbox-ose/components/VBoxRT.so
+ usr/lib/virtualbox-ose/components/VBoxREM.so
+ usr/lib/virtualbox-ose/components/VBoxVMM.so
+ usr/lib/virtualbox-ose/VBoxREM32.so
+ usr/lib/virtualbox-ose/VBoxPython2_4.so
+ usr/lib/virtualbox-ose/VBoxPython2_5.so
+ usr/lib/virtualbox-ose/VBoxPython2_6.so
+ usr/lib/virtualbox-ose/VBoxPython2_7.so
+ usr/lib/virtualbox-ose/VBoxXPCOMC.so
+ usr/lib/virtualbox-ose/VBoxOGLhostcrutil.so
+ usr/lib/virtualbox-ose/VBoxNetDHCP.so"
+
+pkg_setup() {
+ if ! use headless && ! use qt4 ; then
+ einfo "No USE=\"qt4\" selected, this build will not include"
+ einfo "any Qt frontend."
+ elif use headless && use qt4 ; then
+ einfo "You selected USE=\"headless qt4\", defaulting to"
+ einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
+ fi
+
+ if ! use opengl ; then
+ einfo "No USE=\"opengl\" selected, this build will lack"
+ einfo "the OpenGL feature."
+ fi
+}
+
+src_prepare() {
+ # Remove shipped binaries (kBuild,yasm), see bug #232775
+ rm -rf kBuild/bin tools
+
+ # Disable things unused or split into separate ebuilds
+ sed -e "s/MY_LIBDIR/$(get_libdir)/" \
+ "${FILESDIR}"/${PN}-ose-3-localconfig > LocalConfig.kmk || die
+
+ # unset useless/problematic mesa checks in configure
+ epatch "${FILESDIR}/${PN}-ose-3.2.8-mesa-check.patch"
+
+ # fix build with --as-needed (bug #249295)
+ epatch "${FILESDIR}/${PN}-ose-asneeded.patch"
+
+ # add the --enable-vnc option to configure script (bug #348204)
+ epatch "${FILESDIR}/${PN}-ose-vnc.patch"
+}
+
+src_configure() {
+ local myconf
+ use alsa || myconf+=" --disable-alsa"
+ use opengl || myconf+=" --disable-opengl"
+ use pulseaudio || myconf+=" --disable-pulse"
+ use python || myconf+=" --disable-python"
+ use vboxwebsrv && myconf+=" --enable-webservice"
+ use vnc && myconf+=" --enable-vnc"
+ if ! use headless ; then
+ use qt4 || myconf+=" --disable-qt4"
+ else
+ myconf+=" --build-headless --disable-opengl"
+ fi
+
+ # bug #339914
+ gcc-spec-pie && append-flags "-nopie"
+
+ # not an autoconf script
+ ./configure \
+ --with-gcc="$(tc-getCC)" \
+ --with-g++="$(tc-getCXX)" \
+ --disable-kmods \
+ --disable-dbus \
+ ${myconf} \
+ || die "configure failed"
+}
+
+src_compile() {
+ source ./env.sh
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ # and strip all flags
+ strip-flags
+
+ MAKE="kmk" emake \
+ TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
+ TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
+ TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
+ TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
+ TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \
+ all || die "kmk failed"
+}
+
+src_install() {
+ cd "${S}"/out/linux.${ARCH}/release/bin || die
+
+ # Create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-ose-3-config" vbox.cfg
+
+ # Set the right libdir
+ sed -i \
+ -e "s/MY_LIBDIR/$(get_libdir)/" \
+ "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+ # Symlink binaries to the shipped wrapper
+ exeinto /usr/$(get_libdir)/${PN}
+ newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox" || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox
+ fperms 0750 /usr/$(get_libdir)/${PN}/VBox
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless
+ dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
+
+ # Install binaries and libraries
+ insinto /usr/$(get_libdir)/${PN}
+ doins -r components || die
+
+ if use sdk ; then
+ doins -r sdk || die
+ fi
+
+ if use vboxwebsrv ; then
+ doins vboxwebsrv || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv
+ fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv
+ newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+ newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+ fi
+
+ for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP} *so *r0 *gc ; do
+ doins $each || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
+ fperms 0750 /usr/$(get_libdir)/${PN}/${each}
+ done
+ # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetAdpCtl
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetDHCP
+ # bug #335500
+ for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP} ; do
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
+ done
+
+ if ! use headless ; then
+ for each in VBox{SDL,Headless} ; do
+ doins $each || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
+ fperms 4750 /usr/$(get_libdir)/${PN}/${each}
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
+ done
+
+ if use opengl && use qt4 ; then
+ doins VBoxTestOGL || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL
+ fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxTestOGL
+ fi
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL
+
+ if use qt4 ; then
+ doins VirtualBox || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox
+ fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox
+
+ dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox
+ fi
+
+ newicon "${S}"/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_32px.png ${PN}.png
+ newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
+ else
+ doins VBoxHeadless || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless
+ fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless
+ pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless
+ fi
+
+ # Install EFI Firmware files (bug #320757)
+ pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
+ for fwfile in VBoxEFI{32,64}.fd ; do
+ doins ${fwfile} || die
+ fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile} || die
+ done
+ popd &>/dev/null || die
+
+ insinto /usr/share/${PN}
+ if ! use headless && use qt4 ; then
+ doins -r nls
+ fi
+
+ # set an env-variable for 3rd party tools
+ echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ if ! use headless && use qt4 ; then
+ elog "To launch VirtualBox just type: \"VirtualBox\""
+ fi
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "The latest user manual is available for download at:"
+ elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+ elog ""
+ elog "For advanced networking setups you should emerge:"
+ elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+ elog ""
+ elog "IMPORTANT!"
+ elog "If you upgrade from app-emulation/virtualbox-ose make sure to run"
+ elog "\"env-update\" as root and logout and relogin as the user you wish"
+ elog "to run ${PN} as."
+ elog ""
+ elog "Please visit http://www.virtualbox.org/wiki/Editions for"
+ elog "an overview about the different features of ${PN}"
+ elog "and virtualbox-bin"
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-emulation/virtualbox/virtualbox-9999.ebuild b/app-emulation/virtualbox/virtualbox-9999.ebuild
new file mode 100644
index 000000000000..96a01d2c130a
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-9999.ebuild
@@ -0,0 +1,204 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-9999.ebuild,v 1.27 2011/01/07 15:11:45 polynomial-c Exp $
+
+EAPI=1
+
+inherit eutils fdo-mime flag-o-matic linux-mod pax-utils qt4 subversion toolchain-funcs
+
+DESCRIPTION="Softwarefamily of powerful x86 virtualization"
+HOMEPAGE="http://www.virtualbox.org/"
+ESVN_REPO_URI="http://www.virtualbox.org/svn/vbox/trunk"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="alsa headless pulseaudio python +qt4 sdk"
+
+RDEPEND="!app-emulation/virtualbox-bin
+ !app-emulation/virtualbox-additions
+ !app-emulation/virtualbox-modules
+ dev-libs/libIDL
+ >=dev-libs/libxslt-1.1.19
+ dev-libs/xalan-c
+ dev-libs/xerces-c
+ net-misc/curl
+ sys-libs/libcap
+ !headless? (
+ qt4? (
+ x11-libs/qt-gui:4
+ x11-libs/qt-core:4
+ x11-libs/qt-opengl:4
+ )
+ x11-libs/libXcursor
+ media-libs/libsdl
+ x11-libs/libXt
+ media-libs/mesa )
+ sys-apps/usermode-utilities
+ net-misc/bridge-utils"
+DEPEND="${RDEPEND}
+ >dev-util/kbuild-0.1.5
+ >=dev-lang/yasm-0.6.2
+ sys-devel/bin86
+ sys-devel/dev86
+ sys-power/iasl
+ media-libs/libpng
+ >=media-libs/alsa-lib-1.0.13
+ pulseaudio? ( media-sound/pulseaudio )
+ python? ( >=dev-lang/python-2.3 )"
+
+BUILD_TARGETS="all"
+MODULE_NAMES="vboxdrv(misc:${S}/out/linux.${ARCH}/release/bin/src:${S}/out/linux.${ARCH}/release/bin/src)"
+
+pkg_setup() {
+ # The VBoxSDL frontend needs media-libs/libsdl compiled
+ # with USE flag X enabled (bug #177335)
+ if ! built_with_use media-libs/libsdl X; then
+ eerror "media-libs/libsdl was compiled without the \"X\" USE flag enabled."
+ eerror "Please re-emerge media-libs/libsdl with USE=\"X\"."
+ die "media-libs/libsdl should be compiled with the \"X\" USE flag."
+ fi
+ if use python && ! built_with_use dev-lang/python threads ; then
+ eerror "dev-lang/python was compiled without the \"threads\" USE flag enabled."
+ eerror "Please re-emerge dev-lang/python with USE=\"threads\"."
+ die "dev-lang/python should be compiled with the \"threads\" USE flag."
+ fi
+
+ linux-mod_pkg_setup
+ BUILD_PARAMS="KERN_DIR=${KV_DIR} KERNOUT=${KV_OUT_DIR}"
+
+ # Add the vboxusers group before src_install
+ # see (bug #184504)
+ enewgroup vboxusers
+}
+
+src_compile() {
+
+ local myconf
+ # Don't build vboxdrv kernel module
+ myconf="--disable-kmods"
+ if ! use pulseaudio; then
+ myconf="${myconf} --disable-pulse"
+ fi
+ if ! use python; then
+ myconf="${myconf} --disable-python"
+ fi
+ if ! use alsa; then
+ myconf="${myconf} --disable-alsa"
+ fi
+ if ! use headless; then
+ if ! use qt4; then
+ myconf="${myconf} --disable-qt4"
+ fi
+ else
+ myconf="${myconf} --build-headless"
+ fi
+
+ ./configure --with-gcc="$(tc-getCC)" --with-g++="$(tc-getCXX)" \
+ ${myconf} || die "configure failed"
+ source ./env.sh
+
+ # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+ # and strip all flags
+ strip-flags
+
+ MAKE="kmk" emake TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
+ TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
+ TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
+ TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
+ TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \
+ all || die "kmk failed"
+
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+
+ cd "${S}"/out/linux.${ARCH}/release/bin
+
+ # create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-ose-3-config" vbox.cfg
+
+ # symlink binaries to the shipped wrapper
+ exeinto /usr/lib/${PN}
+ newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox" || die
+ fowners root:vboxusers /usr/lib/${PN}/VBox
+ fperms 0750 /usr/lib/${PN}/VBox
+
+ dosym /usr/lib/${PN}/VBox /usr/bin/VBoxManage
+ dosym /usr/lib/${PN}/VBox /usr/bin/VBoxVRDP
+ dosym /usr/lib/${PN}/VBox /usr/bin/VBoxHeadless
+ dosym /usr/lib/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
+
+ # install binaries and libraries
+ insinto /usr/lib/${PN}
+ doins -r components
+
+ if use sdk; then
+ doins -r sdk
+ fi
+
+ for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl} *so *r0 *gc ; do
+ doins $each
+ fowners root:vboxusers /usr/lib/${PN}/${each}
+ fperms 0750 /usr/lib/${PN}/${each}
+ done
+
+ if use amd64; then
+ doins VBoxREM2.rel
+ fowners root:vboxusers /usr/lib/${PN}/VBoxREM2.rel
+ fperms 0750 /usr/lib/${PN}/VBoxREM2.rel
+ fi
+
+ if ! use headless; then
+ for each in VBox{SDL,Headless} ; do
+ doins $each
+ fowners root:vboxusers /usr/lib/${PN}/${each}
+ fperms 4750 /usr/lib/${PN}/${each}
+ pax-mark -m "${D}"/usr/lib/${PN}/${each}
+ done
+
+ dosym /usr/lib/${PN}/VBox /usr/bin/VBoxSDL
+
+ if use qt4; then
+ doins VirtualBox
+ fowners root:vboxusers /usr/lib/${PN}/VirtualBox
+ fperms 4750 /usr/lib/${PN}/VirtualBox
+ pax-mark -m "${D}"/usr/lib/${PN}/VirtualBox
+
+ dosym /usr/lib/${PN}/VBox /usr/bin/VirtualBox
+ fi
+
+ newicon "${S}"/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_32px.png ${PN}.png
+ domenu "${FILESDIR}"/${PN}.desktop
+ else
+ doins VBoxHeadless
+ fowners root:vboxusers /usr/lib/${PN}/VBoxHeadless
+ fperms 4750 /usr/lib/${PN}/VBoxHeadless
+ pax-mark -m "${D}"/usr/lib/${PN}/VBoxHeadless
+ fi
+
+ insinto /usr/share/${PN}
+ doins -r nls
+
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+ fdo-mime_desktop_database_update
+ elog "To launch VirtualBox just type: \"VirtualBox\""
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "The last user manual is available for download at:"
+ elog "http://www.virtualbox.org/download/UserManual.pdf"
+ elog ""
+ elog "Due to the nature of the build process, there are not"
+ elog "additions available for the live ebuild"
+ elog ""
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}