commit: f2247b6b3f3b1a8d17c323a3671edf043b501438 Author: Viorel Munteanu <ceamac.paragon <AT> gmail <DOT> com> AuthorDate: Wed Nov 2 05:59:04 2022 +0000 Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> CommitDate: Wed Nov 2 06:39:42 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f2247b6b
app-emulation/virtualbox*: drop 6.1.36, 6.1.38 Bug: https://bugs.gentoo.org/877601 Signed-off-by: Viorel Munteanu <ceamac.paragon <AT> gmail.com> Closes: https://github.com/gentoo/gentoo/pull/27894 Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org> app-emulation/virtualbox-additions/Manifest | 2 - .../virtualbox-additions-6.1.36.ebuild | 30 - .../virtualbox-additions-6.1.38.ebuild | 30 - app-emulation/virtualbox-extpack-oracle/Manifest | 2 - .../virtualbox-extpack-oracle-6.1.36.ebuild | 41 -- .../virtualbox-extpack-oracle-6.1.38.ebuild | 41 -- app-emulation/virtualbox-guest-additions/Manifest | 2 - .../virtualbox-guest-additions-6.1.36.ebuild | 280 --------- .../virtualbox-guest-additions-6.1.38.ebuild | 281 --------- .../files/virtualbox-modules-5.2.8-pax-const.patch | 44 -- .../virtualbox-modules/files/virtualbox.conf | 4 - .../virtualbox-modules-6.1.36.ebuild | 65 -- .../virtualbox-modules-6.1.38.ebuild | 65 -- app-emulation/virtualbox/Manifest | 2 - .../virtualbox/virtualbox-6.1.36-r2.ebuild | 654 -------------------- app-emulation/virtualbox/virtualbox-6.1.38.ebuild | 663 --------------------- 16 files changed, 2206 deletions(-) diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index 9ab6de8f40e3..d5b7af278fbd 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,4 +1,2 @@ -DIST VBoxGuestAdditions_6.1.36.iso 63803392 BLAKE2B bcd795e4f4ed5b25542011370b0d0ede0a163c89df597d085d731627bf041a5bc8eb8d60c2041bfe1654986751e16bb382680ad487d90def2e8a7d9fab21dd24 SHA512 cf07e77ac882eb9cd6da39c6491f2536ac8c1e4bddb27e50bb6d1016ab7a291746cd59c6966c54ba007bb4cb79b82ebcfacec5984a6e7453f60ad167014542aa -DIST VBoxGuestAdditions_6.1.38.iso 63887360 BLAKE2B 36688f43d8be5b0f408715f9ad902caf1e298d01f77e5fbb236e15c56da5097c91a4df846b786cb3fa4aa9b97d0360c627b757eebc0503a675b7eb6b752015a0 SHA512 df7051988174227af733d2fb4fd703c885f9637345077090034f3392b2c4deef8ac87d0b9e76f29149609b6e2b7158109377c9af5fdbcdc5691ae6e401c4731b DIST VBoxGuestAdditions_6.1.40.iso 63883264 BLAKE2B b9a22604b7dc135e9944bb46e7fb59e6202e692dd75de89763c6fe432328f65bacf4d893221a5e6f90ed3236fd36af2f6608932402e0ae967eb1ed24f6b1153a SHA512 149311a826c20f9bc8212e7580d3b552b4cd82f7e9dbaf4e44f363807f8132f0a81eb39082fc8876fcd5fb527d7d7c8ae1b3b6d8372b9bb39273d88fbd84a185 DIST VBoxGuestAdditions_7.0.2.iso 52957184 BLAKE2B 8740a9c57268b96995d9412a7799f1c5d7901619f909eb8bef244e3fbadf5a6d94f35f40fa437eb8eda563a77110723bfad4eac518a93fc00e7ee246fd820ac8 SHA512 8084e97b37c6a4471bea8df4ba8464b4c709b4c9b69141c92adec70c12bc32fab583fa20ab04135bcab67f4902b88dbc9539c88909ab65e3eef6bce4c93c692a diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild deleted file mode 100644 index 7cc456fe3207..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.38.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.38.ebuild deleted file mode 100644 index 7cc456fe3207..000000000000 --- a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.38.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PN=VBoxGuestAdditions -MY_PV="${PV/beta/BETA}" -MY_PV="${MY_PV/rc/RC}" -MY_P=${MY_PN}_${MY_PV} - -DESCRIPTION="CD image containing guest additions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" - -LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" - -S="${WORKDIR}" - -src_unpack() { - return 0 -} - -src_install() { - insinto /usr/share/${PN/-additions} - newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso -} diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 996774baafec..aec779e0d8e4 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -1,4 +1,2 @@ -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.36.tar.gz 11231896 BLAKE2B 08872189b8be959e13f07b69635b08d41661841cc30bdea1bec73c8fc87f1e374e53658e160cd290b919465bad62ef633cdc79e11d477a6bf0b9a67ae8131f73 SHA512 98ba542fbe60848877c25cf8e8f252081e231687d8b4cc4324283e6e787c00cb83c0570379a50364ee239a10195b25740f9c2e0e559cec28b75f56717623df16 -DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.38.tar.gz 11232961 BLAKE2B d736cad4b9d2f0eb6207918588a1f4794b3366cc2cb5ad857d9b7501d9cf8db6e9e56fa1d99954016d508d9600218e06587b5725b3834e82d0e2ec754db00877 SHA512 1ae455bd478d47eafd13ca196914685a08105156cd706c7aa86103daac2bbe76edd051deb56a873344b40df2f8418308ce69de61f2ea68353b34a27d8ffd9510 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.40.tar.gz 11233264 BLAKE2B c169747b6c0214bd850c5e639d5245e2084701c1ee764e8798a779545d95b8eb8ec0cf4622d5156c0a17126a6a522d041ec126984062b72e71a2283ae9652bd7 SHA512 6d8ff0f7f0c4eaaf9c6fcf965133fddc1d4057cffb98a10ade6cf0065e9f656bc49656bb3ac817694cbf9ca2fb4226f3e9ac9b1383ab07cdcbe05ffe18809ce1 DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.2.tar.gz 18515967 BLAKE2B c1b0a52b8dd80089130e0c7ed255d622144ef6271cfe71e120aa4be69fb9c04b83a33c78305eb6b6f44cb648d18170490c506e8ce765acb649de598abcae88ad SHA512 3d465b250051bef68b332b4908cbf1f0b07f32fddfec76a4e85de41e018beaf6bf7b29214dafbd05e6fcf3e3c694b621a05bfa98f12f56c1b3d224d9fff22f74 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.36.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.36.ebuild deleted file mode 100644 index 3dbb1658be56..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.36.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -#VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}" #-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.38.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.38.ebuild deleted file mode 100644 index 3dbb1658be56..000000000000 --- a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.38.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MAIN_PV="$(ver_cut 1-3)" -if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then - MY_PV="${MAIN_PV}_$(ver_cut 5-6)" - DEP_PV="${MY_PV}" - MY_PV="${MY_PV/beta/BETA}" - MY_PV="${MY_PV/rc/RC}" -else - MY_PV="${MAIN_PV}" - DEP_PV="${MAIN_PV}" -fi -#VBOX_BUILD_ID="$(ver_cut 4)" -MY_PN="Oracle_VM_VirtualBox_Extension_Pack" -MY_P="${MY_PN}-${MY_PV}" #-${VBOX_BUILD_ID}" - -DESCRIPTION="PUEL extensions for VirtualBox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" - -LICENSE="PUEL" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="" -RESTRICT="bindist mirror strip" - -RDEPEND="=app-emulation/virtualbox-${DEP_PV}*" - -S="${WORKDIR}" - -QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" - -src_install() { - insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} - doins -r linux.${ARCH} - doins ExtPack* PXE-Intel.rom -} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 7223bc1b6af8..a5e8f21a51a9 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -1,5 +1,3 @@ -DIST VirtualBox-6.1.36.tar.bz2 165685382 BLAKE2B 98dbb06450b9df650cb72493bcdea4b88fa9dd21f76d723fdc0bb2c1ab8266f67e972a7222dc9b5bd0d43754911710664bddace753995be025cf6bcc05a24ae5 SHA512 cc3b984a7da40c9bf14831808a2bc2bf7bf6821e53c25fa11cb4b4275feb1d4b0cb4a47d8a360b90c89e5a4038481efe8fe28ee22996dbefb6446761e88a8dec -DIST VirtualBox-6.1.38.tar.bz2 165761175 BLAKE2B decda6e7a595f79e6ace6f8f6b8a7829223ac1422c3d280b6287a40ef942e773ad473f4fa4640a76f8fb825ebd8561c646f1b3d87922b1af55c138298b4c8f4f SHA512 7a4f2dc80e3251b1da6d29d3c6f6b802527decc70497b1a1d1008c0ab3109c2039d131c587d6ec4786aea619546757655337c2ec3456243336ca13c6f6748116 DIST VirtualBox-6.1.40.tar.bz2 165769795 BLAKE2B 5c216f23422be3fc4f7760881c666c57a516d12726ed8ef040bbdf918f1af53c69d204b22949e25f751cbe788b00c810c49c27b7c51c1837fd1c503a3eff202c SHA512 0dace071fe58500d0912fe4da4751de6840752375039554a56c8c753a0880a419c4a1ed7f1b0ebc51230f7099ca3f5d987dc7b91ad4d98dbd75bf63e3c27e096 DIST VirtualBox-7.0.2.tar.bz2 199461536 BLAKE2B 94f7c2961c13530b6086bf4576f243b5b260f43ec445c8a2e411205989a9db229715502f2b76b8f3cb45a49ff565410701be90f1e850f069aae5579c0796b503 SHA512 c79d6365f83e1fde356a7f4a6ccd23bc7306d1b5b4be669634c575f08ba53338caca684758c9409ecef2b05ab6f9ad37dfa6075ad6afbc5d7909d46ee6794927 DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild deleted file mode 100644 index 43c37b24a0d7..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild +++ /dev/null @@ -1,280 +0,0 @@ -# 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://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${MY_PV}.tar.bz2" - -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.1.36-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}/virtualbox-patches-${MY_PV}/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 -} diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.38.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.38.ebuild deleted file mode 100644 index 90ed39cc4aaa..000000000000 --- a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.38.ebuild +++ /dev/null @@ -1,281 +0,0 @@ -# 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://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-6.1.36.tar.bz2" - -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" -MODULESD_VBOXSF_ALIASES=("fs-vboxsf vboxsf") # 485996 - -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.1.36-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}/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 - --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 -} diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch deleted file mode 100644 index 6251e33ce59e..000000000000 --- a/app-emulation/virtualbox-modules/files/virtualbox-modules-5.2.8-pax-const.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- vboxdrv/SUPDrvIDC.h -+++ vboxdrv/SUPDrvIDC.h -@@ -160,7 +160,7 @@ typedef struct SUPDRVIDCREQGETSYM - { - /** The symbol address. */ - PFNRT pfnSymbol; -- } Out; -+ } __no_const Out; - } u; - } SUPDRVIDCREQGETSYM; - /** Pointer to a SUPDRV IDC get symbol request. */ ---- vboxnetflt/include/VBox/intnet.h -+++ vboxnetflt/include/VBox/intnet.h -@@ -783,7 +783,7 @@ typedef struct INTNETTRUNKFACTORY - DECLR0CALLBACKMEMBER(int, pfnCreateAndConnect,(struct INTNETTRUNKFACTORY *pIfFactory, const char *pszName, - PINTNETTRUNKSWPORT pSwitchPort, uint32_t fFlags, - PINTNETTRUNKIFPORT *ppIfPort)); --} INTNETTRUNKFACTORY; -+} __no_const INTNETTRUNKFACTORY; - /** Pointer to the trunk factory. */ - typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY; - ---- vboxnetflt/linux/VBoxNetFlt-linux.c -+++ vboxnetflt/linux/VBoxNetFlt-linux.c -@@ -840,7 +840,7 @@ typedef struct ethtool_ops OVR_OPSTYPE; - - # else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */ - --typedef struct net_device_ops OVR_OPSTYPE; -+typedef net_device_ops_no_const OVR_OPSTYPE; - # define OVR_OPS netdev_ops - # define OVR_XMIT pOrgOps->ndo_start_xmit - ---- vboxpci/include/VBox/rawpci.h -+++ vboxpci/include/VBox/rawpci.h -@@ -545,7 +545,7 @@ typedef struct RAWPCIFACTORY - DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY pFactory, - PVM pVM, - PRAWPCIPERVM pVmData)); --} RAWPCIFACTORY; -+} __no_const RAWPCIFACTORY; - - #define RAWPCIFACTORY_UUID_STR "ea089839-4171-476f-adfb-9e7ab1cbd0fb" - diff --git a/app-emulation/virtualbox-modules/files/virtualbox.conf b/app-emulation/virtualbox-modules/files/virtualbox.conf deleted file mode 100644 index c8c79a249887..000000000000 --- a/app-emulation/virtualbox-modules/files/virtualbox.conf +++ /dev/null @@ -1,4 +0,0 @@ -vboxdrv -vboxnetflt -vboxnetadp -vboxpci diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.36.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.36.ebuild deleted file mode 100644 index b5ac55a89c1f..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.36.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2022 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 - -EAPI=8 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://github.com/ceamac/virtualbox-modules-dist/releases/download/v${PV}/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="pax-kernel" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" - if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental." - - BUILD_PARAMS+=' CC=${CHOST}-clang' - if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' - if linux_chkconfig_present LTO_CLANG_THIN; then - # kernel enables cache by default leading to sandbox violations - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' - fi - fi - fi -} - -src_prepare() { - if use pax-kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.38.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.38.ebuild deleted file mode 100644 index b5ac55a89c1f..000000000000 --- a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.38.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 2022 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 - -EAPI=8 - -inherit linux-mod toolchain-funcs - -MY_P="vbox-kernel-module-src-${PV}" -DESCRIPTION="Kernel Modules for Virtualbox" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://github.com/ceamac/virtualbox-modules-dist/releases/download/v${PV}/${MY_P}.tar.xz" - -LICENSE="GPL-2" -SLOT="0/$(ver_cut 1-2)" -[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ -KEYWORDS="amd64" -IUSE="pax-kernel" - -S="${WORKDIR}" - -BUILD_TARGETS="all" -MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})" -MODULESD_VBOXDRV_ENABLED="yes" -MODULESD_VBOXNETADP_ENABLED="no" -MODULESD_VBOXNETFLT_ENABLED="no" - -pkg_setup() { - linux-mod_pkg_setup - BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" - if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental." - - BUILD_PARAMS+=' CC=${CHOST}-clang' - if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' - if linux_chkconfig_present LTO_CLANG_THIN; then - # kernel enables cache by default leading to sandbox violations - BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' - fi - fi - fi -} - -src_prepare() { - if use pax-kernel && kernel_is -ge 3 0 0 ; then - eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch - fi - - default -} - -src_install() { - linux-mod_src_install - insinto /usr/lib/modules-load.d/ - newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf -} - -pkg_postinst() { - # Remove vboxpci.ko from current running kernel - find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete - linux-mod_pkg_postinst -} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 7223bc1b6af8..a5e8f21a51a9 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -1,5 +1,3 @@ -DIST VirtualBox-6.1.36.tar.bz2 165685382 BLAKE2B 98dbb06450b9df650cb72493bcdea4b88fa9dd21f76d723fdc0bb2c1ab8266f67e972a7222dc9b5bd0d43754911710664bddace753995be025cf6bcc05a24ae5 SHA512 cc3b984a7da40c9bf14831808a2bc2bf7bf6821e53c25fa11cb4b4275feb1d4b0cb4a47d8a360b90c89e5a4038481efe8fe28ee22996dbefb6446761e88a8dec -DIST VirtualBox-6.1.38.tar.bz2 165761175 BLAKE2B decda6e7a595f79e6ace6f8f6b8a7829223ac1422c3d280b6287a40ef942e773ad473f4fa4640a76f8fb825ebd8561c646f1b3d87922b1af55c138298b4c8f4f SHA512 7a4f2dc80e3251b1da6d29d3c6f6b802527decc70497b1a1d1008c0ab3109c2039d131c587d6ec4786aea619546757655337c2ec3456243336ca13c6f6748116 DIST VirtualBox-6.1.40.tar.bz2 165769795 BLAKE2B 5c216f23422be3fc4f7760881c666c57a516d12726ed8ef040bbdf918f1af53c69d204b22949e25f751cbe788b00c810c49c27b7c51c1837fd1c503a3eff202c SHA512 0dace071fe58500d0912fe4da4751de6840752375039554a56c8c753a0880a419c4a1ed7f1b0ebc51230f7099ca3f5d987dc7b91ad4d98dbd75bf63e3c27e096 DIST VirtualBox-7.0.2.tar.bz2 199461536 BLAKE2B 94f7c2961c13530b6086bf4576f243b5b260f43ec445c8a2e411205989a9db229715502f2b76b8f3cb45a49ff565410701be90f1e850f069aae5579c0796b503 SHA512 c79d6365f83e1fde356a7f4a6ccd23bc7306d1b5b4be669634c575f08ba53338caca684758c9409ecef2b05ab6f9ad37dfa6075ad6afbc5d7909d46ee6794927 DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57 diff --git a/app-emulation/virtualbox/virtualbox-6.1.36-r2.ebuild b/app-emulation/virtualbox/virtualbox-6.1.36-r2.ebuild deleted file mode 100644 index 1ecfee53049c..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.36-r2.ebuild +++ /dev/null @@ -1,654 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# To add a new Python here: -# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic) -# Do NOT skip this part. It'll end up silently not-building the Python extension -# or otherwise misbehaving if you do. -# -# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python. -# -# May need to look at other distros (e.g. Arch Linux) to find patches for newer -# Python versions as upstream tends to lag. Upstream may have patches on their -# trunk branch but not release branch. -# -# See bug #785835, bug #856121. -PYTHON_COMPAT=( python3_{8..10} ) - -inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -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="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 - https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${MY_PV}.tar.bz2" -S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0/$(ver_cut 1-2)" -if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then - KEYWORDS="amd64" -fi -IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pch pulseaudio +opengl python +qt5 +sdk +sdl +udev vboxwebsrv vnc" - -unset WATCOM #856769 - -COMMON_DEPEND=" - ${PYTHON_DEPS} - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - sdl? ( media-libs/libsdl:0[X,video] ) - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( - media-libs/libglvnd[X] - virtual/glu - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - dev-libs/openssl:0= - virtual/libcrypt:= - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport -# with USE="vboxwebsrv java". Note that we have to put things in DEPEND, -# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables -# based on *DEPEND doesn't work for BDEPEND at least right now. -# -# There's a comment in Config.kmk about it -# ("With Java 11 wsimport was removed, usually part of a separate install now.") -# but it needs more investigation. -# -# See bug #832166. -DEPEND=" - ${COMMON_DEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - java? ( virtual/jdk:1.8 ) - pam? ( sys-libs/pam ) - pax-kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-apps/which - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( virtual/jdk:1.8 ) - qt5? ( dev-qt/linguist-tools:5 ) -" -RDEPEND=" - ${COMMON_DEPEND} - java? ( virtual/jre:1.8 ) -" - -QA_FLAGS_IGNORED=" - usr/lib64/virtualbox/VBoxDDR0.r0 - usr/lib64/virtualbox/VMMR0.r0 -" - -QA_TEXTRELS=" - usr/lib64/virtualbox/VMMR0.r0 -" - -QA_EXECSTACK=" - usr/lib64/virtualbox/iPxeBaseBin - usr/lib64/virtualbox/VMMR0.r0 - usr/lib64/virtualbox/VBoxDDR0.r0 -" - -QA_WX_LOAD=" - usr/lib64/virtualbox/iPxeBaseBin -" - -QA_PRESTRIPPED=" - usr/lib64/virtualbox/VMMR0.r0 - usr/lib64/virtualbox/VBoxDDR0.r0 -" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.1.26-configure-include-qt5-path.patch # bug #805365 - - # This patch is needed to avoid automagic detection based on a hardcoded - # list of Pythons in configure. It's necessary but not sufficient - # (see the rest of the ebuild's logic for the remainder) to handle - # proper Python selection. - "${FILESDIR}"/${PN}-6.1.34-r3-python.patch - - # Patch grabbed from Arch Linux / upstream for Python 3.10 support - "${FILESDIR}"/${PN}-6.1.36-python3.10.patch - - # 865361 - "${FILESDIR}"/${PN}-6.1.36-fcf-protection.patch - - # Downloaded patchset - "${WORKDIR}"/virtualbox-patches-${MY_PV}/patches -) - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup -} - -src_prepare() { - default - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch - fi - - # Only add paxmark patch when we're on pax-kernel - if use pax-kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - # Remove shipped binaries (kBuild, yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something more sensible. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - if ! use pch ; then - # bug #753323 - printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \ - >> LocalConfig.kmk || die - fi - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # 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 - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - einfo "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi -} - -src_configure() { - tc-ld-disable-gold # bug #488176 - - #856811 #864274 - # cannot filter out only one flag, some combinations of these flags produce buggy executables - for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do - append-cflags $(test-flags-CC -mno-$i) - append-cxxflags $(test-flags-CXX -mno-$i) - done - - tc-export AR CC CXX LD RANLIB - export HOST_CC="$(tc-getBUILD_CC)" - - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - - --disable-dbus - --disable-kmods - - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - $(usex sdl '' --disable-sdl) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - - # bug #843437 - cat >> LocalConfig.kmk <<-EOF || die - CXXFLAGS=${CXXFLAGS} - CFLAGS=${CFLAGS} - EOF - - # not an autoconf script - edo ./configure "${myconf[@]}" - - # Force usage of chosen Python implementation - # bug #856121, bug #785835 - sed -i \ - -e '/VBOX_WITH_PYTHON.*=/d' \ - -e '/VBOX_PATH_PYTHON_INC.*=/d' \ - -e '/VBOX_LIB_PYTHON.*=/d' \ - AutoConfig.kmk || die - - cat >> AutoConfig.kmk <<-EOF || die - VBOX_WITH_PYTHON=$(usev python 1) - VBOX_PATH_PYTHON_INC=$(python_get_includedir) - VBOX_LIB_PYTHON=$(python_get_library_path) - EOF - - if use python ; then - local mangled_python="${EPYTHON#python}" - mangled_python="${mangled_python/.}" - - # Stub out the script which defines what the Makefile ends up - # building for. gen_python_deps.py gets called by the Makefile - # with some args and it spits out a bunch of paths for a hardcoded - # list of Pythons. We just override it with what we're actually using. - # This minimises the amount of patching we have to do for new Pythons. - cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die - print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)") - print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)") - print("VBOX_PYTHONDEF_INC=$(python_get_includedir)") - print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)") - EOF - - chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die - fi -} - -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_WITH_VBOXIMGMOUNT=1 - - KBUILD_VERBOSE=2 - - AS="$(tc-getCC)" - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - TOOL_GCC3_CC="$(tc-getCC)" - TOOL_GCC3_LD="$(tc-getCC)" - TOOL_GCC3_AS="$(tc-getCC)" - TOOL_GCC3_AR="$(tc-getAR)" - TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" - - 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_GCC3_CFLAGS="${CFLAGS}" - TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" - VBOX_GCC_OPT="${CXXFLAGS}" - VBOX_NM="$(tc-getNM)" - - TOOL_YASM_AS=yasm - ) - - if use amd64 && has_multilib_profile ; then - myemakeargs+=( - CC32="$(tc-getCC) -m32" - CXX32="$(tc-getCXX) -m32" - - TOOL_GCC32_CC="$(tc-getCC) -m32" - TOOL_GCC32_CXX="$(tc-getCXX) -m32" - TOOL_GCC32_LD="$(tc-getCC) -m32" - TOOL_GCC32_AS="$(tc-getCC) -m32" - TOOL_GCC32_AR="$(tc-getAR)" - TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)" - - TOOL_GXX32_CC="$(tc-getCC) -m32" - TOOL_GXX32_CXX="$(tc-getCXX) -m32" - TOOL_GXX32_LD="$(tc-getCXX) -m32" - TOOL_GXX32_AS="$(tc-getCXX) -m32" - TOOL_GXX32_AR="$(tc-getAR)" - TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)" - ) - fi - - MAKE="kmk" emake "${myemakeargs[@]}" all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - if use sdl ; then - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - fi - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - local udevdir="$(get_udevdir)" - local udev_file="VBoxCreateUSBNode.sh" - local rules_file="10-virtualbox.rules" - - insinto ${udevdir} - doins ${udev_file} - fowners root:vboxusers ${udevdir}/${udev_file} - fperms 0750 ${udevdir}/${udev_file} - - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \ - > "${T}"/${rules_file} || die - doins "${T}"/${rules_file} - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Remove dead symlinks (bug #715338) - find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - if use python ; then - local mangled_python="${EPYTHON#python}" - mangled_python="${mangled_python/./_}" - - local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython${mangled_python}.so" - if [[ ! -x "${python_path_ext}" ]] ; then - eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python" - eerror "but none were installed. This may happen if support for a Python target" - eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles." - die "Incomplete installation of Python bindings! File a bug with Gentoo!" - fi - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udev_reload - udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "https://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" - elog "" - - optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities - optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle - optfeature "Guest additions ISO" app-emulation/virtualbox-additions - - if ! use udev ; then - ewarn "Without USE=udev, USB devices will likely not work in ${PN}." - fi -} - -pkg_postrm() { - xdg_pkg_postrm - - use udev && udev_reload -} diff --git a/app-emulation/virtualbox/virtualbox-6.1.38.ebuild b/app-emulation/virtualbox/virtualbox-6.1.38.ebuild deleted file mode 100644 index 7067d184bf7e..000000000000 --- a/app-emulation/virtualbox/virtualbox-6.1.38.ebuild +++ /dev/null @@ -1,663 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# To add a new Python here: -# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic) -# Do NOT skip this part. It'll end up silently not-building the Python extension -# or otherwise misbehaving if you do. -# -# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python. -# -# May need to look at other distros (e.g. Arch Linux) to find patches for newer -# Python versions as upstream tends to lag. Upstream may have patches on their -# trunk branch but not release branch. -# -# See bug #785835, bug #856121. -PYTHON_COMPAT=( python3_{8..10} ) - -inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg - -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="Family of powerful x86 virtualization products for enterprise and home use" -HOMEPAGE="https://www.virtualbox.org/" -SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_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}-${DIR_PV:-${MY_PV}}" - -LICENSE="GPL-2 dtrace? ( CDDL )" -SLOT="0/$(ver_cut 1-2)" -if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then - KEYWORDS="amd64" -fi -IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pch pulseaudio +opengl python +qt5 +sdk +sdl +udev vboxwebsrv vnc" - -unset WATCOM #856769 - -COMMON_DEPEND=" - ${PYTHON_DEPS} - acct-group/vboxusers - ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}} - dev-libs/libIDL - >=dev-libs/libxslt-1.1.19 - net-misc/curl - dev-libs/libxml2 - media-libs/libpng:0= - media-libs/libvpx:0= - sys-libs/zlib:= - !headless? ( - sdl? ( media-libs/libsdl:0[X,video] ) - x11-libs/libX11 - x11-libs/libxcb:= - x11-libs/libXcursor - x11-libs/libXext - x11-libs/libXmu - x11-libs/libXt - opengl? ( - media-libs/libglvnd[X] - virtual/glu - ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - opengl? ( dev-qt/qtopengl:5 ) - x11-libs/libXinerama - ) - ) - dev-libs/openssl:0= - virtual/libcrypt:= - lvm? ( sys-fs/lvm2 ) - opus? ( media-libs/opus ) - udev? ( >=virtual/udev-171 ) - vnc? ( >=net-libs/libvncserver-0.9.9 ) -" -# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport -# with USE="vboxwebsrv java". Note that we have to put things in DEPEND, -# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables -# based on *DEPEND doesn't work for BDEPEND at least right now. -# -# There's a comment in Config.kmk about it -# ("With Java 11 wsimport was removed, usually part of a separate install now.") -# but it needs more investigation. -# -# See bug #832166. -DEPEND=" - ${COMMON_DEPEND} - alsa? ( >=media-libs/alsa-lib-1.0.13 ) - !headless? ( - x11-libs/libXinerama - opengl? ( virtual/opengl ) - ) - java? ( virtual/jdk:1.8 ) - pam? ( sys-libs/pam ) - pax-kernel? ( sys-apps/elfix ) - pulseaudio? ( media-sound/pulseaudio ) - vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) -" -BDEPEND=" - ${PYTHON_DEPS} - >=dev-util/kbuild-0.1.9998.3127 - >=dev-lang/yasm-0.6.2 - sys-apps/which - sys-devel/bin86 - sys-libs/libcap - sys-power/iasl - virtual/pkgconfig - doc? ( - app-text/docbook-sgml-dtd:4.4 - dev-texlive/texlive-basic - dev-texlive/texlive-latex - dev-texlive/texlive-latexrecommended - dev-texlive/texlive-latexextra - dev-texlive/texlive-fontsrecommended - dev-texlive/texlive-fontsextra - ) - java? ( virtual/jdk:1.8 ) - qt5? ( dev-qt/linguist-tools:5 ) -" -RDEPEND=" - ${COMMON_DEPEND} - java? ( virtual/jre:1.8 ) -" - -QA_FLAGS_IGNORED=" - usr/lib64/virtualbox/VBoxDDR0.r0 - usr/lib64/virtualbox/VMMR0.r0 -" - -QA_TEXTRELS=" - usr/lib64/virtualbox/VMMR0.r0 -" - -QA_EXECSTACK=" - usr/lib64/virtualbox/iPxeBaseBin - usr/lib64/virtualbox/VMMR0.r0 - usr/lib64/virtualbox/VBoxDDR0.r0 -" - -QA_WX_LOAD=" - usr/lib64/virtualbox/iPxeBaseBin -" - -QA_PRESTRIPPED=" - usr/lib64/virtualbox/VMMR0.r0 - usr/lib64/virtualbox/VBoxDDR0.r0 -" - -REQUIRED_USE=" - java? ( sdk ) - python? ( sdk ) - vboxwebsrv? ( java ) - ${PYTHON_REQUIRED_USE} -" - -PATCHES=( - "${FILESDIR}"/${PN}-6.1.26-configure-include-qt5-path.patch # bug #805365 - - # This patch is needed to avoid automagic detection based on a hardcoded - # list of Pythons in configure. It's necessary but not sufficient - # (see the rest of the ebuild's logic for the remainder) to handle - # proper Python selection. - "${FILESDIR}"/${PN}-6.1.34-r3-python.patch - - # Patch grabbed from Arch Linux / upstream for Python 3.10 support - "${FILESDIR}"/${PN}-6.1.36-python3.10.patch - - # 865361 - "${FILESDIR}"/${PN}-6.1.36-fcf-protection.patch - - # Downloaded patchset - "${WORKDIR}"/virtualbox-patches-6.1.36/patches -) - -pkg_pretend() { - if ! use headless && ! use qt5 ; then - einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend." - elif use headless && use qt5 ; then - einfo "You selected USE=\"headless qt5\", defaulting to" - einfo "USE=\"headless\", this build will not include any X11/Qt frontend." - fi - - if ! use opengl ; then - einfo "No USE=\"opengl\" selected, this build will lack" - einfo "the OpenGL feature." - fi - if ! use python ; then - einfo "You have disabled the \"python\" USE flag. This will only" - einfo "disable the python bindings being installed." - fi - - # 749273 - local d=${ROOT} - for i in usr "$(get_libdir)"; do - d="${d}/$i" - if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then - die "${d} should be owned by root, VirtualBox will not start otherwise" - fi - done -} - -pkg_setup() { - java-pkg-opt-2_pkg_setup - python-single-r1_pkg_setup -} - -src_prepare() { - default - - # Only add nopie patch when we're on hardened - if gcc-specs-pie ; then - eapply "${FILESDIR}"/050_virtualbox-5.2.8-nopie.patch - fi - - # Only add paxmark patch when we're on pax-kernel - if use pax-kernel ; then - eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch - fi - - # Remove shipped binaries (kBuild, yasm), see bug #232775 - rm -r kBuild/bin tools || die - - # Replace pointless GCC version check with something more sensible. - # This is needed for the qt5 version check. - sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \ - -i configure || die - - # Disable things unused or split into separate ebuilds - sed -e "s@MY_LIBDIR@$(get_libdir)@" \ - "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die - - if ! use pch ; then - # bug #753323 - printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \ - >> LocalConfig.kmk || die - fi - - # Respect LDFLAGS - sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ - -i Config.kmk src/libs/xpcom18a4/Config.kmk || die - - # 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 - - # Use PAM only when pam USE flag is enbaled (bug #376531) - if ! use pam ; then - einfo "Disabling PAM removes the possibility to use the VRDP features." - sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die - sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ - src/VBox/HostServices/Makefile.kmk || die - fi - - # add correct java path - if use java ; then - sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ - -i "${S}"/Config.kmk || die - java-pkg-opt-2_src_prepare - fi -} - -src_configure() { - tc-ld-disable-gold # bug #488176 - - #856811 #864274 - # cannot filter out only one flag, some combinations of these flags produce buggy executables - for i in abm avx avx2 bmi bmi2 fma fma4 popcnt; do - append-cflags $(test-flags-CC -mno-$i) - append-cxxflags $(test-flags-CXX -mno-$i) - done - - tc-export AR CC CXX LD RANLIB - export HOST_CC="$(tc-getBUILD_CC)" - - local myconf=( - --with-gcc="$(tc-getCC)" - --with-g++="$(tc-getCXX)" - - --disable-dbus - --disable-kmods - - $(usex alsa '' --disable-alsa) - $(usex debug --build-debug '') - $(usex doc '' --disable-docs) - $(usex java '' --disable-java) - $(usex lvm '' --disable-devmapper) - $(usex opus '' --disable-libopus) - $(usex pulseaudio '' --disable-pulse) - $(usex python '' --disable-python) - $(usex vboxwebsrv --enable-webservice '') - $(usex vnc --enable-vnc '') - ) - - if ! use headless ; then - myconf+=( - $(usex opengl '' --disable-opengl) - $(usex qt5 '' --disable-qt) - $(usex sdl '' --disable-sdl) - ) - else - myconf+=( - --build-headless - --disable-opengl - ) - fi - - if use amd64 && ! has_multilib_profile ; then - myconf+=( --disable-vmmraw ) - fi - - # bug #843437 - cat >> LocalConfig.kmk <<-EOF || die - CXXFLAGS=${CXXFLAGS} - CFLAGS=${CFLAGS} - EOF - - # not an autoconf script - edo ./configure "${myconf[@]}" - - # Force usage of chosen Python implementation - # bug #856121, bug #785835 - sed -i \ - -e '/VBOX_WITH_PYTHON.*=/d' \ - -e '/VBOX_PATH_PYTHON_INC.*=/d' \ - -e '/VBOX_LIB_PYTHON.*=/d' \ - AutoConfig.kmk || die - - cat >> AutoConfig.kmk <<-EOF || die - VBOX_WITH_PYTHON=$(usev python 1) - VBOX_PATH_PYTHON_INC=$(python_get_includedir) - VBOX_LIB_PYTHON=$(python_get_library_path) - EOF - - if use python ; then - local mangled_python="${EPYTHON#python}" - mangled_python="${mangled_python/.}" - - # Stub out the script which defines what the Makefile ends up - # building for. gen_python_deps.py gets called by the Makefile - # with some args and it spits out a bunch of paths for a hardcoded - # list of Pythons. We just override it with what we're actually using. - # This minimises the amount of patching we have to do for new Pythons. - cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die - print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)") - print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)") - print("VBOX_PYTHONDEF_INC=$(python_get_includedir)") - print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)") - EOF - - chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die - fi -} - -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_WITH_VBOXIMGMOUNT=1 - - KBUILD_VERBOSE=2 - - AS="$(tc-getCC)" - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - TOOL_GCC3_CC="$(tc-getCC)" - TOOL_GCC3_LD="$(tc-getCC)" - TOOL_GCC3_AS="$(tc-getCC)" - TOOL_GCC3_AR="$(tc-getAR)" - TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" - - 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_GCC3_CFLAGS="${CFLAGS}" - TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" - VBOX_GCC_OPT="${CXXFLAGS}" - VBOX_NM="$(tc-getNM)" - - TOOL_YASM_AS=yasm - ) - - if use amd64 && has_multilib_profile ; then - myemakeargs+=( - CC32="$(tc-getCC) -m32" - CXX32="$(tc-getCXX) -m32" - - TOOL_GCC32_CC="$(tc-getCC) -m32" - TOOL_GCC32_CXX="$(tc-getCXX) -m32" - TOOL_GCC32_LD="$(tc-getCC) -m32" - TOOL_GCC32_AS="$(tc-getCC) -m32" - TOOL_GCC32_AR="$(tc-getAR)" - TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)" - - TOOL_GXX32_CC="$(tc-getCC) -m32" - TOOL_GXX32_CXX="$(tc-getCXX) -m32" - TOOL_GXX32_LD="$(tc-getCXX) -m32" - TOOL_GXX32_AS="$(tc-getCXX) -m32" - TOOL_GXX32_AR="$(tc-getAR)" - TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)" - ) - fi - - MAKE="kmk" emake "${myemakeargs[@]}" all -} - -src_install() { - cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die - - local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile - - vbox_inst() { - local binary="${1}" - local perms="${2:-0750}" - local path="${3:-${vbox_inst_path}}" - - [[ -n "${binary}" ]] || die "vbox_inst: No binary given!" - [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits." - - insinto ${path} - doins ${binary} - fowners root:vboxusers ${path}/${binary} - fperms ${perms} ${path}/${binary} - } - - # Create configuration files - insinto /etc/vbox - newins "${FILESDIR}/${PN}-4-config" vbox.cfg - - # Set the correct libdir - sed \ - -e "s@MY_LIBDIR@$(get_libdir)@" \ - -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" - - # Install the wrapper script - exeinto ${vbox_inst_path} - newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox" - fowners root:vboxusers ${vbox_inst_path}/VBox - fperms 0750 ${vbox_inst_path}/VBox - - # Install binaries and libraries - insinto ${vbox_inst_path} - doins -r components - - for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do - vbox_inst ${each} - done - - # These binaries need to be suid root. - for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do - vbox_inst ${each} 4750 - done - - # Install EFI Firmware files (bug #320757) - for each in VBoxEFI{32,64}.fd ; do - vbox_inst ${each} 0644 - done - - # VBoxSVC and VBoxManage need to be pax-marked (bug #403453) - # VBoxXPCOMIPCD (bug #524202) - for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - # Symlink binaries to the shipped wrapper - for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl - dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount - - if use pam ; then - # VRDPAuth only works with this (bug #351949) - dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so - fi - - # set an env-variable for 3rd party tools - echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox" - doenvd "${T}/90virtualbox" - - if ! use headless ; then - vbox_inst rdesktop-vrdp - if use sdl ; then - vbox_inst VBoxSDL 4750 - pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL - - for each in vboxsdl VBoxSDL ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - fi - - if use qt5 ; then - vbox_inst VirtualBox - vbox_inst VirtualBoxVM 4750 - for each in VirtualBox{,VM} ; do - pax-mark -m "${ED}"${vbox_inst_path}/${each} - done - - if use opengl ; then - vbox_inst VBoxTestOGL - pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL - fi - - for each in virtualbox{,vm} VirtualBox{,VM} ; do - dosym ${vbox_inst_path}/VBox /usr/bin/${each} - done - - insinto /usr/share/${PN} - doins -r nls - doins -r UnattendedTemplates - - domenu ${PN}.desktop - fi - - pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die - for size in 16 32 48 64 128 ; do - newicon -s ${size} ${PN}-${size}px.png ${PN}.png - done - newicon ${PN}-48px.png ${PN}.png - doicon -s scalable ${PN}.svg - popd &>/dev/null || die - pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die - for size in 16 24 32 48 64 72 96 128 256 512 ; do - for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do - icofile="${PN}-${ico}-${size}px.png" - if [[ -f "${icofile}" ]] ; then - newicon -s ${size} ${icofile} ${PN}-${ico}.png - fi - done - done - popd &>/dev/null || die - fi - - if use lvm ; then - vbox_inst VBoxVolInfo 4750 - dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo - fi - - if use sdk ; then - insinto ${vbox_inst_path} - doins -r sdk - - if use java ; then - java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" - java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so" - fi - fi - - if use udev ; then - local udevdir="$(get_udevdir)" - local udev_file="VBoxCreateUSBNode.sh" - local rules_file="10-virtualbox.rules" - - insinto ${udevdir} - doins ${udev_file} - fowners root:vboxusers ${udevdir}/${udev_file} - fperms 0750 ${udevdir}/${udev_file} - - insinto ${udevdir}/rules.d - sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \ - > "${T}"/${rules_file} || die - doins "${T}"/${rules_file} - fi - - if use vboxwebsrv ; then - vbox_inst vboxwebsrv - dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv - newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv - newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv - fi - - # Remove dead symlinks (bug #715338) - find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die - - # Fix version string in extensions or else they don't get accepted - # by the virtualbox host process (see bug #438930) - find ExtensionPacks -type f -name "ExtPack.xml" -print0 \ - | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \ - || die - - local extensions_dir="${vbox_inst_path}/ExtensionPacks" - - if use vnc ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/VNC - fi - - if use dtrace ; then - insinto ${extensions_dir} - doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack - fi - - if use doc ; then - dodoc UserManual.pdf - fi - - if use python ; then - local mangled_python="${EPYTHON#python}" - mangled_python="${mangled_python/./_}" - - local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython${mangled_python}.so" - if [[ ! -x "${python_path_ext}" ]] ; then - eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python" - eerror "but none were installed. This may happen if support for a Python target" - eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles." - die "Incomplete installation of Python bindings! File a bug with Gentoo!" - fi - fi - - newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf -} - -pkg_postinst() { - xdg_pkg_postinst - - if use udev ; then - udev_reload - udevadm trigger --subsystem-match=usb - fi - - tmpfiles_process virtualbox-vboxusb.conf - - if ! use headless && use qt5 ; then - elog "To launch VirtualBox just type: \"virtualbox\"." - fi - - elog "You must be in the vboxusers group to use VirtualBox." - elog "" - elog "The latest user manual is available for download at:" - elog "https://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" - elog "" - - optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities - optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle - optfeature "Guest additions ISO" app-emulation/virtualbox-additions - - if ! use udev ; then - ewarn "Without USE=udev, USB devices will likely not work in ${PN}." - fi -} - -pkg_postrm() { - xdg_pkg_postrm - - use udev && udev_reload -}