From b818f6a820dceae80d6e3faac5fdf7be0c6fcbe2 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 23 Aug 2024 14:56:14 +0100 Subject: gentoo auto-resync : 23:08:2024 - 14:56:14 --- app-emulation/virtualbox-guest-additions/Manifest | 4 +- .../virtualbox-guest-additions-7.1.0_beta1.ebuild | 289 --------------------- .../virtualbox-guest-additions-7.1.0_beta2.ebuild | 289 +++++++++++++++++++++ 3 files changed, 291 insertions(+), 291 deletions(-) delete mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta1.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta2.ebuild (limited to 'app-emulation/virtualbox-guest-additions') diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 8b47b96a3826..6139999976ec 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -8,7 +8,7 @@ AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038bab DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f DIST VirtualBox-7.0.18.tar.bz2 173295159 BLAKE2B 1371d54d648aafbad3814d55d495836ce7a6f9ca955aeb71e24c57a27ed8acae8c020b8094ca7386d341d5e7460b9b0823cc01e7e69dd3cdadaadee1bc608bd1 SHA512 e78a18fa808152cbdc1d407751acf3f57a8202bf238ad3432c4f0b0f97ab203e915a6cd11619e64f4aca5b907eb72be67bab146869af0e73414144addf0d76b4 DIST VirtualBox-7.0.20.tar.bz2 173300021 BLAKE2B 23a1553578c8b89c3bea65fd9a451ef5abf419ce8a05524f2afc15b8d9a378a22ffb01c0c792d258320aeddb330b74f8f769180863041e333512d0eed2f4449c SHA512 7682e24d60c1896c661f2689af6820ae67b6bd8d9faaf18c58e8159bc7694ef80722f8e9611d6272da5b46eb2f3a44fc637b277e6801b7a8bf53aad045a81fe9 -DIST VirtualBox-7.1.0_BETA1.tar.bz2 210810840 BLAKE2B adc772165041abf38b748fb92d2923428022631fe1d8e13332142c46e989b2e3408036755f6faa00958b679b200b77d295979451bde2bb2f09917ce1c5e0cf28 SHA512 33fe6000ad58f6cedab69c15384da518e05e946792045ab36f93f54b429accc586914ae1f1532560c78c323b478798296d71795a4baaa3bd6714880a33e69c5e +DIST VirtualBox-7.1.0_BETA2.tar.bz2 208790183 BLAKE2B 30d1fb0a37463ab4bf8673414cc56c51f618755fe4ec23720379df2519af7af3664c51c0b49955ee03ffdba0a55e67ec75df6af6d2ff79cd611b50c16048df3e SHA512 730c9728e9bdf46e6846c423c13e8e438716eff518f30b102ef29eb71b6c88aa70fc786f1e8b63f9641ef0f90dd6c9768c4fbf002db9fc15ceb22865b4182b1e DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57 DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992 DIST virtualbox-patches-7.1.0_beta1.tar.bz2 5287 BLAKE2B 5286b5ad2a8c54150f58e2675383ed611b385b9758e1ed6bf81c7551f01724f5132591b3f173b9605c226a200cf70bf3b170ab6c174554b34ed57ada7e35a12b SHA512 d1599d990dd3341393c4be5f5d947b15de9345b6f1d7201fb44c2506d299479564ca7bf5a0c45ade14998e7a48c300e4514da626a248c0447fd31f3cb31e6715 @@ -16,5 +16,5 @@ EBUILD virtualbox-guest-additions-6.1.50-r1.ebuild 7489 BLAKE2B 777c460693bb7240 EBUILD virtualbox-guest-additions-6.1.50.ebuild 7515 BLAKE2B c431547ddba5da48b1adf38c5586b0716f35bcef669584928e5d8e0611b47afedbf7e928f173d69b40891bd992e394630386587fcf05504bbc03d14251f42b75 SHA512 9c345dff47ab1aecede001e780f61cd51dbd0b4edd6a67491d410d964a387defdb282e13feaf14336291b58c9fb23532c5a438ffa26af7b60d63f75cbb931343 EBUILD virtualbox-guest-additions-7.0.18.ebuild 7680 BLAKE2B 8cc5ae244e163327285b9e3dea9387c84d19182237818c173ac031e879ae9ca77b7e9643ec04f396ca8553086cfbdb975f36307f9b847f7fe024729ccb16202c SHA512 272b689ded7bdeafb259e8139f8c932a40b1e0ee7211636a2fe565cbc88a49dc87cecfd5c060fc5e4f0d0c9063bf9fb85fb9b661b66419cbd19c43a630bef50c EBUILD virtualbox-guest-additions-7.0.20.ebuild 7546 BLAKE2B 9882dc2761761415a6a712696ae43602dbd54bfc190566d1e837ce84799d7e3cf1fe8e54829b01f9b4e8ea2c626cf2bee7824fc636a7808531d6d040d518bbc7 SHA512 d34317da19e8a5f8c2472ffc3511106acf118bdfd18b642cd1402b630541fc0dd80d179fc2d04956062b3ae2a4b64cd52cb9a22a6ab03b40da430b47f3ada1d7 -EBUILD virtualbox-guest-additions-7.1.0_beta1.ebuild 7594 BLAKE2B 59540777f7e85446c7e3ea4c69f7844736dadcbfda361edd8d7bfa2e83c5e04327c5e2f075ed29e78384f83d9ea1f3ebfb1192e7ed6f9bfb59df9220034c1a79 SHA512 9e72d2dd3d7945dfd711b28a61f92e24b2b518b0374c31a999491c82d6f1056aeb42b59e5fa67ef1fb0ff52bba49f2715663832c287f3a8045a409928a770dd8 +EBUILD virtualbox-guest-additions-7.1.0_beta2.ebuild 7594 BLAKE2B 59540777f7e85446c7e3ea4c69f7844736dadcbfda361edd8d7bfa2e83c5e04327c5e2f075ed29e78384f83d9ea1f3ebfb1192e7ed6f9bfb59df9220034c1a79 SHA512 9e72d2dd3d7945dfd711b28a61f92e24b2b518b0374c31a999491c82d6f1056aeb42b59e5fa67ef1fb0ff52bba49f2715663832c287f3a8045a409928a770dd8 MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta1.ebuild deleted file mode 100644 index cd37ff892ced..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta1.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev - -MY_PN="VirtualBox" -MY_PV=${PV^^} -MY_P=${MY_PN}-${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://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.0_beta1.tar.bz2" -S="${WORKDIR}/${MY_PN}-${MY_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)" -# Still in beta -#KEYWORDS="~amd64 ~x86" -IUSE="+dbus gui" - -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-build/kbuild-0.1.9998.3127 - sys-devel/bin86 - sys-power/iasl -" - -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 ~DRM_VMWGFX" -WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver." -WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA." - -DOC_CONTENTS="\n -Please add users to the \"vboxguest\" group so they can\n -benefit from seamless mode, auto-resize and clipboard.\n -\n -The vboxsf group has been added to make automount services work.\n -These services are part of the shared folders support.\n -\n -Please add:\n - /etc/init.d/virtualbox-guest-additions\n -to the default runlevel in order to start\n -needed services.\n -\n -An autostart .desktop file has been installed to start\n -VBoxClient in desktop sessions.\n -\n -You can mount shared folders with:\n - mount -t vboxsf \n -\n -Warning:\n - this ebuild is only needed if you are running gentoo\n - inside a VirtualBox Virtual Machine, you don't need\n - it to run VirtualBox itself.\n -\n" - -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 - 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.1.0_beta1/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" - - readme.gentoo_create_doc -} - -pkg_postinst() { - linux-mod-r1_pkg_postinst - udev_reload - - if ! use gui ; then - elog "The use flag \"gui\" is off, enable it to install the" - elog "X Window System drivers and integration." - fi - - readme.gentoo_print_elog -} - -pkg_postrm() { - udev_reload -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta2.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta2.ebuild new file mode 100644 index 000000000000..cd37ff892ced --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.0_beta2.ebuild @@ -0,0 +1,289 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev + +MY_PN="VirtualBox" +MY_PV=${PV^^} +MY_P=${MY_PN}-${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://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.0_beta1.tar.bz2" +S="${WORKDIR}/${MY_PN}-${MY_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)" +# Still in beta +#KEYWORDS="~amd64 ~x86" +IUSE="+dbus gui" + +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-build/kbuild-0.1.9998.3127 + sys-devel/bin86 + sys-power/iasl +" + +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 ~DRM_VMWGFX" +WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver." +WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA." + +DOC_CONTENTS="\n +Please add users to the \"vboxguest\" group so they can\n +benefit from seamless mode, auto-resize and clipboard.\n +\n +The vboxsf group has been added to make automount services work.\n +These services are part of the shared folders support.\n +\n +Please add:\n + /etc/init.d/virtualbox-guest-additions\n +to the default runlevel in order to start\n +needed services.\n +\n +An autostart .desktop file has been installed to start\n +VBoxClient in desktop sessions.\n +\n +You can mount shared folders with:\n + mount -t vboxsf \n +\n +Warning:\n + this ebuild is only needed if you are running gentoo\n + inside a VirtualBox Virtual Machine, you don't need\n + it to run VirtualBox itself.\n +\n" + +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 + 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.1.0_beta1/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" + + readme.gentoo_create_doc +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + udev_reload + + if ! use gui ; then + elog "The use flag \"gui\" is off, enable it to install the" + elog "X Window System drivers and integration." + fi + + readme.gentoo_print_elog +} + +pkg_postrm() { + udev_reload +} -- cgit v1.2.3