summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-03 00:00:22 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-03 00:00:22 +0100
commita98588cfddf3d6e88a5f17d7f399b695163c7a85 (patch)
tree9f786257ac4bfd6be23a0d585c4b6c17361d37d2 /app-emulation
parentf5ef7f2371babf22c2c3fad17108692b09e4c98e (diff)
gentoo auto-resync : 03:05:2024 - 00:00:22
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/Manifest.gzbin15642 -> 15634 bytes
-rw-r--r--app-emulation/free42/Manifest2
-rw-r--r--app-emulation/free42/free42-3.1.8.ebuild45
-rw-r--r--app-emulation/plus42/Manifest2
-rw-r--r--app-emulation/plus42/plus42-1.1.10.ebuild49
-rw-r--r--app-emulation/qemu/Manifest4
-rw-r--r--app-emulation/qemu/qemu-7.2.11.ebuild2
-rw-r--r--app-emulation/qemu/qemu-8.2.3.ebuild2
-rw-r--r--app-emulation/virtualbox-kvm/Manifest2
-rw-r--r--app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild767
10 files changed, 871 insertions, 4 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz
index 905d36ada59f..1ab134535922 100644
--- a/app-emulation/Manifest.gz
+++ b/app-emulation/Manifest.gz
Binary files differ
diff --git a/app-emulation/free42/Manifest b/app-emulation/free42/Manifest
index 6e4fe4587d65..e6b504303e26 100644
--- a/app-emulation/free42/Manifest
+++ b/app-emulation/free42/Manifest
@@ -5,7 +5,9 @@ AUX free42-3.0.16-fix-build-intel-lib.patch 2521 BLAKE2B f3518509a2f562916eb182f
DIST free42-nologo-2.5.24.tgz 7423183 BLAKE2B e10425af8d5c30be6ab5b728130bbe3068c414e24f033b65623951f915bcfeea0672857ff8def3e9f2766aba79411a1022d4b83592281567de38e82613d8a832 SHA512 a0702c3e4b2f3f38f73c54de4e51da8d1dc90585b253d1ae087d59dfabbe83be9c80086df8540cb6420dae8c6e766cd1ccce875d9bcb94ecbc85791e3fa89b8b
DIST free42-nologo-3.1.3.tgz 7461009 BLAKE2B 915954de24a31f89f112d0d5e13ed01bd6a1e341549c8a86f463858e4071fc0a4751e94a6a257d561da570fd3705250d740c741925ee2b022a50966b8d5b16f8 SHA512 5ad6e6702a789c81d8942c4030606e44112fc21f1af6e5e23f21825115cabbc03cbcb142351d5d0451f5bf8d603d653b783ebe1293fa7ebfb04c93dfdea3455d
DIST free42-nologo-3.1.7.tgz 7464073 BLAKE2B 0cff2d3292f45fc7341f8ed084c931da6a635498a62b7a20cc250df64a16d44a1c18a260e701971e2e7d68e11b1b84aa301405cd08c5e11b39e31f59a78647cc SHA512 2464385acf58aa17091d94ae81dde8e6e7f543c728c31cc03f1bc45a9ed5af9b27a3db41624222fd29ea61fe18541af9350e3e4369c54744c7b2a4dc799034fc
+DIST free42-nologo-3.1.8.tgz 7464179 BLAKE2B 122175508b2da42f101fae37d7c1627ef802d6e21af9cfb4114b657591f0ba1011a109ec3d75823911d3342fdd02e84a58553e616cd0b4c6288b5d39d9648250 SHA512 ef350d963a11c1a195024f57532a22771a3d0d9b7058bf38557e81c943e7cbd8b500472275b7094be3f7f01c3edf557cf3a3ee2d493cb756d108211b7391a4bc
EBUILD free42-2.5.24.ebuild 988 BLAKE2B 018e42a0d178fddad32220fb80a8052b883341ed595aeacb8c62189167b92354df147821701c496010a2d41d4492b9c8f9591e3dc3726277fca9032f22877b7b SHA512 558ca798068bb404d040e4f95ef2a404f8184d23f1b91c03801dd29599b2615f8bbaef509edac11d958a641ba103e2871cc7d5e4f1e2b7be47f6cfdc22d3cdac
EBUILD free42-3.1.3.ebuild 981 BLAKE2B 2a1c4d1a6258b90bb571e61c009502194155d30be1f595d9dd0f6f6acbfa2c81e26e2c52c8f66868f198b7a40e6e4f8c8e24a81caf60ec88b149a04fc628407b SHA512 285d201e00e9f6670da9e28ed6236e10e23c82018bf3b481bb323493ed921bb48ccea9952699049bc60589f80cac56060110184d68c90a24cac90c317bcbf961
EBUILD free42-3.1.7.ebuild 978 BLAKE2B c3a4c3bc87adec0b446a2dc59f540253fe0458cef590566f6cd8c5ff0950a33835b18ef22fecc21505f5c30ab247d97f3fa8df82524d0f0847e0d8304c8976ca SHA512 a43b154709566e9bc8ae472c9beb2d946f1327929f1b5777670eb4ba883b1e7d39583dcdeb72d5f8d0a7b9faf83cacded5d6c265230b836057e658c8d7cf0e14
+EBUILD free42-3.1.8.ebuild 978 BLAKE2B c3a4c3bc87adec0b446a2dc59f540253fe0458cef590566f6cd8c5ff0950a33835b18ef22fecc21505f5c30ab247d97f3fa8df82524d0f0847e0d8304c8976ca SHA512 a43b154709566e9bc8ae472c9beb2d946f1327929f1b5777670eb4ba883b1e7d39583dcdeb72d5f8d0a7b9faf83cacded5d6c265230b836057e658c8d7cf0e14
MISC metadata.xml 346 BLAKE2B e7d31b887aade448cfdd31d3221c1d01f13ae1ad9097c4b18fa39b927401d7aa1c0b0b4bad4c36251b74f976ae79899e1b64b6086656cfbbee2036e1cf85946d SHA512 a848ab39ebadfe8b2c866cec845b16c1a0d92070a8e4365bc576a3d4287078594d0eb41f704f5a2f9b35618e24d91de99f6760ced7d39d9a4f706ca6f5c5480b
diff --git a/app-emulation/free42/free42-3.1.8.ebuild b/app-emulation/free42/free42-3.1.8.ebuild
new file mode 100644
index 000000000000..063f0e457429
--- /dev/null
+++ b/app-emulation/free42/free42-3.1.8.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="${PN}-nologo-${PV}"
+
+DESCRIPTION="An HP-42S Calculator Simulator"
+HOMEPAGE="https://thomasokken.com/free42/"
+SRC_URI="https://thomasokken.com/free42/upstream/${MY_PV}.tgz"
+S=${WORKDIR}/${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa"
+
+DEPEND="app-accessibility/at-spi2-core
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ alsa? ( media-libs/alsa-lib )"
+RDEPEND="${DEPEND}"
+
+DOCS=( CREDITS HISTORY README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.14-fix-makefile.patch"
+ "${FILESDIR}/${PN}-3.0.16-fix-build-intel-lib.patch"
+)
+
+src_compile() {
+ local myconf
+ use alsa && myconf="AUDIO_ALSA=yes"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
+ emake -C gtk clean
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
+}
+
+src_install() {
+ default
+ dobin gtk/free42bin gtk/free42dec
+}
diff --git a/app-emulation/plus42/Manifest b/app-emulation/plus42/Manifest
index 4d230eeb1868..48e99a28e519 100644
--- a/app-emulation/plus42/Manifest
+++ b/app-emulation/plus42/Manifest
@@ -1,7 +1,9 @@
AUX plus42-1.0.12-fix-build-intel-lib.patch 2521 BLAKE2B f3518509a2f562916eb182f37745a98d04097b80e6bccc923d12d5d3a6f9076c063c7e258991f690b69f27ed622328009f8e1e602e6873cc2e0ac7d013f60db4 SHA512 e8d763e0b32f4cfca9a123b43151d8260bde95d445abb7181c5daef1326051eb3a358065d911b67fd6266c5ed368e2633586faf358dc213155a3df5ea480d9bd
AUX plus42-1.0.9-fix-makefile.patch 713 BLAKE2B fb8ca302a324122cee89d7f3ddab2a0521c8dee1e910ae50efe7ee74ed3781ac7e3c017cc7afbd601cf41527afd61d979396400a5e6dc8e1714ff853ba25a4eb SHA512 532c8b2d88324e3b38ab568beb1ed9b7fce6e91c894c6438657a800ccd32759c82ce9bcbea3828a04985eef18c278004e0a068b88695da5f0e75bd996c6d2fd3
+DIST plus42-upstream-1.1.10.tgz 7612969 BLAKE2B feeab01d4161f0f8cc183cf3c494290469c968d89670610a8848103a8ae64f81816d4456477d1900f94b0e6c5ef3ae3dbd36aa9edb3644f5ed099954fb692664 SHA512 38b263d71464b891a4dc9d32a38b8d32d96e2c1ce352348ff33348b23749ae45d341f6d36b76609b40e863e058ec2c0e5c6be394c041f27f6caba1b261d7422c
DIST plus42-upstream-1.1.3.tgz 7610112 BLAKE2B 6c55a8c2acebbc0e442308e0f078d2ac86f9866d9dbe808a17007a3c3729114f24379401267787107d11e4f3559e14c86f39051da3a956928a7c4c97c1867c31 SHA512 05fd0fb3f330ad0842d28df46ec89d3347cbfca776c6e73092261a96f860677d8f9a6de96ee98adfed4abe5d950a45cec6e6056bb97dd471204d644cbdb82d10
DIST plus42-upstream-1.1.9.tgz 7612675 BLAKE2B d6b05221b11705c553be2cabe8adc81b892861b86aeb3b234e7fef44bb79551b74f94caaa563f3fa55bc62f988545493d118bab488818cc835ccbfd309c95874 SHA512 bbfd519006c3f24de469a0c928271edb9a2ee92c32bf1eccb313fffb4e13e461875f608561149b8d8de57565cb835c407c7ee2bcf959b198a728669160ff85f6
+EBUILD plus42-1.1.10.ebuild 1016 BLAKE2B 32fa68d9374bd10884b0ed9a3d2d3a71cfda2f383656abd8a61923ba3e2bdd4faa99efe4d8bc7d1950392dbd9dcd73542c17e52fe4ad17f74d0ad770003adc5f SHA512 40b740dc3e4eef760b14d6a88248c814250349a86a5ff8b521959f1ee918fa7f576b1caaf2e67c588d07f4a24f91b03e54344ab3c9146aca865cc4d10c2e3acb
EBUILD plus42-1.1.3.ebuild 1019 BLAKE2B ccf4a99b5dffc61a9f27f9552acfbe4770ea190d4496a503356208f0bdfc31b67719b3af7aee75d070d543d3b77faa47a1c6d2044783ba9637a22a076858db76 SHA512 cb0fa04d06be909a7a907f521c613abe1871913554a18c5ba7b364e3f9bdc6886c6985b6ac2d15bcf7ddcd15d8c93719ee1784f518dd1fb0c49816a969517df5
EBUILD plus42-1.1.9.ebuild 1016 BLAKE2B 32fa68d9374bd10884b0ed9a3d2d3a71cfda2f383656abd8a61923ba3e2bdd4faa99efe4d8bc7d1950392dbd9dcd73542c17e52fe4ad17f74d0ad770003adc5f SHA512 40b740dc3e4eef760b14d6a88248c814250349a86a5ff8b521959f1ee918fa7f576b1caaf2e67c588d07f4a24f91b03e54344ab3c9146aca865cc4d10c2e3acb
MISC metadata.xml 353 BLAKE2B 62d2057ed40527ddee3b747c7d702009bba223521e3264af5905506515fc67a6baf27938ae03d664eeb713aaeac898b7a1eee0682b69f3659b4dbc6e7eddaef8 SHA512 9633917e4a226c142672cd8bb91d3ca5ec40a2b4600bc8ba60ea959dc871f54881dc331ca5ed0030a4afcbad426c7528667b61289e4ed77e19aa3e9d1c816ce2
diff --git a/app-emulation/plus42/plus42-1.1.10.ebuild b/app-emulation/plus42/plus42-1.1.10.ebuild
new file mode 100644
index 000000000000..3916a804001b
--- /dev/null
+++ b/app-emulation/plus42/plus42-1.1.10.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="${PN}-upstream-${PV}"
+
+DESCRIPTION="An Enhanced HP-42S Calculator Simulator"
+HOMEPAGE="https://thomasokken.com/plus42/"
+SRC_URI="https://thomasokken.com/plus42/upstream/${MY_PV}.tgz"
+S=${WORKDIR}/${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa"
+
+DEPEND="app-accessibility/at-spi2-core
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ alsa? ( media-libs/alsa-lib )"
+RDEPEND="${DEPEND}"
+
+DOCS=( CREDITS HISTORY README )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.0.9-fix-makefile.patch"
+ "${FILESDIR}/${PN}-1.0.12-fix-build-intel-lib.patch"
+)
+
+src_prepare() {
+ default
+}
+
+src_compile() {
+ local myconf
+ use alsa && myconf="AUDIO_ALSA=yes"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
+ emake -C gtk clean
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
+}
+
+src_install() {
+ default
+ dobin gtk/plus42bin gtk/plus42dec
+}
diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest
index 8ee697685684..a8b203d34e6b 100644
--- a/app-emulation/qemu/Manifest
+++ b/app-emulation/qemu/Manifest
@@ -37,7 +37,7 @@ DIST qemu-8.2.3.tar.xz 130106716 BLAKE2B 2ec91b5111952434686064bd603880d87c4f567
DIST qemu-9.0.0-docs.tar.xz 2290196 BLAKE2B 82d22637ff2629bee372550e86651f12051ea6b4a57e314ef83f290425d4973ef01827eaf28a85b635788f22cb7cc1c747438b7525c92c99b90b234fb8f7655c SHA512 7c0ba1f3e7bbaa4e3feebc33a1946a5c190f2c14b9ed78b15c1f642668c8124960f8c85bcf36fe54a10d4edef47d2256e500f06d9173b92b03c599811a15a073
DIST qemu-9.0.0.tar.xz 129789856 BLAKE2B d92acb859d9ce5097fee27a4689c71869aa38f65eb0308547956d54bd8caf29efe5389d9009f334f109ad228e0ef1f1fd1444d26360f03fac4320b204b657081 SHA512 1603517cd4c93632ba60ad7261eb67374f12a744bf58f10b0e8686e46d3a02d8b6bf58a0c617f23a1868084aaba6386c24341894f75539e0b816091718721427
EBUILD qemu-7.2.10.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d
-EBUILD qemu-7.2.11.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d
+EBUILD qemu-7.2.11.ebuild 27452 BLAKE2B 9f37430e0de665f367f45cdce0330a5b50a4cb651334d3705ba3e39025046ab32592726b1473a29955ef68590acbde524f9c0739d252d3e9584f08b9a567494c SHA512 3b0e445b7224d9d23b5bb9b2f53cbfc3a9076850e315f41b07b6444b27d050a2f258e1af462a998ceea67eefed9524bb57d69757ac7be336f06ddd6ea642d99d
EBUILD qemu-7.2.4.ebuild 27514 BLAKE2B 0ccea459f94ffad1deb29fd1007162e7ce852ce34267bca596d65e9fc40147ed16cd862a885a8623ee07a76e6c3934b0d893d4401179063414b421dbddd3fe2e SHA512 10a7b8272be6f0024dc23c3385e05be5e89d575c2bee0109676eebe2017efd88a17b070d33c2c20d05adfe37be3a6be5381c6d0190a09fc3f3a4d1677319a992
EBUILD qemu-7.2.9.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d
EBUILD qemu-8.0.4.ebuild 27376 BLAKE2B fd1a9b51821eeafef8b6601499c2abe56744a8ee7b57805bd25c1ac6664e3bddcf4f31178c0b13c79ac23457a2766e8616539bd1bf9c9b975c20f66f5b37764e SHA512 5d08daedd16007c57c386e916b4a58a8a879fb8911018daa15127b3ee4534395d818725ce47130cee2c9881ce4ecaca64d5d5d02ac0db53ca00d019ceaff7dcd
@@ -45,7 +45,7 @@ EBUILD qemu-8.0.5.ebuild 27478 BLAKE2B 31948c0d4905f5a81b576ef39d426d1716fb6fd2b
EBUILD qemu-8.1.5.ebuild 27401 BLAKE2B 1d3442b07c850a275cee38bf8d3651c91fcde30498922f7e95886d427d85e42d78119e5953410d46ea5746e725f46e630211bc37d485e0cf26eca6d32253af40 SHA512 7323757a44c98b5c99dcd6110ad236be2e50585fbc02acb9e4c1ed233fe385a6f6b92f24514c3064543511ef9f63a96c6b52d83eade7e12e9a5024c3c46d64c3
EBUILD qemu-8.2.1.ebuild 27886 BLAKE2B 0f1dad26a9c710d5b4039d6a3d399810fc1e21bbaaaffb674c3406f427aaae882f463c9c81fdc39bc25b40f85e2873b15fd77a119bc4776701115b2add611882 SHA512 254f344437f852a917451b5d6dde5caebfd6fa4c2198a66e5afd6d42bffd0df2205737f6ac24d370982ed70f6e0cfe6c7cc5aa45b7c45ff68fbe0684a268e23b
EBUILD qemu-8.2.2.ebuild 27910 BLAKE2B 7fb78cf6a72e19f28af863aa0502fa964e90881997f64bbd4ac43fd3a2022f1f7daeb47117047230e9b1bbf3bae41b8fd43fa0a7a58599a0516c97bb64fea6fd SHA512 15cb3186c34cf9b328f62685c471af897e0b9fa40794fcf6db91becc0d35d2e9279bd1e76d68a61f956e68fba7290058e82ccd05821378ee39568b4a53f9bf37
-EBUILD qemu-8.2.3.ebuild 27909 BLAKE2B adb599490584100fad2a12c0c21076e8a365dd02567dd3c73828c8c95bd0fbe70977a4d99ea36b40d1609cfb222ec33ff4bdc2cd31ff964b040368a895e892de SHA512 e4c16221e760222e721c5ee1c90421ffc0aaf0d63d5e65ab143487746a22303c5d550088cdceda53b760e97f3ad4372ee8c8b0e5934eab600d6dc23ef723cdd6
+EBUILD qemu-8.2.3.ebuild 27906 BLAKE2B 67dd19fc597d5d6afe779edc2846dba758d85296b6e787ab920ca8f6e5f03399ae962c337bbaa9d8322fe61f8199f74ad4136df26648cc7885ba918b2ab9341f SHA512 4a39d66c089e7b6135950bb631d07be02e62487282ceabe5680bd329ff6bf78e8693248595e74c177228f37cbd4867b6cea3b558ce94da29969182f7836ccf95
EBUILD qemu-9.0.0.ebuild 28047 BLAKE2B e1fa1a8ab44b4b68745c6f86cf04d9816cf56beef1e71b3ffc0a62fc929ef15d4ac4f1fa299d532520cac05694dbc3a08832ac0b44f1a109fab80fa195a6a4c9 SHA512 adc16e4704c396531ac91ed133a12a470fc0f2a8a3a1a822443c25fdd92faeb56c8346111e23403bb6d0fd212fb599ad2130c695afc5c48afeea492b08504568
EBUILD qemu-9999.ebuild 28040 BLAKE2B 8b434c889b45b169e3d0498239b69be05e554b506c2e62e1e0c4a2b23d13dac49f555d43daf4d7b0e708b5f6e4f984d21ee6f1e3841752cafdc6e6f7838583b9 SHA512 172e62e67424a237f74aafca79dbde1701a6e1ddf1aaf83df42a73e7f661ee7bd83f6690dccaae48b4ca9d8c0619abeb6a37661428acbe01dac71ee0143e968a
MISC metadata.xml 4410 BLAKE2B 8991a6fb819fb1621ad78ee9d32568dddc7ed2e4876ac5d6ebc6cde9eeb7badb6d0549b72afe8373118bf9dea0cba457bc4cfe65f49040bdcb272a5734eb47fe SHA512 f2a4c53da7f9b3443a76439d31cadccfb026c74226c5c4654d9f50ec19e71e4939d6685fae44fd28e194881ba11ad42215cea7b48963a31a1e0ecf427e826b9e
diff --git a/app-emulation/qemu/qemu-7.2.11.ebuild b/app-emulation/qemu/qemu-7.2.11.ebuild
index ac517632fb22..e59ab048ded1 100644
--- a/app-emulation/qemu/qemu-7.2.11.ebuild
+++ b/app-emulation/qemu/qemu-7.2.11.ebuild
@@ -41,7 +41,7 @@ else
fi
S="${WORKDIR}/${MY_P}"
- [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
diff --git a/app-emulation/qemu/qemu-8.2.3.ebuild b/app-emulation/qemu/qemu-8.2.3.ebuild
index f5422498702e..1c6bab186548 100644
--- a/app-emulation/qemu/qemu-8.2.3.ebuild
+++ b/app-emulation/qemu/qemu-8.2.3.ebuild
@@ -47,7 +47,7 @@ else
fi
S="${WORKDIR}/${MY_P}"
- [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~x86"
+ [[ "${PV}" != *_rc* ]] && KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv x86"
fi
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
diff --git a/app-emulation/virtualbox-kvm/Manifest b/app-emulation/virtualbox-kvm/Manifest
index 6978ee1fb508..c1bdc59ea256 100644
--- a/app-emulation/virtualbox-kvm/Manifest
+++ b/app-emulation/virtualbox-kvm/Manifest
@@ -12,10 +12,12 @@ DIST VirtualBox-7.0.16.tar.bz2 170897951 BLAKE2B 6b436c38df632222621723db94677a0
DIST virtualbox-help-7.0.14.tar.xz 3944832 BLAKE2B 95079e4da8c960c41cee799142779a6c2587e0e8af7956ca551cb5a4c0f36f313189dfe08afba83a0c32886866a7f9903b5e370008d6b3ce6283fb2288866b06 SHA512 e2f1acdd7577a93047e220300b1996d2855ddef20053c01294f8295fde0840645c41b75632d71dd2fc276219084fe4105fd057623f39375542358796425a2d03
DIST virtualbox-help-7.0.16.tar.xz 3948696 BLAKE2B 5c5937313ea0e5cb4764b8a61fd1587e88a4afc965ef00862c5a265a15253929d35e0635231b6be5656f26f600bc4b70a2fa2ebc0f33b35d35c184b57e5acef8 SHA512 b9baca57118a82e3489c8445f0988671f16f75de60cc2d929d5e3b0c4c9e3ceacd796a72a81bba88d69eb4b4559835a13775c18d7782ae7dbe8ad202e247db0c
DIST virtualbox-kvm-7.0.14_pre20240325.tar.gz 134926 BLAKE2B 3e707b272219b2c5703d91d1f6a2f0a6c54fe29eeb6e91e5830949f7260e5b409e3425c38daea568725cb7fd10ddee234af6b72d747206e0a98ac1e33a10028c SHA512 e30291e1d7e2649057a9b38ea907f22f62b0367f33d88af10fdaaa49333890be2b719626103f9800836a3833368a018f5fc63a46577dd1d83178d7406bf8c494
+DIST virtualbox-kvm-7.0.14_pre20240502.tar.gz 141218 BLAKE2B fd78db709a37fd5239e52a71a5690073631c9376a0a2d6ab9a885a5892ff272d432adeabf03c3317556a9d76cc6819cc5dcd44cd19bd18bd338bb1b84bda5dae SHA512 650bbe3a8c51d7373c25834be129888b624c2d99baebe4105c2a70b1a013cdb7527224778a78f6901b91dea6e22129354ba9269bcd365b9956df5c5b8a77869b
DIST virtualbox-kvm-7.0.16_pre20240325.tar.gz 134926 BLAKE2B 3e707b272219b2c5703d91d1f6a2f0a6c54fe29eeb6e91e5830949f7260e5b409e3425c38daea568725cb7fd10ddee234af6b72d747206e0a98ac1e33a10028c SHA512 e30291e1d7e2649057a9b38ea907f22f62b0367f33d88af10fdaaa49333890be2b719626103f9800836a3833368a018f5fc63a46577dd1d83178d7406bf8c494
DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
EBUILD virtualbox-kvm-7.0.14_pre20240325.ebuild 21690 BLAKE2B 379b33503a4b372f95419b7e674b7a1dc229efab4761e83fe1b0cb01b3d7e11e1713e7cd646c2e825b72ce8297c28fea707e6917b3a438ad0c639ec277b653b2 SHA512 4c54f1b8a8429a1d44a395c3ff910da39033252bf05691fddd13695cfdc534456f182f91a5117414845de53f95b7542c4b3b1df0b2420729b6e6e55c6b42d02b
+EBUILD virtualbox-kvm-7.0.14_pre20240502.ebuild 21650 BLAKE2B 085bb497aa67cede3d87b9f6cd5d23b18220afa081b90f0ef610d2844820f55b920d056227da6f7470067ebfd8bd758a7067b3c653edaeddf35b6646495d0cca SHA512 142b8fa9a5c24bcb1003070dd6ce290ec5f0e9ed1e31d318d251e7924993062105d9cccbe827cb7413ae200e2ae4cacf1f4cc2b339a1f7789427cc8a4b3ddcc5
EBUILD virtualbox-kvm-7.0.16_pre20240325.ebuild 21690 BLAKE2B cffc5291611fb24a82de0b9eeae15b5a762123595518821be8d8cf2566821668cbad2f14e8c04ed93f06f448e00ae96477b1f62715bfc54917f2315debbdd683 SHA512 aac9d44496e4f63c14a0110f58e46b5a2536f6fee3b71f0b8c541eb0db49a1321660075b82e6efc56a40677837525719a23ba3831b88fe06da3ec6db800b01fb
EBUILD virtualbox-kvm-9999.ebuild 21690 BLAKE2B cffc5291611fb24a82de0b9eeae15b5a762123595518821be8d8cf2566821668cbad2f14e8c04ed93f06f448e00ae96477b1f62715bfc54917f2315debbdd683 SHA512 aac9d44496e4f63c14a0110f58e46b5a2536f6fee3b71f0b8c541eb0db49a1321660075b82e6efc56a40677837525719a23ba3831b88fe06da3ec6db800b01fb
MISC metadata.xml 825 BLAKE2B 380d7acae6669eb133e4e430cc4df85e9ee43798e836c60b26a7b06a0e550f01f007bbab93d7ce0d5eb53e4b32c3d0c30fb9d0593513c30111dd23686d58fa84 SHA512 01b64b0a2dd969d19014db69d0b58c019c6aeca6b8fac60d7591ddd817fe0a75d64e6f84b8c08c5de2f8de75b8750a5803246c48d407f91c4c69433264b5bda1
diff --git a/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild
new file mode 100644
index 000000000000..4c808e1dce9f
--- /dev/null
+++ b/app-emulation/virtualbox-kvm/virtualbox-kvm-7.0.14_pre20240502.ebuild
@@ -0,0 +1,767 @@
+# 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
+
+PATCHES_PV="7.0.14"
+ORIGIN_PN="VirtualBox"
+ORIGIN_PV=${PATCHES_PV}
+
+MY_PN=virtualbox
+MY_PV=${PV#*_pre}
+
+PATCHES_DIR="${WORKDIR}"/${PN}-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/ https://github.com/cyberus-technology/virtualbox-kvm"
+SRC_URI="https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2"
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+
+ ORIGIN_PV=${PATCHES_PV}
+ EGIT_REPO_URI="https://github.com/cyberus-technology/virtualbox-kvm"
+else
+ ORIGIN_PV=${PV%_pre*}
+ PATCHES_DIR="${WORKDIR}"/${PN}-dev-${MY_PV}
+ SRC_URI+=" https://github.com/cyberus-technology/virtualbox-kvm/archive/dev-${MY_PV}.tar.gz -> ${P}.tar.gz"
+fi
+MY_P=${ORIGIN_PN}-${ORIGIN_PV}
+SRC_URI+="
+ https://download.virtualbox.org/virtualbox/${ORIGIN_PV}/${MY_P}.tar.bz2
+ gui? ( !doc? ( https://dev.gentoo.org/~ceamac/${CATEGORY}/${MY_PN}/${MY_PN}-help-${ORIGIN_PV}.tar.xz ) )
+"
+S="${WORKDIR}/${ORIGIN_PN}-${ORIGIN_PV}"
+
+LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
+SLOT="0"
+IUSE="alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl +udev vboxwebsrv vde vnc"
+
+unset WATCOM #856769
+
+COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ acct-group/vboxusers
+ 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 )
+ 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="
+ !app-emulation/virtualbox
+ ${COMMON_DEPEND}
+ gui? ( x11-libs/libxcb:= )
+ java? ( virtual/jre:1.8 )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=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 )
+"
+
+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 )
+ vboxwebsrv? ( java )
+ ${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+ # Downloaded patchset
+ "${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
+ "${PATCHES_DIR}"/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 python; then
+ einfo "You have disabled the \"python\" USE flag. This will only"
+ einfo "disable the python bindings being installed."
+ 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
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ [[ ${PV} == *9999* ]] && git-r3_src_unpack
+ default
+}
+
+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}"/${MY_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}"/${MY_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
+ --with-kvm
+
+ # this is required for kvm to work.
+ # also this prohibits installation with suid.
+ --disable-hardening
+
+ $(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 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
+
+ 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)/${MY_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}/${MY_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}/${MY_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
+
+ for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+ vbox_inst ${each} 0750
+ 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 0750
+ 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 0750
+ 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
+
+ newmenu ${MY_PN}.desktop ${PN}.desktop
+
+ pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+ for size in 16 32 48 64 128 ; do
+ newicon -s ${size} ${MY_PN}-${size}px.png ${PN}.png
+ done
+ newicon ${MY_PN}-48px.png ${PN}.png
+ newicon -s scalable ${MY_PN}.svg ${PN}.png
+ 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="${MY_PN}-${ico}-${size}px.png"
+ if [[ -f "${icofile}" ]]; then
+ newicon -s ${size} ${icofile} ${MY_PN}-${ico}.png
+ fi
+ done
+ done
+ popd &>/dev/null || die
+ fi
+
+ if use lvm; then
+ vbox_inst VBoxVolInfo 0750
+ 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)/${MY_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}/UserManual.q{ch,hc}
+ elif use gui; then
+ dodoc "${WORKDIR}"/${MY_PN}-help-${ORIGIN_PV}/UserManual.q{ch,hc}
+ docompress -x /usr/share/doc/${PF}/UserManual.q{ch,hc}
+ fi
+ dodoc ${PATCHES_DIR}/README.*
+
+ 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
+ python_doscript vboxshell.py
+
+ # do not install the installer
+ rm -r "${installer_dir}" || die
+ fi
+
+ newtmpfiles "${FILESDIR}"/${MY_PN}-vboxusb_tmpfilesd virtualbox-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/${ORIGIN_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 ${MY_PN}."
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ use udev && udev_reload
+}