commit:     22503fb5d39a183f2ff0a7de77058ffdabf75d01
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 24 00:37:06 2018 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Fri Aug 24 00:38:05 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22503fb5

app-emulation/virtualbox-guest-additions: fix building against >=linux-4.18

Closes: https://bugs.gentoo.org/663488
Package-Manager: Portage-2.3.48, Repoman-2.3.10

 ...tualbox-guest-additions-5.2.18-linux-4.18.patch | 29 ++++++++++++++++++++++
 .../virtualbox-guest-additions-5.2.14.ebuild       |  5 ++++
 .../virtualbox-guest-additions-5.2.16.ebuild       |  5 ++++
 .../virtualbox-guest-additions-5.2.18.ebuild       |  5 ++++
 4 files changed, 44 insertions(+)

diff --git 
a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5.2.18-linux-4.18.patch
 
b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5.2.18-linux-4.18.patch
new file mode 100644
index 00000000000..ed314943a7c
--- /dev/null
+++ 
b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5.2.18-linux-4.18.patch
@@ -0,0 +1,29 @@
+Author: Larry Finger
+Origin: https://www.mail-archive.com/[email protected]/msg09363.html
+
+--- a/src/VBox/Additions/linux/sharedfolders/utils.c
++++ b/src/VBox/Additions/linux/sharedfolders/utils.c
+@@ -50,7 +50,11 @@ static void sf_timespec_from_ftime(RTTIMESPEC *ts, time_t 
*time)
+     RTTimeSpecSetNano(ts, t);
+ }
+ #else /* >= 2.6.0 */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0)
++static void sf_ftime_from_timespec(struct timespec64 *tv, RTTIMESPEC *ts)
++#else
+ static void sf_ftime_from_timespec(struct timespec *tv, RTTIMESPEC *ts)
++#endif
+ {
+     int64_t t = RTTimeSpecGetNano(ts);
+     int64_t nsec;
+@@ -60,7 +64,11 @@ static void sf_ftime_from_timespec(struct timespec *tv, 
RTTIMESPEC *ts)
+     tv->tv_nsec = nsec;
+ }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 18, 0)
++static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec64 *tv)
++#else
+ static void sf_timespec_from_ftime(RTTIMESPEC *ts, struct timespec *tv)
++#endif
+ {
+     int64_t t = (int64_t)tv->tv_nsec + (int64_t)tv->tv_sec * 1000000000;
+     RTTimeSpecSetNano(ts, t);

diff --git 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild
 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild
index f5deb742885..e0a70e26ee7 100644
--- 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild
+++ 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.14.ebuild
@@ -66,6 +66,11 @@ pkg_setup() {
 src_unpack() {
        unpack ${A}
 
+       # Apply before we create archive with Linux guest kernel modules
+       pushd "${S}" &>/dev/null || die
+       eapply "${FILESDIR}"/virtualbox-guest-additions-5.2.18-linux-4.18.patch 
# 663488
+       popd &>/dev/null || die
+
        # Create and unpack a tarball with the sources of the Linux guest
        # kernel modules, to include all the needed files
        "${S}"/src/VBox/Additions/linux/export_modules.sh 
"${WORKDIR}/vbox-kmod.tar.gz"

diff --git 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild
 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild
index e694510dc38..551c7bdd592 100644
--- 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild
+++ 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.16.ebuild
@@ -62,6 +62,11 @@ pkg_setup() {
 src_unpack() {
        unpack ${A}
 
+       # Apply before we create archive with Linux guest kernel modules
+       pushd "${S}" &>/dev/null || die
+       eapply "${FILESDIR}"/virtualbox-guest-additions-5.2.18-linux-4.18.patch 
# 663488
+       popd &>/dev/null || die
+
        # Create and unpack a tarball with the sources of the Linux guest
        # kernel modules, to include all the needed files
        "${S}"/src/VBox/Additions/linux/export_modules.sh 
"${WORKDIR}/vbox-kmod.tar.gz"

diff --git 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild
 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild
index e694510dc38..551c7bdd592 100644
--- 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild
+++ 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.18.ebuild
@@ -62,6 +62,11 @@ pkg_setup() {
 src_unpack() {
        unpack ${A}
 
+       # Apply before we create archive with Linux guest kernel modules
+       pushd "${S}" &>/dev/null || die
+       eapply "${FILESDIR}"/virtualbox-guest-additions-5.2.18-linux-4.18.patch 
# 663488
+       popd &>/dev/null || die
+
        # Create and unpack a tarball with the sources of the Linux guest
        # kernel modules, to include all the needed files
        "${S}"/src/VBox/Additions/linux/export_modules.sh 
"${WORKDIR}/vbox-kmod.tar.gz"

Reply via email to