diff options
8 files changed, 240 insertions, 1 deletions
diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest new file mode 100644 index 00000000..b7f358a6 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -0,0 +1,2 @@ +DIST VirtualBox-5.2.10.tar.bz2 118575607 BLAKE2B 46360d63cf6d1b8744016cbb2c1eee1d57ebafc45f8b32782c7216fc547f24af4c7205b4e7c34d24cd7faf7e8ce4ea8373ad4a310040a6ef9b043a8ce2300f94 SHA512 1e6d5e5c6ce45d9a3864860819f6301c192c83be154c674cfb37c98506db88a8f70526ec05d115c53e40c4c91d243513f0a3196261c7dee244a18091b2e5717e +DIST virtualbox-5.1.30-patches-02.tar.xz 2608 BLAKE2B 08b05a26622a7acec455f6d0dc72858f5f2758488e50d219f83c3d12606419d48e9d99302cde5a275929fe79af900c1b3ea3957fe9dfdaa952aaa0da9933291a SHA512 8a490f7cc44e40262fc47819736251c177adb635256794e9500f52729197c85211d5b0c0d000268089953a4c185872a8ba03c5d42df6b80f05eac8b81335320a diff --git a/app-emulation/virtualbox-guest-additions/files/vboxclient.desktop b/app-emulation/virtualbox-guest-additions/files/vboxclient.desktop new file mode 100644 index 00000000..316eb9f6 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/vboxclient.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=VirtualBox Client Service +Exec=VBoxClient-all +Terminal=false +X-KDE-StartupNotify=false +StartupNotify=false diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5-localconfig b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5-localconfig new file mode 100644 index 00000000..f04dab4d --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5-localconfig @@ -0,0 +1,30 @@ +# -*- Makefile -*- +# +# Overwrite some default kBuild settings +# + +# +# Copyright (C) 2006-2008 Sun Microsystems, Inc. +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software Foundation, +# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE +# distribution. VirtualBox OSE is distributed in the hope that it will +# be useful, but WITHOUT ANY WARRANTY of any kind. +# + +# don't build testcases to save time, they are not needed for the package +VBOX_WITH_TESTCASES := +VBOX_WITH_VALIDATIONKIT := + +KBUILD_MSG_STYLE := brief + +## paths, origin, hardening +VBOX_WITH_HARDENING := 2 +VBOX_WITH_ORIGIN := +VBOX_ONLY_ADDITIONS := 1 + +## don't build with -Werror +VBOX_WITH_WARNINGS_AS_ERRORS := diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd new file mode 100644 index 00000000..3af22dbf --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +pidfile="/var/run/vboxguest-service.pid" +command="/usr/sbin/vboxguest-service" +command_args="--foreground" +command_background="true" + +depend() { + need dbus localmount + before xdm +} + +start_pre() { + einfo "Loading kernel modules" + /sbin/modprobe vboxguest 2>&1 + /sbin/modprobe vboxsf 2>&1 +} + +stop_post() { + einfo "Removing kernel modules" + /sbin/modprobe -r vboxsf 2>&1 + /sbin/modprobe -r vboxguest 2>&1 +} diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions.service b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions.service new file mode 100644 index 00000000..35f9ce24 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions.service @@ -0,0 +1,16 @@ +[Unit] +Description=VirtualBox Guest Additions +ConditionVirtualization=oracle +Before=display-manager.service + +[Service] +Type=simple +ExecStartPre=/sbin/modprobe vboxguest +ExecStartPre=/sbin/modprobe vboxsf +ExecStart=/usr/sbin/vboxguest-service --foreground +ExecStopPost=/sbin/modprobe -r vboxsf +ExecStopPost=/sbin/modprobe -r vboxguest +PIDFile=/var/run/vboxguest-service.pid + +[Install] +WantedBy=multi-user.target diff --git a/app-emulation/virtualbox-guest-additions/files/xorg.conf.vbox b/app-emulation/virtualbox-guest-additions/files/xorg.conf.vbox new file mode 100644 index 00000000..a8624694 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/xorg.conf.vbox @@ -0,0 +1,13 @@ +Section "Device" + Identifier "Device-vboxvideo" + Driver "vboxvideo" +EndSection +Section "Screen" + Identifier "Screen-vboxvideo" + Device "Device-vboxvideo" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Screen-vboxvideo" +EndSection diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.10.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.10.ebuild new file mode 100644 index 00000000..654971ee --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.10.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils 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="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.1.30-patches-02.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64" +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 ) + sys-apps/dbus + ~sys-kernel/virtualbox-guest-dkms-${PV} + !!x11-drivers/xf86-input-virtualbox + !x11-drivers/xf86-video-virtualbox +" +DEPEND=" + ${RDEPEND} + >=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_P}" + +pkg_setup() { + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + enewgroup vboxsf +} + +src_unpack() { + unpack ${A} +} + +src_prepare() { + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk + + sed -e '/^check_gcc$/d' -i configure || die + + rm "${WORKDIR}/patches/011_virtualbox-5.1.30-sysmacros.patch" || die + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + 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=""${S}"/kBuild/bin/linux.amd64/kmk" \ + emake TOOL_YASM_AS=yasm \ + VBOX_ONLY_ADDITIONS=1 \ + KBUILD_VERBOSE=2 +} + +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 + + 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 + + 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 + + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + insinto /usr/share/doc/${PF} + doins "${FILESDIR}"/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} diff --git a/sys-kernel/virtualbox-guest-dkms/virtualbox-guest-dkms-5.2.10.ebuild b/sys-kernel/virtualbox-guest-dkms/virtualbox-guest-dkms-5.2.10.ebuild index 6580ca58..8187b17d 100644 --- a/sys-kernel/virtualbox-guest-dkms/virtualbox-guest-dkms-5.2.10.ebuild +++ b/sys-kernel/virtualbox-guest-dkms/virtualbox-guest-dkms-5.2.10.ebuild @@ -12,7 +12,7 @@ SRC_URI="http://mirror.archlinux.ro/archlinux/community/os/x86_64/${P}-1-x86_64. LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="" DEPEND="sys-kernel/dkms" |