From 52851dfa740f2b42122a9bd5765b5d611e47b4ad Mon Sep 17 00:00:00 2001 From: x-drum Date: Sat, 17 Oct 2009 14:49:35 +0000 Subject: add dev-util/pkgconfig to DEPEND #288281; fix pkg_postinst message #288489; fix vboxwebsrv build/DEPEND #288836 svn path=/trunk/; revision=734 --- app-emulation/virtualbox-ose/ChangeLog | 31 ++- app-emulation/virtualbox-ose/Manifest | 5 +- .../virtualbox-ose-3.0.8-without-hal-fix.patch | 32 +++ .../virtualbox-ose/virtualbox-ose-3.0.8-r1.ebuild | 258 +++++++++++++++++++++ .../virtualbox-ose/virtualbox-ose-3.0.8.ebuild | 254 -------------------- 5 files changed, 315 insertions(+), 265 deletions(-) create mode 100644 app-emulation/virtualbox-ose/files/virtualbox-ose-3.0.8-without-hal-fix.patch create mode 100644 app-emulation/virtualbox-ose/virtualbox-ose-3.0.8-r1.ebuild delete mode 100644 app-emulation/virtualbox-ose/virtualbox-ose-3.0.8.ebuild diff --git a/app-emulation/virtualbox-ose/ChangeLog b/app-emulation/virtualbox-ose/ChangeLog index 2aa5b91..71040c4 100644 --- a/app-emulation/virtualbox-ose/ChangeLog +++ b/app-emulation/virtualbox-ose/ChangeLog @@ -1,10 +1,23 @@ # 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.29 2009/10/03 17:09:57 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-ose/ChangeLog,v 1.31 2009/10/09 17:41:14 patrick Exp $ - 06 Oct 2009; Alessio Cassibba (X-Drum) - -virtualbox-ose-3.0.6.ebuild, +virtualbox-ose-3.0.8.ebuild: - Version bump + 17 Oct 2009; Alessio Cassibba (X-Drum) + -virtualbox-ose-3.0.8.ebuild, +virtualbox-ose-3.0.8-r1.ebuild, + +files/virtualbox-ose-3.0.8-without-hal-fix.patch: + add dev-util/pkgconfig to DEPEND #288281; fix pkg_postinst message #288489; + fix vboxwebsrv build/DEPEND #288836 + + 09 Oct 2009; Patrick Lauer + virtualbox-ose-3.0.8.ebuild, + +files/virtualbox-ose-3.0.8-without-hal-fix.patch: + Fix for use=-hal. Thanks to upstream for the patch, fixes #288057 + +*virtualbox-ose-3.0.8 (06 Oct 2009) + + 06 Oct 2009; Patrick Lauer + +virtualbox-ose-3.0.8.ebuild: + Bump to 3.0.8, big thanks to X-Drum for testing 03 Oct 2009; Patrick Lauer virtualbox-ose-9999.ebuild: @@ -120,7 +133,7 @@ *virtualbox-ose-2.0.4-r1 (18 Dec 2008) *virtualbox-ose-1.6.6-r1 (18 Dec 2008) - 18 Dec 2008; Diego E. Pettenò + 18 Dec 2008; Diego E. Pettenò +files/virtualbox-ose-fix-insecure-lockfiles.patch, +virtualbox-ose-1.6.6-r1.ebuild, +virtualbox-ose-2.0.4-r1.ebuild, +virtualbox-ose-2.0.6.ebuild, virtualbox-ose-9999.ebuild: @@ -291,13 +304,13 @@ 04 Mar 2008; Markus Ullmann virtualbox-1.5.4-r1.ebuild: Stable on x86 wrt bug #208905 - 26 Feb 2008; Diego Pettenò + 26 Feb 2008; Diego Pettenò virtualbox-1.5.6.ebuild: Fix patch naming. *virtualbox-1.5.6 (25 Feb 2008) - 25 Feb 2008; Diego Pettenò + 25 Feb 2008; Diego Pettenò +virtualbox-1.5.6.ebuild: Version bump, as requested by the proxy-maintainer Alessio Cassibba. @@ -346,7 +359,7 @@ Fix desktop entry for bug #196832, typo in wrapper and HAL warning. Thanks to Alessio for providing needed modifications - 29 Oct 2007; Dawid Węgliński virtualbox-1.5.2.ebuild: + 29 Oct 2007; Dawid Węgliński virtualbox-1.5.2.ebuild: Stable on x86 *virtualbox-1.5.2 (22 Oct 2007) @@ -423,7 +436,7 @@ virtualbox-1.3.8.ebuild, virtualbox-9999.ebuild: Fix for sdl useflag bug #177335 - 21 Apr 2007; Raúl Porcel virtualbox-1.3.8.ebuild: + 21 Apr 2007; Raúl Porcel virtualbox-1.3.8.ebuild: x86 stable *virtualbox-1.3.8 (16 Mar 2007) diff --git a/app-emulation/virtualbox-ose/Manifest b/app-emulation/virtualbox-ose/Manifest index f41e83a..eddf15f 100644 --- a/app-emulation/virtualbox-ose/Manifest +++ b/app-emulation/virtualbox-ose/Manifest @@ -7,11 +7,12 @@ AUX virtualbox-ose-2-config 42 RMD160 7102b584e67b964dfd3c06e06b29eb91d33d7604 S AUX virtualbox-ose-2-localconfig 1382 RMD160 1e484d1d7b3955ae425caa6d20ceba629b5f0150 SHA1 f1c7f076c2dfb8011708852391ae35cfe4d82994 SHA256 ebd65235b78f68f3c6f2b2185230f6271e077c04ad35a8c00b072fe563109fc6 AUX virtualbox-ose-2-wrapper 2813 RMD160 2d05512fa94abfb034f1f6eec6bb207af020df45 SHA1 c2dbe19e5ab603378d6b1c72dc4b02fe4368a3e1 SHA256 ad91be6fc1753dc686e9f9774fd91101e7fd15e064af5419d5fd0769f3434e8b AUX virtualbox-ose-3.0.0-mesa-check.patch 692 RMD160 c1b62d987fa941f5455a8fb0c0d6b07377756d0f SHA1 18c987a024fc45778cc2dc55515100150996408d SHA256 88e981ed765b26c11ea9c606a009a9a1b03c67a1de5cb42b18e0088e027fe0c8 +AUX virtualbox-ose-3.0.8-without-hal-fix.patch 1318 RMD160 9fbefc7f4a783dc2f2c84773cf52b30b9e16777c SHA1 0e2e06c38de7023920cbd819be24e1dbc9ff8408 SHA256 125bbf9f926ad19a5dac6a0c68cc7b2abbd2c246c071917b1f9b447b38addbe5 AUX virtualbox-ose-fix-insecure-lockfiles.patch 2579 RMD160 4b460669369a4da395a335c4357346d932275916 SHA1 0a692a1b6de3e643ca8e60de6da8b9a7613cd352 SHA256 32f253b9c212a66181f7bdab9c6d509dbf5f3220849d0aeb47d840aa9465fcdf AUX virtualbox-ose-fix-nodbus-build.patch 461 RMD160 f9e731a1d68947823d23bdfd4bc85ae182e6302c SHA1 f39bcd3bf704d64d45a97b1e1b77b6c47e9a61fc SHA256 cecc8685203f715f446fad31a597a2bf7397967200b1ab90b0c02785b151445b AUX virtualbox-ose-interfaces 218 RMD160 4639b9848cf44ac59cd12585a3c56ef53d72a6d9 SHA1 3268e5759286bdff1c5242598266e6c2a5b17e5d SHA256 50ddbfedce3afd41aad45163eb799fce0956d815948ad9da842f09163aaafd52 AUX virtualbox-ose.desktop 202 RMD160 8b4b5c05743978d71edd4eaba71ae25f1d9d0d82 SHA1 3c10d2f12ea58ef35e785b8727a51fd3a0d66472 SHA256 9bbd26661317b106593d74b84cec3781b24c41bc40a2f98776e23d6b422ee4bb DIST VirtualBox-3.0.8-OSE.tar.bz2 52058158 RMD160 0565592f81e787ceb18a3eea1271d95bfed804cc SHA1 07c16657046f1b5a5562ad2b9041f982ad9dded7 SHA256 6472df6ec77cbc3c742f56db6b7e3f49323620f688ac7c52227aebe4f4a18be1 -EBUILD virtualbox-ose-3.0.8.ebuild 8068 RMD160 fe19fecd7fdf894881aebf7b17c90f5b0da3deef SHA1 8fce457c1622e36b79e148e0d8653dcea1e4e459 SHA256 7b618e635c44aacd97a2b1652c2cfc2d4bb238d0f61dcb121100ab819d71811a -MISC ChangeLog 19696 RMD160 970f4d6277df9318848c2cbb3f4f61dac1806877 SHA1 bd57dfc4cf09b08ff0c9940fe234e2393fab2a46 SHA256 5e31a58cefdcc520f7f040e0eb7ee51991cbb54fbd9694febf16ce15d68aae73 +EBUILD virtualbox-ose-3.0.8-r1.ebuild 8191 RMD160 c99f91bdc841ea82585da5db677f2920d2e617a5 SHA1 727ac163a5581220a39126275b6af01510bb6f3a SHA256 23c21f6cfe4bd61f7531ee0de7b1b0b21e562e6581a2d0cf8d6cfc038349805c +MISC ChangeLog 20238 RMD160 65793e81ba285ac97ebc4fa44382d93e6e44b921 SHA1 0db751d24b5a71fb6a24ff4b1abb65828d576d44 SHA256 afed558c121673c1a98a2fb138a792bcd4036e81efef3b8bdfc1b102b41fb95a MISC metadata.xml 608 RMD160 05b2e56d330d28aed13d4a7035369e04dc1e989e SHA1 ea332f57fa454cc6f8489f6debcd991003886fc0 SHA256 ab349ab6727625054f24bbf733a3f6fabb34ba1e1f0fd845c51c70595b05b6aa diff --git a/app-emulation/virtualbox-ose/files/virtualbox-ose-3.0.8-without-hal-fix.patch b/app-emulation/virtualbox-ose/files/virtualbox-ose-3.0.8-without-hal-fix.patch new file mode 100644 index 0000000..e2ac8c5 --- /dev/null +++ b/app-emulation/virtualbox-ose/files/virtualbox-ose-3.0.8-without-hal-fix.patch @@ -0,0 +1,32 @@ +--- VirtualBox-3.0.8_OSE/src/VBox/Main/linux/HostHardwareLinux.cpp ++++ VirtualBox-3.0.8_OSE/src/VBox/Main/linux/HostHardwareLinux.cpp +@@ -212,10 +212,8 @@ + && (!success || testing())) + rc = getDriveInfoFromHal(&mFloppyList, false /* isDVD */, &success); + #endif /* VBOX_WITH_DBUS defined */ +- if ( RT_SUCCESS(rc) +- && RT_SUCCESS(VBoxLoadDBusLib()) +- && (!success || testing())) +- rc = getDriveInfoFromHal(&mFloppyList, false /* isDVD */, &success); ++ if ( RT_SUCCESS(rc) && (!success || testing())) ++ rc = getDriveInfoFromSysfs(&mFloppyList, false /* isDVD */, &success); + /* As with the CDROMs, on Linux we have to take a multi-level approach + * involving parsing the mount tables. As this is not bulletproof, we + * give the user the chance to override the detection using an +@@ -1086,6 +1084,7 @@ + LogFlowFunc (("rc=%Rrc, halSuccess=%d\n", rc, halSuccess)); + return rc; + } ++#endif /* RT_OS_LINUX && VBOX_WITH_DBUS */ + + /** + * Send an SCSI INQUIRY command to a device and return selected information. +@@ -1422,6 +1421,8 @@ + return rc; + } + ++#if defined(RT_OS_LINUX) && defined(VBOX_WITH_DBUS) ++ + /** + * Helper function to query the hal subsystem for information about drives + * attached to the system. diff --git a/app-emulation/virtualbox-ose/virtualbox-ose-3.0.8-r1.ebuild b/app-emulation/virtualbox-ose/virtualbox-ose-3.0.8-r1.ebuild new file mode 100644 index 0000000..cd3c123 --- /dev/null +++ b/app-emulation/virtualbox-ose/virtualbox-ose-3.0.8-r1.ebuild @@ -0,0 +1,258 @@ +# 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.6.ebuild,v 1.3 2009/09/30 17:09:49 ayoy 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}-2-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} + doins -r nls +} + +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 +} diff --git a/app-emulation/virtualbox-ose/virtualbox-ose-3.0.8.ebuild b/app-emulation/virtualbox-ose/virtualbox-ose-3.0.8.ebuild deleted file mode 100644 index a9f33c1..0000000 --- a/app-emulation/virtualbox-ose/virtualbox-ose-3.0.8.ebuild +++ /dev/null @@ -1,254 +0,0 @@ -# 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.6.ebuild,v 1.3 2009/09/30 17:09:49 ayoy 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 - 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.9f )" -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" -} - -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}-2-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} - doins -r nls -} - -pkg_postinst() { - fdo-mime_desktop_database_update - if ! use headless ; then - elog "To launch VirtualBox just type: \"VirtualBox\"" - fi - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The lastest 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 -} -- cgit v1.2.3-65-gdbad