Gentoo Archives: gentoo-commits

From: "Lars Wendler (polynomial-c)" <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-emulation/virtualbox: ChangeLog virtualbox-4.2.20.ebuild
Date: Fri, 29 Nov 2013 08:15:40
Message-Id: 20131129081535.0C11B2004B@flycatcher.gentoo.org
1 polynomial-c 13/11/29 08:15:34
2
3 Modified: ChangeLog
4 Added: virtualbox-4.2.20.ebuild
5 Log:
6 Version bump
7
8 (Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key 0x981CA6FC)
9
10 Revision Changes Path
11 1.165 app-emulation/virtualbox/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/ChangeLog?rev=1.165&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/ChangeLog?rev=1.165&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/ChangeLog?r1=1.164&r2=1.165
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v
20 retrieving revision 1.164
21 retrieving revision 1.165
22 diff -u -r1.164 -r1.165
23 --- ChangeLog 2 Nov 2013 15:15:59 -0000 1.164
24 +++ ChangeLog 29 Nov 2013 08:15:34 -0000 1.165
25 @@ -1,6 +1,12 @@
26 # ChangeLog for app-emulation/virtualbox
27 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.164 2013/11/02 15:15:59 polynomial-c Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.165 2013/11/29 08:15:34 polynomial-c Exp $
30 +
31 +*virtualbox-4.2.20 (29 Nov 2013)
32 +
33 + 29 Nov 2013; Lars Wendler <polynomial-c@g.o>
34 + +virtualbox-4.2.20.ebuild:
35 + Version bump.
36
37 *virtualbox-4.3.2 (02 Nov 2013)
38
39
40
41
42 1.1 app-emulation/virtualbox/virtualbox-4.2.20.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/virtualbox-4.2.20.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/virtualbox-4.2.20.ebuild?rev=1.1&content-type=text/plain
46
47 Index: virtualbox-4.2.20.ebuild
48 ===================================================================
49 # Copyright 1999-2013 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-4.2.20.ebuild,v 1.1 2013/11/29 08:15:34 polynomial-c Exp $
52
53 EAPI=5
54
55 PYTHON_COMPAT=( python2_7 )
56 inherit eutils fdo-mime flag-o-matic linux-info multilib pax-utils python-single-r1 qt4-r2 toolchain-funcs java-pkg-opt-2 udev
57
58 MY_PV="${PV/beta/BETA}"
59 MY_PV="${MY_PV/rc/RC}"
60 MY_P=VirtualBox-${MY_PV}
61 SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
62 http://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-4.2.18-patches-01.tar.xz"
63 S="${WORKDIR}/${MY_P}"
64
65 DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
66 HOMEPAGE="http://www.virtualbox.org/"
67
68 LICENSE="GPL-2"
69 SLOT="0"
70 KEYWORDS="~amd64 ~x86"
71 IUSE="+additions alsa doc extensions headless java pam pulseaudio +opengl python +qt4 +sdk vboxwebsrv vnc"
72
73 RDEPEND="!app-emulation/virtualbox-bin
74 ~app-emulation/virtualbox-modules-${PV}
75 dev-libs/libIDL
76 >=dev-libs/libxslt-1.1.19
77 net-misc/curl
78 dev-libs/openssl
79 dev-libs/libxml2
80 media-libs/libpng
81 sys-libs/zlib
82 >=virtual/udev-171
83 !headless? (
84 qt4? (
85 dev-qt/qtgui:4
86 dev-qt/qtcore:4
87 opengl? ( dev-qt/qtopengl:4 )
88 x11-libs/libXinerama
89 )
90 opengl? ( virtual/opengl media-libs/freeglut )
91 x11-libs/libX11
92 x11-libs/libXcursor
93 x11-libs/libXext
94 x11-libs/libXmu
95 x11-libs/libXt
96 media-libs/libsdl:0[X,video]
97 )
98 vnc? ( >=net-libs/libvncserver-0.9.9 )
99 java? ( || ( virtual/jre:1.7 virtual/jre:1.6 ) )"
100 DEPEND="${RDEPEND}
101 >=dev-util/kbuild-0.1.9998_pre20120806
102 >=dev-lang/yasm-0.6.2
103 sys-devel/bin86
104 sys-power/iasl
105 pam? ( sys-libs/pam )
106 sys-libs/libcap
107 doc? (
108 dev-texlive/texlive-basic
109 dev-texlive/texlive-latex
110 dev-texlive/texlive-latexrecommended
111 dev-texlive/texlive-latexextra
112 dev-texlive/texlive-fontsrecommended
113 dev-texlive/texlive-fontsextra
114 )
115 java? ( || ( virtual/jdk:1.7 virtual/jdk:1.6 ) )
116 virtual/pkgconfig
117 alsa? ( >=media-libs/alsa-lib-1.0.13 )
118 !headless? ( x11-libs/libXinerama )
119 pulseaudio? ( media-sound/pulseaudio )
120 vboxwebsrv? ( <net-libs/gsoap-2.8.13 )
121 ${PYTHON_DEPS}"
122 PDEPEND="additions? ( ~app-emulation/virtualbox-additions-${PV} )
123 extensions? ( ~app-emulation/virtualbox-extpack-oracle-${PV} )"
124
125 QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
126 usr/lib/virtualbox/VBoxSDL.so
127 usr/lib/virtualbox/VBoxSharedFolders.so
128 usr/lib/virtualbox/VBoxDD2.so
129 usr/lib/virtualbox/VBoxOGLrenderspu.so
130 usr/lib/virtualbox/VBoxPython.so
131 usr/lib/virtualbox/VBoxDD.so
132 usr/lib/virtualbox/VBoxDDU.so
133 usr/lib/virtualbox/VBoxREM64.so
134 usr/lib/virtualbox/VBoxSharedClipboard.so
135 usr/lib/virtualbox/VBoxHeadless.so
136 usr/lib/virtualbox/VBoxRT.so
137 usr/lib/virtualbox/VBoxREM.so
138 usr/lib/virtualbox/VBoxSettings.so
139 usr/lib/virtualbox/VBoxKeyboard.so
140 usr/lib/virtualbox/VBoxSharedCrOpenGL.so
141 usr/lib/virtualbox/VBoxVMM.so
142 usr/lib/virtualbox/VirtualBox.so
143 usr/lib/virtualbox/VBoxOGLhosterrorspu.so
144 usr/lib/virtualbox/components/VBoxC.so
145 usr/lib/virtualbox/components/VBoxSVCM.so
146 usr/lib/virtualbox/components/VBoxDDU.so
147 usr/lib/virtualbox/components/VBoxRT.so
148 usr/lib/virtualbox/components/VBoxREM.so
149 usr/lib/virtualbox/components/VBoxVMM.so
150 usr/lib/virtualbox/VBoxREM32.so
151 usr/lib/virtualbox/VBoxPython2_4.so
152 usr/lib/virtualbox/VBoxPython2_5.so
153 usr/lib/virtualbox/VBoxPython2_6.so
154 usr/lib/virtualbox/VBoxPython2_7.so
155 usr/lib/virtualbox/VBoxXPCOMC.so
156 usr/lib/virtualbox/VBoxOGLhostcrutil.so
157 usr/lib/virtualbox/VBoxNetDHCP.so"
158
159 REQUIRED_USE="
160 java? ( sdk )
161 python? (
162 ( sdk )
163 )
164 vboxwebsrv? ( java )
165 ${PYTHON_REQUIRED_USE}
166 "
167
168 pkg_setup() {
169 if ! use headless && ! use qt4 ; then
170 einfo "No USE=\"qt4\" selected, this build will not include"
171 einfo "any Qt frontend."
172 elif use headless && use qt4 ; then
173 einfo "You selected USE=\"headless qt4\", defaulting to"
174 einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
175 fi
176
177 if ! use opengl ; then
178 einfo "No USE=\"opengl\" selected, this build will lack"
179 einfo "the OpenGL feature."
180 fi
181 if ! use python ; then
182 einfo "You have disabled the \"python\" USE flag. This will only"
183 einfo "disable the python bindings being installed."
184 fi
185 java-pkg-opt-2_pkg_setup
186 python-single-r1_pkg_setup
187 }
188
189 src_prepare() {
190 # Remove shipped binaries (kBuild,yasm), see bug #232775
191 rm -rf kBuild/bin tools
192
193 # Disable things unused or split into separate ebuilds
194 sed -e "s@MY_LIBDIR@$(get_libdir)@" \
195 "${FILESDIR}"/${PN}-4-localconfig > LocalConfig.kmk || die
196
197 # Respect LDFLAGS
198 sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
199 -i Config.kmk src/libs/xpcom18a4/Config.kmk || die
200
201 # Use PAM only when pam USE flag is enbaled (bug #376531)
202 if ! use pam ; then
203 elog "Disabling PAM removes the possibility to use the VRDP features."
204 sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
205 sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
206 src/VBox/HostServices/Makefile.kmk || die
207 fi
208
209 # add correct java path
210 if use java ; then
211 sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
212 -i "${S}"/Config.kmk || die
213 java-pkg-opt-2_src_prepare
214 fi
215
216 if ! gcc-specs-pie ; then
217 EPATCH_EXCLUDE="050_${PN}-4.2.0-nopie.patch"
218 fi
219
220 EPATCH_SUFFIX="patch" \
221 EPATCH_FORCE="yes" \
222 epatch "${WORKDIR}/patches"
223
224 # fix location of ifconfig binary (bug #455902)
225 local ifcfg="$(type -p ifconfig)"
226 if [ "${ifcfg}" != "/sbin/ifconfig" ] ; then
227 sed "/VBOXADPCTL_IFCONFIG_PATH/s@/sbin/ifconfig@${ifcfg}@" \
228 -i "${S}"/src/apps/adpctl/VBoxNetAdpCtl.cpp \
229 || die
230 fi
231 }
232
233 src_configure() {
234 local myconf
235 use alsa || myconf+=" --disable-alsa"
236 use opengl || myconf+=" --disable-opengl"
237 use pulseaudio || myconf+=" --disable-pulse"
238 use python || myconf+=" --disable-python"
239 use java || myconf+=" --disable-java"
240 use vboxwebsrv && myconf+=" --enable-webservice"
241 use vnc && myconf+=" --enable-vnc"
242 use doc || myconf+=" --disable-docs"
243 if ! use headless ; then
244 use qt4 || myconf+=" --disable-qt4"
245 else
246 myconf+=" --build-headless --disable-opengl"
247 fi
248 # not an autoconf script
249 ./configure \
250 --with-gcc="$(tc-getCC)" \
251 --with-g++="$(tc-getCXX)" \
252 --disable-kmods \
253 --disable-dbus \
254 --disable-devmapper \
255 ${myconf} \
256 || die "configure failed"
257 }
258
259 src_compile() {
260 source ./env.sh
261
262 # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
263 # and strip all flags
264 # strip-flags
265
266 MAKE="kmk" emake \
267 VBOX_BUILD_PUBLISHER=_Gentoo \
268 TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
269 TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
270 TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
271 TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
272 VBOX_GCC_OPT="${CXXFLAGS}" \
273 TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \
274 KBUILD_VERBOSE=2 \
275 all
276 }
277
278 src_install() {
279 cd "${S}"/out/linux.${ARCH}/release/bin || die
280
281 # Create configuration files
282 insinto /etc/vbox
283 newins "${FILESDIR}/${PN}-4-config" vbox.cfg
284
285 # Set the right libdir
286 sed -i \
287 -e "s@MY_LIBDIR@$(get_libdir)@" \
288 "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
289
290 # Symlink binaries to the shipped wrapper
291 exeinto /usr/$(get_libdir)/${PN}
292 newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox"
293 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox
294 fperms 0750 /usr/$(get_libdir)/${PN}/VBox
295
296 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage
297 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP
298 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless
299 dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl
300
301 # Install binaries and libraries
302 insinto /usr/$(get_libdir)/${PN}
303 doins -r components
304
305 if use sdk ; then
306 doins -r sdk
307 fi
308
309 if use vboxwebsrv ; then
310 doins vboxwebsrv
311 fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv
312 fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv
313 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv
314 newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
315 newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
316 fi
317
318 for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,ExtPackHelperApp} *so *r0 *gc ; do
319 doins $each
320 fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
321 fperms 0750 /usr/$(get_libdir)/${PN}/${each}
322 done
323 # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
324 fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetAdpCtl
325 fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetDHCP
326
327 # VBoxSVC needs to be pax-marked (bug #403453)
328 pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxSVC || die
329
330 if ! use headless ; then
331 for each in VBox{SDL,Headless} ; do
332 doins $each
333 fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each}
334 fperms 4750 /usr/$(get_libdir)/${PN}/${each}
335 pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each}
336 done
337
338 if use opengl && use qt4 ; then
339 doins VBoxTestOGL
340 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL
341 fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL
342 fi
343
344 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL
345
346 if use qt4 ; then
347 doins VirtualBox
348 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox
349 fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox
350 pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox
351
352 dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox
353
354 newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
355 fi
356
357 pushd "${S}"/src/VBox/Resources/OSE &>/dev/null || die
358 for size in 16 32 48 64 128 ; do
359 newicon -s ${size} ${PN}-${size}px.png ${PN}.png
360 done
361 newicon ${PN}-48px.png ${PN}.png
362 popd &>/dev/null || die
363 else
364 doins VBoxHeadless
365 fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless
366 fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless
367 pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless
368 fi
369
370 insinto /usr/$(get_libdir)/${PN}
371 # Install EFI Firmware files (bug #320757)
372 pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
373 for fwfile in VBoxEFI{32,64}.fd ; do
374 doins ${fwfile}
375 fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile}
376 done
377 popd &>/dev/null || die
378
379 # New way of handling USB device nodes for VBox (bug #356215)
380 local udevdir="$(udev_get_udevdir)"
381 insinto ${udevdir}
382 doins VBoxCreateUSBNode.sh
383 fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
384 fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
385 insinto ${udevdir}/rules.d
386 doins "${FILESDIR}"/10-virtualbox.rules
387 sed "s@%UDEVDIR%@${udevdir}@" \
388 -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
389
390 insinto /usr/share/${PN}
391 if ! use headless && use qt4 ; then
392 doins -r nls
393 fi
394
395 # VRDPAuth only works with this (bug #351949)
396 dosym VBoxAuth.so /usr/$(get_libdir)/${PN}/VRDPAuth.so
397
398 # set an env-variable for 3rd party tools
399 echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox"
400 doenvd "${T}/90virtualbox"
401
402 if use java ; then
403 java-pkg_regjar "${D}/usr/$(get_libdir)/${PN}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
404 java-pkg_regso "${D}/usr/$(get_libdir)/${PN}/libvboxjxpcom.so"
405 fi
406 }
407
408 pkg_postinst() {
409 fdo-mime_desktop_database_update
410
411 udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
412
413 if ! use headless && use qt4 ; then
414 elog "To launch VirtualBox just type: \"VirtualBox\"."
415 fi
416 elog "You must be in the vboxusers group to use VirtualBox."
417 elog ""
418 elog "The latest user manual is available for download at:"
419 elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
420 elog ""
421 elog "For advanced networking setups you should emerge:"
422 elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
423 elog ""
424 elog "IMPORTANT!"
425 elog "If you upgrade from app-emulation/virtualbox-ose make sure to run"
426 elog "\"env-update\" as root and logout and relogin as the user you wish"
427 elog "to run ${PN} as."
428 elog ""
429 elog "Starting with version 4.0.0, ${PN} has USB-1 support."
430 elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
431 elog " app-emulation/virtualbox-extpack-oracle"
432 elog "package."
433 if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
434 elog ""
435 elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
436 elog "or else USB in ${PN} won't work."
437 fi
438 }
439
440 pkg_postrm() {
441 fdo-mime_desktop_database_update
442 }