summaryrefslogtreecommitdiff
path: root/app-emulation/virtualbox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-16 12:11:35 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-16 12:11:35 +0100
commitb66ecfb4dc09ba76e37787df2f7df1a78c3c1cc9 (patch)
tree884bce771a1bba8b311dfffbde4acdad07bf2c54 /app-emulation/virtualbox
parent08e318096831eb3aae369910ba75e27f59367e2f (diff)
gentoo auto-resync : 16:09:2024 - 12:11:35
Diffstat (limited to 'app-emulation/virtualbox')
-rw-r--r--app-emulation/virtualbox/Manifest15
-rw-r--r--app-emulation/virtualbox/files/virtualbox-7.1.0-disable-rebuild-iPxeBiosBin.patch18
-rw-r--r--app-emulation/virtualbox/files/virtualbox-7.1.0_beta1-link-with-mold.patch13
-rw-r--r--app-emulation/virtualbox/virtualbox-7.0.18-r1.ebuild741
-rw-r--r--app-emulation/virtualbox/virtualbox-7.1.0.ebuild (renamed from app-emulation/virtualbox/virtualbox-7.1.0_beta2.ebuild)47
-rw-r--r--app-emulation/virtualbox/virtualbox-9999.ebuild43
6 files changed, 74 insertions, 803 deletions
diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
index 91abde7e09d2..bf2175a830b4 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -10,22 +10,19 @@ AUX virtualbox-6.1.36-fcf-protection.patch 374 BLAKE2B 6c7410ce1fa78aa7476c9b9a6
AUX virtualbox-6.1.44-fix-libxml2.patch 1115 BLAKE2B bdcbd6ef7e4812065ad1aa47c3acbff5c402a21af7ece4c3e3ca1867248eff3f16e0d98d8c70c3306d900f285de077ee7f48d744b40df7e2f3566517ebdd6150 SHA512 fe3ee1671dbcacd71c0cdc9f2179dcb0a05121ded8e7f6a1acfea07b5e951d4d2701377c57ae638148e09cc224893f0efdb2f760cd9ccbdf7f3415d9ff563711
AUX virtualbox-7.0.14-libxml2-2.12.patch 1764 BLAKE2B e61bc333f69095eb3341af2f7c94b20dee7c7802077bb7dab8ed29f67ada3738e82bae40645f892eb68291886722c0f4260ac025fbee5380b4215d47f1c4b0af SHA512 d461ee61eb3c4fcff079033e5bb5a7181a627cb295927f2b302120043c16b21c962edb360e79787eaa543833c07b2d5dc1119bcc210a346dafe4cc3104f9d77c
AUX virtualbox-7.0.8-disable-rebuild-iPxeBiosBin.patch 843 BLAKE2B bd7fef7afc725a247e9c84999786c27398ee9bdc4dd6f62f153202ab2f281ca8fb8445aa369aa1270a00acc6ba7f709f4d7923eea1acf02779827ba9ae2c2fa9 SHA512 d79b5be03417fbbf90634da5c63ac8975a950f559e42ed97a556edce28ada4d592b1807e89145e58caea1648486916bf0b7bf96e0843bad1cc3cace9048a3a4b
-AUX virtualbox-7.1.0_beta1-link-with-mold.patch 520 BLAKE2B 5db268cb6ac344320255a4023fa26285930260031d0733954f841aac52baefec504a29f02b8f95cb32da7b4482cb7e3cd1b6cc8f9e920dea1850ef65dfd81aa2 SHA512 80ec8c1370d70b22bb06971e5b77759cbaac23356c98710ad84bbdfdde111c6eedbdc750e8edbd8566d203a72055bb392de8e5ea83f182fdb5e81923eaf48836
+AUX virtualbox-7.1.0-disable-rebuild-iPxeBiosBin.patch 1007 BLAKE2B 8c3d806ed57170a9e6121df67e87c924ce77b71cdc1e2f3c812992456d3f2934875d82568e6dab8db4ab9bd531c28bded512db67b0f51cfb895ea7d1e204fc95 SHA512 32f3cbac5f4a6fb2f549ede7dcadf0f73b60d4cef77b84ded2ded82885a6226dadb4be829d86e0fee7866fd24f2a2219d49d344fc078715a5964115117e5b88e
AUX virtualbox-ose-6-wrapper 3578 BLAKE2B c150e578212435268de3c5fb0eea701bc843ec2241dc3839d3d1e33604fc01f6bdff6ed0425ba6917072f652b8c29d0df9a550a92900ca13306fcd36521afbee SHA512 315d981f3e92f2e0134946f6bbb8ad4ea4228afb8f73aaed7feead59b3f55cef01cec4285a7fdaf30ce0931d8b69bda4698baebd63d11f2cd9dfe9d0591a0f40
AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171
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_BETA2.tar.bz2 208790183 BLAKE2B 30d1fb0a37463ab4bf8673414cc56c51f618755fe4ec23720379df2519af7af3664c51c0b49955ee03ffdba0a55e67ec75df6af6d2ff79cd611b50c16048df3e SHA512 730c9728e9bdf46e6846c423c13e8e438716eff518f30b102ef29eb71b6c88aa70fc786f1e8b63f9641ef0f90dd6c9768c4fbf002db9fc15ceb22865b4182b1e
-DIST virtualbox-help-7.0.16.tar.xz 3948696 BLAKE2B 5c5937313ea0e5cb4764b8a61fd1587e88a4afc965ef00862c5a265a15253929d35e0635231b6be5656f26f600bc4b70a2fa2ebc0f33b35d35c184b57e5acef8 SHA512 b9baca57118a82e3489c8445f0988671f16f75de60cc2d929d5e3b0c4c9e3ceacd796a72a81bba88d69eb4b4559835a13775c18d7782ae7dbe8ad202e247db0c
-DIST virtualbox-help-7.0.18.tar.xz 3948116 BLAKE2B 5715a7e609297387b5fccce0951c62e5969fd68adeecb869712e69f5e90daef97384bd3ff3c39de40903a1fabe7ac6d2f8ecdbb40de16abe955d40e49b962eec SHA512 ec0f915b7221bc40d02f5f1675eb0defb5506b2f2bd96c063a96a9346e1c82428ccdda8b3adac43238c451ae185ac31af4a186da17ffe091469e14e696388b3a
+DIST VirtualBox-7.1.0.tar.bz2 205966296 BLAKE2B 135805119d1710adbb17164d80a67f9b40fcc72d966af3b6d687b7f742a7bb487e76afc1ec45e31fe880a99a291ecdac3ee3dacdd342dbbe2dcec0eab32c8121 SHA512 d0fc27195b859fb537d57229d60a8895ced24b04c0f703c5862982de01d4787d20a3acb9cee4af29d18c56cd8c7ad846fd0eacc14af0c419e738953ca488463b
DIST virtualbox-help-7.0.20.tar.xz 3949292 BLAKE2B c56f736606fdedfb59bd1f4446a457587dcbe018d1be3162d94eca780cacfa45b49ba5a9c6b25970d28e5a428904bdfd34d2f229c1e24b567fd1b1959cbdc9ea SHA512 e73e448b8aa875d0f6ae1fb398082fa7183e198191a9b509b63592b5df3a19069b805dcdc11d98da3971a14fd6670d8b0a777e5a6d6b63358f7a4f263ca8d31e
+DIST virtualbox-help-7.1.0.tar.xz 1631644 BLAKE2B 408748619d1e981b9d5b5e615baca75ff297e9b7e745751767361b7b9c74345a3db1980734439f3868c412fe28a6b687b417adc3cc148d2e2b8a9fa60e48463b SHA512 513b8474d4fbf7cdb83624dc8d344122c524d92f9f84b32784161c8e1cac8ddc2c265447621d7cd3cf105d555a044e6abf42155f413ba89d507eba7ce3b2da89
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
+DIST virtualbox-patches-7.1.0.tar.bz2 5952 BLAKE2B cb024f36249d7d312c9d0f9231c22a9609d45de1d4c82ca36672fea703765d437d7a414d810adb5eb5f2db92018b669c3b5d0c32372c5ced90f5e13f82344ffa SHA512 c6ef54b7d60f01f5f2b89c6fd7f8b7b509bc62bca0502114cedcbaaf9643445ea413bba481dcf43fb96b5b4d94d64395965682c1ee160d889213615c9272184c
EBUILD virtualbox-6.1.50-r3.ebuild 18929 BLAKE2B 5361667320ccdc5534959f12f40665f7a8a19e8b09b0b172c3537bb0d93a7bb0117dc35114e27e7a6de35eefb0811aaf94c54568b32cd1dcc62524ec22d7b393 SHA512 54719ef39276acff779d399ed744d5aef88e6275dce7d06cec9fc611335d243b8dd1b817aea56fa5b93b96345f7b19dccdf8facdfc49e58d42524f9050ba7776
-EBUILD virtualbox-7.0.18-r1.ebuild 20842 BLAKE2B ecbe8b10b4f87550cdd04b878009b5443d859f141b5b214cab7cb53c693ee00470e89140f6ee2c66a24435ceba7484ded028a9594b8a7a7594cd00cd59a4ca74 SHA512 9fc697f31fab0ffbea2ac94fe031400ce544d93069a720fc3871452d8074e97fd4a075603732ca1bb5441ddfccf95664f3b5f5ff44b2dd3be4554129121918ba
EBUILD virtualbox-7.0.20.ebuild 20842 BLAKE2B ecbe8b10b4f87550cdd04b878009b5443d859f141b5b214cab7cb53c693ee00470e89140f6ee2c66a24435ceba7484ded028a9594b8a7a7594cd00cd59a4ca74 SHA512 9fc697f31fab0ffbea2ac94fe031400ce544d93069a720fc3871452d8074e97fd4a075603732ca1bb5441ddfccf95664f3b5f5ff44b2dd3be4554129121918ba
-EBUILD virtualbox-7.1.0_beta2.ebuild 20796 BLAKE2B 759573557abe2d8c146e40f101738f60fb253eb30be92f62fd0a50471a672609d6748ad6eccc10f4f51dfe4fd0d187202e49eb60f1fcc8bc16244b77c859a978 SHA512 f95c4704d2487dfc885442f2120fa5aa6650bc4b7da258bdc6fce95591291689ed65294f2b5d834b101286b49b979761715dd5728198533e6348377bc5ec484a
-EBUILD virtualbox-9999.ebuild 21614 BLAKE2B 5a249ee2161ae3df7004764eaab6958fd431925a6328ae411b45f489395b2d13056c3df100b5e85506e14850378a38a0bb2c93f45a887eb1a15b5f0c4f252b4e SHA512 0651bf7b369e0b97b0181564a928d1bf7efab2fec6b161cbbebc1fad4129e9223fd55e6016a6c4aaf9ac57709143dd2f73ce80f05d394c6d283ce8f3f57b21ae
+EBUILD virtualbox-7.1.0.ebuild 21017 BLAKE2B 075d51e4b5d4cd69fc0162653da4f8a73a33ebcc4279986904176c2a7d8b840cfc4627a72d1f9b8acbe07f574f158bfdd5a765b185b8e2dc05859e50487b1c47 SHA512 6aa737bd3d4bc583ca7d32922b8c771c227dc463e43303bb1b80c2b29089de9d6e88c41201d767145b3894fa6caf02ad7bad90d151f309d49c9e4ce028a64ec4
+EBUILD virtualbox-9999.ebuild 21786 BLAKE2B 5afb7f0128428c8b9e21566be919375da4b54640cdf8742c4ae0cca6f487292ac8701af19f2aedca2eb8a41be9788d6c02ec3a053ecfd4e696bda193be050d3a SHA512 f886f7caa42c27f02288adef130ccfc919c5d730e1b8fa696915598a124c32a93259c9d75a1ad18e8ca8c621fe71b85503eb876e4de8215a729ac7ccfdb6b4f0
MISC metadata.xml 948 BLAKE2B c074e494d9affda91addd2355f8e71616602102b4cc151d2b45efd04754f1f92621ecd313dbe3baa44c3301f57b61e9cff780d445c2ea3d19ce3d9c8ae05213a SHA512 5338812da9334aedf08dd7a31a4a07c7bfa8232e8f0de6af9de9ac0f5585397cea16e66cb73d56632efa4cf21386782108182d803de6ff45c08082a13dc5fed9
diff --git a/app-emulation/virtualbox/files/virtualbox-7.1.0-disable-rebuild-iPxeBiosBin.patch b/app-emulation/virtualbox/files/virtualbox-7.1.0-disable-rebuild-iPxeBiosBin.patch
new file mode 100644
index 000000000000..85e3f8cbaff8
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-7.1.0-disable-rebuild-iPxeBiosBin.patch
@@ -0,0 +1,18 @@
+When compiling with clang we get:
+
+src/VBox/Devices/PC/ipxe/src/core/settings.c:310:8: error: fields must have a constant size: 'variable length array in structure' extension will never be supported
+
+Apply this patch conditionally to disable rebuilding iPxeBiosBin.rom when using clang.
+
+--- a/src/VBox/Devices/PC/ipxe/Makefile.kmk
++++ b/src/VBox/Devices/PC/ipxe/Makefile.kmk
+@@ -45,7 +45,8 @@
+ iPxeBiosBin_CLEAN = \
+ $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \
+
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 os2.x86 solaris.amd64 win.amd64 win.arm64)
++# Disable building on Linux if using clang
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 linux.amd64 os2.x86 solaris.amd64 win.amd64 win.arm64)
+ $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $(PATH_SUB_CURRENT)/iPxeBiosBin.rom $(VBOX_BIN2C) | $$(dir $$@)
+ $(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@)
+ $(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@
diff --git a/app-emulation/virtualbox/files/virtualbox-7.1.0_beta1-link-with-mold.patch b/app-emulation/virtualbox/files/virtualbox-7.1.0_beta1-link-with-mold.patch
deleted file mode 100644
index 71e3edb26b3c..000000000000
--- a/app-emulation/virtualbox/files/virtualbox-7.1.0_beta1-link-with-mold.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/925347
-
---- a/src/VBox/Frontends/VirtualBox/Makefile.kmk
-+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk
-@@ -1669,7 +1669,7 @@
- # The Qt modules we're using.
- # (The include directory and lib/framework for each module will be added by the Qt unit.)
- #
--UICommon_QT_MODULES = Core Gui Widgets Help StateMachine
-+UICommon_QT_MODULES = Core Gui Widgets Help PrintSupport StateMachine
- ifdef VBOX_WITH_SCREENSAVER_CONTROL
- UICommon_QT_MODULES.linux += DBus
- UICommon_QT_MODULES.linux += Xml
diff --git a/app-emulation/virtualbox/virtualbox-7.0.18-r1.ebuild b/app-emulation/virtualbox/virtualbox-7.0.18-r1.ebuild
deleted file mode 100644
index be25e287f25e..000000000000
--- a/app-emulation/virtualbox/virtualbox-7.0.18-r1.ebuild
+++ /dev/null
@@ -1,741 +0,0 @@
-# Copyright 2022-2024 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_{10..11} )
-
-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_P=${MY_PN}-${PV}
-
-DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
-HOMEPAGE="https://www.virtualbox.org/"
-SRC_URI="
- https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
- https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2
- gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${PV}.tar.xz ) )
-"
-S="${WORKDIR}/${MY_PN}-${PV}"
-
-LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="amd64"
-IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde +vmmraw vnc"
-
-unset WATCOM #856769
-
-COMMON_DEPEND="
- acct-group/vboxusers
- ~app-emulation/virtualbox-modules-${PV}
- dev-libs/libtpms
- dev-libs/libxml2
- dev-libs/openssl:0=
- media-libs/libpng:0=
- media-libs/libvpx:0=
- net-misc/curl
- sys-libs/zlib
- dbus? ( sys-apps/dbus )
- gui? (
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5
- dev-qt/qthelp:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- dev-qt/qtxml:5
- x11-libs/libX11
- x11-libs/libXt
- opengl? ( dev-qt/qtopengl:5 )
- )
- lvm? ( sys-fs/lvm2 )
- opengl? (
- media-libs/libglvnd[X]
- media-libs/vulkan-loader
- x11-libs/libX11
- x11-libs/libXt
- )
- pam? ( sys-libs/pam )
- python? ( ${PYTHON_DEPS} )
- sdl? (
- media-libs/libsdl2[X,video]
- x11-libs/libX11
- x11-libs/libXcursor
- x11-libs/libXt
- )
- vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
- vde? ( net-misc/vde )
- 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 #878299 to track this issue.
-DEPEND="
- ${COMMON_DEPEND}
- >=dev-libs/libxslt-1.1.19
- virtual/libcrypt:=
- alsa? ( >=media-libs/alsa-lib-1.0.13 )
- gui? (
- x11-base/xorg-proto
- x11-libs/libxcb:=
- x11-libs/libXcursor
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXmu
- x11-libs/libXrandr
- )
- java? ( virtual/jdk:1.8 )
- opengl? (
- x11-base/xorg-proto
- x11-libs/libXcursor
- x11-libs/libXinerama
- x11-libs/libXmu
- x11-libs/libXrandr
- virtual/glu
- )
- sdl? ( x11-libs/libXinerama )
- pulseaudio? ( media-libs/libpulse )
- udev? ( >=virtual/udev-171 )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- gui? ( x11-libs/libxcb:= )
- java? ( virtual/jre:1.8 )
-"
-BDEPEND="
- >=app-arch/tar-1.34-r2
- >=dev-lang/yasm-0.6.2
- dev-libs/libIDL
- dev-util/glslang
- >=dev-build/kbuild-0.1.9998.3592
- sys-apps/which
- sys-devel/bin86
- sys-libs/libcap
- sys-power/iasl
- virtual/pkgconfig
- doc? (
- app-text/docbook-sgml-dtd:4.4
- app-text/docbook-xsl-ns-stylesheets
- dev-texlive/texlive-basic
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-fontsextra
- dev-qt/qthelp:5
- )
- gui? ( dev-qt/linguist-tools:5 )
- nls? ( dev-qt/linguist-tools:5 )
- java? ( virtual/jdk:1.8 )
- python? ( ${PYTHON_DEPS} )
-"
-
-QA_FLAGS_IGNORED="
- usr/lib64/virtualbox/VBoxDDR0.r0
- usr/lib64/virtualbox/VMMR0.r0
- usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
- usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
-"
-
-QA_TEXTRELS="
- usr/lib64/virtualbox/VMMR0.r0
- usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
-"
-
-QA_EXECSTACK="
- usr/lib64/virtualbox/iPxeBaseBin
- usr/lib64/virtualbox/VMMR0.r0
- usr/lib64/virtualbox/VBoxDDR0.r0
- usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
- usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
-"
-
-QA_WX_LOAD="
- usr/lib64/virtualbox/iPxeBaseBin
-"
-
-QA_PRESTRIPPED="
- usr/lib64/virtualbox/VMMR0.r0
- usr/lib64/virtualbox/VBoxDDR0.r0
- usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
-"
-
-REQUIRED_USE="
- java? ( sdk )
- python? ( sdk ${PYTHON_REQUIRED_USE} )
- vboxwebsrv? ( java )
-"
-
-PATCHES=(
- # Downloaded patchset
- "${WORKDIR}"/virtualbox-patches-7.0.16/patches
-)
-
-pkg_pretend() {
- if ! use gui; then
- einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
- fi
-
- if ! use opengl; then
- einfo "No USE=\"opengl\" selected, this build will lack"
- einfo "the OpenGL feature."
- fi
- if ! use nls && use gui; then
- einfo "USE=\"gui\" also selects USE=\"nls\". This build"
- einfo "will have NLS support."
- 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
- use python && 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
-
- # Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
- rm -r kBuild/bin || die
- # Remove everything in tools except kBuildUnits
- find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || 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
-
- # bug #916002, #488176
- tc-ld-force-bfd
-
- # 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
- echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
-
- #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
-
- # bug #908814
- filter-lto
-
- # bug #843437
- cat >> LocalConfig.kmk <<-EOF || die
- CXXFLAGS=${CXXFLAGS}
- CFLAGS=${CFLAGS}
- EOF
-
- if use sdl; then
- sed -i 's/sdl-config/sdl2-config/' configure || die
- echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
- fi
-
- #443830
- echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
-
- if tc-is-clang; then
- # clang assembler chokes on comments starting with /
- sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
-
- # clang does not support this extension
- eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
- fi
-
- # fix doc generation
- echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
- # replace xhtml names with numeric equivalents
- find doc/manual -name \*.xml -exec sed -i \
- -e 's/&nbsp;/\&#160;/g' \
- -e 's/&ndash;/\&#8211;/g' \
- -e 's/&larr;/\&#8592;/g' \
- -e 's/&rarr;/\&#8594;/g' \
- -e 's/&harr;/\&#8596;/g' {} \+ || die
-
- # fix help path #891879
- echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
-
- # 489208
- # Cannot patch the whole text, many translations. Use sed instead to replace the command
- find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
- 's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
- sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
- src/VBox/Frontends/VirtualBox/src/main.cpp \
- src/VBox/VMM/VMMR3/VM.cpp || die
-
- # 890561
- echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
-
- if ! use nls && ! use gui; then
- cat >> LocalConfig.kmk <<-EOF || die
- VBOX_WITH_NLS :=
- VBOX_WITH_MAIN_NLS :=
- VBOX_WITH_PUEL_NLS :=
- VBOX_WITH_VBOXMANAGE_NLS :=
- EOF
- fi
-}
-
-src_configure() {
- tc-export AR CC CXX LD RANLIB
- export HOST_CC="$(tc-getBUILD_CC)"
-
- local myconf=(
- --with-gcc="$(tc-getCC)"
- --with-g++="$(tc-getCXX)"
-
- --disable-kmods
-
- $(usev !alsa --disable-alsa)
- $(usev !dbus --disable-dbus)
- $(usev debug --build-debug)
- $(usev !doc --disable-docs)
- $(usev !java --disable-java)
- $(usev !lvm --disable-devmapper)
- $(usev !pulseaudio --disable-pulse)
- $(usev !python --disable-python)
- $(usev vboxwebsrv --enable-webservice)
- $(usev vde --enable-vde)
- $(usev !vmmraw --disable-vmmraw)
- $(usev vnc --enable-vnc)
- )
-
- if use gui || use sdl || use opengl; then
- myconf+=(
- $(usev !opengl --disable-opengl)
- $(usev !gui --disable-qt)
- $(usev !sdl --disable-sdl)
- )
- else
- myconf+=(
- --build-headless
- )
- fi
-
- if use amd64 && ! has_multilib_profile; then
- myconf+=( --disable-vmmraw )
- fi
-
- # 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
-
- if use python; then
- 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
-
- 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
- else
- cat >> AutoConfig.kmk <<-EOF || die
- VBOX_WITH_PYTHON:=
- EOF
- 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,VMMPreload,XPCOMIPCD} \
- vboximg-mount vbox-img *so *r0; 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}/vboximg-mount /usr/bin/vboximg-mount
- dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
-
- 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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
- # environment variables used during SDK binding installation
- echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
- echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
- doenvd "${T}/90virtualbox"
-
- 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 gui; 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
-
- 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" -exec 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 UserManual.q{ch,hc}
- docompress -x /usr/share/doc/${PF}
- elif use gui; then
- dodoc "${WORKDIR}"/${PN}-help-${PV}/UserManual.q{ch,hc}
- docompress -x /usr/share/doc/${PF}
- fi
-
- if use python; then
- local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.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
-
- # 378871
- local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer"
- pushd "${installer_dir}" &> /dev/null || die
- sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
- -e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
- -i vboxapi/__init__.py || die
- # insert shebang, the files come without one
- find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
- python_domodule vboxapi
- popd &> /dev/null || die
- sed -e "1 i\#! ${PYTHON}" -i vboxshell.py || die
- python_doscript vboxshell.py
-
- # do not install the installer
- rm -r "${installer_dir}" || die
- 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 gui; 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/${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-7.1.0_beta2.ebuild b/app-emulation/virtualbox/virtualbox-7.1.0.ebuild
index 19e72e29a5e4..32185b29faef 100644
--- a/app-emulation/virtualbox/virtualbox-7.1.0_beta2.ebuild
+++ b/app-emulation/virtualbox/virtualbox-7.1.0.ebuild
@@ -3,9 +3,6 @@
EAPI=8
-# USE=doc does not work for now.
-#
-#
# 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
@@ -24,23 +21,21 @@ inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature p
python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PN="VirtualBox"
-MY_PV=${PV^^}
-MY_P=${MY_PN}-${MY_PV}
-HELP_PV=7.0.20
+MY_P=${MY_PN}-${PV}
+HELP_PV=${PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
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
+ https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.0.tar.bz2
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${HELP_PV}.tar.xz ) )
"
-S="${WORKDIR}/${MY_PN}-${MY_PV}"
+S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
SLOT="0/$(ver_cut 1-2)"
-# Beta version
-#KEYWORDS="~amd64"
+KEYWORDS="~amd64"
IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde +vmmraw vnc"
unset WATCOM #856769
@@ -140,6 +135,7 @@ BDEPEND="
sys-power/iasl
virtual/pkgconfig
doc? (
+ app-doc/dita-ot-bin
app-text/docbook-sgml-dtd:4.4
app-text/docbook-xsl-ns-stylesheets
dev-texlive/texlive-basic
@@ -148,7 +144,8 @@ BDEPEND="
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
- dev-qt/qthelp:5
+ dev-qt/qttools:6[assistant]
+ sys-libs/nss_wrapper
)
gui? ( dev-qt/qttools:6[linguist] )
nls? ( dev-qt/qttools:6[linguist] )
@@ -194,12 +191,9 @@ REQUIRED_USE="
PATCHES=(
# Downloaded patchset
- "${WORKDIR}"/virtualbox-patches-7.1.0_beta1/patches
- "${FILESDIR}"/${PN}-7.1.0_beta1-link-with-mold.patch
+ "${WORKDIR}"/virtualbox-patches-7.1.0/patches
)
-DOCS=() # Don't install the default README file during einstalldocs
-
pkg_pretend() {
if ! use gui; then
einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
@@ -297,11 +291,8 @@ src_prepare() {
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
if tc-is-clang; then
- # clang assembler chokes on comments starting with /
- sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
-
# clang does not support this extension
- eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
fi
# fix doc generation
@@ -479,6 +470,20 @@ src_compile() {
)
fi
+ if use doc; then
+ # dita needs to write to ~/.fop and ~/.java
+ # but it ignores ${HOME} and tries to write to the real home of user portage
+ # resulting in a sandbox violation
+ # -Duser.home= does not work
+ # force using the temporary homedir with nss_wrapper
+ echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
+ echo "${LOGNAME}::$(id -g):" >> ~/group
+
+ local -x LD_PRELOAD=libnss_wrapper.so
+ local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
+ local -x NSS_WRAPPER_GROUP="${HOME}"/group
+ fi
+
MAKE="kmk" emake "${myemakeargs[@]}" all
}
@@ -720,7 +725,7 @@ pkg_postinst() {
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/${MY_PV}/UserManual.pdf"
+ elog "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
diff --git a/app-emulation/virtualbox/virtualbox-9999.ebuild b/app-emulation/virtualbox/virtualbox-9999.ebuild
index b61db28003e9..ad3e2aba25bb 100644
--- a/app-emulation/virtualbox/virtualbox-9999.ebuild
+++ b/app-emulation/virtualbox/virtualbox-9999.ebuild
@@ -9,7 +9,6 @@ EAPI=8
# It is not meant to be used, might be very unstable.
# Upstream seem to have added support for python 3.12, but it crashes.
#
-# USE=doc does not work for now.
#
#
# To add a new Python here:
@@ -30,14 +29,14 @@ inherit desktop edo flag-o-matic java-pkg-opt-2 linux-mod-r1 multilib optfeature
python-single-r1 subversion tmpfiles toolchain-funcs udev xdg
MY_PN="VirtualBox"
-BASE_PV=7.0.16
+BASE_PV=7.1.0
MY_P=${MY_PN}-${PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
ESVN_REPO_URI="https://www.virtualbox.org/svn/vbox/trunk"
SRC_URI="
- https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.0_beta1.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.0.tar.bz2
gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-help-${BASE_PV}.tar.xz ) )
"
S="${WORKDIR}/trunk"
@@ -132,7 +131,6 @@ RDEPEND="
java? ( virtual/jre:1.8 )
"
BDEPEND="
- ${PYTHON_DEPS}
>=app-arch/tar-1.34-r2
>=dev-lang/yasm-0.6.2
dev-libs/libIDL
@@ -144,6 +142,7 @@ BDEPEND="
sys-power/iasl
virtual/pkgconfig
doc? (
+ app-doc/dita-ot-bin
app-text/docbook-sgml-dtd:4.4
app-text/docbook-xsl-ns-stylesheets
dev-texlive/texlive-basic
@@ -152,11 +151,13 @@ BDEPEND="
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
- dev-qt/qthelp:5
+ dev-qt/qttools:6[assistant]
+ sys-libs/nss_wrapper
)
gui? ( dev-qt/qttools:6[linguist] )
nls? ( dev-qt/qttools:6[linguist] )
java? ( virtual/jdk:1.8 )
+ python? ( ${PYTHON_DEPS} )
"
QA_FLAGS_IGNORED="
@@ -197,7 +198,7 @@ REQUIRED_USE="
PATCHES=(
# Downloaded patchset
- "${WORKDIR}"/virtualbox-patches-7.1.0_beta1/patches
+ "${WORKDIR}"/virtualbox-patches-7.1.0/patches
)
DOCS=() # Don't install the default README file during einstalldocs
@@ -262,8 +263,8 @@ src_prepare() {
>> LocalConfig.kmk || die
fi
- # bug #916002, #488176
- tc-ld-force-bfd
+ # bug #916002, #488176, #925347
+ tc-ld-is-mold || tc-ld-force-bfd
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
@@ -289,13 +290,6 @@ src_prepare() {
java-pkg-opt-2_src_prepare
fi
- #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
-
# bug #908814
filter-lto
@@ -314,11 +308,8 @@ src_prepare() {
echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
if tc-is-clang; then
- # clang assembler chokes on comments starting with /
- sed -i -e '/^\//d' src/libs/xpcom18a4/nsprpub/pr/src/md/unix/os_Linux_x86_64.s || die
-
# clang does not support this extension
- eapply "${FILESDIR}"/${PN}-7.0.8-disable-rebuild-iPxeBiosBin.patch
+ eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
fi
# fix doc generation
@@ -496,6 +487,20 @@ src_compile() {
)
fi
+ if use doc; then
+ # dita needs to write to ~/.fop and ~/.java
+ # but it ignores ${HOME} and tries to write to the real home of user portage
+ # resulting in a sandbox violation
+ # -Duser.home= does not work
+ # force using the temporary homedir with nss_wrapper
+ echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
+ echo "${LOGNAME}::$(id -g):" >> ~/group
+
+ local -x LD_PRELOAD=libnss_wrapper.so
+ local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
+ local -x NSS_WRAPPER_GROUP="${HOME}"/group
+ fi
+
MAKE="kmk" emake "${myemakeargs[@]}" all
local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc:"out/linux.${ARCH}/release/bin/src" )