Gentoo Archives: gentoo-commits

From: Austin English <wizardedit@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-bin/, app-emulation/virtualbox-bin/files/
Date: Tue, 26 Apr 2016 00:19:05
Message-Id: 1461629857.2bbb3fe2d0784b87beaa66578553f5c483916c83.wizardedit@gentoo
1 commit: 2bbb3fe2d0784b87beaa66578553f5c483916c83
2 Author: Austin English <wizardedit <AT> gentoo <DOT> org>
3 AuthorDate: Tue Apr 26 00:17:37 2016 +0000
4 Commit: Austin English <wizardedit <AT> gentoo <DOT> org>
5 CommitDate: Tue Apr 26 00:17:37 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2bbb3fe2
7
8 app-emulation/virtualbox-bin: use #!/sbin/openrc-run instead of #!/sbin/runscript
9
10 Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=573846
11
12 .../virtualbox-bin/files/vboxwebsrv-initd | 4 +-
13 .../virtualbox-bin-4.3.32.103443-r1.ebuild | 358 +++++++++++++++++++++
14 .../virtualbox-bin-4.3.34.104062-r1.ebuild | 357 ++++++++++++++++++++
15 .../virtualbox-bin-4.3.36.105129-r1.ebuild | 357 ++++++++++++++++++++
16 .../virtualbox-bin-5.0.16.105871-r1.ebuild | 357 ++++++++++++++++++++
17 .../virtualbox-bin-5.0.18.106667-r1.ebuild | 358 +++++++++++++++++++++
18 6 files changed, 1789 insertions(+), 2 deletions(-)
19
20 diff --git a/app-emulation/virtualbox-bin/files/vboxwebsrv-initd b/app-emulation/virtualbox-bin/files/vboxwebsrv-initd
21 index 99db87d..28d1ec0 100644
22 --- a/app-emulation/virtualbox-bin/files/vboxwebsrv-initd
23 +++ b/app-emulation/virtualbox-bin/files/vboxwebsrv-initd
24 @@ -1,5 +1,5 @@
25 -#!/sbin/runscript
26 -# Copyright 1999-2005 Gentoo Foundation
27 +#!/sbin/openrc-run
28 +# Copyright 1999-2016 Gentoo Foundation
29 # Distributed under the terms of the GNU General Public License v2
30 # $Id$
31
32
33 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-4.3.32.103443-r1.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.32.103443-r1.ebuild
34 new file mode 100644
35 index 0000000..58746d3
36 --- /dev/null
37 +++ b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.32.103443-r1.ebuild
38 @@ -0,0 +1,358 @@
39 +# Copyright 1999-2016 Gentoo Foundation
40 +# Distributed under the terms of the GNU General Public License v2
41 +# $Id$
42 +
43 +EAPI=5
44 +
45 +PYTHON_COMPAT=( python2_7 )
46 +
47 +inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator
48 +
49 +MAIN_PV="$(get_version_component_range 1-3)"
50 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
51 + MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
52 + MY_PV="${MY_PV/beta/BETA}"
53 + MY_PV="${MY_PV/rc/RC}"
54 +else
55 + MY_PV="${MAIN_PV}"
56 +fi
57 +VBOX_BUILD_ID="$(get_version_component_range 4)"
58 +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
59 +MY_P="VirtualBox-${VBOX_PV}-Linux"
60 +# needed as sometimes the extpack gets another build ID
61 +EXTP_PV="${VBOX_PV}"
62 +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
63 +EXTP_P="${EXTP_PN}-${EXTP_PV}"
64 +# needed as sometimes the SDK gets another build ID
65 +SDK_PV="${VBOX_PV}"
66 +SDK_P="VirtualBoxSDK-${SDK_PV}"
67 +
68 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
69 +HOMEPAGE="http://www.virtualbox.org/"
70 +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
71 + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
72 + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
73 +
74 +LICENSE="GPL-2 PUEL"
75 +SLOT="0"
76 +KEYWORDS="amd64 x86"
77 +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
78 +RESTRICT="mirror"
79 +
80 +if [[ "${PV}" != *beta* ]] ; then
81 + SRC_URI+="
82 + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
83 + IUSE+=" sdk"
84 +fi
85 +
86 +DEPEND="app-arch/unzip
87 + ${PYTHON_DEPS}"
88 +
89 +RDEPEND="!!app-emulation/virtualbox
90 + !app-emulation/virtualbox-additions
91 + ~app-emulation/virtualbox-modules-${MAIN_PV}
92 + !headless? (
93 + x11-libs/libXcursor
94 + media-libs/libsdl[X]
95 + x11-libs/libXrender
96 + x11-libs/libXfixes
97 + media-libs/libpng
98 + x11-libs/libXi
99 + x11-libs/libXrandr
100 + x11-libs/libXinerama
101 + x11-libs/libXft
102 + media-libs/freetype
103 + media-libs/fontconfig
104 + x11-libs/libXext
105 + dev-libs/glib
106 + chm? ( dev-libs/expat )
107 + )
108 + x11-libs/libXt
109 + dev-libs/libxml2
110 + x11-libs/libXau
111 + x11-libs/libX11
112 + x11-libs/libXmu
113 + x11-libs/libSM
114 + x11-libs/libICE
115 + x11-libs/libXdmcp
116 + sys-fs/lvm2
117 + python? ( ${PYTHON_DEPS} )"
118 +
119 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
120 +S=${WORKDIR}
121 +
122 +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
123 +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
124 + opt/VirtualBox/VBoxSDL.so
125 + opt/VirtualBox/VBoxDbg.so
126 + opt/VirtualBox/VBoxSharedFolders.so
127 + opt/VirtualBox/VBoxDD2.so
128 + opt/VirtualBox/VBoxOGLrenderspu.so
129 + opt/VirtualBox/VBoxPython.so
130 + opt/VirtualBox/VBoxPython2_7.so
131 + opt/VirtualBox/VBoxDD.so
132 + opt/VirtualBox/VBoxVRDP.so
133 + opt/VirtualBox/VBoxDDU.so
134 + opt/VirtualBox/VBoxREM64.so
135 + opt/VirtualBox/VBoxSharedClipboard.so
136 + opt/VirtualBox/VBoxHeadless.so
137 + opt/VirtualBox/VBoxRT.so
138 + opt/VirtualBox/VRDPAuth.so
139 + opt/VirtualBox/VBoxREM.so
140 + opt/VirtualBox/VBoxSettings.so
141 + opt/VirtualBox/VBoxKeyboard.so
142 + opt/VirtualBox/VBoxSharedCrOpenGL.so
143 + opt/VirtualBox/VBoxVMM.so
144 + opt/VirtualBox/VirtualBox.so
145 + opt/VirtualBox/VBoxOGLhosterrorspu.so
146 + opt/VirtualBox/components/VBoxC.so
147 + opt/VirtualBox/components/VBoxSVCM.so
148 + opt/VirtualBox/VBoxREM32.so
149 + opt/VirtualBox/VBoxXPCOMC.so
150 + opt/VirtualBox/VBoxOGLhostcrutil.so
151 + opt/VirtualBox/VBoxNetDHCP.so
152 + opt/VirtualBox/VBoxGuestControlSvc.so"
153 +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
154 + opt/VirtualBox/VBoxDD2.so
155 + opt/VirtualBox/VBoxDDU.so
156 + opt/VirtualBox/VBoxDbg.so
157 + opt/VirtualBox/VBoxGuestControlSvc.so
158 + opt/VirtualBox/VBoxGuestPropSvc.so
159 + opt/VirtualBox/VBoxHeadless
160 + opt/VirtualBox/VBoxHeadless.so
161 + opt/VirtualBox/VBoxKeyboard.so
162 + opt/VirtualBox/VBoxManage
163 + opt/VirtualBox/VBoxNetAdpCtl
164 + opt/VirtualBox/VBoxNetDHCP
165 + opt/VirtualBox/VBoxNetDHCP.so
166 + opt/VirtualBox/VBoxOGLhostcrutil.so
167 + opt/VirtualBox/VBoxOGLhosterrorspu.so
168 + opt/VirtualBox/VBoxOGLrenderspu.so
169 + opt/VirtualBox/VBoxPython.so
170 + opt/VirtualBox/VBoxPython2_7.so
171 + opt/VirtualBox/VBoxREM.so
172 + opt/VirtualBox/VBoxREM32.so
173 + opt/VirtualBox/VBoxREM64.so
174 + opt/VirtualBox/VBoxRT.so
175 + opt/VirtualBox/VBoxSDL
176 + opt/VirtualBox/VBoxSDL.so
177 + opt/VirtualBox/VBoxSVC
178 + opt/VirtualBox/VBoxSettings.so
179 + opt/VirtualBox/VBoxSharedClipboard.so
180 + opt/VirtualBox/VBoxSharedCrOpenGL.so
181 + opt/VirtualBox/VBoxSharedFolders.so
182 + opt/VirtualBox/VBoxTestOGL
183 + opt/VirtualBox/VBoxTunctl
184 + opt/VirtualBox/VBoxVMM.so
185 + opt/VirtualBox/VBoxVRDP.so
186 + opt/VirtualBox/VBoxXPCOM.so
187 + opt/VirtualBox/VBoxXPCOMC.so
188 + opt/VirtualBox/VBoxXPCOMIPCD
189 + opt/VirtualBox/VRDPAuth.so
190 + opt/VirtualBox/VirtualBox
191 + opt/VirtualBox/VirtualBox.so
192 + opt/VirtualBox/accessible/libqtaccessiblewidgets.so
193 + opt/VirtualBox/components/VBoxC.so
194 + opt/VirtualBox/components/VBoxSVCM.so
195 + opt/VirtualBox/components/VBoxXPCOMIPCC.so
196 + opt/VirtualBox/kchmviewer
197 + opt/VirtualBox/libQtCoreVBox.so.4
198 + opt/VirtualBox/libQtGuiVBox.so.4
199 + opt/VirtualBox/libQtNetworkVBox.so.4
200 + opt/VirtualBox/libQtOpenGLVBox.so.4
201 + opt/VirtualBox/vboxwebsrv"
202 +
203 +PYTHON_UPDATER_IGNORE="1"
204 +
205 +src_unpack() {
206 + unpack_makeself ${MY_P}_${ARCH}.run
207 + unpack ./VirtualBox.tar.bz2
208 +
209 + mkdir "${S}"/${EXTP_PN} || die
210 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
211 + unpack ${EXTP_P}.tar.gz
212 + popd &>/dev/null || die
213 +
214 + if [[ "${PV}" != *beta* ]] && use sdk ; then
215 + unpack VirtualBoxSDK-${SDK_PV}.zip
216 + fi
217 +}
218 +
219 +src_configure() {
220 + :;
221 +}
222 +
223 +src_compile() {
224 + :;
225 +}
226 +
227 +src_install() {
228 + # create virtualbox configurations files
229 + insinto /etc/vbox
230 + newins "${FILESDIR}/${PN}-config" vbox.cfg
231 +
232 + if ! use headless ; then
233 + pushd "${S}"/icons &>/dev/null || die
234 + for size in * ; do
235 + if [ -f "${size}/virtualbox.png" ] ; then
236 + insinto "/usr/share/icons/hicolor/${size}/apps"
237 + newins "${size}/virtualbox.png" ${PN}.png
238 + fi
239 + done
240 + dodir /usr/share/pixmaps
241 + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
242 + || die
243 + popd &>/dev/null || die
244 +
245 + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
246 + fi
247 +
248 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
249 + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
250 + doins -r linux.${ARCH}
251 + doins ExtPack* PXE-Intel.rom
252 + popd &>/dev/null || die
253 + rm -rf "${S}"/${EXTP_PN}
254 +
255 + insinto /opt/VirtualBox
256 + dodir /opt/bin
257 +
258 + doins UserManual.pdf
259 +
260 + if [[ "${PV}" != *beta* ]] && use sdk ; then
261 + doins -r sdk
262 + fi
263 +
264 + if use additions; then
265 + doins -r additions
266 + fi
267 +
268 + if use vboxwebsrv; then
269 + doins vboxwebsrv
270 + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
271 + fperms 0750 /opt/VirtualBox/vboxwebsrv
272 + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
273 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
274 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
275 + fi
276 +
277 + if use rdesktop-vrdp; then
278 + doins rdesktop-vrdp
279 + doins -r rdesktop-vrdp-keymaps
280 + fperms 0750 /opt/VirtualBox/rdesktop-vrdp
281 + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
282 + fi
283 +
284 + if ! use headless && use chm; then
285 + doins kchmviewer VirtualBox.chm
286 + fowners root:vboxusers /opt/VirtualBox/kchmviewer
287 + fperms 0750 /opt/VirtualBox/kchmviewer
288 + fi
289 +
290 + # This ebuild / package supports only py2.7. Where py3 comes is unknown.
291 + # The compile phase makes VBoxPython2_[4-7].so.
292 + # py3 support would presumably require a binary pre-compiled by py3.
293 + use python && doins VBoxPython.so VBoxPython2_7.so
294 +
295 + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
296 + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
297 + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
298 + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
299 + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
300 + VBoxPython?_*.so
301 +
302 + if use headless ; then
303 + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
304 + fi
305 +
306 + doins -r * || die
307 +
308 + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
309 + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
310 + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
311 + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
312 + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
313 + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
314 +
315 + local each
316 + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
317 + fowners root:vboxusers /opt/VirtualBox/${each}
318 + fperms 0750 /opt/VirtualBox/${each}
319 + pax-mark -m "${D}"/opt/VirtualBox/${each}
320 + done
321 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
322 + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
323 + fperms 4750 /opt/VirtualBox/VBoxNetDHCP
324 + fperms 4750 /opt/VirtualBox/VBoxNetNAT
325 +
326 + if ! use headless ; then
327 + # Hardened build: Mark selected binaries set-user-ID-on-execution
328 + for each in VBox{SDL,Headless} VirtualBox; do
329 + fowners root:vboxusers /opt/VirtualBox/${each}
330 + fperms 4510 /opt/VirtualBox/${each}
331 + pax-mark -m "${D}"/opt/VirtualBox/${each}
332 + done
333 +
334 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
335 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
336 + else
337 + # Hardened build: Mark selected binaries set-user-ID-on-execution
338 + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
339 + fperms 4510 /opt/VirtualBox/VBoxHeadless
340 + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
341 + fi
342 +
343 + exeinto /opt/VirtualBox
344 + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
345 + fowners root:vboxusers /opt/VirtualBox/VBox.sh
346 + fperms 0750 /opt/VirtualBox/VBox.sh
347 +
348 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
349 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
350 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
351 + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
352 +
353 + # set an env-variable for 3rd party tools
354 + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
355 + doenvd "${T}/90virtualbox"
356 +
357 + local udevdir="$(get_udevdir)"
358 + insinto ${udevdir}/rules.d
359 + doins "${FILESDIR}"/10-virtualbox.rules
360 + sed "s@%UDEVDIR%@${udevdir}@" \
361 + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
362 + # move udev scripts into ${udevdir} (bug #372491)
363 + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
364 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
365 +}
366 +
367 +pkg_postinst() {
368 + fdo-mime_desktop_database_update
369 +
370 + gnome2_icon_cache_update
371 +
372 + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
373 +
374 + elog ""
375 + if ! use headless ; then
376 + elog "To launch VirtualBox just type: \"VirtualBox\""
377 + elog ""
378 + fi
379 + elog "You must be in the vboxusers group to use VirtualBox."
380 + elog ""
381 + elog "For advanced networking setups you should emerge:"
382 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
383 + elog ""
384 + elog "Please visit http://www.virtualbox.org/wiki/Editions for"
385 + elog "an overview about the different features of ${PN}"
386 + elog "and virtualbox-ose"
387 + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
388 + elog ""
389 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
390 + elog "or else USB in ${PN} won't work."
391 + fi
392 +}
393 +
394 +pkg_postrm() {
395 + fdo-mime_desktop_database_update
396 +}
397
398 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-4.3.34.104062-r1.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.34.104062-r1.ebuild
399 new file mode 100644
400 index 0000000..2241c6d
401 --- /dev/null
402 +++ b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.34.104062-r1.ebuild
403 @@ -0,0 +1,357 @@
404 +# Copyright 1999-2016 Gentoo Foundation
405 +# Distributed under the terms of the GNU General Public License v2
406 +# $Id$
407 +
408 +EAPI=5
409 +
410 +PYTHON_COMPAT=( python2_7 )
411 +
412 +inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator
413 +
414 +MAIN_PV="$(get_version_component_range 1-3)"
415 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
416 + MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
417 + MY_PV="${MY_PV/beta/BETA}"
418 + MY_PV="${MY_PV/rc/RC}"
419 +else
420 + MY_PV="${MAIN_PV}"
421 +fi
422 +VBOX_BUILD_ID="$(get_version_component_range 4)"
423 +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
424 +MY_P="VirtualBox-${VBOX_PV}-Linux"
425 +# needed as sometimes the extpack gets another build ID
426 +EXTP_PV="${VBOX_PV}"
427 +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
428 +EXTP_P="${EXTP_PN}-${EXTP_PV}"
429 +# needed as sometimes the SDK gets another build ID
430 +SDK_PV="${VBOX_PV}"
431 +SDK_P="VirtualBoxSDK-${SDK_PV}"
432 +
433 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
434 +HOMEPAGE="http://www.virtualbox.org/"
435 +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
436 + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
437 + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
438 +
439 +LICENSE="GPL-2 PUEL"
440 +SLOT="0"
441 +KEYWORDS="~amd64 ~x86"
442 +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
443 +RESTRICT="mirror"
444 +
445 +if [[ "${PV}" != *beta* ]] ; then
446 + SRC_URI+="
447 + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
448 + IUSE+=" sdk"
449 +fi
450 +
451 +DEPEND="app-arch/unzip
452 + ${PYTHON_DEPS}"
453 +
454 +RDEPEND="!!app-emulation/virtualbox
455 + !app-emulation/virtualbox-additions
456 + ~app-emulation/virtualbox-modules-${MAIN_PV}
457 + !headless? (
458 + x11-libs/libXcursor
459 + media-libs/libsdl[X]
460 + x11-libs/libXrender
461 + x11-libs/libXfixes
462 + media-libs/libpng
463 + x11-libs/libXi
464 + x11-libs/libXrandr
465 + x11-libs/libXinerama
466 + x11-libs/libXft
467 + media-libs/freetype
468 + media-libs/fontconfig
469 + x11-libs/libXext
470 + dev-libs/glib
471 + chm? ( dev-libs/expat )
472 + )
473 + x11-libs/libXt
474 + dev-libs/libxml2
475 + x11-libs/libXau
476 + x11-libs/libX11
477 + x11-libs/libXmu
478 + x11-libs/libSM
479 + x11-libs/libICE
480 + x11-libs/libXdmcp
481 + python? ( ${PYTHON_DEPS} )"
482 +
483 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
484 +S=${WORKDIR}
485 +
486 +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
487 +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
488 + opt/VirtualBox/VBoxSDL.so
489 + opt/VirtualBox/VBoxDbg.so
490 + opt/VirtualBox/VBoxSharedFolders.so
491 + opt/VirtualBox/VBoxDD2.so
492 + opt/VirtualBox/VBoxOGLrenderspu.so
493 + opt/VirtualBox/VBoxPython.so
494 + opt/VirtualBox/VBoxPython2_7.so
495 + opt/VirtualBox/VBoxDD.so
496 + opt/VirtualBox/VBoxVRDP.so
497 + opt/VirtualBox/VBoxDDU.so
498 + opt/VirtualBox/VBoxREM64.so
499 + opt/VirtualBox/VBoxSharedClipboard.so
500 + opt/VirtualBox/VBoxHeadless.so
501 + opt/VirtualBox/VBoxRT.so
502 + opt/VirtualBox/VRDPAuth.so
503 + opt/VirtualBox/VBoxREM.so
504 + opt/VirtualBox/VBoxSettings.so
505 + opt/VirtualBox/VBoxKeyboard.so
506 + opt/VirtualBox/VBoxSharedCrOpenGL.so
507 + opt/VirtualBox/VBoxVMM.so
508 + opt/VirtualBox/VirtualBox.so
509 + opt/VirtualBox/VBoxOGLhosterrorspu.so
510 + opt/VirtualBox/components/VBoxC.so
511 + opt/VirtualBox/components/VBoxSVCM.so
512 + opt/VirtualBox/VBoxREM32.so
513 + opt/VirtualBox/VBoxXPCOMC.so
514 + opt/VirtualBox/VBoxOGLhostcrutil.so
515 + opt/VirtualBox/VBoxNetDHCP.so
516 + opt/VirtualBox/VBoxGuestControlSvc.so"
517 +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
518 + opt/VirtualBox/VBoxDD2.so
519 + opt/VirtualBox/VBoxDDU.so
520 + opt/VirtualBox/VBoxDbg.so
521 + opt/VirtualBox/VBoxGuestControlSvc.so
522 + opt/VirtualBox/VBoxGuestPropSvc.so
523 + opt/VirtualBox/VBoxHeadless
524 + opt/VirtualBox/VBoxHeadless.so
525 + opt/VirtualBox/VBoxKeyboard.so
526 + opt/VirtualBox/VBoxManage
527 + opt/VirtualBox/VBoxNetAdpCtl
528 + opt/VirtualBox/VBoxNetDHCP
529 + opt/VirtualBox/VBoxNetDHCP.so
530 + opt/VirtualBox/VBoxOGLhostcrutil.so
531 + opt/VirtualBox/VBoxOGLhosterrorspu.so
532 + opt/VirtualBox/VBoxOGLrenderspu.so
533 + opt/VirtualBox/VBoxPython.so
534 + opt/VirtualBox/VBoxPython2_7.so
535 + opt/VirtualBox/VBoxREM.so
536 + opt/VirtualBox/VBoxREM32.so
537 + opt/VirtualBox/VBoxREM64.so
538 + opt/VirtualBox/VBoxRT.so
539 + opt/VirtualBox/VBoxSDL
540 + opt/VirtualBox/VBoxSDL.so
541 + opt/VirtualBox/VBoxSVC
542 + opt/VirtualBox/VBoxSettings.so
543 + opt/VirtualBox/VBoxSharedClipboard.so
544 + opt/VirtualBox/VBoxSharedCrOpenGL.so
545 + opt/VirtualBox/VBoxSharedFolders.so
546 + opt/VirtualBox/VBoxTestOGL
547 + opt/VirtualBox/VBoxTunctl
548 + opt/VirtualBox/VBoxVMM.so
549 + opt/VirtualBox/VBoxVRDP.so
550 + opt/VirtualBox/VBoxXPCOM.so
551 + opt/VirtualBox/VBoxXPCOMC.so
552 + opt/VirtualBox/VBoxXPCOMIPCD
553 + opt/VirtualBox/VRDPAuth.so
554 + opt/VirtualBox/VirtualBox
555 + opt/VirtualBox/VirtualBox.so
556 + opt/VirtualBox/accessible/libqtaccessiblewidgets.so
557 + opt/VirtualBox/components/VBoxC.so
558 + opt/VirtualBox/components/VBoxSVCM.so
559 + opt/VirtualBox/components/VBoxXPCOMIPCC.so
560 + opt/VirtualBox/kchmviewer
561 + opt/VirtualBox/libQtCoreVBox.so.4
562 + opt/VirtualBox/libQtGuiVBox.so.4
563 + opt/VirtualBox/libQtNetworkVBox.so.4
564 + opt/VirtualBox/libQtOpenGLVBox.so.4
565 + opt/VirtualBox/vboxwebsrv"
566 +
567 +PYTHON_UPDATER_IGNORE="1"
568 +
569 +src_unpack() {
570 + unpack_makeself ${MY_P}_${ARCH}.run
571 + unpack ./VirtualBox.tar.bz2
572 +
573 + mkdir "${S}"/${EXTP_PN} || die
574 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
575 + unpack ${EXTP_P}.tar.gz
576 + popd &>/dev/null || die
577 +
578 + if [[ "${PV}" != *beta* ]] && use sdk ; then
579 + unpack VirtualBoxSDK-${SDK_PV}.zip
580 + fi
581 +}
582 +
583 +src_configure() {
584 + :;
585 +}
586 +
587 +src_compile() {
588 + :;
589 +}
590 +
591 +src_install() {
592 + # create virtualbox configurations files
593 + insinto /etc/vbox
594 + newins "${FILESDIR}/${PN}-config" vbox.cfg
595 +
596 + if ! use headless ; then
597 + pushd "${S}"/icons &>/dev/null || die
598 + for size in * ; do
599 + if [ -f "${size}/virtualbox.png" ] ; then
600 + insinto "/usr/share/icons/hicolor/${size}/apps"
601 + newins "${size}/virtualbox.png" ${PN}.png
602 + fi
603 + done
604 + dodir /usr/share/pixmaps
605 + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
606 + || die
607 + popd &>/dev/null || die
608 +
609 + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
610 + fi
611 +
612 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
613 + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
614 + doins -r linux.${ARCH}
615 + doins ExtPack* PXE-Intel.rom
616 + popd &>/dev/null || die
617 + rm -rf "${S}"/${EXTP_PN}
618 +
619 + insinto /opt/VirtualBox
620 + dodir /opt/bin
621 +
622 + doins UserManual.pdf
623 +
624 + if [[ "${PV}" != *beta* ]] && use sdk ; then
625 + doins -r sdk
626 + fi
627 +
628 + if use additions; then
629 + doins -r additions
630 + fi
631 +
632 + if use vboxwebsrv; then
633 + doins vboxwebsrv
634 + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
635 + fperms 0750 /opt/VirtualBox/vboxwebsrv
636 + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
637 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
638 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
639 + fi
640 +
641 + if use rdesktop-vrdp; then
642 + doins rdesktop-vrdp
643 + doins -r rdesktop-vrdp-keymaps
644 + fperms 0750 /opt/VirtualBox/rdesktop-vrdp
645 + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
646 + fi
647 +
648 + if ! use headless && use chm; then
649 + doins kchmviewer VirtualBox.chm
650 + fowners root:vboxusers /opt/VirtualBox/kchmviewer
651 + fperms 0750 /opt/VirtualBox/kchmviewer
652 + fi
653 +
654 + # This ebuild / package supports only py2.7. Where py3 comes is unknown.
655 + # The compile phase makes VBoxPython2_[4-7].so.
656 + # py3 support would presumably require a binary pre-compiled by py3.
657 + use python && doins VBoxPython.so VBoxPython2_7.so
658 +
659 + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
660 + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
661 + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
662 + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
663 + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
664 + VBoxPython?_*.so
665 +
666 + if use headless ; then
667 + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
668 + fi
669 +
670 + doins -r * || die
671 +
672 + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
673 + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
674 + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
675 + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
676 + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
677 + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
678 +
679 + local each
680 + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
681 + fowners root:vboxusers /opt/VirtualBox/${each}
682 + fperms 0750 /opt/VirtualBox/${each}
683 + pax-mark -m "${D}"/opt/VirtualBox/${each}
684 + done
685 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
686 + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
687 + fperms 4750 /opt/VirtualBox/VBoxNetDHCP
688 + fperms 4750 /opt/VirtualBox/VBoxNetNAT
689 +
690 + if ! use headless ; then
691 + # Hardened build: Mark selected binaries set-user-ID-on-execution
692 + for each in VBox{SDL,Headless} VirtualBox; do
693 + fowners root:vboxusers /opt/VirtualBox/${each}
694 + fperms 4510 /opt/VirtualBox/${each}
695 + pax-mark -m "${D}"/opt/VirtualBox/${each}
696 + done
697 +
698 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
699 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
700 + else
701 + # Hardened build: Mark selected binaries set-user-ID-on-execution
702 + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
703 + fperms 4510 /opt/VirtualBox/VBoxHeadless
704 + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
705 + fi
706 +
707 + exeinto /opt/VirtualBox
708 + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
709 + fowners root:vboxusers /opt/VirtualBox/VBox.sh
710 + fperms 0750 /opt/VirtualBox/VBox.sh
711 +
712 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
713 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
714 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
715 + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
716 +
717 + # set an env-variable for 3rd party tools
718 + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
719 + doenvd "${T}/90virtualbox"
720 +
721 + local udevdir="$(get_udevdir)"
722 + insinto ${udevdir}/rules.d
723 + doins "${FILESDIR}"/10-virtualbox.rules
724 + sed "s@%UDEVDIR%@${udevdir}@" \
725 + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
726 + # move udev scripts into ${udevdir} (bug #372491)
727 + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
728 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
729 +}
730 +
731 +pkg_postinst() {
732 + fdo-mime_desktop_database_update
733 +
734 + gnome2_icon_cache_update
735 +
736 + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
737 +
738 + elog ""
739 + if ! use headless ; then
740 + elog "To launch VirtualBox just type: \"VirtualBox\""
741 + elog ""
742 + fi
743 + elog "You must be in the vboxusers group to use VirtualBox."
744 + elog ""
745 + elog "For advanced networking setups you should emerge:"
746 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
747 + elog ""
748 + elog "Please visit http://www.virtualbox.org/wiki/Editions for"
749 + elog "an overview about the different features of ${PN}"
750 + elog "and virtualbox-ose"
751 + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
752 + elog ""
753 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
754 + elog "or else USB in ${PN} won't work."
755 + fi
756 +}
757 +
758 +pkg_postrm() {
759 + fdo-mime_desktop_database_update
760 +}
761
762 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-4.3.36.105129-r1.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.36.105129-r1.ebuild
763 new file mode 100644
764 index 0000000..2241c6d
765 --- /dev/null
766 +++ b/app-emulation/virtualbox-bin/virtualbox-bin-4.3.36.105129-r1.ebuild
767 @@ -0,0 +1,357 @@
768 +# Copyright 1999-2016 Gentoo Foundation
769 +# Distributed under the terms of the GNU General Public License v2
770 +# $Id$
771 +
772 +EAPI=5
773 +
774 +PYTHON_COMPAT=( python2_7 )
775 +
776 +inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator
777 +
778 +MAIN_PV="$(get_version_component_range 1-3)"
779 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
780 + MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
781 + MY_PV="${MY_PV/beta/BETA}"
782 + MY_PV="${MY_PV/rc/RC}"
783 +else
784 + MY_PV="${MAIN_PV}"
785 +fi
786 +VBOX_BUILD_ID="$(get_version_component_range 4)"
787 +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
788 +MY_P="VirtualBox-${VBOX_PV}-Linux"
789 +# needed as sometimes the extpack gets another build ID
790 +EXTP_PV="${VBOX_PV}"
791 +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
792 +EXTP_P="${EXTP_PN}-${EXTP_PV}"
793 +# needed as sometimes the SDK gets another build ID
794 +SDK_PV="${VBOX_PV}"
795 +SDK_P="VirtualBoxSDK-${SDK_PV}"
796 +
797 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
798 +HOMEPAGE="http://www.virtualbox.org/"
799 +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
800 + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
801 + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
802 +
803 +LICENSE="GPL-2 PUEL"
804 +SLOT="0"
805 +KEYWORDS="~amd64 ~x86"
806 +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
807 +RESTRICT="mirror"
808 +
809 +if [[ "${PV}" != *beta* ]] ; then
810 + SRC_URI+="
811 + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
812 + IUSE+=" sdk"
813 +fi
814 +
815 +DEPEND="app-arch/unzip
816 + ${PYTHON_DEPS}"
817 +
818 +RDEPEND="!!app-emulation/virtualbox
819 + !app-emulation/virtualbox-additions
820 + ~app-emulation/virtualbox-modules-${MAIN_PV}
821 + !headless? (
822 + x11-libs/libXcursor
823 + media-libs/libsdl[X]
824 + x11-libs/libXrender
825 + x11-libs/libXfixes
826 + media-libs/libpng
827 + x11-libs/libXi
828 + x11-libs/libXrandr
829 + x11-libs/libXinerama
830 + x11-libs/libXft
831 + media-libs/freetype
832 + media-libs/fontconfig
833 + x11-libs/libXext
834 + dev-libs/glib
835 + chm? ( dev-libs/expat )
836 + )
837 + x11-libs/libXt
838 + dev-libs/libxml2
839 + x11-libs/libXau
840 + x11-libs/libX11
841 + x11-libs/libXmu
842 + x11-libs/libSM
843 + x11-libs/libICE
844 + x11-libs/libXdmcp
845 + python? ( ${PYTHON_DEPS} )"
846 +
847 +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
848 +S=${WORKDIR}
849 +
850 +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
851 +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
852 + opt/VirtualBox/VBoxSDL.so
853 + opt/VirtualBox/VBoxDbg.so
854 + opt/VirtualBox/VBoxSharedFolders.so
855 + opt/VirtualBox/VBoxDD2.so
856 + opt/VirtualBox/VBoxOGLrenderspu.so
857 + opt/VirtualBox/VBoxPython.so
858 + opt/VirtualBox/VBoxPython2_7.so
859 + opt/VirtualBox/VBoxDD.so
860 + opt/VirtualBox/VBoxVRDP.so
861 + opt/VirtualBox/VBoxDDU.so
862 + opt/VirtualBox/VBoxREM64.so
863 + opt/VirtualBox/VBoxSharedClipboard.so
864 + opt/VirtualBox/VBoxHeadless.so
865 + opt/VirtualBox/VBoxRT.so
866 + opt/VirtualBox/VRDPAuth.so
867 + opt/VirtualBox/VBoxREM.so
868 + opt/VirtualBox/VBoxSettings.so
869 + opt/VirtualBox/VBoxKeyboard.so
870 + opt/VirtualBox/VBoxSharedCrOpenGL.so
871 + opt/VirtualBox/VBoxVMM.so
872 + opt/VirtualBox/VirtualBox.so
873 + opt/VirtualBox/VBoxOGLhosterrorspu.so
874 + opt/VirtualBox/components/VBoxC.so
875 + opt/VirtualBox/components/VBoxSVCM.so
876 + opt/VirtualBox/VBoxREM32.so
877 + opt/VirtualBox/VBoxXPCOMC.so
878 + opt/VirtualBox/VBoxOGLhostcrutil.so
879 + opt/VirtualBox/VBoxNetDHCP.so
880 + opt/VirtualBox/VBoxGuestControlSvc.so"
881 +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
882 + opt/VirtualBox/VBoxDD2.so
883 + opt/VirtualBox/VBoxDDU.so
884 + opt/VirtualBox/VBoxDbg.so
885 + opt/VirtualBox/VBoxGuestControlSvc.so
886 + opt/VirtualBox/VBoxGuestPropSvc.so
887 + opt/VirtualBox/VBoxHeadless
888 + opt/VirtualBox/VBoxHeadless.so
889 + opt/VirtualBox/VBoxKeyboard.so
890 + opt/VirtualBox/VBoxManage
891 + opt/VirtualBox/VBoxNetAdpCtl
892 + opt/VirtualBox/VBoxNetDHCP
893 + opt/VirtualBox/VBoxNetDHCP.so
894 + opt/VirtualBox/VBoxOGLhostcrutil.so
895 + opt/VirtualBox/VBoxOGLhosterrorspu.so
896 + opt/VirtualBox/VBoxOGLrenderspu.so
897 + opt/VirtualBox/VBoxPython.so
898 + opt/VirtualBox/VBoxPython2_7.so
899 + opt/VirtualBox/VBoxREM.so
900 + opt/VirtualBox/VBoxREM32.so
901 + opt/VirtualBox/VBoxREM64.so
902 + opt/VirtualBox/VBoxRT.so
903 + opt/VirtualBox/VBoxSDL
904 + opt/VirtualBox/VBoxSDL.so
905 + opt/VirtualBox/VBoxSVC
906 + opt/VirtualBox/VBoxSettings.so
907 + opt/VirtualBox/VBoxSharedClipboard.so
908 + opt/VirtualBox/VBoxSharedCrOpenGL.so
909 + opt/VirtualBox/VBoxSharedFolders.so
910 + opt/VirtualBox/VBoxTestOGL
911 + opt/VirtualBox/VBoxTunctl
912 + opt/VirtualBox/VBoxVMM.so
913 + opt/VirtualBox/VBoxVRDP.so
914 + opt/VirtualBox/VBoxXPCOM.so
915 + opt/VirtualBox/VBoxXPCOMC.so
916 + opt/VirtualBox/VBoxXPCOMIPCD
917 + opt/VirtualBox/VRDPAuth.so
918 + opt/VirtualBox/VirtualBox
919 + opt/VirtualBox/VirtualBox.so
920 + opt/VirtualBox/accessible/libqtaccessiblewidgets.so
921 + opt/VirtualBox/components/VBoxC.so
922 + opt/VirtualBox/components/VBoxSVCM.so
923 + opt/VirtualBox/components/VBoxXPCOMIPCC.so
924 + opt/VirtualBox/kchmviewer
925 + opt/VirtualBox/libQtCoreVBox.so.4
926 + opt/VirtualBox/libQtGuiVBox.so.4
927 + opt/VirtualBox/libQtNetworkVBox.so.4
928 + opt/VirtualBox/libQtOpenGLVBox.so.4
929 + opt/VirtualBox/vboxwebsrv"
930 +
931 +PYTHON_UPDATER_IGNORE="1"
932 +
933 +src_unpack() {
934 + unpack_makeself ${MY_P}_${ARCH}.run
935 + unpack ./VirtualBox.tar.bz2
936 +
937 + mkdir "${S}"/${EXTP_PN} || die
938 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
939 + unpack ${EXTP_P}.tar.gz
940 + popd &>/dev/null || die
941 +
942 + if [[ "${PV}" != *beta* ]] && use sdk ; then
943 + unpack VirtualBoxSDK-${SDK_PV}.zip
944 + fi
945 +}
946 +
947 +src_configure() {
948 + :;
949 +}
950 +
951 +src_compile() {
952 + :;
953 +}
954 +
955 +src_install() {
956 + # create virtualbox configurations files
957 + insinto /etc/vbox
958 + newins "${FILESDIR}/${PN}-config" vbox.cfg
959 +
960 + if ! use headless ; then
961 + pushd "${S}"/icons &>/dev/null || die
962 + for size in * ; do
963 + if [ -f "${size}/virtualbox.png" ] ; then
964 + insinto "/usr/share/icons/hicolor/${size}/apps"
965 + newins "${size}/virtualbox.png" ${PN}.png
966 + fi
967 + done
968 + dodir /usr/share/pixmaps
969 + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
970 + || die
971 + popd &>/dev/null || die
972 +
973 + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
974 + fi
975 +
976 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
977 + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
978 + doins -r linux.${ARCH}
979 + doins ExtPack* PXE-Intel.rom
980 + popd &>/dev/null || die
981 + rm -rf "${S}"/${EXTP_PN}
982 +
983 + insinto /opt/VirtualBox
984 + dodir /opt/bin
985 +
986 + doins UserManual.pdf
987 +
988 + if [[ "${PV}" != *beta* ]] && use sdk ; then
989 + doins -r sdk
990 + fi
991 +
992 + if use additions; then
993 + doins -r additions
994 + fi
995 +
996 + if use vboxwebsrv; then
997 + doins vboxwebsrv
998 + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
999 + fperms 0750 /opt/VirtualBox/vboxwebsrv
1000 + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
1001 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
1002 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
1003 + fi
1004 +
1005 + if use rdesktop-vrdp; then
1006 + doins rdesktop-vrdp
1007 + doins -r rdesktop-vrdp-keymaps
1008 + fperms 0750 /opt/VirtualBox/rdesktop-vrdp
1009 + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
1010 + fi
1011 +
1012 + if ! use headless && use chm; then
1013 + doins kchmviewer VirtualBox.chm
1014 + fowners root:vboxusers /opt/VirtualBox/kchmviewer
1015 + fperms 0750 /opt/VirtualBox/kchmviewer
1016 + fi
1017 +
1018 + # This ebuild / package supports only py2.7. Where py3 comes is unknown.
1019 + # The compile phase makes VBoxPython2_[4-7].so.
1020 + # py3 support would presumably require a binary pre-compiled by py3.
1021 + use python && doins VBoxPython.so VBoxPython2_7.so
1022 +
1023 + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
1024 + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
1025 + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
1026 + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
1027 + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
1028 + VBoxPython?_*.so
1029 +
1030 + if use headless ; then
1031 + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
1032 + fi
1033 +
1034 + doins -r * || die
1035 +
1036 + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
1037 + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
1038 + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
1039 + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
1040 + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
1041 + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
1042 +
1043 + local each
1044 + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
1045 + fowners root:vboxusers /opt/VirtualBox/${each}
1046 + fperms 0750 /opt/VirtualBox/${each}
1047 + pax-mark -m "${D}"/opt/VirtualBox/${each}
1048 + done
1049 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
1050 + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
1051 + fperms 4750 /opt/VirtualBox/VBoxNetDHCP
1052 + fperms 4750 /opt/VirtualBox/VBoxNetNAT
1053 +
1054 + if ! use headless ; then
1055 + # Hardened build: Mark selected binaries set-user-ID-on-execution
1056 + for each in VBox{SDL,Headless} VirtualBox; do
1057 + fowners root:vboxusers /opt/VirtualBox/${each}
1058 + fperms 4510 /opt/VirtualBox/${each}
1059 + pax-mark -m "${D}"/opt/VirtualBox/${each}
1060 + done
1061 +
1062 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
1063 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
1064 + else
1065 + # Hardened build: Mark selected binaries set-user-ID-on-execution
1066 + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
1067 + fperms 4510 /opt/VirtualBox/VBoxHeadless
1068 + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
1069 + fi
1070 +
1071 + exeinto /opt/VirtualBox
1072 + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
1073 + fowners root:vboxusers /opt/VirtualBox/VBox.sh
1074 + fperms 0750 /opt/VirtualBox/VBox.sh
1075 +
1076 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
1077 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
1078 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
1079 + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
1080 +
1081 + # set an env-variable for 3rd party tools
1082 + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
1083 + doenvd "${T}/90virtualbox"
1084 +
1085 + local udevdir="$(get_udevdir)"
1086 + insinto ${udevdir}/rules.d
1087 + doins "${FILESDIR}"/10-virtualbox.rules
1088 + sed "s@%UDEVDIR%@${udevdir}@" \
1089 + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
1090 + # move udev scripts into ${udevdir} (bug #372491)
1091 + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
1092 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
1093 +}
1094 +
1095 +pkg_postinst() {
1096 + fdo-mime_desktop_database_update
1097 +
1098 + gnome2_icon_cache_update
1099 +
1100 + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
1101 +
1102 + elog ""
1103 + if ! use headless ; then
1104 + elog "To launch VirtualBox just type: \"VirtualBox\""
1105 + elog ""
1106 + fi
1107 + elog "You must be in the vboxusers group to use VirtualBox."
1108 + elog ""
1109 + elog "For advanced networking setups you should emerge:"
1110 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
1111 + elog ""
1112 + elog "Please visit http://www.virtualbox.org/wiki/Editions for"
1113 + elog "an overview about the different features of ${PN}"
1114 + elog "and virtualbox-ose"
1115 + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
1116 + elog ""
1117 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
1118 + elog "or else USB in ${PN} won't work."
1119 + fi
1120 +}
1121 +
1122 +pkg_postrm() {
1123 + fdo-mime_desktop_database_update
1124 +}
1125
1126 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.16.105871-r1.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.16.105871-r1.ebuild
1127 new file mode 100644
1128 index 0000000..386cb61
1129 --- /dev/null
1130 +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.16.105871-r1.ebuild
1131 @@ -0,0 +1,357 @@
1132 +# Copyright 1999-2016 Gentoo Foundation
1133 +# Distributed under the terms of the GNU General Public License v2
1134 +# $Id$
1135 +
1136 +EAPI=5
1137 +
1138 +PYTHON_COMPAT=( python2_7 )
1139 +
1140 +inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator
1141 +
1142 +MAIN_PV="$(get_version_component_range 1-3)"
1143 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
1144 + MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
1145 + MY_PV="${MY_PV/beta/BETA}"
1146 + MY_PV="${MY_PV/rc/RC}"
1147 +else
1148 + MY_PV="${MAIN_PV}"
1149 +fi
1150 +VBOX_BUILD_ID="$(get_version_component_range 4)"
1151 +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
1152 +MY_P="VirtualBox-${VBOX_PV}-Linux"
1153 +# needed as sometimes the extpack gets another build ID
1154 +EXTP_PV="${VBOX_PV}"
1155 +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
1156 +EXTP_P="${EXTP_PN}-${EXTP_PV}"
1157 +# needed as sometimes the SDK gets another build ID
1158 +SDK_PV="${VBOX_PV}"
1159 +SDK_P="VirtualBoxSDK-${SDK_PV}"
1160 +
1161 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
1162 +HOMEPAGE="http://www.virtualbox.org/"
1163 +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
1164 + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
1165 + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
1166 +
1167 +LICENSE="GPL-2 PUEL"
1168 +SLOT="0"
1169 +KEYWORDS="~amd64 ~x86"
1170 +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
1171 +RESTRICT="mirror"
1172 +
1173 +if [[ "${PV}" != *beta* ]] ; then
1174 + SRC_URI+="
1175 + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
1176 + IUSE+=" sdk"
1177 +fi
1178 +
1179 +DEPEND="app-arch/unzip
1180 + ${PYTHON_DEPS}"
1181 +
1182 +RDEPEND="!!app-emulation/virtualbox
1183 + !app-emulation/virtualbox-additions
1184 + ~app-emulation/virtualbox-modules-${MAIN_PV}
1185 + !headless? (
1186 + x11-libs/libXcursor
1187 + media-libs/libsdl[X]
1188 + x11-libs/libXrender
1189 + x11-libs/libXfixes
1190 + media-libs/libpng
1191 + x11-libs/libXi
1192 + x11-libs/libXrandr
1193 + x11-libs/libXinerama
1194 + x11-libs/libXft
1195 + media-libs/freetype
1196 + media-libs/fontconfig
1197 + x11-libs/libXext
1198 + dev-libs/glib
1199 + chm? ( dev-libs/expat )
1200 + )
1201 + x11-libs/libXt
1202 + dev-libs/libxml2
1203 + x11-libs/libXau
1204 + x11-libs/libX11
1205 + x11-libs/libXmu
1206 + x11-libs/libSM
1207 + x11-libs/libICE
1208 + x11-libs/libXdmcp
1209 + ${PYTHON_DEPS}"
1210 +
1211 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
1212 +S=${WORKDIR}
1213 +
1214 +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
1215 +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
1216 + opt/VirtualBox/VBoxSDL.so
1217 + opt/VirtualBox/VBoxDbg.so
1218 + opt/VirtualBox/VBoxSharedFolders.so
1219 + opt/VirtualBox/VBoxDD2.so
1220 + opt/VirtualBox/VBoxOGLrenderspu.so
1221 + opt/VirtualBox/VBoxPython.so
1222 + opt/VirtualBox/VBoxPython2_7.so
1223 + opt/VirtualBox/VBoxDD.so
1224 + opt/VirtualBox/VBoxVRDP.so
1225 + opt/VirtualBox/VBoxDDU.so
1226 + opt/VirtualBox/VBoxREM64.so
1227 + opt/VirtualBox/VBoxSharedClipboard.so
1228 + opt/VirtualBox/VBoxHeadless.so
1229 + opt/VirtualBox/VBoxRT.so
1230 + opt/VirtualBox/VRDPAuth.so
1231 + opt/VirtualBox/VBoxREM.so
1232 + opt/VirtualBox/VBoxSettings.so
1233 + opt/VirtualBox/VBoxKeyboard.so
1234 + opt/VirtualBox/VBoxSharedCrOpenGL.so
1235 + opt/VirtualBox/VBoxVMM.so
1236 + opt/VirtualBox/VirtualBox.so
1237 + opt/VirtualBox/VBoxOGLhosterrorspu.so
1238 + opt/VirtualBox/components/VBoxC.so
1239 + opt/VirtualBox/components/VBoxSVCM.so
1240 + opt/VirtualBox/VBoxREM32.so
1241 + opt/VirtualBox/VBoxXPCOMC.so
1242 + opt/VirtualBox/VBoxOGLhostcrutil.so
1243 + opt/VirtualBox/VBoxNetDHCP.so
1244 + opt/VirtualBox/VBoxGuestControlSvc.so"
1245 +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
1246 + opt/VirtualBox/VBoxDD2.so
1247 + opt/VirtualBox/VBoxDDU.so
1248 + opt/VirtualBox/VBoxDbg.so
1249 + opt/VirtualBox/VBoxGuestControlSvc.so
1250 + opt/VirtualBox/VBoxGuestPropSvc.so
1251 + opt/VirtualBox/VBoxHeadless
1252 + opt/VirtualBox/VBoxHeadless.so
1253 + opt/VirtualBox/VBoxKeyboard.so
1254 + opt/VirtualBox/VBoxManage
1255 + opt/VirtualBox/VBoxNetAdpCtl
1256 + opt/VirtualBox/VBoxNetDHCP
1257 + opt/VirtualBox/VBoxNetDHCP.so
1258 + opt/VirtualBox/VBoxOGLhostcrutil.so
1259 + opt/VirtualBox/VBoxOGLhosterrorspu.so
1260 + opt/VirtualBox/VBoxOGLrenderspu.so
1261 + opt/VirtualBox/VBoxPython.so
1262 + opt/VirtualBox/VBoxPython2_7.so
1263 + opt/VirtualBox/VBoxREM.so
1264 + opt/VirtualBox/VBoxREM32.so
1265 + opt/VirtualBox/VBoxREM64.so
1266 + opt/VirtualBox/VBoxRT.so
1267 + opt/VirtualBox/VBoxSDL
1268 + opt/VirtualBox/VBoxSDL.so
1269 + opt/VirtualBox/VBoxSVC
1270 + opt/VirtualBox/VBoxSettings.so
1271 + opt/VirtualBox/VBoxSharedClipboard.so
1272 + opt/VirtualBox/VBoxSharedCrOpenGL.so
1273 + opt/VirtualBox/VBoxSharedFolders.so
1274 + opt/VirtualBox/VBoxTestOGL
1275 + opt/VirtualBox/VBoxTunctl
1276 + opt/VirtualBox/VBoxVMM.so
1277 + opt/VirtualBox/VBoxVRDP.so
1278 + opt/VirtualBox/VBoxXPCOM.so
1279 + opt/VirtualBox/VBoxXPCOMC.so
1280 + opt/VirtualBox/VBoxXPCOMIPCD
1281 + opt/VirtualBox/VRDPAuth.so
1282 + opt/VirtualBox/VirtualBox
1283 + opt/VirtualBox/VirtualBox.so
1284 + opt/VirtualBox/accessible/libqtaccessiblewidgets.so
1285 + opt/VirtualBox/components/VBoxC.so
1286 + opt/VirtualBox/components/VBoxSVCM.so
1287 + opt/VirtualBox/components/VBoxXPCOMIPCC.so
1288 + opt/VirtualBox/kchmviewer
1289 + opt/VirtualBox/libQtCoreVBox.so.4
1290 + opt/VirtualBox/libQtGuiVBox.so.4
1291 + opt/VirtualBox/libQtNetworkVBox.so.4
1292 + opt/VirtualBox/libQtOpenGLVBox.so.4
1293 + opt/VirtualBox/vboxwebsrv"
1294 +
1295 +PYTHON_UPDATER_IGNORE="1"
1296 +
1297 +src_unpack() {
1298 + unpack_makeself ${MY_P}_${ARCH}.run
1299 + unpack ./VirtualBox.tar.bz2
1300 +
1301 + mkdir "${S}"/${EXTP_PN} || die
1302 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
1303 + unpack ${EXTP_P}.tar.gz
1304 + popd &>/dev/null || die
1305 +
1306 + if [[ "${PV}" != *beta* ]] && use sdk ; then
1307 + unpack VirtualBoxSDK-${SDK_PV}.zip
1308 + fi
1309 +}
1310 +
1311 +src_configure() {
1312 + :;
1313 +}
1314 +
1315 +src_compile() {
1316 + :;
1317 +}
1318 +
1319 +src_install() {
1320 + # create virtualbox configurations files
1321 + insinto /etc/vbox
1322 + newins "${FILESDIR}/${PN}-config" vbox.cfg
1323 +
1324 + if ! use headless ; then
1325 + pushd "${S}"/icons &>/dev/null || die
1326 + for size in * ; do
1327 + if [ -f "${size}/virtualbox.png" ] ; then
1328 + insinto "/usr/share/icons/hicolor/${size}/apps"
1329 + newins "${size}/virtualbox.png" ${PN}.png
1330 + fi
1331 + done
1332 + dodir /usr/share/pixmaps
1333 + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
1334 + || die
1335 + popd &>/dev/null || die
1336 +
1337 + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
1338 + fi
1339 +
1340 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
1341 + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
1342 + doins -r linux.${ARCH}
1343 + doins ExtPack* PXE-Intel.rom
1344 + popd &>/dev/null || die
1345 + rm -rf "${S}"/${EXTP_PN}
1346 +
1347 + insinto /opt/VirtualBox
1348 + dodir /opt/bin
1349 +
1350 + doins UserManual.pdf
1351 +
1352 + if [[ "${PV}" != *beta* ]] && use sdk ; then
1353 + doins -r sdk
1354 + fi
1355 +
1356 + if use additions; then
1357 + doins -r additions
1358 + fi
1359 +
1360 + if use vboxwebsrv; then
1361 + doins vboxwebsrv
1362 + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
1363 + fperms 0750 /opt/VirtualBox/vboxwebsrv
1364 + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
1365 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
1366 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
1367 + fi
1368 +
1369 + if use rdesktop-vrdp; then
1370 + doins rdesktop-vrdp
1371 + doins -r rdesktop-vrdp-keymaps
1372 + fperms 0750 /opt/VirtualBox/rdesktop-vrdp
1373 + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
1374 + fi
1375 +
1376 + if ! use headless && use chm; then
1377 + doins kchmviewer VirtualBox.chm
1378 + fowners root:vboxusers /opt/VirtualBox/kchmviewer
1379 + fperms 0750 /opt/VirtualBox/kchmviewer
1380 + fi
1381 +
1382 + # This ebuild / package supports only py2.7. Where py3 comes is unknown.
1383 + # The compile phase makes VBoxPython2_[4-7].so.
1384 + # py3 support would presumably require a binary pre-compiled by py3.
1385 + use python && doins VBoxPython.so VBoxPython2_7.so
1386 +
1387 + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
1388 + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
1389 + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
1390 + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
1391 + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
1392 + VBoxPython?_*.so
1393 +
1394 + if use headless ; then
1395 + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
1396 + fi
1397 +
1398 + doins -r * || die
1399 +
1400 + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
1401 + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
1402 + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
1403 + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
1404 + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
1405 + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
1406 +
1407 + local each
1408 + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
1409 + fowners root:vboxusers /opt/VirtualBox/${each}
1410 + fperms 0750 /opt/VirtualBox/${each}
1411 + pax-mark -m "${D}"/opt/VirtualBox/${each}
1412 + done
1413 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
1414 + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
1415 + fperms 4750 /opt/VirtualBox/VBoxNetDHCP
1416 + fperms 4750 /opt/VirtualBox/VBoxNetNAT
1417 +
1418 + if ! use headless ; then
1419 + # Hardened build: Mark selected binaries set-user-ID-on-execution
1420 + for each in VBox{SDL,Headless} VirtualBox; do
1421 + fowners root:vboxusers /opt/VirtualBox/${each}
1422 + fperms 4510 /opt/VirtualBox/${each}
1423 + pax-mark -m "${D}"/opt/VirtualBox/${each}
1424 + done
1425 +
1426 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
1427 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
1428 + else
1429 + # Hardened build: Mark selected binaries set-user-ID-on-execution
1430 + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
1431 + fperms 4510 /opt/VirtualBox/VBoxHeadless
1432 + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
1433 + fi
1434 +
1435 + exeinto /opt/VirtualBox
1436 + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
1437 + fowners root:vboxusers /opt/VirtualBox/VBox.sh
1438 + fperms 0750 /opt/VirtualBox/VBox.sh
1439 +
1440 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
1441 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
1442 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
1443 + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
1444 +
1445 + # set an env-variable for 3rd party tools
1446 + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
1447 + doenvd "${T}/90virtualbox"
1448 +
1449 + local udevdir="$(get_udevdir)"
1450 + insinto ${udevdir}/rules.d
1451 + doins "${FILESDIR}"/10-virtualbox.rules
1452 + sed "s@%UDEVDIR%@${udevdir}@" \
1453 + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
1454 + # move udev scripts into ${udevdir} (bug #372491)
1455 + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
1456 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
1457 +}
1458 +
1459 +pkg_postinst() {
1460 + fdo-mime_desktop_database_update
1461 +
1462 + gnome2_icon_cache_update
1463 +
1464 + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
1465 +
1466 + elog ""
1467 + if ! use headless ; then
1468 + elog "To launch VirtualBox just type: \"VirtualBox\""
1469 + elog ""
1470 + fi
1471 + elog "You must be in the vboxusers group to use VirtualBox."
1472 + elog ""
1473 + elog "For advanced networking setups you should emerge:"
1474 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
1475 + elog ""
1476 + elog "Please visit http://www.virtualbox.org/wiki/Editions for"
1477 + elog "an overview about the different features of ${PN}"
1478 + elog "and virtualbox-ose"
1479 + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
1480 + elog ""
1481 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
1482 + elog "or else USB in ${PN} won't work."
1483 + fi
1484 +}
1485 +
1486 +pkg_postrm() {
1487 + fdo-mime_desktop_database_update
1488 +}
1489
1490 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.18.106667-r1.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.18.106667-r1.ebuild
1491 new file mode 100644
1492 index 0000000..f5c9fc6
1493 --- /dev/null
1494 +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.18.106667-r1.ebuild
1495 @@ -0,0 +1,358 @@
1496 +# Copyright 1999-2016 Gentoo Foundation
1497 +# Distributed under the terms of the GNU General Public License v2
1498 +# $Id$
1499 +
1500 +EAPI=5
1501 +
1502 +PYTHON_COMPAT=( python2_7 )
1503 +
1504 +inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator
1505 +
1506 +MAIN_PV="$(get_version_component_range 1-3)"
1507 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
1508 + MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
1509 + MY_PV="${MY_PV/beta/BETA}"
1510 + MY_PV="${MY_PV/rc/RC}"
1511 +else
1512 + MY_PV="${MAIN_PV}"
1513 +fi
1514 +VBOX_BUILD_ID="$(get_version_component_range 4)"
1515 +VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
1516 +MY_P="VirtualBox-${VBOX_PV}-Linux"
1517 +# needed as sometimes the extpack gets another build ID
1518 +EXTP_PV="${VBOX_PV}"
1519 +EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
1520 +EXTP_P="${EXTP_PN}-${EXTP_PV}"
1521 +# needed as sometimes the SDK gets another build ID
1522 +SDK_PV="${VBOX_PV}"
1523 +SDK_P="VirtualBoxSDK-${SDK_PV}"
1524 +
1525 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
1526 +HOMEPAGE="http://www.virtualbox.org/"
1527 +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
1528 + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
1529 + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
1530 +
1531 +LICENSE="GPL-2 PUEL"
1532 +SLOT="0"
1533 +KEYWORDS="~amd64 ~x86"
1534 +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
1535 +RESTRICT="mirror"
1536 +
1537 +if [[ "${PV}" != *beta* ]] ; then
1538 + SRC_URI+="
1539 + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
1540 + IUSE+=" sdk"
1541 +fi
1542 +
1543 +DEPEND="app-arch/unzip
1544 + ${PYTHON_DEPS}"
1545 +
1546 +RDEPEND="!!app-emulation/virtualbox
1547 + !app-emulation/virtualbox-additions
1548 + ~app-emulation/virtualbox-modules-${MAIN_PV}
1549 + !headless? (
1550 + x11-libs/libXcursor
1551 + media-libs/libsdl[X]
1552 + x11-libs/libXrender
1553 + x11-libs/libXfixes
1554 + media-libs/libpng
1555 + x11-libs/libXi
1556 + x11-libs/libXrandr
1557 + x11-libs/libXinerama
1558 + x11-libs/libXft
1559 + media-libs/freetype
1560 + media-libs/fontconfig
1561 + x11-libs/libXext
1562 + dev-libs/glib
1563 + chm? ( dev-libs/expat )
1564 + )
1565 + dev-libs/libxml2
1566 + sys-fs/lvm2
1567 + x11-libs/libXau
1568 + x11-libs/libX11
1569 + x11-libs/libXt
1570 + x11-libs/libXmu
1571 + x11-libs/libSM
1572 + x11-libs/libICE
1573 + x11-libs/libXdmcp
1574 + ${PYTHON_DEPS}"
1575 +
1576 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
1577 +S=${WORKDIR}
1578 +
1579 +QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
1580 +QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
1581 + opt/VirtualBox/VBoxSDL.so
1582 + opt/VirtualBox/VBoxDbg.so
1583 + opt/VirtualBox/VBoxSharedFolders.so
1584 + opt/VirtualBox/VBoxDD2.so
1585 + opt/VirtualBox/VBoxOGLrenderspu.so
1586 + opt/VirtualBox/VBoxPython.so
1587 + opt/VirtualBox/VBoxPython2_7.so
1588 + opt/VirtualBox/VBoxDD.so
1589 + opt/VirtualBox/VBoxVRDP.so
1590 + opt/VirtualBox/VBoxDDU.so
1591 + opt/VirtualBox/VBoxREM64.so
1592 + opt/VirtualBox/VBoxSharedClipboard.so
1593 + opt/VirtualBox/VBoxHeadless.so
1594 + opt/VirtualBox/VBoxRT.so
1595 + opt/VirtualBox/VRDPAuth.so
1596 + opt/VirtualBox/VBoxREM.so
1597 + opt/VirtualBox/VBoxSettings.so
1598 + opt/VirtualBox/VBoxKeyboard.so
1599 + opt/VirtualBox/VBoxSharedCrOpenGL.so
1600 + opt/VirtualBox/VBoxVMM.so
1601 + opt/VirtualBox/VirtualBox.so
1602 + opt/VirtualBox/VBoxOGLhosterrorspu.so
1603 + opt/VirtualBox/components/VBoxC.so
1604 + opt/VirtualBox/components/VBoxSVCM.so
1605 + opt/VirtualBox/VBoxREM32.so
1606 + opt/VirtualBox/VBoxXPCOMC.so
1607 + opt/VirtualBox/VBoxOGLhostcrutil.so
1608 + opt/VirtualBox/VBoxNetDHCP.so
1609 + opt/VirtualBox/VBoxGuestControlSvc.so"
1610 +QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
1611 + opt/VirtualBox/VBoxDD2.so
1612 + opt/VirtualBox/VBoxDDU.so
1613 + opt/VirtualBox/VBoxDbg.so
1614 + opt/VirtualBox/VBoxGuestControlSvc.so
1615 + opt/VirtualBox/VBoxGuestPropSvc.so
1616 + opt/VirtualBox/VBoxHeadless
1617 + opt/VirtualBox/VBoxHeadless.so
1618 + opt/VirtualBox/VBoxKeyboard.so
1619 + opt/VirtualBox/VBoxManage
1620 + opt/VirtualBox/VBoxNetAdpCtl
1621 + opt/VirtualBox/VBoxNetDHCP
1622 + opt/VirtualBox/VBoxNetDHCP.so
1623 + opt/VirtualBox/VBoxOGLhostcrutil.so
1624 + opt/VirtualBox/VBoxOGLhosterrorspu.so
1625 + opt/VirtualBox/VBoxOGLrenderspu.so
1626 + opt/VirtualBox/VBoxPython.so
1627 + opt/VirtualBox/VBoxPython2_7.so
1628 + opt/VirtualBox/VBoxREM.so
1629 + opt/VirtualBox/VBoxREM32.so
1630 + opt/VirtualBox/VBoxREM64.so
1631 + opt/VirtualBox/VBoxRT.so
1632 + opt/VirtualBox/VBoxSDL
1633 + opt/VirtualBox/VBoxSDL.so
1634 + opt/VirtualBox/VBoxSVC
1635 + opt/VirtualBox/VBoxSettings.so
1636 + opt/VirtualBox/VBoxSharedClipboard.so
1637 + opt/VirtualBox/VBoxSharedCrOpenGL.so
1638 + opt/VirtualBox/VBoxSharedFolders.so
1639 + opt/VirtualBox/VBoxTestOGL
1640 + opt/VirtualBox/VBoxTunctl
1641 + opt/VirtualBox/VBoxVMM.so
1642 + opt/VirtualBox/VBoxVRDP.so
1643 + opt/VirtualBox/VBoxXPCOM.so
1644 + opt/VirtualBox/VBoxXPCOMC.so
1645 + opt/VirtualBox/VBoxXPCOMIPCD
1646 + opt/VirtualBox/VRDPAuth.so
1647 + opt/VirtualBox/VirtualBox
1648 + opt/VirtualBox/VirtualBox.so
1649 + opt/VirtualBox/accessible/libqtaccessiblewidgets.so
1650 + opt/VirtualBox/components/VBoxC.so
1651 + opt/VirtualBox/components/VBoxSVCM.so
1652 + opt/VirtualBox/components/VBoxXPCOMIPCC.so
1653 + opt/VirtualBox/kchmviewer
1654 + opt/VirtualBox/libQtCoreVBox.so.4
1655 + opt/VirtualBox/libQtGuiVBox.so.4
1656 + opt/VirtualBox/libQtNetworkVBox.so.4
1657 + opt/VirtualBox/libQtOpenGLVBox.so.4
1658 + opt/VirtualBox/vboxwebsrv"
1659 +
1660 +PYTHON_UPDATER_IGNORE="1"
1661 +
1662 +src_unpack() {
1663 + unpack_makeself ${MY_P}_${ARCH}.run
1664 + unpack ./VirtualBox.tar.bz2
1665 +
1666 + mkdir "${S}"/${EXTP_PN} || die
1667 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
1668 + unpack ${EXTP_P}.tar.gz
1669 + popd &>/dev/null || die
1670 +
1671 + if [[ "${PV}" != *beta* ]] && use sdk ; then
1672 + unpack VirtualBoxSDK-${SDK_PV}.zip
1673 + fi
1674 +}
1675 +
1676 +src_configure() {
1677 + :;
1678 +}
1679 +
1680 +src_compile() {
1681 + :;
1682 +}
1683 +
1684 +src_install() {
1685 + # create virtualbox configurations files
1686 + insinto /etc/vbox
1687 + newins "${FILESDIR}/${PN}-config" vbox.cfg
1688 +
1689 + if ! use headless ; then
1690 + pushd "${S}"/icons &>/dev/null || die
1691 + for size in * ; do
1692 + if [ -f "${size}/virtualbox.png" ] ; then
1693 + insinto "/usr/share/icons/hicolor/${size}/apps"
1694 + newins "${size}/virtualbox.png" ${PN}.png
1695 + fi
1696 + done
1697 + dodir /usr/share/pixmaps
1698 + cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
1699 + || die
1700 + popd &>/dev/null || die
1701 +
1702 + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
1703 + fi
1704 +
1705 + pushd "${S}"/${EXTP_PN} &>/dev/null || die
1706 + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
1707 + doins -r linux.${ARCH}
1708 + doins ExtPack* PXE-Intel.rom
1709 + popd &>/dev/null || die
1710 + rm -rf "${S}"/${EXTP_PN}
1711 +
1712 + insinto /opt/VirtualBox
1713 + dodir /opt/bin
1714 +
1715 + doins UserManual.pdf
1716 +
1717 + if [[ "${PV}" != *beta* ]] && use sdk ; then
1718 + doins -r sdk
1719 + fi
1720 +
1721 + if use additions; then
1722 + doins -r additions
1723 + fi
1724 +
1725 + if use vboxwebsrv; then
1726 + doins vboxwebsrv
1727 + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
1728 + fperms 0750 /opt/VirtualBox/vboxwebsrv
1729 + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
1730 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
1731 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
1732 + fi
1733 +
1734 + if use rdesktop-vrdp; then
1735 + doins rdesktop-vrdp
1736 + doins -r rdesktop-vrdp-keymaps
1737 + fperms 0750 /opt/VirtualBox/rdesktop-vrdp
1738 + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
1739 + fi
1740 +
1741 + if ! use headless && use chm; then
1742 + doins kchmviewer VirtualBox.chm
1743 + fowners root:vboxusers /opt/VirtualBox/kchmviewer
1744 + fperms 0750 /opt/VirtualBox/kchmviewer
1745 + fi
1746 +
1747 + # This ebuild / package supports only py2.7. When py3 comes is unknown.
1748 + # The compile phase makes VBoxPython2_7.so.
1749 + # py3 support would presumably require a binary pre-compiled by py3.
1750 + use python && doins VBoxPython.so VBoxPython2_7.so
1751 +
1752 + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
1753 + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
1754 + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
1755 + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
1756 + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
1757 + VBoxPython?_*.so
1758 +
1759 + if use headless ; then
1760 + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
1761 + fi
1762 +
1763 + doins -r * || die
1764 +
1765 + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
1766 + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
1767 + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
1768 + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
1769 + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
1770 + dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
1771 +
1772 + local each
1773 + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
1774 + fowners root:vboxusers /opt/VirtualBox/${each}
1775 + fperms 0750 /opt/VirtualBox/${each}
1776 + pax-mark -m "${D}"/opt/VirtualBox/${each}
1777 + done
1778 + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
1779 + fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
1780 + fperms 4750 /opt/VirtualBox/VBoxNetDHCP
1781 + fperms 4750 /opt/VirtualBox/VBoxNetNAT
1782 +
1783 + if ! use headless ; then
1784 + # Hardened build: Mark selected binaries set-user-ID-on-execution
1785 + for each in VBox{SDL,Headless} VirtualBox; do
1786 + fowners root:vboxusers /opt/VirtualBox/${each}
1787 + fperms 4510 /opt/VirtualBox/${each}
1788 + pax-mark -m "${D}"/opt/VirtualBox/${each}
1789 + done
1790 +
1791 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
1792 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
1793 + else
1794 + # Hardened build: Mark selected binaries set-user-ID-on-execution
1795 + fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
1796 + fperms 4510 /opt/VirtualBox/VBoxHeadless
1797 + pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
1798 + fi
1799 +
1800 + exeinto /opt/VirtualBox
1801 + newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
1802 + fowners root:vboxusers /opt/VirtualBox/VBox.sh
1803 + fperms 0750 /opt/VirtualBox/VBox.sh
1804 +
1805 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
1806 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
1807 + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
1808 + dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
1809 +
1810 + # set an env-variable for 3rd party tools
1811 + echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
1812 + doenvd "${T}/90virtualbox"
1813 +
1814 + local udevdir="$(get_udevdir)"
1815 + insinto ${udevdir}/rules.d
1816 + doins "${FILESDIR}"/10-virtualbox.rules
1817 + sed "s@%UDEVDIR%@${udevdir}@" \
1818 + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
1819 + # move udev scripts into ${udevdir} (bug #372491)
1820 + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
1821 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
1822 +}
1823 +
1824 +pkg_postinst() {
1825 + fdo-mime_desktop_database_update
1826 +
1827 + gnome2_icon_cache_update
1828 +
1829 + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
1830 +
1831 + elog ""
1832 + if ! use headless ; then
1833 + elog "To launch VirtualBox just type: \"VirtualBox\""
1834 + elog ""
1835 + fi
1836 + elog "You must be in the vboxusers group to use VirtualBox."
1837 + elog ""
1838 + elog "For advanced networking setups you should emerge:"
1839 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
1840 + elog ""
1841 + elog "Please visit http://www.virtualbox.org/wiki/Editions for"
1842 + elog "an overview about the different features of ${PN}"
1843 + elog "and virtualbox-ose"
1844 + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
1845 + elog ""
1846 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
1847 + elog "or else USB in ${PN} won't work."
1848 + fi
1849 +}
1850 +
1851 +pkg_postrm() {
1852 + fdo-mime_desktop_database_update
1853 +}