commit:     ecac0a7b35d333d48ecb88491b578959fc0cb681
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Mar  7 14:31:59 2016 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Mar  7 14:51:40 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ecac0a7b

app-emulation/virtualbox: Bumped ebuild to EAPI-6.

Did some ebuild overhaul.

Package-Manager: portage-2.2.27
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 app-emulation/virtualbox/Manifest                 |   1 +
 app-emulation/virtualbox/virtualbox-5.0.16.ebuild | 162 +++++++++++-----------
 2 files changed, 79 insertions(+), 84 deletions(-)

diff --git a/app-emulation/virtualbox/Manifest 
b/app-emulation/virtualbox/Manifest
index 0c9f363..e29ebbc 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -4,4 +4,5 @@ DIST VirtualBox-4.3.36.tar.bz2 98421624 SHA256 
af0776df6d03b2709cb76a69f055487bf
 DIST VirtualBox-5.0.14.tar.bz2 111033626 SHA256 
69abac7255b2251a18fd73c0b7c200d5f8ce72a59fa019b53a5cdbf7f2843002 SHA512 
5547da58b50c9cf5d096f81c005134e1f56c4fb55d4d40a6fbd1efe1fe1fbeebc0747f0903933da9238a24c63eeed2c6c15bfc5cae5ce6e3e2eb4a18511d6258
 WHIRLPOOL 
785e0fa7a0652825b977562a1febbd95463ce49a9257a004827725597e0fbd59f9bdf75cc31f5b04e0f04be3d0d68e90148c06dd5d03875063312f8a3cd5bc86
 DIST VirtualBox-5.0.16.tar.bz2 111062984 SHA256 
f5a44d33a1db911f445b2eb2d22d9293a96a535cba488b5a235577ef868fa63c SHA512 
3da3a227360fb50d299e99770378f65e8cb99525377343fa8faff2360be66643d46f68323d6a8b8d4d26182082f171bb35ab2497167bf6df18827a5ea7742074
 WHIRLPOOL 
ea709057c588f28820790c2b193decba9ee0c57e0f82aa4361ca87aef661315182e18b5ee29558e47ed92f6037eb91befa5390680661a7b9f2248c7819b4a85c
 DIST virtualbox-4.3.16-patches-01.tar.xz 4288 SHA256 
270c4f01b2c13c4133987b3acc073dfbf78840212cf09f083dbf8fc80407ce6f SHA512 
595f88c4b388b4807347c15c1750ec73aceba1c82ad993e9a05c7b78dfece7b679aff0338b3a48e2ccee7911fb5ed0dba803052332a270230078551f747052bc
 WHIRLPOOL 
2157ee3fb9beed906cff28647c869e37d62551ad8c93801c0f0ec6893675f11786aa6d92acf11c348d30aa58b6e03a3faa879c664dddac6e5b8525035986c9ca
+DIST virtualbox-5.0.16-patches-01.tar.xz 4024 SHA256 
200eb980a12323a61d0fa6dbf61ed64ee1e2bb5e18e16eabdf8668d8fd8be3e4 SHA512 
4eed117253754abee9088d4c320b4a6f0b3e1c8313b98f354cb727001156fe68d553a677073d40b921437f4cc073420866d1533aad4e61a79607d8360abbfd4a
 WHIRLPOOL 
ab40851873d55ae873ca8ff88670a17476c0d502116f4abda7b766064a2daa71929eb69b4b68c64c3d2d0762134fe85d07044bdedde4bf15924520a604972aaa
 DIST virtualbox-5.0.2-patches-01.tar.xz 4556 SHA256 
8fcfa7972b0942f3e65bda73a35a6feb234aad770016fb4caafba105757d7ada SHA512 
14ce8f0b17e593b2de676e0beaab688f29606aaea330151038fbb9259d3f5e4c22f254d1fa6cc45f968d81cf9f7d71deb9a7a32f565d07c1d9fa615431472ca9
 WHIRLPOOL 
be73fd5576732f70f6ebb33a9d604d46a8fabdbdb0e187af3435f75412e21f62c0774130a9a6315e6b87ecf96d02398ffce828b3ab8f584716ed9a12e06d7cde

