From 9b9c22874161d13ca8d50c952d549f2390f3f179 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 1 Jun 2023 09:25:36 +0100 Subject: gentoo auto-resync : 01:06:2023 - 09:25:35 --- app-emulation/Manifest.gz | Bin 15328 -> 15331 bytes app-emulation/libvirt/Manifest | 2 +- app-emulation/libvirt/libvirt-9.3.0.ebuild | 2 +- app-emulation/virtualbox-guest-additions/Manifest | 2 + .../virtualbox-guest-additions-6.1.44-r1.ebuild | 282 ++++++++++++++++++++ .../virtualbox-guest-additions-7.0.8-r2.ebuild | 295 +++++++++++++++++++++ app-emulation/virtualbox-modules/Manifest | 2 + .../virtualbox-modules-6.1.44-r1.ebuild | 34 +++ .../virtualbox-modules-7.0.8-r1.ebuild | 34 +++ 9 files changed, 651 insertions(+), 2 deletions(-) create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.44-r1.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r2.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.44-r1.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-7.0.8-r1.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index c7a18c20d1a7..f2145c2e8224 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index d9f8879cde95..d5d01837baf1 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -28,6 +28,6 @@ EBUILD libvirt-8.8.0-r1.ebuild 8992 BLAKE2B cad2f465f03f0ccc6bf62ae1cd48514a304f EBUILD libvirt-8.9.0-r2.ebuild 9136 BLAKE2B 197b18ee1f588691bc0947f7783208adf726b442be95bddb80ed02e541b0d5b4ecec878f7c2a56019ecf55165a19bd7d2e0e0bb2e066887c441dd8ec57ed9eb5 SHA512 df61ed7e908741194f4aabb2eefd0be6c781787fcd0c962fcf34d939d7f72c51a77b7d4799763d86fdba64152e7988191971fc2952c6c1a9e89b7603e8eadfdd EBUILD libvirt-8.9.0.ebuild 9113 BLAKE2B c6fb14ed1b96147f70cfcbaace9b5821c3cf955230e0a665b980094cab0ef6a1d31ea24fab0a8aea5c355213cd9669d64e76735ffb141daf59ef3c89ef1a11fe SHA512 d0f4d47a9edf7956a43c7ce74ab0b936edc6c22f420be32349e784a8fef91435ef0a7129f397ccdda91eb5fb5519a6c505422d46e32f26dde2cb354e25d53255 EBUILD libvirt-9.2.0.ebuild 9067 BLAKE2B edff1ddc3ab7815b5905e88d64fd85a744f313519db5271999972b120d77da1a39f872a524a7c7296e289c976c9d5d51c279e41a818835a655821815a60b7dc2 SHA512 9d4a95519a38fc18e225331bde2e5d736b02d6fb74823082c6e3282ac4fcac4323ef7cbd6c846b5655b7034ce61322a5dd48797d1178bbba5c92df2d5fc927ff -EBUILD libvirt-9.3.0.ebuild 9129 BLAKE2B 799bce3282b4b20c0c6afb7456fd492b3339045e801c98ec052cbd1f9da5dd45073e41a8c8c0ac925aa4d585528dfa493b5683dfc48871011be8a3f47a5a63a0 SHA512 593b49636446d1d1a69bff637357d22dba66ad9342846f43ec62b27da78a6f5011cc1eeaf070a67aafce7cb1c99edebcd80a6672f925bf8bd366cf460510b236 +EBUILD libvirt-9.3.0.ebuild 9127 BLAKE2B 72e852a61d8af005c295de00ef15b228cdadf6265dccbe9c89546711ca4b1e96d7f662b2438128e8cfdcf4ef1f0f6872e37c151fd0bb9573562f4d40c210b995 SHA512 e3f21a7dbf21854f2d53d84f9c78e28bf2294855b1f13becc65e99209343db3d1dece9c28b696821f4e87ffa3f25c1d897e830729f58788b15eb64a8cbe89d9b EBUILD libvirt-9999.ebuild 9169 BLAKE2B bfc7c644b377c455aa3f30318e4295f2c9dd5894ec49caefb07b55fb98c754bf35b57db87186bdde857e28841c4097868ed64b75c3d81207ca4e60e53a325daa SHA512 2ee0021ed6a7295db012bd0318fcb21ce6404368e09a4b50978380d93b535c32bc9fa85f4be91cebba1e81e20b4fd74af51275f27e73ecf60d9169bf8a4b153b MISC metadata.xml 3729 BLAKE2B 2e68676afb3820c7b8cd3d76b0a5c42886e246fc6b440ce49c71cbe60c124cdccd4ed8fb97f7153529b758d56dfba98b6a98a31b2fbff7e738f52bce796a3476 SHA512 0dfe519af8b740de9d41b1e2c40133026718a782b654a261c54cbe22b5f694cda8b73036c59411317757b73c40acaea77f70d7ab86ae8325e78d61151e6c64f1 diff --git a/app-emulation/libvirt/libvirt-9.3.0.ebuild b/app-emulation/libvirt/libvirt-9.3.0.ebuild index 6ca1ae130822..38c62b32f793 100644 --- a/app-emulation/libvirt/libvirt-9.3.0.ebuild +++ b/app-emulation/libvirt/libvirt-9.3.0.ebuild @@ -21,7 +21,7 @@ if [[ ${PV} = *9999* ]]; then else SRC_URI="https://libvirt.org/sources/${P}.tar.xz verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )" - KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" fi DESCRIPTION="C toolkit to manipulate virtual machines" diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 6a34c1c9f7ef..0aa9204d2fdd 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -11,6 +11,8 @@ DIST VirtualBox-6.1.44.tar.bz2 165775421 BLAKE2B e87d7175bc616784c79d02b595d8111 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 +EBUILD virtualbox-guest-additions-6.1.44-r1.ebuild 7413 BLAKE2B 690ad4ee20599463adf2a6f22761013fb99006bccd07bbf6dc5ce30c5ce64b1fc7d4f3eb340563481cc710370f16711446928d42469330e9a5e825e1b0f6e0f0 SHA512 a5207a396b4e589b567533d72321048b5748cc6f0076556bb8c9cc2ec12592caf431596695df57b93c6e3ae0952c87608baaf8d46b46b42a9376abad1bb93e6b EBUILD virtualbox-guest-additions-6.1.44.ebuild 8052 BLAKE2B c9016e7cf9d7203d42a6f4f04fb8ae0e148ee1897168af717f540621e9e773a3154193847bf40b9681f7857499ace96a28ead243d81ee2e151dda43ddd2c910e SHA512 aef00dc9471868ebaddb213f3376388ded2c703018fa28aa8ab8a1a06ce8339c4b0580b4a0fa7392016a2aba6ce4d9630a3d249e790b1764bd62c4e6e04ea884 EBUILD virtualbox-guest-additions-7.0.8-r1.ebuild 8561 BLAKE2B db90a5d48e39708d9e0ace1cd1d71140b1c57bef9d7512d6848404ee5c86d8af3ef004d3bd4617a9a2c43d5fcb994c19d2c48d1f68d2bba5cc0f83ca89d68b96 SHA512 57f48b19df665d1c1a36eff32d7a10dbdbcb76c0eeca710df6341e2b7851cf1f96ded9ca70ebb16d711b9b051e08b0df1ce59ec5485ddc51660b766e2d64b9d6 +EBUILD virtualbox-guest-additions-7.0.8-r2.ebuild 7922 BLAKE2B 14d354f8aa8cf23a28493dddd622fb1973f039475c6b0ef3da9784c287cfb3f381e5a5fc8a36f5a622fc9d07d81c9dbfab1e923c46d1e5dad21c60da037bedb1 SHA512 abbe71189b0e4ff41d034a3d12c0167228c3aefab056d2829ba972e4222a358f510b862e3fea1a31c81f18aa2e79adabdaf6e924628d8fe768dffd42b5f581d4 MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.44-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.44-r1.ebuild new file mode 100644 index 000000000000..ea083a8adc9f --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.44-r1.ebuild @@ -0,0 +1,282 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-mod-r1 systemd toolchain-funcs udev + +MY_PN="VirtualBox" +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 + https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2" +S="${WORKDIR}/${MY_PN}-${PV}" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~x86" +IUSE="X +dbus" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + sys-libs/pam + sys-libs/zlib + dbus? ( sys-apps/dbus ) + X? ( + x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + ) +" +DEPEND=" + ${RDEPEND} + X? ( + x11-base/xorg-proto + x11-libs/libICE + x11-libs/libSM + x11-libs/libXau + x11-libs/libXdmcp + ) +" +BDEPEND=" + >=dev-util/kbuild-0.1.9998.3127 + <=dev-util/kbuild-0.1.9998.3500 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-power/iasl +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" + +DOCS=() # Don't install the default README file during einstalldocs + +VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src" +CONFIG_CHECK="DRM_TTM" + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null + eend $? || die + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + # Respect LDFLAGS (bug #759100) + sed -i -e '/TEMPLATE_VBOXR3EXE_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk + + eapply "${WORKDIR}/virtualbox-patches-6.1.36/patches" + eapply_user +} + +src_configure() { + tc-export AR CC CXX LD RANLIB + + # Build the user-space tools, warnings are harmless + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + $(usev !dbus --disable-dbus) + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + + # bug #843437 + # Respect LDFLAGS (bug #759100) + # Cannot use LDFLAGS here because they also get passed to $(LD) + cat >> LocalConfig.kmk <<-EOF || die + CFLAGS=${CFLAGS} + CXXFLAGS=${CXXFLAGS} + CCLDFLAGS=${LDFLAGS} + EOF + + edo ./configure "${myconf[@]}" +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + + local myemakeargs=( + VBOX_BUILD_PUBLISHER=_Gentoo + VBOX_ONLY_ADDITIONS=1 + + KBUILD_VERBOSE=2 + + AS="$(tc-getCC)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LD="$(tc-getCC)" + + TOOL_GCC3_CC="$(tc-getCC)" + TOOL_GCC3_CXX="$(tc-getCXX)" + TOOL_GCC3_LD="$(tc-getCC)" + TOOL_GCC3_AS="$(tc-getCC)" + TOOL_GCC3_AR="$(tc-getAR)" + TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)" + + TOOL_GXX3_CC="$(tc-getCC)" + TOOL_GXX3_CXX="$(tc-getCXX)" + TOOL_GXX3_LD="$(tc-getCXX)" + TOOL_GXX3_AS="$(tc-getCXX)" + TOOL_GXX3_AR="$(tc-getAR)" + TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)" + + TOOL_GCC3_CFLAGS="${CFLAGS}" + TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" + VBOX_GCC_OPT="${CXXFLAGS}" + VBOX_NM="$(tc-getNM)" + TOOL_YASM_AS=yasm + ) + + MAKE="kmk" emake "${myemakeargs[@]}" + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + # Move this here for bug 836037 + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + local modlist=( vboxguest vboxsf ) + use X && modlist+=( vboxvideo ) + modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + + insinto /etc/modprobe.d # 485996 + newins - vboxsf.conf <<-EOF + # modprobe.d configuration file for VBOXSF + + # Internal Aliases - Do not edit + # ------------------------------ + alias fs-vboxsf vboxsf + EOF + + cd out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + if use dbus; then + newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} + else + newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN} + fi + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use X ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + doins VBoxDRMClient + fperms 4755 /usr/bin/VBoxDRMClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + udev_reload + if ! use X ; then + elog "use flag X is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} + +pkg_postrm() { + udev_reload +} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r2.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r2.ebuild new file mode 100644 index 000000000000..5657fcc424a6 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.8-r2.ebuild @@ -0,0 +1,295 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-mod-r1 systemd toolchain-funcs udev + +MY_PN="VirtualBox" +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}a.tar.bz2 + https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.8.tar.bz2" +S="${WORKDIR}/${MY_PN}-${PV}" + +# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild +LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~x86" +IUSE="+dbus gui" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +# TODO: find out what this is, remove comment if obsolete + +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + sys-libs/pam + sys-libs/zlib + dbus? ( sys-apps/dbus ) + gui? ( + x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + ) +" +# some libs here are indirect dependencies, and also needed at compile time. +# keeping them in DEPEND to avoid warnings from qa-vdb. +DEPEND=" + ${RDEPEND} + gui? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libXau + x11-libs/libXdmcp + x11-base/xorg-proto + ) +" +BDEPEND=" + >=dev-lang/yasm-0.6.2 + >=dev-util/kbuild-0.1.9998.3127 + sys-devel/bin86 + sys-power/iasl +" +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 +) + +DOCS=() # Don't install the default README file during einstalldocs + +VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src" +CONFIG_CHECK="DRM_TTM" + +src_prepare() { + eapply "${PATCHES[@]}" + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null + eend $? || die + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + if ! use gui; then + echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die + fi + + # Remove pointless GCC version check + sed -e '/ check_gcc$/d' -i configure || die + + # Respect LDFLAGS (bug #759100) + sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die + + eapply "${WORKDIR}/virtualbox-patches-7.0.8/patches" + eapply_user +} + +src_configure() { + tc-export AR CC CXX LD RANLIB + + # Build the user-space tools, warnings are harmless + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + $(usev !dbus --disable-dbus) + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + + # bug #843437 + # Respect LDFLAGS (bug #759100) + # Cannot use LDFLAGS here because they also get passed to $(LD) + cat >> LocalConfig.kmk <<-EOF || die + CFLAGS=${CFLAGS} + CXXFLAGS=${CXXFLAGS} + CCLDFLAGS=${LDFLAGS} + EOF + + edo ./configure "${myconf[@]}" +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + + local myemakeargs=( + VBOX_BUILD_PUBLISHER=_Gentoo + VBOX_ONLY_ADDITIONS=1 + + KBUILD_VERBOSE=2 + + AS="$(tc-getCC)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LD="$(tc-getCC)" + + TOOL_GCC3_CC="$(tc-getCC)" + TOOL_GCC3_CXX="$(tc-getCXX)" + TOOL_GCC3_LD="$(tc-getCC)" + TOOL_GCC3_AS="$(tc-getCC)" + TOOL_GCC3_AR="$(tc-getAR)" + TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)" + + TOOL_GXX3_CC="$(tc-getCC)" + TOOL_GXX3_CXX="$(tc-getCXX)" + TOOL_GXX3_LD="$(tc-getCXX)" + TOOL_GXX3_AS="$(tc-getCXX)" + TOOL_GXX3_AR="$(tc-getAR)" + TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)" + + TOOL_GCC3_CFLAGS="${CFLAGS}" + TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" + VBOX_GCC_OPT="${CXXFLAGS}" + VBOX_NM="$(tc-getNM)" + TOOL_YASM_AS=yasm + ) + + MAKE="kmk" emake "${myemakeargs[@]}" + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + # Move this here for bug 836037 + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + local modlist=( vboxguest vboxsf ) + use gui && modlist+=( vboxvideo ) + modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + + insinto /etc/modprobe.d # 485996 + newins - vboxsf.conf <<-EOF + # modprobe.d configuration file for VBOXSF + + # Internal Aliases - Do not edit + # ------------------------------ + alias fs-vboxsf vboxsf + EOF + + cd out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + if use dbus; then + newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} + else + newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN} + fi + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use gui ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + doins VBoxDRMClient + fperms 4755 /usr/bin/VBoxDRMClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + udev_reload + if ! use gui ; then + elog "use flag gui is off, enable it to install the" + elog "X Window System video driver." + fi + elog "" + elog "Please add users to the \"vboxguest\" group so they can" + elog "benefit from seamless mode, auto-resize and clipboard." + elog "" + elog "The vboxsf group has been added to make automount services work." + elog "These services are part of the shared folders support." + elog "" + elog "Please add:" + elog "/etc/init.d/${PN}" + elog "to the default runlevel in order to start" + elog "needed services." + elog "To use the VirtualBox X driver, use the following" + elog "file as your /etc/X11/xorg.conf:" + elog " /usr/share/doc/${PF}/xorg.conf.vbox" + elog "" + elog "An autostart .desktop file has been installed to start" + elog "VBoxClient in desktop sessions." + elog "" + elog "You can mount shared folders with:" + elog " mount -t vboxsf " + elog "" + elog "Warning:" + elog "this ebuild is only needed if you are running gentoo" + elog "inside a VirtualBox Virtual Machine, you don't need" + elog "it to run VirtualBox itself." + elog "" +} + +pkg_postrm() { + udev_reload +} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index a122af534fa2..7104e7a66d40 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -3,6 +3,8 @@ AUX virtualbox-modules-7.0.6-kernel-6.3.patch 1064 BLAKE2B cfdd3779ec7349c4fe9a1 AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a DIST vbox-kernel-module-src-6.1.44.tar.xz 678920 BLAKE2B d18bd899205b1baa476b6a17b29c8f210238ddcf5949dd5f7b73e06854c85a816422b8f24045d3d0c1adb3cf1fcadbe089e61c2b9764262a14b04b2beaede8be SHA512 a682c94e61ad1c6090223348522123ee7ba87cdd69aaa0bc09a268068bebc2f9d7c8a156c52d82237999f26664790dddb1c8aca72ac4b5ba2133e35086f6516c DIST vbox-kernel-module-src-7.0.8.tar.xz 718032 BLAKE2B f8993f6668d12f6bb6a4ab81376e02b11f806012e9ef101ab7d1cbe17004ce34c9214691e1047aa0b5a82b25b91521b9c9ab20a8b7638136cc64e44f1dda89e6 SHA512 5f56a94cdac2490a2dfea3f006f7fb0229e7467d7a71029063c200d42dbf4fbeb65d3d0612f862c5c303f8cd5b60a9ab58dc7a8f593f128e7e6b3f89c53eaefc +EBUILD virtualbox-modules-6.1.44-r1.ebuild 942 BLAKE2B d001b609287f13ded153dcca7e6188a9389503a7fbf1a0ac014554fba47582acc0e6416b1b58a524cbc33972a8bac3ce052cf3c4d9dfe01d5d296419261f371e SHA512 3ad9fb5df15b2666148204323fd43f72aa5dafbd74a2402258a286ebbb65b27d42f979068f13552d717ac07d24664c8603feaae09b06f17071c8871617aba209 EBUILD virtualbox-modules-6.1.44.ebuild 2452 BLAKE2B ac3c57ed8b03807848cb1b5d6e1c7e096e75ed6d002086aa4b07fbb33ad45b79efbd5e1d1592880550b8280eb0302272e1835071adf786ff4dd6ee79b60b65b8 SHA512 291bc97f33f713f0ab3136736f390a2bee33458313d7c23b20254dceaa74e5087dfa2c81c43296f6ff237de7ab193318f0282752c46ff403c12ee40919164d00 +EBUILD virtualbox-modules-7.0.8-r1.ebuild 942 BLAKE2B 666835042ed720f08e0e51ab83ee1a4c9328b7abff922c929148ed246a03cc410856e846542ce5d1758b0c094ab9f040c6a8ba29ea2486ca64dddc01d9db05bc SHA512 b3dd20429f4dad94e1c5f270de8de0af095fec9e5980283f9ebbf625047840e238f254ed42c73cc985ab0dfb86bec225e6124f21d990d040f723ba39cfa5c0fe EBUILD virtualbox-modules-7.0.8.ebuild 2452 BLAKE2B a6450dbe26b3b841b6e5842f937ec5942c8dad219560c77e9e5fde28e44fadd3a3b60af9b43523148edcb2166eab584d1f2db0dfe0fccff3316f689e8705d211 SHA512 600466e3edf5bddc799b8a0f01b8873acfc855a5468c7c8c95969181db8483a170ced08d071169047fa38cd91452c7ac615c2a30855434750129825bd4e89e5d MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.44-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.44-r1.ebuild new file mode 100644 index 000000000000..00acad894a77 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.44-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from VirtualBox-*.run +# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb + +EAPI=8 + +inherit linux-mod-r1 + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz" +S="${WORKDIR}" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +CONFIG_CHECK="~!SPINLOCK JUMP_LABEL" + +src_compile() { + local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc ) + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-7.0.8-r1.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.8-r1.ebuild new file mode 100644 index 000000000000..d0c1bf4e4df5 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.8-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# XXX: the tarball here is just the kernel modules split out of the binary +# package that comes from VirtualBox-*.run +# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb + +EAPI=8 + +inherit linux-mod-r1 + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz" +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +CONFIG_CHECK="~!SPINLOCK JUMP_LABEL" + +src_compile() { + local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc ) + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} -- cgit v1.2.3