summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Lauer <patrick@gentoo.org>2009-11-03 08:13:49 +0000
committerPatrick Lauer <patrick@gentoo.org>2009-11-03 08:13:49 +0000
commit097b4c1d9909562f8eefe573e5449d8e6ea372c0 (patch)
tree147efc22a5e17d42825ed89bd857922c6e4ba95c /app-emulation/virtualbox-ose
parentBump to 3.0.10, fixes #291214 #290296 #285749 #286163 (diff)
downloadgentoo-2-097b4c1d9909562f8eefe573e5449d8e6ea372c0.tar.gz
gentoo-2-097b4c1d9909562f8eefe573e5449d8e6ea372c0.tar.bz2
gentoo-2-097b4c1d9909562f8eefe573e5449d8e6ea372c0.zip
Bump to 3.0.10, fixes #291214 #290296 #285749 #286163
(Portage version: 2.2_rc48/cvs/Linux x86_64)
Diffstat (limited to 'app-emulation/virtualbox-ose')
-rw-r--r--app-emulation/virtualbox-ose/ChangeLog8
-rwxr-xr-xapp-emulation/virtualbox-ose/files/virtualbox-ose-3-wrapper104
-rw-r--r--app-emulation/virtualbox-ose/virtualbox-ose-3.0.10.ebuild260
3 files changed, 371 insertions, 1 deletions
diff --git a/app-emulation/virtualbox-ose/ChangeLog b/app-emulation/virtualbox-ose/ChangeLog
index 42b647b081d9..3638099e5593 100644
--- a/app-emulation/virtualbox-ose/ChangeLog
+++ b/app-emulation/virtualbox-ose/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-emulation/virtualbox-ose
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog,v 1.33 2009/10/19 01:46:15 fauli Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog,v 1.34 2009/11/03 08:13:48 patrick Exp $
+
+*virtualbox-ose-3.0.10 (03 Nov 2009)
+
+ 03 Nov 2009; Patrick Lauer <patrick@gentoo.org>
+ +virtualbox-ose-3.0.10.ebuild, +files/virtualbox-ose-3-wrapper:
+ Bump to 3.0.10, fixes #291214 #290296 #285749 #286163
19 Oct 2009; Christian Faulhammer <fauli@gentoo.org>
virtualbox-ose-3.0.8-r1.ebuild:
diff --git a/app-emulation/virtualbox-ose/files/virtualbox-ose-3-wrapper b/app-emulation/virtualbox-ose/files/virtualbox-ose-3-wrapper
new file mode 100755
index 000000000000..0cf0597bf1be
--- /dev/null
+++ b/app-emulation/virtualbox-ose/files/virtualbox-ose-3-wrapper
@@ -0,0 +1,104 @@
+#!/bin/sh
+#
+# Sun VirtualBox
+#
+# Copyright (C) 2006-2009 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.
+#
+
+PATH="/usr/bin:/bin:/usr/sbin:/sbin"
+CONFIG="/etc/vbox/vbox.cfg"
+
+if [ ! -r "$CONFIG" ]; then
+ echo "Could not find VirtualBox installation. Please reinstall."
+ exit 1
+fi
+
+. "$CONFIG"
+
+# Note: This script must not fail if the module was not successfully installed
+# because the user might not want to run a VM but only change VM params!
+
+if [ "$1" = "shutdown" ]; then
+ SHUTDOWN="true"
+elif ! lsmod|grep -q vboxdrv; then
+ cat << EOF
+WARNING: The VirtualBox kernel modules are not loaded.
+ Please load all the needed kernel modules by:
+
+ for m in vbox{drv,netadp,netflt}; do modprobe $m; done
+
+ You will not be able to start VMs until this problem is fixed.
+EOF
+elif [ ! -c /dev/vboxdrv ]; then
+ cat << EOF
+WARNING: The character device /dev/vboxdrv does not exist.
+ Please try to reload all the needed kernel modules by:
+
+ for m in vbox{netflt,netadp,drv}; do rmmod $m; done
+ for m in vbox{drv,netadp,netflt}; do modprobe $m; done
+
+ and if that is not successful, try to re-install the package by:
+
+ emerge -1av app-emulation/virtualbox-modules
+
+ You will not be able to start VMs until this problem is fixed.
+EOF
+fi
+
+SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
+if [ -z "$SERVER_PID" ]; then
+ # Server not running yet/anymore, cleanup socket path.
+ # See IPC_GetDefaultSocketPath()!
+ if [ -n "$LOGNAME" ]; then
+ rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1
+ else
+ rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1
+ fi
+fi
+
+if [ "$SHUTDOWN" = "true" ]; then
+ if [ -n "$SERVER_PID" ]; then
+ kill -TERM $SERVER_PID
+ sleep 2
+ fi
+ exit 0
+fi
+
+APP=`which $0`
+APP=`basename $APP`
+APP=${APP##/*/}
+case "$APP" in
+ VirtualBox)
+ exec "$INSTALL_DIR/VirtualBox" "$@"
+ ;;
+ VBoxManage)
+ exec "$INSTALL_DIR/VBoxManage" "$@"
+ ;;
+ VBoxSDL)
+ exec "$INSTALL_DIR/VBoxSDL" "$@"
+ ;;
+ VBoxVRDP)
+ exec "$INSTALL_DIR/VBoxHeadless" "$@"
+ ;;
+ VBoxHeadless)
+ exec "$INSTALL_DIR/VBoxHeadless" "$@"
+ ;;
+ vboxwebsrv)
+ exec "$INSTALL_DIR/vboxwebsrv" "$@"
+ ;;
+ *)
+ echo "Unknown application - $APP"
+ ;;
+esac
diff --git a/app-emulation/virtualbox-ose/virtualbox-ose-3.0.10.ebuild b/app-emulation/virtualbox-ose/virtualbox-ose-3.0.10.ebuild
new file mode 100644
index 000000000000..773604ea6fef
--- /dev/null
+++ b/app-emulation/virtualbox-ose/virtualbox-ose-3.0.10.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/virtualbox-ose-3.0.10.ebuild,v 1.1 2009/11/03 08:13:48 patrick Exp $
+
+EAPI=2
+
+inherit eutils fdo-mime flag-o-matic linux-info pax-utils qt4 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 +hal headless pulseaudio +opengl 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 )
+ opengl? ( virtual/opengl virtual/glut )
+ x11-libs/libXcursor
+ media-libs/libsdl[X,video]
+ x11-libs/libXt
+ )"
+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 )
+ hal? ( sys-apps/hal )
+ pulseaudio? ( media-sound/pulseaudio )
+ python? ( >=dev-lang/python-2.3 )
+ vboxwebsrv? ( >=net-libs/gsoap-2.7.13 )"
+RDEPEND="${RDEPEND}
+ 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/VBoxPython2_4.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_5.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}-2-localconfig > LocalConfig.kmk || die
+
+ # unset useless/problematic mesa checks in configure
+ epatch "${FILESDIR}/${PN}-3.0.0-mesa-check.patch"
+
+ # stupid hal being stupid code
+ use hal || epatch "${FILESDIR}/${P}-without-hal-fix.patch"
+}
+
+src_configure() {
+ local myconf
+ use alsa || myconf="${myconf} --disable-alsa"
+ use opengl || myconf="${myconf} --disable-opengl"
+ use pulseaudio || myconf="${myconf} --disable-pulse"
+ use python || myconf="${myconf} --disable-python"
+ use hal || myconf="${myconf} --disable-dbus"
+ use vboxwebsrv && myconf="${myconf} --enable-webservice"
+ if ! use headless ; then
+ use qt4 || myconf="${myconf} --disable-qt4"
+ else
+ myconf="${myconf} --build-headless --disable-opengl"
+ fi
+ # not an autoconf script
+ ./configure \
+ --with-gcc="$(tc-getCC)" \
+ --with-g++="$(tc-getCXX)" \
+ --disable-kmods \
+ ${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.*/release/bin || die
+
+ # Create configuration files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-2-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}-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
+
+ if use opengl ; 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
+ 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
+}
+
+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"
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}