commit:     789a0c31abf76ef5c12afefb2a932d872b75ad31
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Fri May 12 05:34:01 2023 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Fri May 12 06:00:11 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=789a0c31

app-emulation/virtualbox-guest-additions: add support for kernel 6.4

Add patches from upstream to support kernel 6.4.
Also update SRC_URI to point to 7.0.8a, even if it doesn't apply here,
to match virtualbox.

Closes: https://github.com/gentoo/gentoo/pull/31003
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 app-emulation/virtualbox-guest-additions/Manifest  |  2 +-
 ...-guest-additions-7.0.8-kernel-6.4-patch-1.patch | 25 ++++++++++++++
 ...-guest-additions-7.0.8-kernel-6.4-patch-2.patch | 38 ++++++++++++++++++++++
 ... => virtualbox-guest-additions-7.0.8-r1.ebuild} |  9 ++++-
 4 files changed, 72 insertions(+), 2 deletions(-)

diff --git a/app-emulation/virtualbox-guest-additions/Manifest 
b/app-emulation/virtualbox-guest-additions/Manifest
index 5e3f885253cb..5e823d4ec1f1 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -1,6 +1,6 @@
 DIST VirtualBox-6.1.42.tar.bz2 165554573 BLAKE2B 
8419793d9e4c4d0804baba926443a27259b012ab90d1bb27c8f9d90b018ddbef83d1cc47e9f5b88e6e247f22c186603584a5ddee4b0c04fe842eba56f3fd103a
 SHA512 
a4861b44ee85d6d1d72ba1d19b5598873503feeb6d562cf7d8c770cc9b466741bdfa5abe74dc4e7952ff189d14c6caf60f584731492c38f688a360baba019ab2
 DIST VirtualBox-6.1.44.tar.bz2 165775421 BLAKE2B 
e87d7175bc616784c79d02b595d81119cedc7f4df1822b71ca10b85d44d5cd1dacd999e7867a0bef8579ea715ef732b990cef63f3325fff0c139abe394d88ad7
 SHA512 
49c3baa1a40dcafcc6b31d0abcfecfcb24305de44e5efd3f68ba4443574e21b8cc34d7288e0fbc56730bc3be2bee07089b7dfed14848a88dc38a1433b6dda8af
 DIST VirtualBox-7.0.6.tar.bz2 199512172 BLAKE2B 
cfe4d7abd57dfdb0294177759e80aa9fda797b9b5433f214771a57764cb23404450169e8c7c30cda13de85b8e02a37024584c7b1f0b5a44b10b100aa66b8d5c5
 SHA512 
f9db7a154e392f550f50abe774fc6263eb0b6f86dccc069f2c5012fedbe2debbf5b8ba62cca44ea0d5d5475652188176bfb888266f69197677b22854f02b64a0
-DIST VirtualBox-7.0.8.tar.bz2 199298777 BLAKE2B 
6e36532516fb1ebee4cf7f356659a8cde6bd5074a509c824499ed34d8d0ffc9aff45211d4dcb35e3977fcd72a9b18796ed57f8760dd45e578d8225814c4c8710
 SHA512 
4c25f8275269d085cf347596a242b8921f140e0e40d8c44fd6b171742b8cbd0c9a45f4702dbc0c1272e10091be68c3668711c9e4d1a8b3ce57d25f871e0eb9fe
+DIST VirtualBox-7.0.8a.tar.bz2 199387757 BLAKE2B 
0ba397825277ecbb851bd4ea94c85448e2966fd96ef8edcaf3102f8515553736d6ceee84c0647fa37443c1875256353fdd029d6c505aa99834079acb957b24a0
 SHA512 
fcbf907f6f7f2396ebff5a31af6ec00b38f09799380bac4847cc9044455832de058659edaa9f621b0054fa402bfacef1b5444498c9faeb3671d02da1505c952d
 DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B 
dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87
 SHA512 
1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
 DIST virtualbox-patches-7.0.8.tar.bz2 2733 BLAKE2B 
044dfe02a5bd5e757091318b394b0e5918677b5bbce9caef4a18d4d8df54821559f0df6ffbdd6f52d4934bc4018e9c9d908571c5d3d8804fd3b0f22a7a1aed84
 SHA512 
93a06aa3f9508d3a8743ca8494a958159b5bc3fd7a0a08ff23414d05c4f31084cf0f1c82a3866e222c83e6996ba004546f0bd33c6eb9a90eec8e548b8b3f2fbf

diff --git 
a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch
 
