diff options
Diffstat (limited to 'app-emulation/virtualbox-guest-additions')
-rw-r--r-- | app-emulation/virtualbox-guest-additions/Manifest | 1 | ||||
-rw-r--r-- | app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.1.30.ebuild | 221 |
2 files changed, 222 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 87e553e3984e..79d269824ac6 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -2,4 +2,5 @@ DIST VirtualBox-5.0.16.tar.bz2 111062984 SHA256 f5a44d33a1db911f445b2eb2d22d9293 DIST VirtualBox-5.0.40.tar.bz2 112997095 SHA256 e4275b7ada40b358e6e3bd1231b3a320aa06c72ae301283cac5adb42eaa8e4b5 SHA512 70cd4355591c5aed82148954bf55637a5dcdd1a5177dba78192e7c6eadfbf3f7023f352ba8f89d9eb3c3fc55b049f7c76af6bc94e04d1766d7fbe39e51a1393c WHIRLPOOL 9f471e63814c9d48063857f3b95410f5acdd4a3bd2716c525f2449f1eae95d0e91dbe5422374a49f31f8219daa155f716455f0259d131d93afb5cd9e13a7d467 DIST VirtualBox-5.1.26.tar.bz2 115915813 SHA256 b5715035e681a11ef1475f83f9503d34a00f0276b89c572eebec363dda80c8a9 SHA512 680e9646a51a0a5923b3ded10007ee1c1e2a41c6d8a961d2b2540db6578bed2847154f4cac87e3cfe1118a62595b47c7df99da854f6c340e173b9eb8cacf2add WHIRLPOOL 9d7950ec3ec2cd9b8aaa0ea319f9f5089eed7d2cd2879d313426b448a27570b5582235aa46c5ad5a0fd4d0b967f8d58a963f001549232136d6a8609262af71d0 DIST VirtualBox-5.1.28.tar.bz2 116427658 SHA256 ce7d4bf6535f70e3214abeb4866f7a8634aa3c7b6dedf8825e6ad80bd821398d SHA512 5c21fd535424d7fd9adbb51894ec6d37ecf00a63a850362bd7b61fedca5031e096641814130a97ad839c0bd7089dc3dc465509615aab2af3c5735ff71005670a WHIRLPOOL 2e3fbeb39083c2e69fb23200570781a8845780a6295553af48fa9155db132e37d0fc2fb26e8a45c52864f69f02e8a0d0cbd4c895e5fbb87ab9a51dd60c7c7904 +DIST VirtualBox-5.1.30.tar.bz2 116510730 SHA256 6059b0986c9cdacc533177867634a76331ceccdcd46dddd111a50d1c42846d0b SHA512 6c44d9593f4815644a484b306e621fe7eca224002f85d89c00f2470300f2c78dbfe50ffda61d2c2465df14ca77c70a2ab86f1a05116feeee9f5833857eb18dee WHIRLPOOL dc1701211cc8247cb23800557cf7e2d34e5063806c5b22cd2c38454531ca390902fd6a764bfc17d14d33ec055de2d924853c9ed6c3ba29fb7998455f06109b6f DIST virtualbox-5.1.24-patches-01.tar.xz 2708 SHA256 8ea5e08da07d555a4868abf6f4d689c2f6695bdb773010a01915fcc6c354f361 SHA512 0028e593818013f809831ac5a73eec63988c0aefb4b309fb3c928efbea8db8b8f46bd7c82f156396adc704f0567474df262dfe9bb6e09af0b2c23528fe2c6e2d WHIRLPOOL 5a1af78c2767608d2b1c2a4b262dbce038d2b6ed9d0499eb60ac1eb64fd6b832efdbafc2b85881ac67efd8794adcc3490fcbf61b74ad7ae576d52e8aff597b04 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.1.30.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.1.30.ebuild new file mode 100644 index 000000000000..3ed0d06ac32a --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.1.30.ebuild @@ -0,0 +1,221 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils linux-mod systemd user toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.1.24-patches-01.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="X" + +RDEPEND="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 + x11-proto/glproto ) + sys-apps/dbus + !!x11-drivers/xf86-input-virtualbox" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + X? ( x11-proto/renderproto ) + !X? ( x11-proto/xproto )" +PDEPEND="X? ( ~x11-drivers/xf86-video-virtualbox-${PV} )" + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest) + vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)" + use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)" + + linux-mod_pkg_setup + BUILD_PARAMS="KERN_DIR=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}" + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist + enewgroup vboxsf +} + +src_unpack() { + unpack ${A} + + # 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 "${WORKDIR}/vbox-kmod.tar.gz" + unpack ./vbox-kmod.tar.gz + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + cd "${S}" + rm -rf kBuild/bin tools +} + +src_prepare() { + # PaX fixes (see bug #298988) + pushd "${WORKDIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-4.1.0-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 + + # stupid new header references... + for vboxheader in {product,revision,version}-generated.h ; do + for mdir in vbox{guest,sf} ; do + ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \ + "${WORKDIR}/${mdir}/${vboxheader}" + done + done + + # Remove pointless GCC version check + sed -e '/^check_gcc$/d' -i configure || die + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + # build the user-space tools, warnings are harmless + local cmd=( + ./configure + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + echo "${cmd[@]}" + "${cmd[@]}" || die "configure failed" + source ./env.sh + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}" +} + +src_compile() { + MAKE="kmk" \ + emake TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 + + # 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) + 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 ${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 + + 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"' \ + >> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + insinto /usr/share/doc/${PF} + doins "${FILESDIR}"/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_postinst() { + linux-mod_pkg_postinst + 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 "" +} |