# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-bin/virtualbox-bin-1.6.6.ebuild,v 1.1 2008/09/06 07:16:40 jokey Exp $ EAPI=1 inherit eutils fdo-mime qt3 pax-utils REV=36011 MY_P=VirtualBox-${PV}-${REV}-Linux DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use" HOMEPAGE="http://www.virtualbox.org/" SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${PV}/${MY_P}_amd64.run ) x86? ( http://download.virtualbox.org/virtualbox/${PV}/${MY_P}_x86.run )" LICENSE="PUEL" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="+additions headless sdk vboxwebsrv" RDEPEND="!app-emulation/virtualbox-ose !app-emulation/virtualbox-ose-additions !app-emulation/virtualbox-modules !headless? ( x11-libs/qt:3 x11-libs/libXcursor media-libs/libsdl x11-libs/libXrender x11-libs/libXfixes media-libs/libmng media-libs/jpeg media-libs/libpng x11-libs/libXi x11-libs/libXrandr x11-libs/libXinerama virtual/xft x11-libs/libXft media-libs/freetype media-libs/fontconfig x11-libs/libXext ) x11-libs/libXt dev-libs/libxml2 x11-libs/libXau x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXdmcp sys-apps/usermode-utilities net-misc/bridge-utils x86? ( =virtual/libstdc++-3.3 ) sdk? ( dev-libs/libIDL )" S=${WORKDIR} RESTRICT="primaryuri" pkg_setup() { # make sure the group exists enewgroup vboxusers # The VBoxSDL frontend needs media-libs/libsdl compiled # with USE flag X enabled (bug #177335) if ! use headless ; then 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 fi check_license } src_unpack() { unpack_makeself unpack ./VirtualBox.tar.bz2 } src_install() { if ! use headless ; then newicon VBox.png virtualbox.png newmenu "${FILESDIR}"/${PN}.desktop virtualbox.desktop fi # create virtualbox configurations files insinto /etc/vbox newins "${FILESDIR}/${PN}-config" vbox.cfg newins "${FILESDIR}/${PN}-interfaces" interfaces insinto /opt/VirtualBox-${PV} doins UserManual.pdf if use additions; then doins -r additions fi if use sdk; then doins -r sdk fowners root:vboxusers /opt/VirtualBox-${PV}/sdk/bin/xpidl fperms 0750 /opt/VirtualBox-${PV}/sdk/bin/xpidl pax-mark -m "${D}"/opt/VirtualBox-${PV}/sdk/bin/xpidl fi if use vboxwebsrv; then doins vboxwebsrv fowners root:vboxusers /opt/VirtualBox-${PV}/vboxwebsrv fperms 0750 /opt/VirtualBox-${PV}/vboxwebsrv newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv fi newinitd "${WORKDIR}"/vboxdrv.sh vboxdrv newinitd "${WORKDIR}"/vboxnet.sh vboxnet rm -rf src sdk tst* rdesktop-vrdp.tar.gz deffiles install* routines.sh \ runlevel.sh vboxdrv.sh VBox.sh VBox.png kchmviewer additions VirtualBox.desktop \ VirtualBox.tar.bz2 vboxnet.sh LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv webtest if use headless ; then rm -rf VBoxSDL VirtualBox VBoxKeyboard.so VirtualBoxAPI.chm \ VirtualBox.chm fi doins -r * || die if ! use headless ; then for each in VBox{Manage,SDL,SVC,XPCOMIPCD,Tunctl,Headless} VirtualBox; do fowners root:vboxusers /opt/VirtualBox-${PV}/${each} fperms 0750 /opt/VirtualBox-${PV}/${each} pax-mark -m "${D}"/opt/VirtualBox-${PV}/${each} done dosym /opt/VirtualBox-${PV}/VBox.sh /usr/bin/VirtualBox dosym /opt/VirtualBox-${PV}/VBox.sh /usr/bin/VBoxSDL else for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,Headless} ; do fowners root:vboxusers /opt/VirtualBox-${PV}/${each} fperms 0750 /opt/VirtualBox-${PV}/${each} pax-mark -m "${D}"/opt/VirtualBox-${PV}/${each} done fi exeinto /opt/VirtualBox newexe "${FILESDIR}/${PN}-wrapper" "VBox.sh" || die fowners root:vboxusers /opt/VirtualBox-${PV}/VBox.sh fperms 0750 /opt/VirtualBox-${PV}/VBox.sh fowners root:vboxusers /opt/VirtualBox-${PV}/VBoxAddIF.sh fperms 0750 /opt/VirtualBox-${PV}/VBoxAddIF.sh dosym /opt/VirtualBox-${PV}/VBox.sh /usr/bin/VBoxManage dosym /opt/VirtualBox-${PV}/VBox.sh /usr/bin/VBoxVRDP dosym /opt/VirtualBox-${PV}/VBox.sh /usr/bin/VBoxHeadless dosym /opt/VirtualBox-${PV}/VBoxTunctl /usr/bin/VBoxTunctl dosym /opt/VirtualBox-${PV}/VBoxAddIF.sh /usr/bin/VBoxAddIF dosym /opt/VirtualBox-${PV}/VBoxAddIF.sh /usr/bin/VBoxDeleteIF # do module # udev rule for vboxdrv dodir /etc/udev/rules.d echo 'KERNEL=="vboxdrv", GROUP="vboxusers" MODE=660' >> "${D}/etc/udev/rules.d/60-virtualbox.rules" } pkg_postinst() { fdo-mime_desktop_database_update elog "" if ! use headless ; then elog "To launch VirtualBox just type: \"VirtualBox\"" elog "" elog "To compile/install the kernel module run:" elog "/etc/init.d/vboxdrv setup" elog "" elog " add to starup rc-update add vboxdrv default" fi elog "You must be in the vboxusers group to use VirtualBox." elog "" } pkg_postrm() { fdo-mime_desktop_database_update }