b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch
new file mode 100644
index 000000000000..c13d57ee4503
--- /dev/null
+++ 
b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch
@@ -0,0 +1,25 @@
+Initial support for kernel 6.4
+https://www.virtualbox.org/changeset/99666/vbox
+
+--- a/src/VBox/Additions/linux/sharedfolders/regops.c
++++ b/src/VBox/Additions/linux/sharedfolders/regops.c
+@@ -75,4 +75,11 @@
+ #if RTLNX_VER_MAX(2,5,12)
+ # define PageUptodate(a_pPage) Page_Uptodate(a_pPage)
++#endif
++
++/** Starting from 6.4.0, iter_iov() macro should be used in order to access 
to iov field.  */
++#if RTLNX_VER_MIN(6,4,0)
++# define VBOX_ITER_IOV(_iter) iter_iov(_iter)
++#else
++# define VBOX_ITER_IOV(_iter) iter->iov
+ #endif
+ 
+@@ -2400,5 +2407,5 @@
+     if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) {
+ # endif
+-        const struct iovec *pCurIov    = iter->iov;
++        const struct iovec *pCurIov    = VBOX_ITER_IOV(iter);
+         size_t              cLeft      = iter->nr_segs;
+         size_t              cPagesSpan = 0;
+

diff --git 
a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch
 
b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch
new file mode 100644
index 000000000000..b390c2f5e48a
--- /dev/null
+++ 
b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch
@@ -0,0 +1,38 @@
+Initial support for kernel 6.4
+https://www.virtualbox.org/changeset/99667/vbox
+
+--- a/src/VBox/Additions/linux/sharedfolders/regops.c
++++ b/src/VBox/Additions/linux/sharedfolders/regops.c
+@@ -77,11 +77,4 @@
+ #endif
+ 
+-/** Starting from 6.4.0, iter_iov() macro should be used in order to access 
to iov field.  */
+-#if RTLNX_VER_MIN(6,4,0)
+-# define VBOX_ITER_IOV(_iter) iter_iov(_iter)
+-#else
+-# define VBOX_ITER_IOV(_iter) iter->iov
+-#endif
+-
+ 
+ 
/*********************************************************************************************************************************
+@@ -94,4 +87,12 @@
+ #else
+ # define VBSF_GET_ITER_TYPE(a_pIter) ((a_pIter)->type)
++#endif
++
++/** Starting from 6.4.0, iter_iov() macro should be used in order to access 
to iov field
++ * of struct iov_iter. */
++#if RTLNX_VER_MIN(6,4,0)
++# define VBSF_GET_ITER_IOV(_iter) iter_iov(_iter)
++#else
++# define VBSF_GET_ITER_IOV(_iter) iter->iov
+ #endif
+ 
+@@ -2407,5 +2408,5 @@
+     if (iter_is_iovec(iter) || (VBSF_GET_ITER_TYPE(iter) & ITER_KVEC)) {
+ # endif
+-        const struct iovec *pCurIov    = VBOX_ITER_IOV(iter);
++        const struct iovec *pCurIov    = VBSF_GET_ITER_IOV(iter);
+         size_t              cLeft      = iter->nr_segs;
+         size_t              cPagesSpan = 0;
+

diff --git 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8.ebuild
 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r1.ebuild
similarity index 97%
rename from 
app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8.ebuild
rename to 
app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r1.ebuild
index 2ad17a9c1126..4f354c7b62b0 100644
--- 
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8.ebuild
+++ 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r1.ebuild
@@ -10,7 +10,7 @@ MY_P="${MY_PN}-${PV}"
 
 DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
 HOMEPAGE="https://www.virtualbox.org/";
-SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}a.tar.bz2
        
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.8.tar.bz2";
 S="${WORKDIR}/${MY_PN}-${PV}"
 
@@ -61,6 +61,11 @@ PDEPEND="
        gui? ( x11-drivers/xf86-video-vboxvideo )
 "
 
+PATCHES=(
+       "${FILESDIR}"/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-1.patch
+       "${FILESDIR}"/virtualbox-guest-additions-7.0.8-kernel-6.4-patch-2.patch
+)
+
 BUILD_TARGETS="all"
 BUILD_TARGET_ARCH="${ARCH}"
 
@@ -78,6 +83,8 @@ pkg_setup() {
 }
 
 src_prepare() {
+       eapply "${PATCHES[@]}"
+
        # Remove shipped binaries (kBuild,yasm), see bug #232775
        rm -r kBuild/bin tools || die
 

Reply via email to