/[gentoo-x86]/app-emulation/virtualbox-bin/virtualbox-bin-4.1.14.ebuild
Gentoo

Contents of /app-emulation/virtualbox-bin/virtualbox-bin-4.1.14.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations) (download)
Wed Jun 20 16:12:34 2012 UTC (11 months ago) by polynomial-c
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
Version bump. Removed old

(Portage version: 2.2.0_alpha110/cvs/Linux x86_64)

1 # Copyright 1999-2012 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-bin/virtualbox-bin-4.1.14.ebuild,v 1.1 2012/04/26 18:19:19 polynomial-c Exp $
4
5 EAPI=2
6
7 inherit eutils unpacker fdo-mime gnome2 pax-utils
8
9 MY_PV=${PV}-77440
10 SDK_PV=${MY_PV}
11 EXTP_PV=${SDK_PV}
12 MY_P=VirtualBox-${MY_PV}-Linux
13 EXTP_PN=Oracle_VM_VirtualBox_Extension_Pack
14
15 DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
16 HOMEPAGE="http://www.virtualbox.org/"
17 SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${PV}/${MY_P}_amd64.run )
18 x86? ( http://download.virtualbox.org/virtualbox/${PV}/${MY_P}_x86.run )
19 sdk? ( http://download.virtualbox.org/virtualbox/${PV}/VirtualBoxSDK-${SDK_PV}.zip )
20 http://download.virtualbox.org/virtualbox/${PV}/${EXTP_PN}-${EXTP_PV}.vbox-extpack -> ${EXTP_PN}-${EXTP_PV}.tar.gz"
21
22 LICENSE="GPL-2 PUEL"
23 SLOT="0"
24 KEYWORDS="~amd64 ~x86"
25 IUSE="+additions +chm headless python sdk vboxwebsrv rdesktop-vrdp"
26 RESTRICT="mirror"
27
28 DEPEND="app-arch/unzip"
29
30 RDEPEND="!!app-emulation/virtualbox
31 !app-emulation/virtualbox-additions
32 ~app-emulation/virtualbox-modules-${PV}
33 !headless? (
34 x11-libs/libXcursor
35 media-libs/libsdl[X]
36 x11-libs/libXrender
37 x11-libs/libXfixes
38 media-libs/libpng
39 x11-libs/libXi
40 x11-libs/libXrandr
41 x11-libs/libXinerama
42 x11-libs/libXft
43 media-libs/freetype
44 media-libs/fontconfig
45 x11-libs/libXext
46 dev-libs/glib
47 chm? ( dev-libs/expat )
48 )
49 x11-libs/libXt
50 dev-libs/libxml2
51 x11-libs/libXau
52 x11-libs/libX11
53 x11-libs/libXmu
54 x11-libs/libSM
55 x11-libs/libICE
56 x11-libs/libXdmcp
57 python? ( || (
58 dev-lang/python:2.7
59 dev-lang/python:2.6
60 dev-lang/python:2.5
61 ) )"
62
63 S=${WORKDIR}
64
65 QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
66 QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
67 opt/VirtualBox/VBoxSDL.so
68 opt/VirtualBox/VBoxDbg.so
69 opt/VirtualBox/VBoxSharedFolders.so
70 opt/VirtualBox/VBoxDD2.so
71 opt/VirtualBox/VBoxOGLrenderspu.so
72 opt/VirtualBox/VBoxPython.so
73 opt/VirtualBox/VBoxPython2_5.so
74 opt/VirtualBox/VBoxPython2_6.so
75 opt/VirtualBox/VBoxPython2_7.so
76 opt/VirtualBox/VBoxDD.so
77 opt/VirtualBox/VBoxVRDP.so
78 opt/VirtualBox/VBoxDDU.so
79 opt/VirtualBox/VBoxREM64.so
80 opt/VirtualBox/VBoxSharedClipboard.so
81 opt/VirtualBox/VBoxHeadless.so
82 opt/VirtualBox/VBoxRT.so
83 opt/VirtualBox/VRDPAuth.so
84 opt/VirtualBox/VBoxREM.so
85 opt/VirtualBox/VBoxSettings.so
86 opt/VirtualBox/VBoxKeyboard.so
87 opt/VirtualBox/VBoxSharedCrOpenGL.so
88 opt/VirtualBox/VBoxVMM.so
89 opt/VirtualBox/VirtualBox.so
90 opt/VirtualBox/VBoxOGLhosterrorspu.so
91 opt/VirtualBox/components/VBoxC.so
92 opt/VirtualBox/components/VBoxSVCM.so
93 opt/VirtualBox/VBoxREM32.so
94 opt/VirtualBox/VBoxPython2_5.so
95 opt/VirtualBox/VBoxXPCOMC.so
96 opt/VirtualBox/VBoxOGLhostcrutil.so
97 opt/VirtualBox/VBoxNetDHCP.so
98 opt/VirtualBox/VBoxGuestControlSvc.so"
99 QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
100 opt/VirtualBox/VBoxDD2.so
101 opt/VirtualBox/VBoxDDU.so
102 opt/VirtualBox/VBoxDbg.so
103 opt/VirtualBox/VBoxGuestControlSvc.so
104 opt/VirtualBox/VBoxGuestPropSvc.so
105 opt/VirtualBox/VBoxHeadless
106 opt/VirtualBox/VBoxHeadless.so
107 opt/VirtualBox/VBoxKeyboard.so
108 opt/VirtualBox/VBoxManage
109 opt/VirtualBox/VBoxNetAdpCtl
110 opt/VirtualBox/VBoxNetDHCP
111 opt/VirtualBox/VBoxNetDHCP.so
112 opt/VirtualBox/VBoxOGLhostcrutil.so
113 opt/VirtualBox/VBoxOGLhosterrorspu.so
114 opt/VirtualBox/VBoxOGLrenderspu.so
115 opt/VirtualBox/VBoxPython.so
116 opt/VirtualBox/VBoxPython2_5.so
117 opt/VirtualBox/VBoxPython2_6.so
118 opt/VirtualBox/VBoxPython2_7.so
119 opt/VirtualBox/VBoxREM.so
120 opt/VirtualBox/VBoxREM32.so
121 opt/VirtualBox/VBoxREM64.so
122 opt/VirtualBox/VBoxRT.so
123 opt/VirtualBox/VBoxSDL
124 opt/VirtualBox/VBoxSDL.so
125 opt/VirtualBox/VBoxSVC
126 opt/VirtualBox/VBoxSettings.so
127 opt/VirtualBox/VBoxSharedClipboard.so
128 opt/VirtualBox/VBoxSharedCrOpenGL.so
129 opt/VirtualBox/VBoxSharedFolders.so
130 opt/VirtualBox/VBoxTestOGL
131 opt/VirtualBox/VBoxTunctl
132 opt/VirtualBox/VBoxVMM.so
133 opt/VirtualBox/VBoxVRDP.so
134 opt/VirtualBox/VBoxXPCOM.so
135 opt/VirtualBox/VBoxXPCOMC.so
136 opt/VirtualBox/VBoxXPCOMIPCD
137 opt/VirtualBox/VRDPAuth.so
138 opt/VirtualBox/VirtualBox
139 opt/VirtualBox/VirtualBox.so
140 opt/VirtualBox/accessible/libqtaccessiblewidgets.so
141 opt/VirtualBox/components/VBoxC.so
142 opt/VirtualBox/components/VBoxSVCM.so
143 opt/VirtualBox/components/VBoxXPCOMIPCC.so
144 opt/VirtualBox/kchmviewer
145 opt/VirtualBox/libQtCoreVBox.so.4
146 opt/VirtualBox/libQtGuiVBox.so.4
147 opt/VirtualBox/libQtNetworkVBox.so.4
148 opt/VirtualBox/libQtOpenGLVBox.so.4
149 opt/VirtualBox/vboxwebsrv"
150
151 PYTHON_UPDATER_IGNORE="1"
152
153 src_unpack() {
154 unpack_makeself ${MY_P}_${ARCH}.run
155 unpack ./VirtualBox.tar.bz2
156
157 mkdir "${S}"/${EXTP_PN} || die
158 pushd "${S}"/${EXTP_PN} &>/dev/null || die
159 unpack ${EXTP_PN}-${EXTP_PV}.tar.gz
160 popd &>/dev/null || die
161
162 if use sdk; then
163 unpack VirtualBoxSDK-${SDK_PV}.zip
164 fi
165 }
166
167 src_configure() {
168 :;
169 }
170
171 src_compile() {
172 :;
173 }
174
175 src_install() {
176 # create virtualbox configurations files
177 insinto /etc/vbox
178 newins "${FILESDIR}/${PN}-config" vbox.cfg
179
180 if ! use headless ; then
181 pushd "${S}"/icons &>/dev/null || die
182 for size in * ; do
183 if [ -f "${size}/virtualbox.png" ] ; then
184 insinto "/usr/share/icons/hicolor/${size}/apps"
185 newins "${size}/virtualbox.png" ${PN}.png
186 fi
187 done
188 dodir /usr/share/pixmaps
189 cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
190 || die
191 popd &>/dev/null || die
192
193 newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
194 fi
195
196 pushd "${S}"/${EXTP_PN} &>/dev/null || die
197 insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
198 doins -r linux.${ARCH}
199 doins ExtPack* PXE-Intel.rom
200 popd &>/dev/null || die
201 rm -rf "${S}"/${EXTP_PN}
202
203 insinto /opt/VirtualBox
204 dodir /opt/bin
205
206 doins UserManual.pdf
207
208 if use sdk ; then
209 doins -r sdk || die
210 fi
211
212 if use additions; then
213 doins -r additions || die
214 fi
215
216 if use vboxwebsrv; then
217 doins vboxwebsrv || die
218 fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
219 fperms 0750 /opt/VirtualBox/vboxwebsrv
220 dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
221 newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
222 newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
223 fi
224
225 if use rdesktop-vrdp; then
226 doins rdesktop-vrdp || die
227 doins -r rdesktop-vrdp-keymaps || die
228 fperms 0750 /opt/VirtualBox/rdesktop-vrdp
229 dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
230 fi
231
232 if ! use headless && use chm; then
233 doins kchmviewer VirtualBox.chm || die
234 fowners root:vboxusers /opt/VirtualBox/kchmviewer
235 fperms 0750 /opt/VirtualBox/kchmviewer
236 fi
237
238 if use python; then
239 local pyver
240 for pyver in 2.5 2.6 2.7; do
241 if has_version "=dev-lang/python-${pyver}*" && [ -f "${S}/VBoxPython${pyver/./_}.so" ] ; then
242 doins VBoxPython${pyver/./_}.so || die
243 fi
244 done
245 fi
246
247 rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
248 vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
249 VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
250 webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
251 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
252 VBoxPython?_*.so
253
254 if use headless ; then
255 rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
256 fi
257
258 doins -r * || die
259
260 # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
261 dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
262 dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
263 dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
264 dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
265 dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
266
267 local each
268 for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,TestOGL,ExtPackHelperApp}; do
269 fowners root:vboxusers /opt/VirtualBox/${each}
270 fperms 0750 /opt/VirtualBox/${each}
271 pax-mark -m "${D}"/opt/VirtualBox/${each}
272 done
273 # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
274 fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
275 fperms 4750 /opt/VirtualBox/VBoxNetDHCP
276
277 if ! use headless ; then
278 # Hardened build: Mark selected binaries set-user-ID-on-execution
279 for each in VBox{SDL,Headless} VirtualBox; do
280 fowners root:vboxusers /opt/VirtualBox/${each}
281 fperms 4510 /opt/VirtualBox/${each}
282 pax-mark -m "${D}"/opt/VirtualBox/${each}
283 done
284
285 dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
286 dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
287 else
288 # Hardened build: Mark selected binaries set-user-ID-on-execution
289 fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
290 fperms 4510 /opt/VirtualBox/VBoxHeadless
291 pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
292 fi
293
294 exeinto /opt/VirtualBox
295 newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" || die
296 fowners root:vboxusers /opt/VirtualBox/VBox.sh
297 fperms 0750 /opt/VirtualBox/VBox.sh
298
299 dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
300 dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
301 dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
302 dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
303
304 # set an env-variable for 3rd party tools
305 echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
306 doenvd "${T}/90virtualbox"
307
308 insinto /lib/udev/rules.d
309 doins "${FILESDIR}"/10-virtualbox.rules
310 # move udev scripts into /lib/udev (bug #372491)
311 mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"/lib/udev
312 fperms 0750 /lib/udev/VBoxCreateUSBNode.sh
313 }
314
315 pkg_postinst() {
316 fdo-mime_desktop_database_update
317
318 gnome2_icon_cache_update
319
320 udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
321
322 elog ""
323 if ! use headless ; then
324 elog "To launch VirtualBox just type: \"VirtualBox\""
325 elog ""
326 fi
327 elog "You must be in the vboxusers group to use VirtualBox."
328 elog ""
329 elog "For advanced networking setups you should emerge:"
330 elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
331 elog ""
332 elog "Please visit http://www.virtualbox.org/wiki/Editions for"
333 elog "an overview about the different features of ${PN}"
334 elog "and virtualbox-ose"
335 if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
336 elog ""
337 elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
338 elog "or else USB in ${PN} won't work."
339 fi
340 }
341
342 pkg_postrm() {
343 fdo-mime_desktop_database_update
344 }

  ViewVC Help
Powered by ViewVC 1.1.13