diff --git a/app-emulation/virtualbox/virtualbox-5.0.16.ebuild 
b/app-emulation/virtualbox/virtualbox-5.0.16.ebuild
index 4c09818..6dca89b 100644
--- a/app-emulation/virtualbox/virtualbox-5.0.16.ebuild
+++ b/app-emulation/virtualbox/virtualbox-5.0.16.ebuild
@@ -2,16 +2,16 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
 PYTHON_COMPAT=( python2_7 )
-inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib 
pax-utils python-single-r1 qt4-r2 toolchain-funcs udev
+inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib 
pax-utils python-single-r1 toolchain-funcs udev
 
 MY_PV="${PV/beta/BETA}"
 MY_PV="${MY_PV/rc/RC}"
 MY_P=VirtualBox-${MY_PV}
 SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
-       
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.0.2-patches-01.tar.xz";
+       
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.0.16-patches-01.tar.xz";
 S="${WORKDIR}/${MY_P}"
 
 DESCRIPTION="Family of powerful x86 virtualization products for enterprise as 
well as home use"
@@ -27,38 +27,38 @@ RDEPEND="!app-emulation/virtualbox-bin
        dev-libs/libIDL
        >=dev-libs/libxslt-1.1.19
        net-misc/curl
-       !libressl? ( dev-libs/openssl:0= )
-       libressl? ( dev-libs/libressl:= )
        dev-libs/libxml2
        media-libs/libpng:0=
        media-libs/libvpx:0=
        sys-libs/zlib
        !headless? (
+               media-libs/libsdl:0[X,video]
+               x11-libs/libX11
+               x11-libs/libXcursor
+               x11-libs/libXext
+               x11-libs/libXmu
+               x11-libs/libXt
+               opengl? ( virtual/opengl media-libs/freeglut )
                qt4? (
                        dev-qt/qtgui:4
                        dev-qt/qtcore:4
                        opengl? ( dev-qt/qtopengl:4 )
                        x11-libs/libXinerama
                )
-               opengl? ( virtual/opengl media-libs/freeglut )
-               x11-libs/libX11
-               x11-libs/libXcursor
-               x11-libs/libXext
-               x11-libs/libXmu
-               x11-libs/libXt
-               media-libs/libsdl:0[X,video]
        )
-
        java? ( >=virtual/jre-1.6:= )
+       libressl? ( dev-libs/libressl:= )
+       !libressl? ( dev-libs/openssl:0= )
        udev? ( >=virtual/udev-171 )
        vnc? ( >=net-libs/libvncserver-0.9.9 )"
 DEPEND="${RDEPEND}
        >=dev-util/kbuild-0.1.9998_pre20131130
        >=dev-lang/yasm-0.6.2
        sys-devel/bin86
-       sys-power/iasl
-       pam? ( sys-libs/pam )
        sys-libs/libcap
+       sys-power/iasl
+       virtual/pkgconfig
+       alsa? ( >=media-libs/alsa-lib-1.0.13 )
        doc? (
                dev-texlive/texlive-basic
                dev-texlive/texlive-latex
@@ -67,10 +67,9 @@ DEPEND="${RDEPEND}
                dev-texlive/texlive-fontsrecommended
                dev-texlive/texlive-fontsextra
        )
-       java? ( >=virtual/jre-1.6:= )
-       virtual/pkgconfig
-       alsa? ( >=media-libs/alsa-lib-1.0.13 )
        !headless? ( x11-libs/libXinerama )
+       java? ( >=virtual/jre-1.6:= )
+       pam? ( sys-libs/pam )
        pulseaudio? ( media-sound/pulseaudio )
        vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
        ${PYTHON_DEPS}"
@@ -101,9 +100,6 @@ QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
        usr/lib/virtualbox/components/VBoxREM.so
        usr/lib/virtualbox/components/VBoxVMM.so
        usr/lib/virtualbox/VBoxREM32.so
