diff options
author | Patrick Lauer <patrick@gentoo.org> | 2009-11-03 08:13:49 +0000 |
---|---|---|
committer | Patrick Lauer <patrick@gentoo.org> | 2009-11-03 08:13:49 +0000 |
commit | 097b4c1d9909562f8eefe573e5449d8e6ea372c0 (patch) | |
tree | 147efc22a5e17d42825ed89bd857922c6e4ba95c /app-emulation/virtualbox-ose | |
parent | Bump to 3.0.10, fixes #291214 #290296 #285749 #286163 (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rwxr-xr-x | app-emulation/virtualbox-ose/files/virtualbox-ose-3-wrapper | 104 | ||||
-rw-r--r-- | app-emulation/virtualbox-ose/virtualbox-ose-3.0.10.ebuild | 260 |
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 +} |