1 |
commit: 426405cb9a0da711324777e15a3b6c78ffa3bc24 |
2 |
Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 8 14:11:30 2019 +0000 |
4 |
Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 8 14:12:20 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=426405cb |
7 |
|
8 |
app-emulation/virtualbox-guest-additions: Overhauled kernel mod build |
9 |
|
10 |
Package-Manager: Portage-2.3.66, Repoman-2.3.12 |
11 |
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org> |
12 |
|
13 |
.../virtualbox-guest-additions-6.0.6.ebuild | 39 ++++++++-------------- |
14 |
1 file changed, 13 insertions(+), 26 deletions(-) |
15 |
|
16 |
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild |
17 |
index 5256fbb5d67..36da1068f38 100644 |
18 |
--- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild |
19 |
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.6.ebuild |
20 |
@@ -48,34 +48,30 @@ BUILD_TARGETS="all" |
21 |
BUILD_TARGET_ARCH="${ARCH}" |
22 |
|
23 |
S="${WORKDIR}/${MY_P}" |
24 |
+VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" |
25 |
|
26 |
pkg_setup() { |
27 |
export DISTCC_DISABLE=1 #674256 |
28 |
- MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) |
29 |
- vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" |
30 |
- use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" |
31 |
+ MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) |
32 |
+ vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" |
33 |
+ use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" |
34 |
|
35 |
linux-mod_pkg_setup |
36 |
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}" |
37 |
} |
38 |
|
39 |
-src_unpack() { |
40 |
- unpack ${A} |
41 |
- |
42 |
- # Create and unpack a tarball with the sources of the Linux guest |
43 |
- # kernel modules, to include all the needed files |
44 |
- "${S}"/src/VBox/Additions/linux/export_modules.sh \ |
45 |
- "${WORKDIR}/vbox-kmod.tar.gz" &>/dev/null || die |
46 |
- unpack ./vbox-kmod.tar.gz |
47 |
- |
48 |
- # Remove shipped binaries (kBuild,yasm), see bug #232775 |
49 |
- cd "${S}" || die |
50 |
+src_prepare() { |
51 |
rm -r kBuild/bin tools || die |
52 |
-} |
53 |
|
54 |
-src_prepare() { |
55 |
+ # Provide kernel sources |
56 |
+ pushd src/VBox/Additions &>/dev/null || die |
57 |
+ ebegin "Extracting guest kernel module sources" |
58 |
+ kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die |
59 |
+ eend |
60 |
+ popd &>/dev/null || die |
61 |
+ |
62 |
# PaX fixes (see bug #298988) |
63 |
- pushd "${WORKDIR}" &>/dev/null || die |
64 |
+ pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die |
65 |
eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch |
66 |
popd &>/dev/null || die |
67 |
|
68 |
@@ -83,15 +79,6 @@ src_prepare() { |
69 |
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die |
70 |
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk |
71 |
|
72 |
- # stupid new header references... |
73 |
- local vboxheader mdir |
74 |
- for vboxheader in {product,revision,version}-generated.h ; do |
75 |
- for mdir in vbox{guest,sf} ; do |
76 |
- ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ |
77 |
- "${WORKDIR}/${mdir}/${vboxheader}" |
78 |
- done |
79 |
- done |
80 |
- |
81 |
# Remove pointless GCC version check |
82 |
sed -e '/^check_gcc$/d' -i configure || die |