diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-07-11 01:28:44 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-07-11 01:28:44 +0100 |
commit | b46b9834b3fbf80b22ccc12e95f660512cd0fa75 (patch) | |
tree | f7eb18ccc89e078e2f175e5249fe0d4dfdb5b104 /app-emulation/virtualbox-guest-additions | |
parent | 62f7102650b24618880e8e6f08fcb8fbd235025b (diff) |
gentoo auto-resync : 11:07:2022 - 01:28:44
Diffstat (limited to 'app-emulation/virtualbox-guest-additions')
3 files changed, 291 insertions, 3 deletions
diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index d88c2be6e127..8dde38ad11a1 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -11,4 +11,5 @@ DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e4656 EBUILD virtualbox-guest-additions-6.1.32-r1.ebuild 6280 BLAKE2B 68ef78d95ffbc6847b3a7d948848741e714c57788535c9ecd639b3969bdb28048b4075aef131d5614a3da51d1b603a30d6c9b7b289fd6ea8c912ed52de0613f4 SHA512 7a91705459852d2d53debaeaec17027ee12138926395c46181ffc603232775e16986a35a9e3d287b889e262f4ed7b115251f4e00b01677da51f9b1a325081ad9 EBUILD virtualbox-guest-additions-6.1.34-r1.ebuild 6282 BLAKE2B 696de6d8cf22409ddae78794d4d3d12f3d8cea49884d6317420baefceb3554354d63234fda6b20027293939aa4629e9d84cc241a343f0bb08a84c7a78d8db696 SHA512 37b29dedd36f3bc43753f910ba2dd57c36f84be2c097ca56c6c1b5b52523645d4a0ceff537716fbf673726009c5e2e40884023458275cc0ee3b2c5c9c00e1419 EBUILD virtualbox-guest-additions-6.1.34-r2.ebuild 7469 BLAKE2B affb2aeb74ed6ca588418c23ab2febb374ad7ecc532e056c12c6636f4d433e2eb3e59727a2b1cc6c57f0dea0dcbfa20e67260b95b44bc98c9c0cf5903eac93c4 SHA512 8154a867db0bf5da50f66dd4ba53af4586f3e8a90ba5c693c046bf38b2201082a518deb532947b0abcfe70420273bb5eed8c88657d4c6587580108836c22c57b -MISC metadata.xml 171 BLAKE2B 589206ffd9c243712f27e366177e5448ebcf58bf71e2e0f49a3f0c5292e1341ccd68238b36065d2349be51ef530c8ee2634a260f077826c6ebcc0f7e665e98d9 SHA512 67c15eac3c1637b76d429a0c96476ce57a9c38a608e7ae0829489d4802e9f3b5effdeb375b4a7ba19a5c794b3d990c8f09fabbac2462b1aa08f3c72651f0c8f8 +EBUILD virtualbox-guest-additions-6.1.34-r3.ebuild 7670 BLAKE2B 26c719fa81e9294db0c801a9dcf6db62454900fed0e299b0300f7e32add301e0d00df80755b50319545d1222339a36ef2cbffe8a6af8a05ea3ca02802b75703a SHA512 cedb8138f5ce263307265d7cf2b67edcc282119329b882b36c207782518c62a518f62b72517a6b4c747d8667d9599bf040781fa51fe7e99eb0c5f0ac1d302ac2 +MISC metadata.xml 415 BLAKE2B 9b88f53744c7399cfd98a2a06bd6a61f9e73214b6cf2c126936ffb608400b49a0328eeb1e226679ffd3b43a0d5dd6c353ea56df549b222a4ca851c0c34137ee9 SHA512 6206d0e6ab3dfdde8e022e630f8598b3ba167c0b532d1ea77f4666d83202ef721a9b07d47ebd1770d01b36e18e8adfc6027a337c4e0415008085c2d9f0495c23 diff --git a/app-emulation/virtualbox-guest-additions/metadata.xml b/app-emulation/virtualbox-guest-additions/metadata.xml index 2fb28cc9ebf7..3651025ac589 100644 --- a/app-emulation/virtualbox-guest-additions/metadata.xml +++ b/app-emulation/virtualbox-guest-additions/metadata.xml @@ -1,5 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> - </pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>ceamac.paragon@gmail.com</email> + <name>Viorel Munteanu</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> +</pkgmetadata> diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.34-r3.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.34-r3.ebuild new file mode 100644 index 000000000000..5c05b55625b7 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.34-r3.ebuild @@ -0,0 +1,280 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-mod systemd toolchain-funcs udev + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="${MY_PN}-${MY_PV}" +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + X? ( x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libXmu + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXext + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libSM + x11-libs/libICE ) + sys-apps/dbus +" +DEPEND=" + ${RDEPEND} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + x11-base/xorg-proto +" +PDEPEND=" + X? ( x11-drivers/xf86-video-vboxvideo ) +" +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}" +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src" + +pkg_setup() { + export DISTCC_DISABLE=1 #674256 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest) + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)" + + linux-mod_pkg_setup +} + +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) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch + popd &>/dev/null || die + + # 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 + + # Do not use hard-coded ld (related to bug #488176) + #sed -e '/QUIET)ld /s@ld @$(LD) @' \ + # -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die + + eapply "${WORKDIR}/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 + --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 + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" + linux-mod_src_compile +} + +src_install() { + linux-mod_src_install + + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} + + 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_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 "Also make sure you use the Mesa library for OpenGL:" + elog " eselect opengl set xorg-x11" + 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 <shared_folder_name> <mount_point>" + 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() { + linux-mod_pkg_postrm + udev_reload +} |