Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox/
Date: Mon, 07 Mar 2016 14:51:54
Message-Id: 1457362300.ecac0a7b35d333d48ecb88491b578959fc0cb681.polynomial-c@gentoo
1 commit: ecac0a7b35d333d48ecb88491b578959fc0cb681
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Mon Mar 7 14:31:59 2016 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Mon Mar 7 14:51:40 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ecac0a7b
7
8 app-emulation/virtualbox: Bumped ebuild to EAPI-6.
9
10 Did some ebuild overhaul.
11
12 Package-Manager: portage-2.2.27
13 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
14
15 app-emulation/virtualbox/Manifest | 1 +
16 app-emulation/virtualbox/virtualbox-5.0.16.ebuild | 162 +++++++++++-----------
17 2 files changed, 79 insertions(+), 84 deletions(-)
18
19 diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
20 index 0c9f363..e29ebbc 100644
21 --- a/app-emulation/virtualbox/Manifest
22 +++ b/app-emulation/virtualbox/Manifest
23 @@ -4,4 +4,5 @@ DIST VirtualBox-4.3.36.tar.bz2 98421624 SHA256 af0776df6d03b2709cb76a69f055487bf
24 DIST VirtualBox-5.0.14.tar.bz2 111033626 SHA256 69abac7255b2251a18fd73c0b7c200d5f8ce72a59fa019b53a5cdbf7f2843002 SHA512 5547da58b50c9cf5d096f81c005134e1f56c4fb55d4d40a6fbd1efe1fe1fbeebc0747f0903933da9238a24c63eeed2c6c15bfc5cae5ce6e3e2eb4a18511d6258 WHIRLPOOL 785e0fa7a0652825b977562a1febbd95463ce49a9257a004827725597e0fbd59f9bdf75cc31f5b04e0f04be3d0d68e90148c06dd5d03875063312f8a3cd5bc86
25 DIST VirtualBox-5.0.16.tar.bz2 111062984 SHA256 f5a44d33a1db911f445b2eb2d22d9293a96a535cba488b5a235577ef868fa63c SHA512 3da3a227360fb50d299e99770378f65e8cb99525377343fa8faff2360be66643d46f68323d6a8b8d4d26182082f171bb35ab2497167bf6df18827a5ea7742074 WHIRLPOOL ea709057c588f28820790c2b193decba9ee0c57e0f82aa4361ca87aef661315182e18b5ee29558e47ed92f6037eb91befa5390680661a7b9f2248c7819b4a85c
26 DIST virtualbox-4.3.16-patches-01.tar.xz 4288 SHA256 270c4f01b2c13c4133987b3acc073dfbf78840212cf09f083dbf8fc80407ce6f SHA512 595f88c4b388b4807347c15c1750ec73aceba1c82ad993e9a05c7b78dfece7b679aff0338b3a48e2ccee7911fb5ed0dba803052332a270230078551f747052bc WHIRLPOOL 2157ee3fb9beed906cff28647c869e37d62551ad8c93801c0f0ec6893675f11786aa6d92acf11c348d30aa58b6e03a3faa879c664dddac6e5b8525035986c9ca
27 +DIST virtualbox-5.0.16-patches-01.tar.xz 4024 SHA256 200eb980a12323a61d0fa6dbf61ed64ee1e2bb5e18e16eabdf8668d8fd8be3e4 SHA512 4eed117253754abee9088d4c320b4a6f0b3e1c8313b98f354cb727001156fe68d553a677073d40b921437f4cc073420866d1533aad4e61a79607d8360abbfd4a WHIRLPOOL ab40851873d55ae873ca8ff88670a17476c0d502116f4abda7b766064a2daa71929eb69b4b68c64c3d2d0762134fe85d07044bdedde4bf15924520a604972aaa
28 DIST virtualbox-5.0.2-patches-01.tar.xz 4556 SHA256 8fcfa7972b0942f3e65bda73a35a6feb234aad770016fb4caafba105757d7ada SHA512 14ce8f0b17e593b2de676e0beaab688f29606aaea330151038fbb9259d3f5e4c22f254d1fa6cc45f968d81cf9f7d71deb9a7a32f565d07c1d9fa615431472ca9 WHIRLPOOL be73fd5576732f70f6ebb33a9d604d46a8fabdbdb0e187af3435f75412e21f62c0774130a9a6315e6b87ecf96d02398ffce828b3ab8f584716ed9a12e06d7cde
29
30 diff --git a/app-emulation/virtualbox/virtualbox-5.0.16.ebuild b/app-emulation/virtualbox/virtualbox-5.0.16.ebuild
31 index 4c09818..6dca89b 100644
32 --- a/app-emulation/virtualbox/virtualbox-5.0.16.ebuild
33 +++ b/app-emulation/virtualbox/virtualbox-5.0.16.ebuild
34 @@ -2,16 +2,16 @@
35 # Distributed under the terms of the GNU General Public License v2
36 # $Id$
37
38 -EAPI=5
39 +EAPI=6
40
41 PYTHON_COMPAT=( python2_7 )
42 -inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 qt4-r2 toolchain-funcs udev
43 +inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 toolchain-funcs udev
44
45 MY_PV="${PV/beta/BETA}"
46 MY_PV="${MY_PV/rc/RC}"
47 MY_P=VirtualBox-${MY_PV}
48 SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
49 - https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.0.2-patches-01.tar.xz"
50 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.0.16-patches-01.tar.xz"
51 S="${WORKDIR}/${MY_P}"
52
53 DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
54 @@ -27,38 +27,38 @@ RDEPEND="!app-emulation/virtualbox-bin
55 dev-libs/libIDL
56 >=dev-libs/libxslt-1.1.19
57 net-misc/curl
58 - !libressl? ( dev-libs/openssl:0= )
59 - libressl? ( dev-libs/libressl:= )
60 dev-libs/libxml2
61 media-libs/libpng:0=
62 media-libs/libvpx:0=
63 sys-libs/zlib
64 !headless? (
65 + media-libs/libsdl:0[X,video]
66 + x11-libs/libX11
67 + x11-libs/libXcursor
68 + x11-libs/libXext
69 + x11-libs/libXmu
70 + x11-libs/libXt
71 + opengl? ( virtual/opengl media-libs/freeglut )
72 qt4? (
73 dev-qt/qtgui:4
74 dev-qt/qtcore:4
75 opengl? ( dev-qt/qtopengl:4 )
76 x11-libs/libXinerama
77 )
78 - opengl? ( virtual/opengl media-libs/freeglut )
79 - x11-libs/libX11
80 - x11-libs/libXcursor
81 - x11-libs/libXext
82 - x11-libs/libXmu
83 - x11-libs/libXt
84 - media-libs/libsdl:0[X,video]
85 )
86 -
87 java? ( >=virtual/jre-1.6:= )
88 + libressl? ( dev-libs/libressl:= )
89 + !libressl? ( dev-libs/openssl:0= )
90 udev? ( >=virtual/udev-171 )
91 vnc? ( >=net-libs/libvncserver-0.9.9 )"
92 DEPEND="${RDEPEND}
93 >=dev-util/kbuild-0.1.9998_pre20131130
94 >=dev-lang/yasm-0.6.2
95 sys-devel/bin86
96 - sys-power/iasl
97 - pam? ( sys-libs/pam )
98 sys-libs/libcap
99 + sys-power/iasl
100 + virtual/pkgconfig
101 + alsa? ( >=media-libs/alsa-lib-1.0.13 )
102 doc? (
103 dev-texlive/texlive-basic
104 dev-texlive/texlive-latex
105 @@ -67,10 +67,9 @@ DEPEND="${RDEPEND}
106 dev-texlive/texlive-fontsrecommended
107 dev-texlive/texlive-fontsextra
108 )
109 - java? ( >=virtual/jre-1.6:= )
110 - virtual/pkgconfig
111 - alsa? ( >=media-libs/alsa-lib-1.0.13 )
112 !headless? ( x11-libs/libXinerama )
113 + java? ( >=virtual/jre-1.6:= )
114 + pam? ( sys-libs/pam )
115 pulseaudio? ( media-sound/pulseaudio )
116 vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
117 ${PYTHON_DEPS}"
118 @@ -101,9 +100,6 @@ QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
119 usr/lib/virtualbox/components/VBoxREM.so
120 usr/lib/virtualbox/components/VBoxVMM.so
121 usr/lib/virtualbox/VBoxREM32.so
122 - usr/lib/virtualbox/VBoxPython2_4.so
123 - usr/lib/virtualbox/VBoxPython2_5.so
124 - usr/lib/virtualbox/VBoxPython2_6.so
125 usr/lib/virtualbox/VBoxPython2_7.so
126 usr/lib/virtualbox/VBoxXPCOMC.so
127 usr/lib/virtualbox/VBoxOGLhostcrutil.so
128 @@ -112,9 +108,7 @@ QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
129
130 REQUIRED_USE="
131 java? ( sdk )
132 - python? (
133 - ( sdk )
134 - )
135 + python? ( sdk )
136 vboxwebsrv? ( java )
137 ${PYTHON_REQUIRED_USE}
138 "
139 @@ -142,7 +136,7 @@ pkg_setup() {
140
141 src_prepare() {
142 # Remove shipped binaries (kBuild,yasm), see bug #232775
143 - rm -rf kBuild/bin tools
144 + rm -r kBuild/bin tools || die
145
146 # Disable things unused or split into separate ebuilds
147 sed -e "s@MY_LIBDIR@$(get_libdir)@" \
148 @@ -168,34 +162,31 @@ src_prepare() {
149 fi
150
151 if ! gcc-specs-pie ; then
152 - EPATCH_EXCLUDE="050_${PN}-5.0.2-nopie.patch"
153 + rm "${WORKDIR}/patches/050_${PN}-5.0.2-nopie.patch" || die
154 fi
155
156 - EPATCH_EXCLUDE="007_virtualbox-4.3.16-gsoap2813.patch" \
157 - EPATCH_SUFFIX="patch" \
158 - EPATCH_FORCE="yes" \
159 - epatch "${WORKDIR}/patches"
160 + eapply "${WORKDIR}/patches"
161
162 - epatch_user
163 + eapply_user
164 }
165
166 src_configure() {
167 local myconf
168 - use alsa || myconf+=" --disable-alsa"
169 - use doc || myconf+=" --disable-docs"
170 - use java || myconf+=" --disable-java"
171 - use opengl || myconf+=" --disable-opengl"
172 - use pulseaudio || myconf+=" --disable-pulse"
173 - use python || myconf+=" --disable-python"
174 - use vboxwebsrv && myconf+=" --enable-webservice"
175 - use vnc && myconf+=" --enable-vnc"
176 + use alsa || myconf+=( --disable-alsa )
177 + use doc || myconf+=( --disable-docs )
178 + use java || myconf+=( --disable-java )
179 + use opengl || myconf+=( --disable-opengl )
180 + use pulseaudio || myconf+=( --disable-pulse )
181 + use python || myconf+=( --disable-python )
182 + use vboxwebsrv && myconf+=( --enable-webservice )
183 + use vnc && myconf+=( --enable-vnc )
184 if ! use headless ; then
185 - use qt4 || myconf+=" --disable-qt4"
186 + use qt4 || myconf+=( --disable-qt4 )
187 else
188 - myconf+=" --build-headless --disable-opengl"
189 + myconf+=( --build-headless --disable-opengl )
190 fi
191 if use amd64 && ! has_multilib_profile ; then
192 - myconf+=" --disable-vmmraw"
193 + myconf+=( --disable-vmmraw )
194 fi
195 # not an autoconf script
196 ./configure \
197 @@ -204,12 +195,12 @@ src_configure() {
198 --disable-kmods \
199 --disable-dbus \
200 --disable-devmapper \
201 - ${myconf} \
202 + ${myconf[@]} \
203 || die "configure failed"
204 }
205
206 src_compile() {
207 - source ./env.sh
208 + source ./env.sh || die
209
210 # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
211 # and strip all flags
212 @@ -232,6 +223,22 @@ src_compile() {
213 src_install() {
214 cd "${S}"/out/linux.${ARCH}/release/bin || die
215
216 + local vbox_inst_path="/usr/$(get_libdir)/${PN}"
217 +
218 + vbox_inst() {
219 + local binary="${1}"
220 + local perms="${2:-0750}"
221 + local path="${3:-${vbox_inst_path}}"
222 +
223 + [[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
224 + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
225 +
226 + insinto ${path}
227 + doins ${binary}
228 + fowners root:vboxusers ${path}/${binary}
229 + fperms ${perms} ${path}/${binary}
230 + }
231 +
232 # Create configuration files
233 insinto /etc/vbox
234 newins "${FILESDIR}/${PN}-4-config" vbox.cfg
235 @@ -242,10 +249,10 @@ src_install() {
236 "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
237
238 # Symlink binaries to the shipped wrapper
239 - exeinto /usr/$(get_libdir)/${PN}
240 + exeinto ${vbox_inst_path}
241 newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox"
242 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox
243 - fperms 0750 /usr/$(get_libdir)/${PN}/VBox
244 + fowners root:vboxusers ${vbox_inst_path}/VBox
245 + fperms 0750 ${vbox_inst_path}/VBox
246
247 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage
248 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP
249 @@ -253,7 +260,7 @@ src_install() {
250 dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
251
252 # Install binaries and libraries
253 - insinto /usr/$(get_libdir)/${PN}
254 + insinto ${vbox_inst_path}
255 doins -r components
256
257 if use sdk ; then
258 @@ -261,60 +268,49 @@ src_install() {
259 fi
260
261 if use vboxwebsrv ; then
262 - doins vboxwebsrv
263 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv
264 - fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv
265 - dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv
266 + vbox_inst vboxwebsrv
267 + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
268 newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
269 newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
270 fi
271
272 + # *.rc files for x86_64 are only available on multilib systems
273 local rcfiles="*.rc"
274 if use amd64 && ! has_multilib_profile ; then
275 rcfiles=""
276 fi
277
278 for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,ExtPackHelperApp} *so *r0 ${rcfiles} ; do
279 - doins ${each}
280 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
281 - fperms 0750 /usr/$(get_libdir)/${PN}/${each}
282 + vbox_inst ${each}
283 done
284
285 - # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
286 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.
287 for each in VBoxNet{AdpCtl,DHCP,NAT} ; do
288 - doins ${each}
289 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
290 - fperms 4750 /usr/$(get_libdir)/${PN}/${each}
291 + vbox_inst ${each} 4750
292 done
293
294 # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
295 # VBoxXPCOMIPCD (bug #524202)
296 for each in VBox{Manage,SVC,XPCOMIPCD} ; do
297 - pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
298 + pax-mark -m "${D}"${vbox_inst_path}/${each}
299 done
300
301 if ! use headless ; then
302 - doins VBoxSDL
303 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxSDL
304 - fperms 4750 /usr/$(get_libdir)/${PN}/VBoxSDL
305 - pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxSDL
306 + vbox_inst VBoxSDL 4750
307 + pax-mark -m "${D}"${vbox_inst_path}/VBoxSDL
308
309 if use opengl && use qt4 ; then
310 - doins VBoxTestOGL
311 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL
312 - fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL
313 - pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxTestOGL
314 + vbox_inst VBoxTestOGL
315 + pax-mark -m "${D}"${vbox_inst_path}/VBoxTestOGL
316 fi
317
318 - dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL
319 + dosym ${vbox_inst_path}/VBox /usr/bin/VBoxSDL
320
321 if use qt4 ; then
322 - doins VirtualBox
323 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox
324 - fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox
325 - pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox
326 + vbox_inst VirtualBox 4750
327 + pax-mark -m "${D}"${vbox_inst_path}/VirtualBox
328
329 - dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox
330 + dosym ${vbox_inst_path}/VBox /usr/bin/VirtualBox
331
332 newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
333 fi
334 @@ -328,17 +324,15 @@ src_install() {
335 popd &>/dev/null || die
336 fi
337
338 - doins VBoxHeadless
339 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless
340 - fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless
341 - pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless
342 + vbox_inst VBoxHeadless 4750
343 + pax-mark -m "${D}"${vbox_inst_path}/VBoxHeadless
344
345 - insinto /usr/$(get_libdir)/${PN}
346 + insinto ${vbox_inst_path}
347 # Install EFI Firmware files (bug #320757)
348 pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
349 for fwfile in VBoxEFI{32,64}.fd ; do
350 doins ${fwfile}
351 - fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile}
352 + fowners root:vboxusers ${vbox_inst_path}/${fwfile}
353 done
354 popd &>/dev/null || die
355
356 @@ -361,15 +355,15 @@ src_install() {
357 fi
358
359 # VRDPAuth only works with this (bug #351949)
360 - dosym VBoxAuth.so /usr/$(get_libdir)/${PN}/VRDPAuth.so
361 + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
362
363 # set an env-variable for 3rd party tools
364 - echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox"
365 + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
366 doenvd "${T}/90virtualbox"
367
368 if use java ; then
369 - java-pkg_regjar "${D}/usr/$(get_libdir)/${PN}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
370 - java-pkg_regso "${D}/usr/$(get_libdir)/${PN}/libvboxjxpcom.so"
371 + java-pkg_regjar "${D}${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
372 + java-pkg_regso "${D}${vbox_inst_path}/libvboxjxpcom.so"
373 fi
374 }