1 |
polynomial-c 11/05/08 16:00:55 |
2 |
|
3 |
Modified: ChangeLog |
4 |
Added: virtualbox-4.0.6-r1.ebuild |
5 |
Removed: virtualbox-4.0.6.ebuild |
6 |
Log: |
7 |
Handle USB devices better (bug #356215) |
8 |
|
9 |
(Portage version: 2.2.0_alpha31/cvs/Linux x86_64) |
10 |
|
11 |
Revision Changes Path |
12 |
1.69 app-emulation/virtualbox/ChangeLog |
13 |
|
14 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/ChangeLog?rev=1.69&view=markup |
15 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/ChangeLog?rev=1.69&content-type=text/plain |
16 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/ChangeLog?r1=1.68&r2=1.69 |
17 |
|
18 |
Index: ChangeLog |
19 |
=================================================================== |
20 |
RCS file: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v |
21 |
retrieving revision 1.68 |
22 |
retrieving revision 1.69 |
23 |
diff -u -r1.68 -r1.69 |
24 |
--- ChangeLog 22 Apr 2011 16:10:32 -0000 1.68 |
25 |
+++ ChangeLog 8 May 2011 16:00:55 -0000 1.69 |
26 |
@@ -1,6 +1,14 @@ |
27 |
# ChangeLog for app-emulation/virtualbox |
28 |
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 |
29 |
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.68 2011/04/22 16:10:32 polynomial-c Exp $ |
30 |
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/ChangeLog,v 1.69 2011/05/08 16:00:55 polynomial-c Exp $ |
31 |
+ |
32 |
+*virtualbox-4.0.6-r1 (08 May 2011) |
33 |
+ |
34 |
+ 08 May 2011; Lars Wendler <polynomial-c@g.o> |
35 |
+ +files/10-virtualbox.rules, -virtualbox-4.0.6.ebuild, |
36 |
+ +virtualbox-4.0.6-r1.ebuild: |
37 |
+ Handle USB devices through new udev rules as intended by upstream (bug |
38 |
+ #356215). |
39 |
|
40 |
22 Apr 2011; Lars Wendler <polynomial-c@g.o> |
41 |
+files/virtualbox-4.0.4-gcc46.patch, virtualbox-4.0.6.ebuild: |
42 |
|
43 |
|
44 |
|
45 |
1.1 app-emulation/virtualbox/virtualbox-4.0.6-r1.ebuild |
46 |
|
47 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/virtualbox-4.0.6-r1.ebuild?rev=1.1&view=markup |
48 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/virtualbox-4.0.6-r1.ebuild?rev=1.1&content-type=text/plain |
49 |
|
50 |
Index: virtualbox-4.0.6-r1.ebuild |
51 |
=================================================================== |
52 |
# Copyright 1999-2011 Gentoo Foundation |
53 |
# Distributed under the terms of the GNU General Public License v2 |
54 |
# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-4.0.6-r1.ebuild,v 1.1 2011/05/08 16:00:55 polynomial-c Exp $ |
55 |
|
56 |
EAPI=4 |
57 |
|
58 |
inherit eutils fdo-mime flag-o-matic linux-info pax-utils qt4-r2 toolchain-funcs java-pkg-opt-2 |
59 |
|
60 |
if [[ ${PV} == "9999" ]] ; then |
61 |
# XXX: should finish merging the -9999 ebuild into this one ... |
62 |
ESVN_REPO_URI="http://www.virtualbox.org/svn/vbox/trunk" |
63 |
inherit linux-mod subversion |
64 |
else |
65 |
MY_P=VirtualBox-${PV} |
66 |
SRC_URI="http://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2" |
67 |
S="${WORKDIR}/${MY_P}_OSE" |
68 |
fi |
69 |
|
70 |
DESCRIPTION="Software family of powerful x86 virtualization" |
71 |
HOMEPAGE="http://www.virtualbox.org/" |
72 |
|
73 |
LICENSE="GPL-2" |
74 |
SLOT="0" |
75 |
KEYWORDS="~amd64 ~x86" |
76 |
IUSE="+additions alsa doc extensions headless java pulseaudio +opengl python +qt4 +sdk vboxwebsrv vnc" |
77 |
|
78 |
RDEPEND="!app-emulation/virtualbox-bin |
79 |
~app-emulation/virtualbox-modules-${PV} |
80 |
dev-libs/libIDL |
81 |
>=dev-libs/libxslt-1.1.19 |
82 |
net-misc/curl |
83 |
dev-libs/openssl |
84 |
dev-libs/libxml2 |
85 |
sys-libs/zlib |
86 |
!headless? ( |
87 |
qt4? ( |
88 |
x11-libs/qt-gui:4 |
89 |
x11-libs/qt-core:4 |
90 |
opengl? ( x11-libs/qt-opengl:4 ) |
91 |
x11-libs/libXinerama |
92 |
) |
93 |
opengl? ( virtual/opengl media-libs/freeglut ) |
94 |
x11-libs/libX11 |
95 |
x11-libs/libXcursor |
96 |
x11-libs/libXext |
97 |
x11-libs/libXmu |
98 |
x11-libs/libXt |
99 |
media-libs/libsdl[X,video] |
100 |
) |
101 |
vnc? ( >=net-libs/libvncserver-0.9.7 ) |
102 |
java? ( >=virtual/jre-1.5 )" |
103 |
DEPEND="${RDEPEND} |
104 |
>=dev-util/kbuild-0.1.5-r1 |
105 |
>=dev-lang/yasm-0.6.2 |
106 |
sys-devel/bin86 |
107 |
sys-devel/dev86 |
108 |
sys-power/iasl |
109 |
media-libs/libpng |
110 |
sys-libs/pam |
111 |
sys-libs/libcap |
112 |
doc? ( |
113 |
dev-texlive/texlive-basic |
114 |
dev-texlive/texlive-latex |
115 |
dev-texlive/texlive-latexrecommended |
116 |
dev-texlive/texlive-latexextra |
117 |
dev-texlive/texlive-fontsrecommended |
118 |
dev-texlive/texlive-fontsextra |
119 |
) |
120 |
java? ( >=virtual/jdk-1.5 ) |
121 |
dev-util/pkgconfig |
122 |
alsa? ( >=media-libs/alsa-lib-1.0.13 ) |
123 |
!headless? ( x11-libs/libXinerama ) |
124 |
pulseaudio? ( media-sound/pulseaudio ) |
125 |
python? ( >=dev-lang/python-2.3[threads] ) |
126 |
vboxwebsrv? ( >=net-libs/gsoap-2.7.13 )" |
127 |
PDEPEND="additions? ( ~app-emulation/virtualbox-additions-${PV} ) |
128 |
extensions? ( ~app-emulation/virtualbox-extpack-oracle-${PV} )" |
129 |
|
130 |
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so |
131 |
usr/lib/virtualbox/VBoxSDL.so |
132 |
usr/lib/virtualbox/VBoxSharedFolders.so |
133 |
usr/lib/virtualbox/VBoxDD2.so |
134 |
usr/lib/virtualbox/VBoxOGLrenderspu.so |
135 |
usr/lib/virtualbox/VBoxPython.so |
136 |
usr/lib/virtualbox/VBoxDD.so |
137 |
usr/lib/virtualbox/VBoxDDU.so |
138 |
usr/lib/virtualbox/VBoxREM64.so |
139 |
usr/lib/virtualbox/VBoxSharedClipboard.so |
140 |
usr/lib/virtualbox/VBoxHeadless.so |
141 |
usr/lib/virtualbox/VBoxRT.so |
142 |
usr/lib/virtualbox/VBoxREM.so |
143 |
usr/lib/virtualbox/VBoxSettings.so |
144 |
usr/lib/virtualbox/VBoxKeyboard.so |
145 |
usr/lib/virtualbox/VBoxSharedCrOpenGL.so |
146 |
usr/lib/virtualbox/VBoxVMM.so |
147 |
usr/lib/virtualbox/VirtualBox.so |
148 |
usr/lib/virtualbox/VBoxOGLhosterrorspu.so |
149 |
usr/lib/virtualbox/components/VBoxC.so |
150 |
usr/lib/virtualbox/components/VBoxSVCM.so |
151 |
usr/lib/virtualbox/components/VBoxDDU.so |
152 |
usr/lib/virtualbox/components/VBoxRT.so |
153 |
usr/lib/virtualbox/components/VBoxREM.so |
154 |
usr/lib/virtualbox/components/VBoxVMM.so |
155 |
usr/lib/virtualbox/VBoxREM32.so |
156 |
usr/lib/virtualbox/VBoxPython2_4.so |
157 |
usr/lib/virtualbox/VBoxPython2_5.so |
158 |
usr/lib/virtualbox/VBoxPython2_6.so |
159 |
usr/lib/virtualbox/VBoxPython2_7.so |
160 |
usr/lib/virtualbox/VBoxXPCOMC.so |
161 |
usr/lib/virtualbox/VBoxOGLhostcrutil.so |
162 |
usr/lib/virtualbox/VBoxNetDHCP.so" |
163 |
|
164 |
REQUIRED_USE="java? ( sdk ) python? ( sdk )" |
165 |
|
166 |
pkg_setup() { |
167 |
if built_with_use sys-devel/gcc hardened && gcc-config -c | grep -qv -E "hardenednopie|vanilla"; then |
168 |
eerror "The PIE feature provided by the \"hardened\" compiler is incompatible with ${PF}." |
169 |
eerror "You must use gcc-config to select a profile without this feature. You may" |
170 |
eerror "choose either \"hardenednopie\", \"hardenednopiessp\" or \"vanilla\" profile;" |
171 |
eerror "however, \"hardenednopie\" is preferred because it gives the most hardening." |
172 |
eerror "Remember to run \"source /etc/profile\" before continuing. See bug #339914." |
173 |
die |
174 |
fi |
175 |
|
176 |
if ! use headless && ! use qt4 ; then |
177 |
einfo "No USE=\"qt4\" selected, this build will not include" |
178 |
einfo "any Qt frontend." |
179 |
elif use headless && use qt4 ; then |
180 |
einfo "You selected USE=\"headless qt4\", defaulting to" |
181 |
einfo "USE=\"headless\", this build will not include any X11/Qt frontend." |
182 |
fi |
183 |
|
184 |
if ! use opengl ; then |
185 |
einfo "No USE=\"opengl\" selected, this build will lack" |
186 |
einfo "the OpenGL feature." |
187 |
fi |
188 |
java-pkg-opt-2_pkg_setup |
189 |
} |
190 |
|
191 |
src_prepare() { |
192 |
# Remove shipped binaries (kBuild,yasm), see bug #232775 |
193 |
rm -rf kBuild/bin tools |
194 |
|
195 |
# Disable things unused or split into separate ebuilds |
196 |
sed -e "s/MY_LIBDIR/$(get_libdir)/" \ |
197 |
"${FILESDIR}"/${PN}-4-localconfig > LocalConfig.kmk || die |
198 |
|
199 |
# unset useless/problematic checks in configure |
200 |
epatch "${FILESDIR}/${PN}-ose-3.2.8-mesa-check.patch" \ |
201 |
"${FILESDIR}/${PN}-4-makeself-check.patch" \ |
202 |
"${FILESDIR}/${PN}-4-mkisofs-check.patch" |
203 |
|
204 |
# fix build with --as-needed (bug #249295 and bug #350907) |
205 |
epatch "${FILESDIR}/${PN}-4-asneeded.patch" |
206 |
|
207 |
# Respect LDFLAGS |
208 |
sed -e "s/_LDFLAGS\.${ARCH}*.*=/& ${LDFLAGS}/g" \ |
209 |
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die |
210 |
|
211 |
# We still want to use ${HOME}/.VirtualBox/Machines as machines dir. |
212 |
epatch "${FILESDIR}/${PN}-4.0.2-restore_old_machines_dir.patch" |
213 |
|
214 |
# make configure accept gcc-4.6.x (bug #362861) |
215 |
epatch "${FILESDIR}/${PN}-4.0.4-gcc46.patch" |
216 |
|
217 |
# add correct java path |
218 |
if use java ; then |
219 |
sed "s:/usr/lib/jvm/java-6-sun:$(java-config -O):" \ |
220 |
-i "${S}"/Config.kmk || die |
221 |
fi |
222 |
java-pkg-opt-2_src_prepare |
223 |
} |
224 |
|
225 |
src_configure() { |
226 |
local myconf |
227 |
use alsa || myconf+=" --disable-alsa" |
228 |
use opengl || myconf+=" --disable-opengl" |
229 |
use pulseaudio || myconf+=" --disable-pulse" |
230 |
use python || myconf+=" --disable-python" |
231 |
use java || myconf+=" --disable-java" |
232 |
use vboxwebsrv && myconf+=" --enable-webservice" |
233 |
use vnc && myconf+=" --enable-vnc" |
234 |
use doc || myconf+=" --disable-docs" |
235 |
if ! use headless ; then |
236 |
use qt4 || myconf+=" --disable-qt4" |
237 |
else |
238 |
myconf+=" --build-headless --disable-opengl" |
239 |
fi |
240 |
# not an autoconf script |
241 |
./configure \ |
242 |
--with-gcc="$(tc-getCC)" \ |
243 |
--with-g++="$(tc-getCXX)" \ |
244 |
--disable-kmods \ |
245 |
--disable-dbus \ |
246 |
${myconf} \ |
247 |
|| die "configure failed" |
248 |
} |
249 |
|
250 |
src_compile() { |
251 |
source ./env.sh |
252 |
|
253 |
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) |
254 |
# and strip all flags |
255 |
# strip-flags |
256 |
|
257 |
MAKE="kmk" emake \ |
258 |
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \ |
259 |
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \ |
260 |
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \ |
261 |
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \ |
262 |
VBOX_GCC_OPT="${CXXFLAGS}" \ |
263 |
TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \ |
264 |
all || die "kmk failed" |
265 |
} |
266 |
|
267 |
src_install() { |
268 |
cd "${S}"/out/linux.${ARCH}/release/bin || die |
269 |
|
270 |
# Create configuration files |
271 |
insinto /etc/vbox |
272 |
newins "${FILESDIR}/${PN}-4-config" vbox.cfg |
273 |
|
274 |
# Set the right libdir |
275 |
sed -i \ |
276 |
-e "s/MY_LIBDIR/$(get_libdir)/" \ |
277 |
"${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" |
278 |
|
279 |
# Symlink binaries to the shipped wrapper |
280 |
exeinto /usr/$(get_libdir)/${PN} |
281 |
newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox" || die |
282 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox |
283 |
fperms 0750 /usr/$(get_libdir)/${PN}/VBox |
284 |
|
285 |
dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage |
286 |
dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP |
287 |
dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless |
288 |
dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl |
289 |
|
290 |
# Install binaries and libraries |
291 |
insinto /usr/$(get_libdir)/${PN} |
292 |
doins -r components || die |
293 |
|
294 |
if use sdk ; then |
295 |
doins -r sdk || die |
296 |
fi |
297 |
|
298 |
if use vboxwebsrv ; then |
299 |
doins vboxwebsrv || die |
300 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv |
301 |
fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv |
302 |
dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv |
303 |
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv |
304 |
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv |
305 |
fi |
306 |
|
307 |
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,ExtPackHelperApp} *so *r0 *gc ; do |
308 |
doins $each || die |
309 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each} |
310 |
fperms 0750 /usr/$(get_libdir)/${PN}/${each} |
311 |
done |
312 |
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. |
313 |
fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetAdpCtl |
314 |
fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetDHCP |
315 |
|
316 |
if ! use headless ; then |
317 |
for each in VBox{SDL,Headless} ; do |
318 |
doins $each || die |
319 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each} |
320 |
fperms 4750 /usr/$(get_libdir)/${PN}/${each} |
321 |
pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each} |
322 |
done |
323 |
|
324 |
if use opengl && use qt4 ; then |
325 |
doins VBoxTestOGL || die |
326 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL |
327 |
fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL |
328 |
fi |
329 |
|
330 |
dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL |
331 |
|
332 |
if use qt4 ; then |
333 |
doins VirtualBox || die |
334 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox |
335 |
fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox |
336 |
pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox |
337 |
|
338 |
dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox |
339 |
|
340 |
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop |
341 |
fi |
342 |
|
343 |
newicon "${S}"/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_32px.png ${PN}.png |
344 |
else |
345 |
doins VBoxHeadless || die |
346 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless |
347 |
fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless |
348 |
pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless |
349 |
fi |
350 |
|
351 |
# Install EFI Firmware files (bug #320757) |
352 |
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die |
353 |
for fwfile in VBoxEFI{32,64}.fd ; do |
354 |
doins ${fwfile} || die |
355 |
fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile} || die |
356 |
done |
357 |
popd &>/dev/null || die |
358 |
|
359 |
# New way of handling USB device nodes for VBox (bug #356215) |
360 |
exeinto /lib/udev |
361 |
doexe VBoxCreateUSBNode.sh |
362 |
insinto /lib/udev/rules.d |
363 |
doins "${FILESDIR}"/10-virtualbox.rules |
364 |
|
365 |
insinto /usr/share/${PN} |
366 |
if ! use headless && use qt4 ; then |
367 |
doins -r nls |
368 |
fi |
369 |
|
370 |
# VRDPAuth only works with this (bug #351949) |
371 |
dosym VBoxAuth.so /usr/$(get_libdir)/${PN}/VRDPAuth.so |
372 |
|
373 |
# set an env-variable for 3rd party tools |
374 |
echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox" |
375 |
doenvd "${T}/90virtualbox" |
376 |
|
377 |
if use java ; then |
378 |
java-pkg_regjar "${D}/usr/$(get_libdir)/${PN}/sdk/bindings/xpcom/java/vboxjxpcom.jar" |
379 |
java-pkg_regso "${D}/usr/$(get_libdir)/${PN}/libvboxjxpcom.so" |
380 |
fi |
381 |
} |
382 |
|
383 |
pkg_postinst() { |
384 |
fdo-mime_desktop_database_update |
385 |
|
386 |
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb |
387 |
|
388 |
if ! use headless && use qt4 ; then |
389 |
elog "To launch VirtualBox just type: \"VirtualBox\"." |
390 |
fi |
391 |
elog "You must be in the vboxusers group to use VirtualBox." |
392 |
elog "" |
393 |
elog "The latest user manual is available for download at:" |
394 |
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" |
395 |
elog "" |
396 |
elog "For advanced networking setups you should emerge:" |
397 |
elog "net-misc/bridge-utils and sys-apps/usermode-utilities" |
398 |
elog "" |
399 |
elog "IMPORTANT!" |
400 |
elog "If you upgrade from app-emulation/virtualbox-ose make sure to run" |
401 |
elog "\"env-update\" as root and logout and relogin as the user you wish" |
402 |
elog "to run ${PN} as." |
403 |
elog "" |
404 |
elog "Starting with version 4.0.0, ${PN} has USB-1 support." |
405 |
elog "For USB-2 support, PXE-boot ability and VRDP support please" |
406 |
elog "emerge app-emulation/virtualbox-extpack-oracle package." |
407 |
} |
408 |
|
409 |
pkg_postrm() { |
410 |
fdo-mime_desktop_database_update |
411 |
} |