-       usr/lib/virtualbox/VBoxPython2_4.so
-       usr/lib/virtualbox/VBoxPython2_5.so
-       usr/lib/virtualbox/VBoxPython2_6.so
        usr/lib/virtualbox/VBoxPython2_7.so
        usr/lib/virtualbox/VBoxXPCOMC.so
        usr/lib/virtualbox/VBoxOGLhostcrutil.so
@@ -112,9 +108,7 @@ QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
 
 REQUIRED_USE="
        java? ( sdk )
-       python? (
-               ( sdk )
-       )
+       python? ( sdk )
        vboxwebsrv? ( java )
        ${PYTHON_REQUIRED_USE}
 "
@@ -142,7 +136,7 @@ pkg_setup() {
 
 src_prepare() {
        # Remove shipped binaries (kBuild,yasm), see bug #232775
-       rm -rf kBuild/bin tools
+       rm -r kBuild/bin tools || die
 
        # Disable things unused or split into separate ebuilds
        sed -e "s@MY_LIBDIR@$(get_libdir)@" \
@@ -168,34 +162,31 @@ src_prepare() {
        fi
 
        if ! gcc-specs-pie ; then
-               EPATCH_EXCLUDE="050_${PN}-5.0.2-nopie.patch"
+               rm "${WORKDIR}/patches/050_${PN}-5.0.2-nopie.patch" || die
        fi
 
-       EPATCH_EXCLUDE="007_virtualbox-4.3.16-gsoap2813.patch" \
-       EPATCH_SUFFIX="patch" \
-       EPATCH_FORCE="yes" \
-       epatch "${WORKDIR}/patches"
+       eapply "${WORKDIR}/patches"
 
-       epatch_user
+       eapply_user
 }
 
 src_configure() {
        local myconf
-       use alsa       || myconf+=" --disable-alsa"
-       use doc        || myconf+=" --disable-docs"
-       use java       || myconf+=" --disable-java"
-       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"
+       use alsa       || myconf+=( --disable-alsa )
+       use doc        || myconf+=( --disable-docs )
+       use java       || myconf+=( --disable-java )
+       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"
+               use qt4 || myconf+=( --disable-qt4 )
        else
-               myconf+=" --build-headless --disable-opengl"
+               myconf+=( --build-headless --disable-opengl )
        fi
        if use amd64 && ! has_multilib_profile ; then
-               myconf+=" --disable-vmmraw"
+               myconf+=( --disable-vmmraw )
        fi
        # not an autoconf script
        ./configure \
@@ -204,12 +195,12 @@ src_configure() {
                --disable-kmods \
                --disable-dbus \
                --disable-devmapper \
-               ${myconf} \
+               ${myconf[@]} \
                || die "configure failed"
 }
 
 src_compile() {
-       source ./env.sh
+       source ./env.sh || die
 
        # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
        # and strip all flags
@@ -232,6 +223,22 @@ src_compile() {
 src_install() {
        cd "${S}"/out/linux.${ARCH}/release/bin || die
 
+       local vbox_inst_path="/usr/$(get_libdir)/${PN}"
+
+       vbox_inst() {
+               local binary="${1}"
+               local perms="${2:-0750}"
+               local path="${3:-${vbox_inst_path}}"
+
+               [[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
+               [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms 
must consist of four digits."
+
+               insinto ${path}
+               doins ${binary}
+               fowners root:vboxusers ${path}/${binary}
+               fperms ${perms} ${path}/${binary}
+       }
+
        # Create configuration files
        insinto /etc/vbox
        newins "${FILESDIR}/${PN}-4-config" vbox.cfg
@@ -242,10 +249,10 @@ src_install() {
                "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
 
        # Symlink binaries to the shipped wrapper
-       exeinto /usr/$(get_libdir)/${PN}
+       exeinto ${vbox_inst_path}
        newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox"
-       fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox
-       fperms 0750 /usr/$(get_libdir)/${PN}/VBox
+       fowners root:vboxusers ${vbox_inst_path}/VBox
+       fperms 0750 ${vbox_inst_path}/VBox
 
        dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage
        dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP
@@ -253,7 +260,7 @@ src_install() {
        dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
 
        # Install binaries and libraries
-       insinto /usr/$(get_libdir)/${PN}
+       insinto ${vbox_inst_path}
        doins -r components
 
        if use sdk ; then
@@ -261,60 +268,49 @@ src_install() {
        fi
 
        if use vboxwebsrv ; then
-               doins vboxwebsrv
-               fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv
-               fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv
-               dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv
+               vbox_inst vboxwebsrv
+               dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
                newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
                newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
        fi
 
+       # *.rc files for x86_64 are only available on multilib systems
        local rcfiles="*.rc"
        if use amd64 && ! has_multilib_profile ; then
                rcfiles=""
        fi
 
        for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,ExtPackHelperApp} *so *r0 
${rcfiles} ; do
-               doins ${each}
-               fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
-               fperms 0750 /usr/$(get_libdir)/${PN}/${each}
+               vbox_inst ${each}
        done
 
-       # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any 
case..
+       # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any 
case.
        for each in VBoxNet{AdpCtl,DHCP,NAT} ; do
-               doins ${each}
-               fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
-               fperms 4750 /usr/$(get_libdir)/${PN}/${each}
+               vbox_inst ${each} 4750
        done
 
        # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
        # VBoxXPCOMIPCD (bug #524202)
        for each in VBox{Manage,SVC,XPCOMIPCD} ; do
-               pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
+               pax-mark -m "${D}"${vbox_inst_path}/${each}
        done
 
        if ! use headless ; then
-               doins VBoxSDL
-               fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxSDL
-               fperms 4750 /usr/$(get_libdir)/${PN}/VBoxSDL
-               pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxSDL
+               vbox_inst VBoxSDL 4750
+               pax-mark -m "${D}"${vbox_inst_path}/VBoxSDL
 
                if use opengl && use qt4 ; then
-                       doins VBoxTestOGL
-                       fowners root:vboxusers 
/usr/$(get_libdir)/${PN}/VBoxTestOGL
-                       fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL
-                       pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxTestOGL
+                       vbox_inst VBoxTestOGL
+                       pax-mark -m "${D}"${vbox_inst_path}/VBoxTestOGL
                fi
 
-               dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL
+               dosym ${vbox_inst_path}/VBox /usr/bin/VBoxSDL
 
                if use qt4 ; then
-                       doins VirtualBox
-                       fowners root:vboxusers 
/usr/$(get_libdir)/${PN}/VirtualBox
-                       fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox
-                       pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox
+                       vbox_inst VirtualBox 4750
+                       pax-mark -m "${D}"${vbox_inst_path}/VirtualBox
 
-                       dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox
+                       dosym ${vbox_inst_path}/VBox /usr/bin/VirtualBox
 
                        newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
                fi
@@ -328,17 +324,15 @@ src_install() {
                popd &>/dev/null || die
        fi
 
-       doins VBoxHeadless
-       fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless
-       fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless
-       pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless
+       vbox_inst VBoxHeadless 4750
+       pax-mark -m "${D}"${vbox_inst_path}/VBoxHeadless
 
-       insinto /usr/$(get_libdir)/${PN}
+       insinto ${vbox_inst_path}
        # 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}
-               fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile}
+               fowners root:vboxusers ${vbox_inst_path}/${fwfile}
        done
        popd &>/dev/null || die
 
@@ -361,15 +355,15 @@ src_install() {
        fi
 
        # VRDPAuth only works with this (bug #351949)
-       dosym VBoxAuth.so  /usr/$(get_libdir)/${PN}/VRDPAuth.so
+       dosym VBoxAuth.so  ${vbox_inst_path}/VRDPAuth.so
 
        # set an env-variable for 3rd party tools
-       echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox"
+       echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
        doenvd "${T}/90virtualbox"
 
        if use java ; then
-               java-pkg_regjar 
"${D}/usr/$(get_libdir)/${PN}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
-               java-pkg_regso "${D}/usr/$(get_libdir)/${PN}/libvboxjxpcom.so"
+               java-pkg_regjar 
"${D}${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
+               java-pkg_regso "${D}${vbox_inst_path}/libvboxjxpcom.so"
        fi
 }
 

Reply via email to