diff options
Diffstat (limited to 'app-emulation')
67 files changed, 4125 insertions, 398 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex abaa86932364..bb94202da74d 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz diff --git a/app-emulation/cloud-init/Manifest b/app-emulation/cloud-init/Manifest index 349dafa4552b..31c69cf40af5 100644 --- a/app-emulation/cloud-init/Manifest +++ b/app-emulation/cloud-init/Manifest @@ -1,8 +1,6 @@ -DIST cloud-init-22.2.2.tar.gz 1349451 BLAKE2B fdb6669e9762984614fefe787834f20f056345d304327679fa8bc7b4d6566509a23ecc4a7ac4e6368b9b9078a72fe6fe35533a67e7aeb0c0accbf5ad014f8aae SHA512 18b75ebbb5e808e19df5ceddb6402cc881c33443fb169f736f54837254ba43836994f2392a26febbd8df3342b3467ee72759b6942cfeb96d07c0e452c11dd0bf -DIST cloud-init-22.4.tar.gz 1494295 BLAKE2B 5f961c895c0d6c78a7cee47d2b52acd57d959baeb5172cea89d75ffe23424e3a8a3170a0ecdcad729c6cb0c898477ea94c43a5f8bdf200fc3f122c32fdb2e96d SHA512 6151d1d5e4be241219cb5804ca2bad2dd790f366bc847d286a8840faad1fb4adf5d780c9418ce574c2cfcefc16851a49961f33c5da1fbc84bb8299cf138bfcfc DIST cloud-init-23.4.tar.gz 1648908 BLAKE2B 0acec9c437c7a5a86ed9cd8718830a7311c257ae9f223a68959b8d1eccc693b35f6a716de5c04112d848c1e2e54f6461a3919fd733debba18989145f6669d359 SHA512 34966b173571764bf83779bef0e89a86971310ff0fa62feceef4fbe17c9fa6d1b69f11f57caaa32cc4ae4a74f598f157dfb3ce356221044666401230cfb1ad13 -EBUILD cloud-init-22.2.2.ebuild 2349 BLAKE2B 7d07d812fd91251e685abc7896c27d37f6b73c8fe6459fbb844e009fac79b29621f4f6dfc1e5f53f62dea78f3e49ebf44fc27ba486e3d0df0ba59978a60e3608 SHA512 561c83ee47dbb3ea4c6265cfcf79b10e9feff76a1ed3c9a7cc6d09e7b1cb730e3684c89bc12eff0d3cd943cc0529aad469aeedf2a953f86782cbe363d6103982 -EBUILD cloud-init-22.4.ebuild 2360 BLAKE2B 40394aaadaacb9b629b521f612aac61bb995f4d179c324ed20f5fcd479d42356af2ec1a8f5476cbed047d8d590a4c2925aeac42b16f8701eef526c72a1b5da58 SHA512 a9a56b8d950bb123b4dc634da1b532ab529c963433e0295b9c5e03536abe288f51cfa37cb3a4d0720fdfae199d20e73c85d6f860e8b0fa9dd6d4ba9a39616f92 -EBUILD cloud-init-23.4.ebuild 2364 BLAKE2B a9a9989139ac462dfd1946adf8fb40c84ea60450477db2201d0264d1b79b1e01d57ee72ba3152b534708da9bc1ce8993685de0dc379f8e1c1a9c6a24d5f54aba SHA512 4c46248313482d5d774d2401cad716e860987dc6b6219100116de6209e0194c60e2192457573c73237600d31b56d3f90c8811f861f18f671692bfb184d0904d4 -EBUILD cloud-init-9999.ebuild 2327 BLAKE2B 3da5e804a5e009d0cb3181c9e70bcf9a3dbbcb234fbc0f29fc3418d467ec09aa98ee101f9562ac792f03a6ea0c2e0eaea40d1d7f6f4d51bd5417f16a5bd5dfac SHA512 7f5179f3c0d3433415f9a84b744fda5b09d6feb8b2bdb4bf134f27e23ebde917baae5ebdaa482e68e65da433031160b644268e7c90660fecc796622ca1a97610 +DIST cloud-init-24.2.tar.gz 1786275 BLAKE2B 21f5209a77ef401d12271f6ea695d84065b22f40b7273dd8709dee5fadc7038a0f59a9a3dd53b73812a44a603b5cdc7fb36b71fcdb1f2d4295d87d2cc6069fcd SHA512 72de351b3e978e01a4695b58987d942cc1b2faee749ac0df2024a839e0e1539c9b1f0a9e5cf1930e33c36344d152b7580cfe2dd55f95ad4f669df9b4dda4648d +EBUILD cloud-init-23.4.ebuild 2361 BLAKE2B b47b60fbe5091c053e066276edbc3757d1f205f9f1faed0e2d84ad5bf6840228cd8bd1347295e4fe112df637e13d346da2f8eb48a92c8dae7f5e7f97722413d1 SHA512 97817f130f6a0a70a37bba32ef6ee140e03a20b32553557294b12fe2cc0dc5cb794fe362bb31ea7c7c868a9ede49fa9e8394d3789fe9abe4fe34f08141d0e463 +EBUILD cloud-init-24.2.ebuild 2497 BLAKE2B fe1b45ba825dfcbc99e471bcf311eb8780d56d0eb0878aa7efc917d5e33b1b39e70af2936115397c5bcc0245d345f7f8df1276066023e6916303470527560366 SHA512 5dfc6ac278775724a595549e011a954524b670ce86abd8fa01630170c68aa03febe9cd1803b9f2089b7c461c85881511451f64ccdfc82b44ce254fa22f9ccb8f +EBUILD cloud-init-9999.ebuild 2497 BLAKE2B fe1b45ba825dfcbc99e471bcf311eb8780d56d0eb0878aa7efc917d5e33b1b39e70af2936115397c5bcc0245d345f7f8df1276066023e6916303470527560366 SHA512 5dfc6ac278775724a595549e011a954524b670ce86abd8fa01630170c68aa03febe9cd1803b9f2089b7c461c85881511451f64ccdfc82b44ce254fa22f9ccb8f MISC metadata.xml 714 BLAKE2B 22888016216cea9e471f7cef63e94022c344961263a3319508d5b23db64eeaaeb34a470fc51482bf7a0a4cb658dd814f5655393ee4498a7212ccec28caee5256 SHA512 3bd7be60f29d5a1e4a830577c0afc8c5925123f1258a78b82dbc36c8f76f096149db8bcebfaf3b6db5feeab0bc82ccb65d7d71ec12feb4f56027f05eeb930401 diff --git a/app-emulation/cloud-init/cloud-init-22.4.ebuild b/app-emulation/cloud-init/cloud-init-22.4.ebuild deleted file mode 100644 index 839d6105a832..000000000000 --- a/app-emulation/cloud-init/cloud-init-22.4.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Disabled for now: bug #850628 -# https://bugs.launchpad.net/cloud-init/+bug/1978328 -#DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_10 python3_11 ) - -inherit distutils-r1 udev - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://git.launchpad.net/cloud-init" -else - SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - KEYWORDS="amd64 arm64 ppc64 x86" -fi - -DESCRIPTION="Cloud instance initialisation magic" -HOMEPAGE="https://launchpad.net/cloud-init" - -LICENSE="GPL-3" -SLOT="0" -IUSE="selinux test" -RESTRICT="!test? ( test )" - -CDEPEND=" - dev-python/jinja[${PYTHON_USEDEP}] - dev-python/oauthlib[${PYTHON_USEDEP}] - dev-python/pyserial[${PYTHON_USEDEP}] - >=dev-python/configobj-5.0.2[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/jsonpatch[${PYTHON_USEDEP}] - dev-python/jsonschema[${PYTHON_USEDEP}] - dev-python/netifaces[${PYTHON_USEDEP}] -" -BDEPEND=" - ${CDEPEND} - test? ( - >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - dev-python/pytest-mock[${PYTHON_USEDEP}] - dev-python/responses[${PYTHON_USEDEP}] - dev-python/setuptools[${PYTHON_USEDEP}] - ) -" -RDEPEND=" - ${CDEPEND} - net-analyzer/macchanger - sys-apps/iproute2 - sys-fs/growpart - virtual/logger - selinux? ( sec-policy/selinux-cloudinit ) -" - -distutils_enable_tests pytest - -python_prepare_all() { - # Fix location of documentation installation - sed -i "s:USR + '/share/doc/cloud-init:USR + '/share/doc/${PF}:" setup.py || die - - if [[ ${PV} == *9999 ]] ; then - sed -i 's/version=get_version(),/version=9999,/g' setup.py || die - fi - distutils-r1_python_prepare_all -} - -python_install() { - distutils-r1_python_install --init-system=sysvinit_openrc,systemd --distro gentoo -} - -python_install_all() { - keepdir /etc/cloud - - distutils-r1_python_install_all - - # installs as non-executable - chmod +x "${D}"/etc/init.d/* || die -} - -pkg_prerm() { - udev_reload -} - -pkg_postinst() { - udev_reload - - elog "cloud-init-local needs to be run in the boot runlevel because it" - elog "modifies services in the default runlevel. When a runlevel is started" - elog "it is cached, so modifications that happen to the current runlevel" - elog "while you are in it are not acted upon." -} diff --git a/app-emulation/cloud-init/cloud-init-23.4.ebuild b/app-emulation/cloud-init/cloud-init-23.4.ebuild index d9af1ace0ad9..2e3478cac607 100644 --- a/app-emulation/cloud-init/cloud-init-23.4.ebuild +++ b/app-emulation/cloud-init/cloud-init-23.4.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://git.launchpad.net/cloud-init" else SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" + KEYWORDS="amd64 arm64 ppc64 x86" fi DESCRIPTION="Cloud instance initialisation magic" diff --git a/app-emulation/cloud-init/cloud-init-22.2.2.ebuild b/app-emulation/cloud-init/cloud-init-24.2.ebuild index a1d0ec08c413..a5af2bf3bfc1 100644 --- a/app-emulation/cloud-init/cloud-init-22.2.2.ebuild +++ b/app-emulation/cloud-init/cloud-init-24.2.ebuild @@ -1,12 +1,12 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 # Disabled for now: bug #850628 -# https://bugs.launchpad.net/cloud-init/+bug/1978328 #DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_10 ) +# https://bugs.launchpad.net/cloud-init/+bug/1978328 +PYTHON_COMPAT=( python3_10 python3_11 python3_12 ) inherit distutils-r1 udev @@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://git.launchpad.net/cloud-init" else SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - KEYWORDS="amd64 arm64 ppc64 x86" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" fi DESCRIPTION="Cloud instance initialisation magic" @@ -23,8 +23,7 @@ HOMEPAGE="https://launchpad.net/cloud-init" LICENSE="GPL-3" SLOT="0" -IUSE="selinux test" -RESTRICT="!test? ( test )" +IUSE="selinux" CDEPEND=" dev-python/jinja[${PYTHON_USEDEP}] @@ -40,8 +39,8 @@ CDEPEND=" BDEPEND=" ${CDEPEND} test? ( - >=dev-python/httpretty-0.7.1[${PYTHON_USEDEP}] dev-python/mock[${PYTHON_USEDEP}] + dev-python/passlib[${PYTHON_USEDEP}] dev-python/pytest-mock[${PYTHON_USEDEP}] dev-python/responses[${PYTHON_USEDEP}] dev-python/setuptools[${PYTHON_USEDEP}] @@ -56,6 +55,12 @@ RDEPEND=" selinux? ( sec-policy/selinux-cloudinit ) " +EPYTEST_IGNORE=( + # Can't find file + tests/unittests/config/test_apt_configure_sources_list_v1.py + tests/unittests/config/test_apt_configure_sources_list_v3.py +) + distutils_enable_tests pytest python_prepare_all() { @@ -65,6 +70,7 @@ python_prepare_all() { if [[ ${PV} == *9999 ]] ; then sed -i 's/version=get_version(),/version=9999,/g' setup.py || die fi + distutils-r1_python_prepare_all } diff --git a/app-emulation/cloud-init/cloud-init-9999.ebuild b/app-emulation/cloud-init/cloud-init-9999.ebuild index 7bb69ee6336a..a5af2bf3bfc1 100644 --- a/app-emulation/cloud-init/cloud-init-9999.ebuild +++ b/app-emulation/cloud-init/cloud-init-9999.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://git.launchpad.net/cloud-init" else SRC_URI="https://launchpad.net/${PN}/trunk/${PV}/+download/${P}.tar.gz" - KEYWORDS="~amd64 ~arm64 ~x86" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" fi DESCRIPTION="Cloud instance initialisation magic" @@ -55,6 +55,12 @@ RDEPEND=" selinux? ( sec-policy/selinux-cloudinit ) " +EPYTEST_IGNORE=( + # Can't find file + tests/unittests/config/test_apt_configure_sources_list_v1.py + tests/unittests/config/test_apt_configure_sources_list_v3.py +) + distutils_enable_tests pytest python_prepare_all() { diff --git a/app-emulation/dxvk/Manifest b/app-emulation/dxvk/Manifest index 46795672d5f8..efee674c7089 100644 --- a/app-emulation/dxvk/Manifest +++ b/app-emulation/dxvk/Manifest @@ -1,13 +1,16 @@ AUX dxvk-1.10.3-gcc13.patch 398 BLAKE2B 48b1f18b8368a7dccdd479df8c37b6667fe918f4c47846e0c9e7bb5f04746fbb773decabd905a4877e1bea42ab9af88d042f667272969e0bda7d44f215d78938 SHA512 e3b84263641c3abb34c31721b29eaa314f02bbd15e1ee5b3e3cefd51f57f9123b2cbb32174ed1806dcb03994ee3db8df3282d5f4791d8f1188c09f7c55cbf113 AUX dxvk-1.10.3-wow64-setup.patch 579 BLAKE2B bebc84f2cdcc32da5cd55db4041a26dd469175932536c02dc1049c95a259e6ab3a59dde507b04c8a29055ac0d8c2c96c2732efa81b5bf5b13c54300732e3d3a4 SHA512 1364feec383902e81a855929273126d519b0033064482a0662eda92569657b1a932bd8bd2584395a746bf14e443d9a9c2d75bf484bbb80654536a6c315ffa5dc AUX dxvk-2.3.1-gcc14.patch 167 BLAKE2B 3a52e5c02c145dd8732993f540db239ba8d9ef7b3d5546b90b1f64530700f7498e435a0acd0f9faee36138038f9aa374ec2fcf3e154be175892ce4d16b9ae2c5 SHA512 c3c2c16b0adcfbfff23a81c9bca02cc03954536366797688c5cce9e2a0b7dd14a904950e9b4e25a95e10da2a72044c1d6d214831fa639a4705cad46b9a282757 +AUX dxvk-2.4-d3d8-setup.patch 220 BLAKE2B 7f21542907d02e2924595aaff32709882149137b97b2e00bb0196293315dd04b7f72fbd2cd4d0ffc6b28ca1ef2c5047b29039ef3d2a0cc953439307e5ecb0ef6 SHA512 ec510f45686f5222044486e659729b3126aed58a9e66dfd72434e44255ea3507b19e53111e7c430fe96f3058847a3fd32a8f903f3cee1e2ce45ab11bd9f2f2f7 DIST dxvk-1.10.3.tar.gz 1204407 BLAKE2B 3507ffe4abf9c45f2a138b05e7cf706322a6bf3d2e9ae86a9d6216b206c09f79eac696ee7dfe33d0bef55e727f51301c36eb89bfa3b3f429d7d5fafc1eebdcb4 SHA512 8995b231b3f3650beda04c01f30186d10a373075a4774b4ecbfb3bbeb4de99c57555f1db0611e5c61c6a411a7215e0faf228f9861f6b7adae6fc365e8056f7e3 DIST dxvk-2.3.1.tar.gz 1005669 BLAKE2B d78448fcde9d600f7206dfa606fca4069e7563bb8b181fbc172691d6c45586904ae529550926a03612ed3cc1f2a2dff00990638125c1d7ce6179d3cd3ba8df04 SHA512 085567ac263872eb93d776ce7cf982690603e240a977dbb51ad69344af387fd745536ca62819afd4a809732a6f2d22b36c3df9538decf37dec527973d41e392f +DIST dxvk-2.4.tar.gz 1052380 BLAKE2B d27795747c313dd93a399b82a78bb8349efcac91df9b138f1349ad9e030450980f1ce57f2b912cb13913a9b52f380967e05aab05c92071c0ceea5ab850aba479 SHA512 2db5a9a0c0a47e1db33cc938ecae40f1f24b60cfa1cc381ebab96aa0a2b4d9574947ed0c90a28fda15fe6fa1cbb560559f11b2f5c116e579fe7b9ff41c2f0f78 DIST libdisplay-info-275e6459c7ab1ddd4b125f28d0440716e4888078.tar.bz2 81172 BLAKE2B 7a1e9e2feeb95e06e9d3f49ad9d14a8a152cca525085e819cda0b69c238fb79dddd6d547cd0f0a4b51dfc1ec74ac4c006345b9fc48563807bc8ab3bab58ea5ff SHA512 794e94e8c16d65901a7b705d1ba3361817b4e9e19e520b1004bcab232d0347f5713594d67f3c2b79d4f86b3012e710c648975547d27a63de043fcbe9e6b7e66d DIST setup_dxvk.sh 4631 BLAKE2B 25270e1f6dfd446b1d124eac3bd19da8bc770527d02d987949fc3ae0bead07866dafa25f77a90b9a408413a724354a29a4a156ff5c9dc75e26b66e079824ec86 SHA512 257fd84e29a7037f04a1a2a506502c71d527af58f8c84d8c3dfb64597ebdc41c3dca362eaf20ab4bc1982b76428c1f843815d56a6e1369d072e0009e270cb121 DIST spirv-headers-8b246ff75c6615ba4532fe4fde20f1be090c3764.tar.gz 472513 BLAKE2B f1ad7e11c306c62509655eb41d74efc5fb88688780d006c6944844e964b339baa000f70e115c4df2947e882c9ac33186e301b31138c38fe5f997f7af7260f521 SHA512 fe1d9d70b217b194c92dd397bca386ce8452bc5ec3967d64a257b3a531386fe6a6ecb5e9ed8ab5bc5a2707c5378f02f05809d6d197dcfb3f87cd33304c3b1959 DIST vulkan-headers-46dc0f6e514f5730784bb2cac2a7c731636839e8.tar.gz 2255426 BLAKE2B efaf09df3274586c4df2bdd0b1dd9dd43b3b6125e0033ae87af999aea64709e9758bc7b675398b480ae063e28273732d768062d97f6cd61d63ccc798ca7410a5 SHA512 7ea993f7c8ff72dc6bedbfdaced29782ab372228e9111f747d931955e832a7920114f5d1953ecd34d220634a53449ca2ed4c0ed28d3165e258c4d9fafd0aa4be EBUILD dxvk-1.10.3-r1.ebuild 4988 BLAKE2B c1a07a25db7117285e6d0ba5bddcc5b9690b9171bf1c887547f6a9e9804bc3366b325859ac4f4d439b702ea38e96c51b5067cc21c354bd98a324430a2166b527 SHA512 8566dad60c3a8cc4e996bd8d1430ad7a62db5eae2860b635a998ea7c87c7f8a9fd2f268b1f736d27addbb3c408dac6ffb7f3993a02fb16d42b9c238f2692a945 EBUILD dxvk-2.3.1-r1.ebuild 6667 BLAKE2B ac8620ba4b92cfa33c88db128f98304df7060dcdbaddcff8a570ebe9b2a5e9e6a5ab559088b2d2c30254160bfdc91f414a942421bddf387330f72721eedced08 SHA512 ce8129e47bd4a1a8431e052fc60e831ef6fd692d970d430fc4b111d71b4130915967679d8a96d4ba9c4647826dc34c924b585e3b07db67abb78c6b5e1b458de5 -EBUILD dxvk-9999.ebuild 6549 BLAKE2B d0e68377bd19a7ccac56300c8efea0f24b0f7b97ac701237c689077c18ddb32e34a7e669290b8cd8006c42b21e5145523b56eb90b00cbebefa76c70dd16cb322 SHA512 20b240c5994af20dcb4ca6e032e62e3f964d2fb9c26e2364743fc5e6c479a759d87a9f96083b2eca2908bf20d81d1bafa7a407af3b40bd04e07eb91ae8da8f88 -MISC metadata.xml 818 BLAKE2B 88081c074b99329c925174de4b7ff9b2c220ffc67eb64a5324f4eaf2a35f98f06c9978ddc0e929ba76b341a389a8eff025b7aa0a2414e3f7ae496c44a023c65c SHA512 90d76ac3df3abe003371cd25b9cf0e6570a53b371349fb2e048cae1818e51f0482e17b3d5490eb82c57d891bb43c4a7cd41530101b888591719c33c566788e3b +EBUILD dxvk-2.4.ebuild 6106 BLAKE2B 4024ee9d4b5b9f6c5d68d9920dfe6e6c409984d961edcda445733fc190b45ea37e6c66d39d47617903bba33c4d7f0d6daa292685f64b4d5dcf551623d6e08021 SHA512 a913db008ede919db04fc08cea0e9b76a90938ba74fe3164b072f507be0d14d70fc7a174a150f3e79ac0f3e9ff1568969e5faf9e417d75db3b65be2b08efb02c +EBUILD dxvk-9999.ebuild 5986 BLAKE2B c34bad89ec8e21732e8f618821ef25ca3dc454eaa5ae4f4e173052ad422c82258883ffa1e3d4ff5a6ff3630eb52eced2fef6e577ccb9ea2fa6793ac31e99f5f6 SHA512 674a028571ed3ea6fdd49d0fa2775ebd40e3d9f42a1ba369911f8fed252bebd40d73e3ea98670fab8801c88b3addcb5bcd9910f02d1be60f07af91d12e89d1ee +MISC metadata.xml 885 BLAKE2B c21b9383a626cfea8b758d171ebbe7180d7a0dc09da611ad5f05b3e877f4051e33544e29c9c5e58fa20143bf724d8d27da9279bcf49e3465a7aa6cb7eeca4eb1 SHA512 3ad1138cbe63473b6da56d73214913e9a3e68d270e1df01fa4202e76a6efe35c6971595660724e30b16db31fba404441bc36b075e2197944a699c436ed60ebb8 diff --git a/app-emulation/dxvk/dxvk-2.4.ebuild b/app-emulation/dxvk/dxvk-2.4.ebuild new file mode 100644 index 000000000000..b29fad2d8a7f --- /dev/null +++ b/app-emulation/dxvk/dxvk-2.4.ebuild @@ -0,0 +1,182 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..13} ) +MULTILIB_ABIS="amd64 x86" # allow usage on /no-multilib/ +MULTILIB_COMPAT=( abi_x86_{32,64} ) +inherit flag-o-matic meson-multilib python-any-r1 + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/doitsujin/dxvk.git" + EGIT_SUBMODULES=( + # picky about headers and is cross-compiled making -I/usr/include troublesome + include/{spirv,vulkan} + subprojects/libdisplay-info + ) +else + HASH_SPIRV=8b246ff75c6615ba4532fe4fde20f1be090c3764 + HASH_VULKAN=46dc0f6e514f5730784bb2cac2a7c731636839e8 + HASH_DISPLAYINFO=275e6459c7ab1ddd4b125f28d0440716e4888078 + SRC_URI=" + https://github.com/doitsujin/dxvk/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/KhronosGroup/SPIRV-Headers/archive/${HASH_SPIRV}.tar.gz + -> spirv-headers-${HASH_SPIRV}.tar.gz + https://github.com/KhronosGroup/Vulkan-Headers/archive/${HASH_VULKAN}.tar.gz + -> vulkan-headers-${HASH_VULKAN}.tar.gz + https://gitlab.freedesktop.org/JoshuaAshton/libdisplay-info/-/archive/${HASH_DISPLAYINFO}/libdisplay-info-${HASH_DISPLAYINFO}.tar.bz2 + " + KEYWORDS="-* ~amd64 ~x86" +fi + +DESCRIPTION="Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine" +HOMEPAGE="https://github.com/doitsujin/dxvk/" + +# setup_dxvk.sh is no longer provided, fetch old until a better solution +SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/setup_dxvk.sh" + +LICENSE="ZLIB Apache-2.0 MIT" +SLOT="0" +IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip" +REQUIRED_USE=" + || ( d3d8 d3d9 d3d10 d3d11 dxgi ) + d3d8? ( d3d9 ) + d3d10? ( d3d11 ) + d3d11? ( dxgi ) +" + +BDEPEND=" + ${PYTHON_DEPS} + dev-util/glslang + !crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch + "${FILESDIR}"/${PN}-2.3.1-gcc14.patch + "${FILESDIR}"/${PN}-2.4-d3d8-setup.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} == binary ]] && return + + if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then + local tool=-w64-mingw32-g++ + for tool in $(usev abi_x86_64 x86_64${tool}) $(usev abi_x86_32 i686${tool}); do + if ! type -P ${tool} >/dev/null; then + eerror "With USE=crossdev-mingw, it is necessary to setup the mingw toolchain." + eerror "For instructions, please see: https://wiki.gentoo.org/wiki/Mingw" + use abi_x86_32 && use abi_x86_64 && + eerror "Also, with USE=abi_x86_32, will need both i686 and x86_64 toolchains." + die "USE=crossdev-mingw is set but ${tool} was not found" + elif [[ ! $(LC_ALL=C ${tool} -v 2>&1) =~ "Thread model: posix" ]]; then + eerror "${PN} requires GCC to be built with --enable-threads=posix" + eerror "Please see: https://wiki.gentoo.org/wiki/Mingw#POSIX_threads_for_Windows" + die "USE=crossdev-mingw is set but ${tool} does not use POSIX threads" + fi + done + fi +} + +src_prepare() { + if [[ ${PV} != 9999 ]]; then + rmdir include/{spirv,vulkan} subprojects/libdisplay-info || die + mv ../SPIRV-Headers-${HASH_SPIRV} include/spirv || die + mv ../Vulkan-Headers-${HASH_VULKAN} include/vulkan || die + mv ../libdisplay-info-${HASH_DISPLAYINFO} subprojects/libdisplay-info || die + fi + cp -- "${DISTDIR}"/setup_dxvk.sh . || die + + default + + sed -i "/^basedir=/s|=.*|=${EPREFIX}/usr/lib/${PN}|" setup_dxvk.sh || die +} + +src_configure() { + use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} + + # random segfaults been reported with LTO in some games, filter as + # a safety (note that optimizing this further won't really help + # performance, GPU does the actual work) + filter-lto + + # -mavx with mingw-gcc has a history of obscure issues and + # disabling is seen as safer, e.g. `WINEARCH=win32 winecfg` + # crashes with -march=skylake >=wine-8.10, similar issues with + # znver4: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110273 + append-flags -mno-avx + + if [[ ${CHOST} != *-mingw* ]]; then + if [[ ! -v MINGW_BYPASS ]]; then + unset AR CC CXX RC STRIP + filter-flags '-fuse-ld=*' + filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' #928038 + fi + + CHOST_amd64=x86_64-w64-mingw32 + CHOST_x86=i686-w64-mingw32 + CHOST=$(usex x86 ${CHOST_x86} ${CHOST_amd64}) + + strip-unsupported-flags + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + # multilib's ${CHOST_amd64}-gcc -m32 is unusable with crossdev, + # unset again so meson eclass will set ${CHOST}-gcc + others + use crossdev-mingw && [[ ! -v MINGW_BYPASS ]] && unset AR CC CXX RC STRIP + + local emesonargs=( + --prefix="${EPREFIX}"/usr/lib/${PN} + --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2} + --force-fallback-for=libdisplay-info # system's is ELF (unusable) + $(meson_use {,enable_}d3d8) + $(meson_use {,enable_}d3d9) + $(meson_use {,enable_}d3d10) + $(meson_use {,enable_}d3d11) + $(meson_use {,enable_}dxgi) + $(usev strip --strip) # portage won't strip .dll, so allow it here + ) + + meson_src_configure +} + +multilib_src_install_all() { + dobin setup_dxvk.sh + dodoc README.md dxvk.conf + + find "${ED}" -type f -name '*.a' -delete || die +} + +pkg_postinst() { + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog "To enable ${PN} on a wine prefix, you can run the following command:" + elog + elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink" + elog + elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details." + elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was" + elog "removed upstream, handling may change in the future." + fi + + if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] && + ver_test ${REPLACING_VERSIONS##* } -lt 2.4 + then + elog + elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to" + elog "update old wine prefixes which is typically done by re-running:" + elog + elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink" + elog + fi +} diff --git a/app-emulation/dxvk/dxvk-9999.ebuild b/app-emulation/dxvk/dxvk-9999.ebuild index 9db73b208248..9fe577d2f13b 100644 --- a/app-emulation/dxvk/dxvk-9999.ebuild +++ b/app-emulation/dxvk/dxvk-9999.ebuild @@ -40,9 +40,10 @@ SRC_URI+=" https://raw.githubusercontent.com/doitsujin/dxvk/cd21cd7fa3b0df3e0819 LICENSE="ZLIB Apache-2.0 MIT" SLOT="0" -IUSE="+abi_x86_32 crossdev-mingw +d3d9 +d3d10 +d3d11 +dxgi +strip" +IUSE="+abi_x86_32 crossdev-mingw +d3d8 +d3d9 +d3d10 +d3d11 +dxgi +strip" REQUIRED_USE=" - || ( d3d9 d3d10 d3d11 dxgi ) + || ( d3d8 d3d9 d3d10 d3d11 dxgi ) + d3d8? ( d3d9 ) d3d10? ( d3d11 ) d3d11? ( dxgi ) " @@ -56,6 +57,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-1.10.3-wow64-setup.patch "${FILESDIR}"/${PN}-2.3.1-gcc14.patch + "${FILESDIR}"/${PN}-2.4-d3d8-setup.patch ) pkg_pretend() { @@ -138,6 +140,7 @@ multilib_src_configure() { --prefix="${EPREFIX}"/usr/lib/${PN} --{bin,lib}dir=x${MULTILIB_ABI_FLAG: -2} --force-fallback-for=libdisplay-info # system's is ELF (unusable) + $(meson_use {,enable_}d3d8) $(meson_use {,enable_}d3d9) $(meson_use {,enable_}d3d10) $(meson_use {,enable_}d3d11) @@ -155,10 +158,6 @@ multilib_src_install_all() { find "${ED}" -type f -name '*.a' -delete || die } -pkg_preinst() { - [[ -e ${EROOT}/usr/$(get_libdir)/dxvk/d3d11.dll ]] && DXVK_HAD_OVERLAY= -} - pkg_postinst() { if [[ ! ${REPLACING_VERSIONS} ]]; then elog "To enable ${PN} on a wine prefix, you can run the following command:" @@ -168,24 +167,16 @@ pkg_postinst() { elog "See ${EROOT}/usr/share/doc/${PF}/README.md* for details." elog "Note: setup_dxvk.sh is unofficially temporarily provided as it was" elog "removed upstream, handling may change in the future." - elif [[ -v DXVK_HAD_OVERLAY ]]; then - # temporary warning until this version is more widely used - elog "Gentoo's main repo ebuild for ${PN} uses different paths than most overlays." - elog "If you were using symbolic links in wine prefixes it may be necessary to" - elog "refresh them by re-running the command:" - elog - elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink" - elog - elog "Also, if you were using /etc/${PN}.conf, ${PN} is no longer patched to load" - elog "it. See ${EROOT}/usr/share/doc/${PF}/README.md* for handling configs." fi - if [[ ! ${REPLACING_VERSIONS##* } ]] || - ver_test ${REPLACING_VERSIONS##* } -lt 2.0 + if use d3d8 && [[ ${REPLACING_VERSIONS##* } ]] && + ver_test ${REPLACING_VERSIONS##* } -lt 2.4 then elog - elog ">=${PN}-2.0 requires drivers and Wine to support vulkan-1.3, meaning:" - elog ">=wine-*-7.1 (or >=wine-proton-7.0), and >=mesa-22.0 (or >=nvidia-drivers-510)" - elog "For details, see: https://github.com/doitsujin/dxvk/wiki/Driver-support" + elog ">=${PN}-2.4 now provides d3d8.dll, to make use of it will need to" + elog "update old wine prefixes which is typically done by re-running:" + elog + elog " WINEPREFIX=/path/to/prefix setup_dxvk.sh install --symlink" + elog fi } diff --git a/app-emulation/dxvk/files/dxvk-2.4-d3d8-setup.patch b/app-emulation/dxvk/files/dxvk-2.4-d3d8-setup.patch new file mode 100644 index 000000000000..9a0e15310d96 --- /dev/null +++ b/app-emulation/dxvk/files/dxvk-2.4-d3d8-setup.patch @@ -0,0 +1,8 @@ +Newly added in dxvk-2.4, but the old script does not know about it. +(see also wow64-setup.patch, this script needs a replacement) +--- a/setup_dxvk.sh ++++ b/setup_dxvk.sh +@@ -207,2 +207,3 @@ + ++$action d3d8 + $action d3d9 diff --git a/app-emulation/dxvk/metadata.xml b/app-emulation/dxvk/metadata.xml index 84811f271d8e..bcd095ee95b9 100644 --- a/app-emulation/dxvk/metadata.xml +++ b/app-emulation/dxvk/metadata.xml @@ -10,6 +10,7 @@ Use <pkg>sys-devel/crossdev</pkg> for the toolchain rather than <pkg>dev-util/mingw64-toolchain</pkg> (requires manual setting up) </flag> + <flag name="d3d8">Enable support for DirectX 8 (d3d8.dll)</flag> <flag name="d3d9">Enable support for DirectX 9 (d3d9.dll)</flag> <flag name="d3d10">Enable support for DirectX 10 (d3d10.dll)</flag> <flag name="d3d11">Enable support for DirectX 11 (d3d11.dll)</flag> diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest index 4e077d9d600a..4f957a925eec 100644 --- a/app-emulation/firecracker-bin/Manifest +++ b/app-emulation/firecracker-bin/Manifest @@ -1,10 +1,7 @@ -DIST firecracker-v1.5.1-aarch64.tgz 9086440 BLAKE2B 30777522bdb23e80bc3a025691d50a14411c0ac72fd87e5b9b460f18d0873d0a6423e19e7810afe0ed1324b2b32fc615b525ad9561c1bfea48fc53bdfbb610a5 SHA512 61f7fcf427817eebcd6cb6f046dad29e3a39d382c087418379f4502ef715605e2bb9e3b647233680f44b7e0047a6ca00135011bb929b44c5340bb8b8649fde1a -DIST firecracker-v1.5.1-x86_64.tgz 9411106 BLAKE2B 538b531ce5c8319dee042229a7cc7c44cdd2fc07c58c3089b6c2d29d10ad8a5a78f697b7781ac81bcf8b4127e778895ab72eed9e1e6febd410b6c0509c01ae1e SHA512 63a44fb79e9fb29abfbaa6c96550c5f2f361c3be5e188bb4562b089b4d3f1f4ab3ef60ad3ab163e961857e95090401dc4df859d2dd2a5f1a1372ed663188cfa3 -DIST firecracker-v1.6.0-aarch64.tgz 9105124 BLAKE2B bcc77e6701a4b9c7d80d7e60b13d4945d5f76918cc1741035f26df5af05c4c579802444c90c8972a7985d4df8e10f2b9954b5889eca92f5d95b02751481084db SHA512 71608a46bdb5be5240d4a88e812c13e753d81e4f4813a818ebfd782934add2c3769bd71788f5e2bed1a6e1d9bcfc3a914e018f1682cc6806012c3e283e44f401 -DIST firecracker-v1.6.0-x86_64.tgz 9425451 BLAKE2B bae5eb960c6d575724915cfd4cb50cdc85d6be44b47271a5d68662b7ce86a7356aad215097214b7d32dad9051f385188d83592588be1addc15727c633f10e4d1 SHA512 a00b0d1b8da02b167627169d316b6a88bd44b1f42eb2cbebad5c355485f2456288d2062cb63b1ddc4d636ae8f4fad3a15dc9404b5347e746a7b416758d6507d5 DIST firecracker-v1.7.0-aarch64.tgz 8951358 BLAKE2B 813be9e38e318233b3b574e21e3f07e3eab82eba1a22ca2082a7e2b9312b8022fd288ac4b72dbfa82f8a8ab561e4877553c249913d290b0701773d53a28296a7 SHA512 1b78353e204569acace417a95bfd2075f909205d59c32cbce18438751d5aeaae8ac3e3d3791d153a30337037c01fd6622793aa200a7e21d51f98a886123c545d DIST firecracker-v1.7.0-x86_64.tgz 9038632 BLAKE2B 6473113f2cc8225fdf8fc6f8612874c46fda05c13ebda040b7998554fda3e9cc69fbfae9481dc9e5b3100f05b50a82525810deccebaf45665d67aca7ebc0dc23 SHA512 cca5390c81bb9b78865608729840f12a1e9b9ed072859853e1f2853312dc62a78f0206fa007174c5fc18a7bf7d6e4b905e954ecdf6c3b78782d65e9801a45a0b -EBUILD firecracker-bin-1.5.1.ebuild 2844 BLAKE2B 12205b3bff19d4525d0feaf39d09c895ce0a11e5788ce3e91a1dbcc7ccaa91ffe767452da8e054829579fc9f828f2fe0450b9b0229dcf9959498a4c589b3ba87 SHA512 650cb54fc99ab9e59fc81ec9effab79021e558af12a0bb10dc2b2e8083bdf6ddd3cb7449f54cba3342a79f916bdee7191e7e4f1042ac1da380af910e4e54542b -EBUILD firecracker-bin-1.6.0.ebuild 2844 BLAKE2B 77ce2d062b074370caaf1b5bb42c38667ed223c91cce738c39c0b6eec888d98073901743a07a46ef120f4c93013cef06183a73172f4f5dfcd7d583202f83bc20 SHA512 08c241b57db7423b11f1277194c3090150810c105cf270b6e1251d7fb986417b66ab15ae444e0388d1df19146799dd54520193081057934e60599d7856ada3d4 +DIST firecracker-v1.8.0-aarch64.tgz 7085662 BLAKE2B 5352912fc10e4e41bcfd34c4416f8df30cd055168031510adb7ec7a9f223c101fdde0182aa80702b261fa3c24048d5434102238ddb7322a35f72299dc58a009f SHA512 16ed860c20e269c94082916740a8d9422e8c6683aca5ff2f33b0809592d04a7c48ad38649eb1b29e23dad6ff276d3435550e6421172ef3bb5d5ec819180425d7 +DIST firecracker-v1.8.0-x86_64.tgz 7029237 BLAKE2B 7eac72eaa6a6e87c6503ebafd34c87769034912c52acacc57c2239176418f6830c55682d1c15be2e8f4a3520012685cf54ec4bdf4edca3099cf0e4aa02051c00 SHA512 c78d801cd532aea97a363f9950a13b2b1b713f707a2f54c5d78bdab300654d947131f8f35dc6d21ee71e68632b32c3694a12583ab1a80d277ffc0162316ed2ee EBUILD firecracker-bin-1.7.0.ebuild 2844 BLAKE2B 77ce2d062b074370caaf1b5bb42c38667ed223c91cce738c39c0b6eec888d98073901743a07a46ef120f4c93013cef06183a73172f4f5dfcd7d583202f83bc20 SHA512 08c241b57db7423b11f1277194c3090150810c105cf270b6e1251d7fb986417b66ab15ae444e0388d1df19146799dd54520193081057934e60599d7856ada3d4 +EBUILD firecracker-bin-1.8.0.ebuild 2844 BLAKE2B 88c1fa9ab2a4904e66c943ba900a2b885d0a057e6fb186049823f936c853f83e22c9442d4283edb79a829930a051e997774bb7dd71048245217edda2b55b09b5 SHA512 d3e99819b528bcef6c102575d6d06a995524768625f033654857e2f28fd33e2559be3564972b34f53eb2b236a78be665068de90328dd984fa7209ae754b5a20f MISC metadata.xml 512 BLAKE2B 5088571672374708995301bad5f1427c9f33d89104ca971134bc5fc1afb70a6513a27ec88b938716c538db7ef8ff15b74fc7fce3aa70de49574fdbcd00a81a72 SHA512 dcb061c53e06929eb8ff6850a610ad8df17364089575b7d0f7f7e0a7ff2becb6cd446a666b2015745460f5a33f67e0a6f8df534bb03081866c0fb35bddb3460d diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild deleted file mode 100644 index e280abe72c3d..000000000000 --- a/app-emulation/firecracker-bin/firecracker-bin-1.5.1.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit linux-info - -DESCRIPTION="Secure and fast microVMs for serverless computing (static build)" -HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker" -SRC_URI=" - amd64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz - ) - arm64? ( - https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz - )" - -LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RESTRICT="test strip" - -RDEPEND="acct-group/kvm" - -QA_PREBUILT="usr/bin/cpu-template-helper - usr/bin/firecracker - usr/bin/jailer - usr/bin/rebase-snap - usr/bin/seccompiler-bin - usr/bin/snapshot-editor" - -S="${WORKDIR}" - -pkg_pretend() { - if use kernel_linux && kernel_is lt 4 14; then - eerror "Firecracker requires a host kernel of 4.14 or higher." - elif use kernel_linux; then - if ! linux_config_exists; then - eerror "Unable to check your kernel for KVM support" - else - CONFIG_CHECK="~KVM ~TUN ~BRIDGE" - ERROR_KVM="You must enable KVM in your kernel to continue" - ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" - ERROR_KVM_AMD+=" your kernel configuration." - ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" - ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." - ERROR_TUN="You will need the Universal TUN/TAP driver compiled" - ERROR_TUN+=" into your kernel or loaded as a module to use" - ERROR_TUN+=" virtual network devices." - ERROR_BRIDGE="You will also need support for 802.1d" - ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." - - if use amd64 || use amd64-linux; then - if grep -q AuthenticAMD /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_AMD" - elif grep -q GenuineIntel /proc/cpuinfo; then - CONFIG_CHECK+=" ~KVM_INTEL" - fi - fi - - # Now do the actual checks setup above - check_extra_config - fi - fi -} - -src_compile() { :; } - -src_install() { - local my_arch - if use amd64; then - my_arch=x86_64 - elif use arm64; then - my_arch=aarch64 - fi - - dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml" - dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json" - - newbin "release-v${PV}-${my_arch}/cpu-template-helper-v${PV}-${my_arch}" cpu-template-helper - newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker - newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer - newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap - newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin - newbin "release-v${PV}-${my_arch}/snapshot-editor-v${PV}-${my_arch}" snapshot-editor -} diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.8.0.ebuild index 4e841c1ab26e..37f3ffa69f76 100644 --- a/app-emulation/firecracker-bin/firecracker-bin-1.6.0.ebuild +++ b/app-emulation/firecracker-bin/firecracker-bin-1.8.0.ebuild @@ -15,6 +15,8 @@ SRC_URI=" https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz )" +S="${WORKDIR}" + LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0" SLOT="0" KEYWORDS="~amd64 ~arm64" @@ -30,8 +32,6 @@ QA_PREBUILT="usr/bin/cpu-template-helper usr/bin/seccompiler-bin usr/bin/snapshot-editor" -S="${WORKDIR}" - pkg_pretend() { if use kernel_linux && kernel_is lt 4 14; then eerror "Firecracker requires a host kernel of 4.14 or higher." diff --git a/app-emulation/genymotion-bin/Manifest b/app-emulation/genymotion-bin/Manifest index fe1b7ef377a9..31df694147a8 100644 --- a/app-emulation/genymotion-bin/Manifest +++ b/app-emulation/genymotion-bin/Manifest @@ -1,3 +1,3 @@ -DIST genymotion-3.6.0-linux_x64.bin 103911915 BLAKE2B 2c7174404b29a71174fc04de96285475e1800880f79fb70c455539c2a658a305a4cd8a541c545024c3130458081b5a94e493478a47126905fae5e104afbd3efd SHA512 ff05bb91edf05c38d68e3dec16dd21f6fcc50bf31e03411f46b9a3a71ca3f9139705e54b8650c8ab44295a2ebb49aa262e169faecea1f6bb8dd385785440f245 -EBUILD genymotion-bin-3.6.0.ebuild 4134 BLAKE2B 1f9a0f50cc96e2ec729d4aee65d13c0f70b5d69ba09d60350f50d09beb496782c49c59158a94eb9c4db52561d7cf6e1cd47708fcd2e4024d2a2b15d697b0961b SHA512 edc0ff35d356797d898e556e6a848f75d46f218a8ccf85c182fae2ee459d4fb7e62482be48db6ea69bfe3831a08e8904abb6b694e7b5dd5ad632839f1aa7fd55 +DIST genymotion-3.7.1-linux_x64.bin 103767728 BLAKE2B 08ebd35ed27dc6f197d442752935541cd932a06776c49dc4a2352d2cb2fe746472d658e12d4b2115767752db267d0c5da35e5e3ddcc489eb8a15f88ba6d23d64 SHA512 7a6c91864399ec9e2ee66094b58135c0ffb464eddc46642da225d0929f8247192324a6cb544cfd771bb389bb517c3a92e5da2d19747e0c67284cbd6d6c0b4f5e +EBUILD genymotion-bin-3.7.1.ebuild 4109 BLAKE2B dede0193f18d13023a55793d0fde5c0b3c2500d4d7e0dd8370ca7ef85d0c32dd41115b332effe8ba399d1bdf4525fb504d84493c06fda5f859dd6e3125eae241 SHA512 739af3e0d70ef8188461d3ab5f2600acf3298938bd3e6a61ff72ece8d05f716fd886f6f60b5f580a7e6e90ff43c1c4427639fa0f67aa066894f3522573dec6b0 MISC metadata.xml 402 BLAKE2B ab9053ca959660812f1e1bc536950c0278d23c2906ff0a82483241f16960d2ae6ecd3eff091666df8fef38fdb073a6e3d0a5c8a7c7926426fead769365df49a5 SHA512 785e5acc8811d310b7cd5dc52fe3de6a22d7a92fa81a12db8a16b1df75a83f47ffea4e2fe21a712dabc5c1fff8da4d6f2e49ae0597373fd6e106aa13e81323d3 diff --git a/app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild b/app-emulation/genymotion-bin/genymotion-bin-3.7.1.ebuild index 6de3fe292cc0..f2d0e0a82345 100644 --- a/app-emulation/genymotion-bin/genymotion-bin-3.6.0.ebuild +++ b/app-emulation/genymotion-bin/genymotion-bin-3.7.1.ebuild @@ -10,9 +10,11 @@ MY_P="${MY_PN}-${PV}" BIN_ARCHIVE="${MY_P}-linux_x64.bin" DESCRIPTION="Complete set of tools that provide a virtual environment for Android" -HOMEPAGE="https://genymotion.com" +HOMEPAGE="https://www.genymotion.com" SRC_URI="https://dl.genymotion.com/releases/${MY_P}/${BIN_ARCHIVE}" +S="${WORKDIR}" + LICENSE="genymotion" SLOT="0" KEYWORDS="-* ~amd64" @@ -53,7 +55,6 @@ RDEPEND="app-arch/lz4 BDEPEND="x11-misc/xdg-utils" RESTRICT="bindist mirror" -S="${WORKDIR}" QA_PREBUILT=" opt/${MY_PN}/*.so* @@ -125,22 +126,20 @@ src_install() { insinto /usr/share/zsh/site-functions doins "${MY_PN}/completion/zsh/_gmtool" - if has_version app-emulation/qemu ; then - dodir /opt/"${MY_PN}"/qemu/bin - dosym -r /usr/bin/qemu-system-x86_64 /opt/"${MY_PN}"/qemu/bin/qemu-system-x86_64 - dosym -r /usr/bin/qemu-img /opt/"${MY_PN}"/qemu/bin/qemu-img - fi + dodir /opt/"${MY_PN}"/qemu/bin + dosym -r /usr/bin/qemu-system-x86_64 /opt/"${MY_PN}"/qemu/x86_64/bin/qemu-system-x86_64 + dosym -r /usr/bin/qemu-img /opt/"${MY_PN}"/qemu/x86_64/bin/qemu-img domenu genymobile-genymotion.desktop } pkg_postinst() { - if has_version app-emulation/qemu && ! has_version app-emulation/virtualbox ; then - ewarn "By default Genymotion is configured to work with VirtualBox hypervisor." + if ! has_version app-emulation/qemu && has_version app-emulation/virtualbox ; then + ewarn "By default Genymotion is configured to work with QEMU hypervisor." ewarn "So you should run command:" ewarn "" - ewarn " gmtool config --hypervisor qemu" + ewarn " gmtool config --hypervisor virtualbox" ewarn "" - ewarn "to change hypervisor to QEMU." + ewarn "to change hypervisor to VirtualBox" fi } diff --git a/app-emulation/hercules-sdl/Manifest b/app-emulation/hercules-sdl/Manifest index db987967acdb..9adbfddfa650 100644 --- a/app-emulation/hercules-sdl/Manifest +++ b/app-emulation/hercules-sdl/Manifest @@ -2,6 +2,5 @@ AUX gen_hashes.sh 706 BLAKE2B 85e0f867ea7012a9859f75cf8802ce85b50b23c2a7b48a1179 AUX hercules-sdl-4.4.1-htmldir.patch 774 BLAKE2B 3cf3c50c60059ae0bd042333c2220669f87aa37cf632d1bc2cec738e02ca5f74a2a4302e484a73b6e9df32edb8c4bf2c0a2198c32e1242cab970e4a819c254c1 SHA512 bae45addb0c4f339b93d9709119b7df5d330978e60b982349244b98a72b157f86180454fa82ff9918a082f705a06a379ff3212f59bd5c1777090bb0cf03b9795 AUX hercules-sdl-4.7.0-backport-pr658.patch 1591 BLAKE2B 4959d5d1f59c370d505156f0aec543af11a96e5b4513eb634f9c79aa69e537f854efd5870a710b50d8e2fd882bb33b34d2f7f5b15dab0c71fa503825f4c5b31c SHA512 3d3dcb3b1cb0cf580dff9f720c58a28597dc9ea926b6b3384cbaa88726515a0a25efbcde5a763488fcca0603d951f42702e416abe974c5f981befc3360733ed2 DIST hercules-sdl-4.7.tar.gz 25439384 BLAKE2B 78a8d2df947c80e23d0e956a25a4f009dd32b09f2834cc06373f685badf9f1e657bf0f4e4408c7085371c46085718998076f3a6063caf80c9161b1fa7caa91eb SHA512 9d7060c4e2687358b9547b59b47362d642cbf2bf009085fdd41e485170d0f81029ee3d04d12b905a3a266cd26a9087e92c231c3f4600c32a8535a6140656b7b0 -EBUILD hercules-sdl-4.7.0-r1.ebuild 2678 BLAKE2B 99fc2187abb2729f3749da3d38419d5254bc9574001ef13676a447eb3ffaa8673b9d3c7c052bf541994a562e3326259cd9825e3e7c887d6e99246c21d04c2a7a SHA512 a71847afbd15b79165e2f6dc89effa2fb9dc28fae5d24e3db4cabafeab1aee56e86d46a9b5c9b5c52748738186755b3c93887f54c37e61b02f32a0a659e034b9 -EBUILD hercules-sdl-4.7.0.ebuild 2604 BLAKE2B 916d399a2d0a53ade95495d1788399543ebe41000cb480307af7425c78cfe2adeaa53a753f9e66eedb3786a9d875794f1f44ef15a80653718bc02a8ed01add2d SHA512 1c4242b251e4b4d0ecf84b7e796a242ded35adeb686726bfe4833c0c4c1c69b0705f3216e6a31f24e9876a39b6315d228d65d149d8ca66a08cc77755f27abf47 +EBUILD hercules-sdl-4.7.0-r1.ebuild 2730 BLAKE2B 378e8c9cf94019b4ab0aa8bba8a136563e2a9e8282d863ee7c1be2169504b1dfefd11349c9c413b7dea20b833c0ac82f3bcff3266a8966a2293667a0d3ccd323 SHA512 8d6dd1399542cef2147ba963e92e49ac85ece4d95a1f1a2e34ccd1729d2205a938a18dff7c07068b3aca9f4c00f39a61165d41243eead22ee220347df21f0c41 MISC metadata.xml 1141 BLAKE2B b630c058fe32f2410985e53779d387fc007759f2bd36ad8240a2b6a2157b6c5921cfb4aa14ed3b513e0f787d9838bab46a6ceadd031d33daa2a3190d2ca64095 SHA512 fe090b27c7d46e6a9fee40a9d948f4124814d134cb64ff7f7d7b2d341f1db9313f5d071e5c34a312a3dacbe643c8083ba98a3b0058fa3886b9d024d6ecb17575 diff --git a/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild b/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild index 2067dddd725d..773fa8bde935 100644 --- a/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild +++ b/app-emulation/hercules-sdl/hercules-sdl-4.7.0-r1.ebuild @@ -25,23 +25,26 @@ FILECAPS=( -M 755 cap_net_admin+ep usr/bin/hercifc ) -RDEPEND=" - !app-emulation/hercules +COMMON_DEPEND=" dev-libs/libltdl net-libs/libnsl:0 sys-libs/zlib bzip2? ( app-arch/bzip2 ) object-rexx? ( dev-lang/oorexx ) regina-rexx? ( dev-lang/regina-rexx )" -DEPEND="${RDEPEND} +RDEPEND=" + !app-emulation/hercules + !app-arch/tapeutils + ${COMMON_DEPEND}" +DEPEND=" + ${COMMON_DEPEND} ~app-emulation/hercules-sdl-crypto-${PV} ~app-emulation/hercules-sdl-decnumber-${PV} ~app-emulation/hercules-sdl-softfloat-${PV} ~app-emulation/hercules-sdl-telnet-${PV}" # Neither package support needs to be compiled-in for tests, # but the "rexx" command needs to be available -BDEPEND="${RDEPEND} - test? ( || ( dev-lang/regina-rexx dev-lang/oorexx ) )" +BDEPEND="test? ( || ( dev-lang/regina-rexx dev-lang/oorexx ) )" PATCHES=( "${FILESDIR}/${PN}-4.4.1-htmldir.patch" diff --git a/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild b/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild deleted file mode 100644 index 336396af8692..000000000000 --- a/app-emulation/hercules-sdl/hercules-sdl-4.7.0.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools fcaps - -DESCRIPTION="The SoftDevLabs (SDL) version of the Hercules 4.x Hyperion Emulator" -HOMEPAGE="https://sdl-hercules-390.github.io/html/" -SRC_URI="https://github.com/SDL-Hercules-390/hyperion/archive/refs/tags/Release_${PV/.0/}.tar.gz -> ${P/.0/}.tar.gz" - -S="${WORKDIR}/hyperion-Release_${PV/.0/}" -LICENSE="QPL-1.0" -SLOT="0" -KEYWORDS="~amd64 ~ppc64" -# In theory USE=object-rexx and USE=regina-rexx are not mutually-exclusive. -# In practice they functionally are as the Gentoo packages conflict, and -# additionally Hercules only supports calling out to one of them at runtime, -# controlled by the HREXX_PACKAGE environment variable. -IUSE="bzip2 debug object-rexx regina-rexx test" -RESTRICT="!test? ( test )" -FILECAPS=( - -M 755 cap_sys_nice\=eip usr/bin/hercules -- - -M 755 cap_sys_nice\=eip usr/bin/herclin -- - -M 755 cap_net_admin+ep usr/bin/hercifc -) - -RDEPEND=" - dev-libs/libltdl - net-libs/libnsl:0 - sys-libs/zlib - bzip2? ( app-arch/bzip2 ) - object-rexx? ( dev-lang/oorexx ) - regina-rexx? ( dev-lang/regina-rexx )" -DEPEND="${RDEPEND} - ~app-emulation/hercules-sdl-crypto-${PV} - ~app-emulation/hercules-sdl-decnumber-${PV} - ~app-emulation/hercules-sdl-softfloat-${PV} - ~app-emulation/hercules-sdl-telnet-${PV}" -# Neither package support needs to be compiled-in for tests, -# but the "rexx" command needs to be available -BDEPEND="${RDEPEND} - test? ( || ( dev-lang/regina-rexx dev-lang/oorexx ) )" - -PATCHES=( "${FILESDIR}/${PN}-4.4.1-htmldir.patch" ) - -src_prepare() { - rm -rf crypto decNumber SoftFloat telnet || die - sed -i 's#/lib${hc_cv_pkg_lib_subdir}#/lib#g' configure.ac || die - sed -i 's#_pkgname}${hc_cv_pkg_lib_suffix}#_pkgname}#g' configure.ac || die - - default - eautoreconf -} - -src_configure() { - local -x ac_cv_lib_bz2_BZ2_bzBuffToBuffDecompress=$(usex bzip2) - econf \ - $(use_enable bzip2 cckd-bzip2) \ - $(use_enable bzip2 het-bzip2) \ - $(use_enable object-rexx) \ - $(use_enable regina-rexx) \ - $(use_enable debug) \ - --enable-custom="Gentoo ${PF}.ebuild" \ - --disable-optimization \ - --disable-setuid-hercifc \ - --disable-capabilities \ - --enable-ipv6 \ - --enable-enhanced-configincludes \ - --disable-fthreads \ - --enable-shared \ - --enable-automatic-operator \ - --enable-extpkgs="${SYSROOT}/usr/$(get_libdir)/${PN}" -} - -src_install() { - default - dodoc RELEASE.NOTES - - insinto /usr/share/hercules - doins hercules.cnf - - # No static archives. Have to leave .la files for modules. #720342 - find "${ED}/usr/$(get_libdir)" -name "*.la" -delete || die -} diff --git a/app-emulation/libvirt-glib/Manifest b/app-emulation/libvirt-glib/Manifest index ea1ca434ddf3..6ece6eea1ea2 100644 --- a/app-emulation/libvirt-glib/Manifest +++ b/app-emulation/libvirt-glib/Manifest @@ -4,4 +4,4 @@ DIST libvirt-glib-4.0.0.tar.xz 161836 BLAKE2B e196d1f02f6f202b1883500241bbfda963 DIST libvirt-glib-5.0.0.tar.xz 169416 BLAKE2B e80ac0cd8d39432d554e566f4e1e045ada14e66917735c1c8a6306a65272216d095f21170e1b5294e09f41aaf2a3259ad395b134087a1bc13b176afd675dcc26 SHA512 bb09474c0d6d4bc00844e7a1ede882f0834d0810804b70b8f8607f2e764f72cc9da14883794e58dd53640433ffaecc13dd3c1c147b82e86fa2fdca6e5903933c EBUILD libvirt-glib-4.0.0.ebuild 1202 BLAKE2B a2e4d4c6597d603d6708bb5c3d60d7e1d7812ef356ab780ccd3ec1029a4ea4af613b7d4751f8c5fc5b3280e6dcecb106c5f76cb0dde2d7c7a876491e1d1aa307 SHA512 0490c4c0487583a5013ab823c1823234cc4eeb2553fa527a0aab256791703f85b681f1c5679a8c0cd12f9ffa5aa4c17dda1351d5a1104a9f93baa60609b77a3d EBUILD libvirt-glib-5.0.0.ebuild 1051 BLAKE2B 66cf087b2cd9a4f6340c45d4de4e0da0dd250dff320bd80729853c39582e154e8a0b785bd413e609e42b6d8615abc3db06e9f229aabe1bb08cb610d2920de0c4 SHA512 72be5abe3a213e322a2990cad7d3bf8d8ab61333acbc9dbaa80f20501c3b075cd7816108177205a01ff12e533c9f13336dcc9e9b1e7752d5984a97b1dde53f2f -MISC metadata.xml 447 BLAKE2B f40aac6909d57d1d003987dd50fb0b9cf7a91053c37b3986f801e8376dcc6390c767507d262708f0caa4f8e0106fb17d638cc633c86724a9546f89120f9aa3e8 SHA512 b5ebae9b402c12eb5626bd21ef65eed93ff483c158ffdd96bd545726b4f17358b2946e5a6e7606ab4922ec91df256a571dd5c145041ec739a1fd9dc77ba6ff24 +MISC metadata.xml 339 BLAKE2B 1591a67bbece95cd2fec53c63f52b8b3492d5af6dfd3e6ec3ddfb8dc0c352229583142eac5dbcdd39147192502efa8518745c1f03d4a398bd1c848da01234b4f SHA512 249461750072c64af80ab98eca69bb5a640991f4ec74e1bc44814b143df952043905d9c2ad6505f9e77e400e3b49cf8f019ca7343aaeefcab049a07c031b7c1f diff --git a/app-emulation/libvirt-glib/metadata.xml b/app-emulation/libvirt-glib/metadata.xml index 08a5f06bdf97..e076952b0c93 100644 --- a/app-emulation/libvirt-glib/metadata.xml +++ b/app-emulation/libvirt-glib/metadata.xml @@ -5,10 +5,6 @@ <email>gnome@gentoo.org</email> <name>Gentoo GNOME Desktop</name> </maintainer> - <maintainer type="person"> - <email>tamiko@gentoo.org</email> - <name>Matthias Maier</name> - </maintainer> <upstream> <remote-id type="gitlab">libvirt/libvirt-glib</remote-id> </upstream> diff --git a/app-emulation/libvirt/Manifest b/app-emulation/libvirt/Manifest index 0111e71a9ab7..0cfd3e6a1be5 100644 --- a/app-emulation/libvirt/Manifest +++ b/app-emulation/libvirt/Manifest @@ -2,6 +2,7 @@ AUX README.gentoo-r3 2065 BLAKE2B f3677b916121126c431ba32e324bcc9f04b4dfeef1ee54 AUX libvirt-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch 1665 BLAKE2B 25c162ca5d33c36e1b97185f3db8517e707a20d8ee2573dfd15f9540af1a2a1d39706ffbc1b6e55be0b7156ca0d146715c9f629add883ff0d89122dd7a9962e4 SHA512 dd5dc696412529a6d004ea03ef75c991fbe7c7be839467e9bf2e8a8b2119275b053b4549e9924907b146e841c4a81e8f1ee2744c7d275c5a4007d80b87e5b1af AUX libvirt-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch 9364 BLAKE2B 05ac0aaea8741102a34657b4910569ae5601364bdfd419743900823537f982348ba68cbac37fe10b21c2869531a35d68de8fbeb462c1f66aa0c3af4a97630405 SHA512 72a40984e6de167af8de9aedabdecf79c0f99bb5e7152b6521e87268bf1a1050b9d0d9acbb86c54810029dbde671a518ebd8a3f11590594a3226d818b89188f1 AUX libvirt-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch 2935 BLAKE2B b3bb5f7f6c21b645f43c2de8c17fe821a12fcd656629bbb44d780f408c5e50f0ee00e0d6bd82a9aba68b4651b711b29170e6989c317bada28edf3aff36cf06ec SHA512 b3421b7972a226660e475616bfc23fffcba825516e14b5267e8410fd178031e848bd7a69128c04f1188c0b75de39e6155cd480649b87a21ab650c2874765ccc7 +AUX libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch 1439 BLAKE2B e5d837f6f7af00fa6b7d3ef94ba0cdcd6120a17c17f52986df451ff2a66a019526f480cdd71592ea89c0629277c751f84b6f79c898d20017d454eda790ce0c66 SHA512 106e029750ed185c823e1759ead99520f628a52a00926cb5a09ee941e4b51cbbdbc91d4b95294eb9225459cb47bbde402b017016ea4ab177b4ba15c2decea90a AUX libvirt-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch 1125 BLAKE2B d161698463c56b9fbb8b4c4a5ec1b7d65e87e088d68ea1a2cde316449c80d9ba2a4ad5883962eb3e4d31b0441917f6b02d4c781869083c47c8eeb432f6826e8b SHA512 d1dbcb9f6e1c66a38fa09af84248c8ac68d1f263f07b275e12ae3087a6fbd223eeefe20c7b241d02be9529c14bcf311d850d418bc8cecac4cb4e225d78800a41 AUX libvirt-9.4.0-do-not-use-sysconfig.patch 8195 BLAKE2B b731d57dc86fe725d3cbd47b6e691a414107d3594377bd1c73e19735368937a0983e407ec05700213d2ec5802e90f429fd5c7354cd03fb25d3acced952ab6f38 SHA512 2a2e08a6034ed37cafebde3b0fd27913d972d1e9f8816e10a9af951e99f10bd3b9bc7ada1ac50c5085e3fdd3d02301365d031eb6ce3b71102e4b3072d609f21b AUX libvirt-9.4.0-fix_paths_in_libvirt-guests_sh.patch 988 BLAKE2B 5936eafa5c300edad7ed368ec13063d31aea59e3daefeac59cf515ea44667f61aa63b0e2c2a5c88ace24c48cc132789cc5fa1a7c6c04c17e9ac61b114778e46d SHA512 5b80a5ec2898c1c821d0d49b9de67a256f82cb60879215ddde07c2a51f2e8a8b6893fec65617c27edec50cd51a362fb1fcdd21827e8de954f26879adcfa12418 @@ -22,15 +23,18 @@ DIST libvirt-10.2.0.tar.xz 9466588 BLAKE2B 7ee6f4bdbb6a22f1b3c5c0326d41e269e8a5a DIST libvirt-10.2.0.tar.xz.asc 833 BLAKE2B 34031ed3c1896d3bb86d05b3efc158a48a70084bd6ea0308df779c351142e0f04395f62d62b4bb225c731a6f259f7ccb950428292691a656799eed06ecb2c3b2 SHA512 d366b0b64642f3358bdaee0ed5e06c4c3eba8b5ce2d1791f3d83d74c139a00282e45d7382af26706657c18e32ab956761d26f5b8595e32ad545c2f27f214fb76 DIST libvirt-10.3.0.tar.xz 9476852 BLAKE2B 8c47840113904d72aeb1e9bf900a99a8b0e3d41391c9a8fee4277f2793f18fefc50d113e8cbea52dedfd03b93f430416bcd25fe90ee6820c95ac6f468b84212f SHA512 dd2b151a19877e57e11b582b1c11542319f8b7b7cd3d7d51304442aa7d5eb1a8490d2887d340191c3ecc561320ea453773763083364579de0a40ada9c244fc59 DIST libvirt-10.3.0.tar.xz.asc 833 BLAKE2B 4d54a3701a15383464e1be5155344f783cd2fe297f2a7cfd4ef9ead7cef9267122e91e16d08329e2448ffe77f10625a3fa3443bbeab97ba8fc83ec6e4ec250dd SHA512 d32bbc2a36b03eccfc931c3e5accae2d4ed5a59e4d40fc44f8fb269684201097ea03e0afcf6eae124efac7b8c43d32e4e79d276c13ea81809acd40b97ef3ceb9 +DIST libvirt-10.5.0.tar.xz 9530296 BLAKE2B 59b6b114e6d4c4752839775ec22b17f530ac86f0252647b312b7f98e9ba856d949727eed5cb47b6b92589e2ce2587fe02505d6653a4e7ba3a3685b5c81a8ebc0 SHA512 e4976849cff7bdae0b7fda0644490f0ca743efc11c35a2fae45bb0f6f467b85644c1d04d1f3d1b10affdc6d9b8dcc0a3c255e527e0bdd73cdd4d1c81d5c418e7 +DIST libvirt-10.5.0.tar.xz.asc 833 BLAKE2B 38b1138de7585e85b7d0a7a93d487e39552b9db989063c3d354f608e005640aaf27c82e99bdaca0448c9a325349c16e3850ceedec380d3d73de4402cdbaad260 SHA512 f764b5cb9cd520b2a73ada3f2438524792c8c8477727fceb5a56ab7fdae8586308998f2fea21071d2e2dae7d168c6dddb5468f302d9f3bac804d6c8e153b760c DIST libvirt-9.8.0.tar.xz 9307064 BLAKE2B aae47e8d4eeaf97532a0356de23ed5a9eea71b369d025eda95b5fd74576779eb4b843d05df6c87b79a14f218c341953749e319ee7244846a2db410a74a746880 SHA512 0118725073de33eec3fa3e4616d3154707f9828fdb9ec973f503fe68f18eab72b9704da660f281152630ddc95e605c786673af9d23dc9bdfc0108422e0efbd41 DIST libvirt-9.8.0.tar.xz.asc 833 BLAKE2B 3ecd0a925992eeadd50675f7ad8e815bde532c0f66e331ea766fff8e613b6a60b002bedee82fd03684e703057bc13d4e92191268dcd5efe2611ce9bd3cf6b505 SHA512 e041db13281eae9323c22189b7a258caf8d0e2a350cbd31b6cbed7054ccaf09d05c155c3c09daea07940affdf15e8d42bb2339945480cd141a6e8cb417a78536 DIST libvirt-9.9.0.tar.xz 9321556 BLAKE2B 21eae5a95feaf7f5c6ba8dd48732c08212904882a11c48eccfa827d85ddc3df7e064503f21710dbe1b678670e02f003674de915a43a7403fbf85685c4832e21d SHA512 77cea28acf4f3e8c92fbd5bd72ad084be183c07f14e3a9ce35d6d9d62d36ee97a30cef55fb204b3e43f282890ecd7d5827a784a517e7f4ed8b22ee502c3f09d7 DIST libvirt-9.9.0.tar.xz.asc 833 BLAKE2B 3de3674d33c595692e71eeb9c312de76e865d3859d2482ec5b4d29d3cd7644cde080cba0001668efe7876b462f78c0233ab76076ef32943e118b34cca8c1ab4d SHA512 357fc2d1bdbbc26c6e0119a1b5c42e86a116f94bb714da855ab27ca83da0e50c7239d1b8abde3cee8a460ac537f63d518f43470d8329b727b39491771ad191e5 -EBUILD libvirt-10.0.0-r2.ebuild 9840 BLAKE2B 0cc9d81a2fa9f74355560ef17f7005931f874d4b6bcd799bbe1af7862d3fef9d68374b320b32f98b9bc6c6f6bd4dd8a9fe404654c0401f7ad7bf278b8afb4997 SHA512 477ba2d7798e39415c49be78d565d49073b8d3a761ee84595ee437762871528cb4b1e9f98b5efb604e34ccf6ba6ff696468be30e31c16cac36f2b33e8fe098b6 -EBUILD libvirt-10.1.0-r1.ebuild 9752 BLAKE2B e05dab356abdabe52c86e6e1ee66250d46822e0f3050346ffc2cd1bb11e659b34ff95bf0cb9ffd2a1cc3c3caa32819f59dd858724c010c62248eb49a440154ce SHA512 2b4aac8c51b6cb20a5f376ed03d5732bce77e13a3e94665e8b9a06464728584eee7073047e74286242f87f65125ae47434221d3360c5bdd94cdab51c93d769c3 -EBUILD libvirt-10.2.0.ebuild 9669 BLAKE2B dc7a46969bc1953510aca74d89fe8b5c722748d17830d68e7757218ddcac8bd76e63e8d547c306805c28975f4381e6eb2ecc2c6b4d0e85eaac3c39cb20bee759 SHA512 b47d62f03dca319db5da424efd382227aa507c4e651383655d96c82a5fa870b1efae767fd24b7aa9dcd0da4cb2d5765770ee5b182ea009b16f86d5adf1a67154 -EBUILD libvirt-10.3.0-r1.ebuild 9737 BLAKE2B c83c8b832a7b799267223af96aa694e6e66aff1a07e7d7c1416714ba93a93c306a27161d8adfb9b29dec4ee641777565587c5037c9b79838b6a181c3bccff083 SHA512 2bbc1c5314aaf36fd54336231ab660c0d4abf3e918d94f2b72d40c846376ba2722ecdb77761d9d35d214f44a41cec03588a8ada0662314f1a70ec1fd772cebc5 -EBUILD libvirt-9.8.0-r2.ebuild 9647 BLAKE2B e8118d9d46ac98ad406421fb37f428ccea980cbad40e66d765bb6711c4e75f390cf93560d9be5f0826db4ea52d251bef7f4f43b693fcc903c77add4180d52143 SHA512 17ec206969afb23d01ab0568776475d9d2ffba610382bfba5289825b3c9e4975d2239601ffaf1c48f9a15088779e90b42831c8e3c6cb0355add60f66570ed9d2 -EBUILD libvirt-9.9.0-r2.ebuild 9701 BLAKE2B 9c9ad40d523b3c36cc37cf1beeca8014e528270484ec88f15984bdca00abde541c0ef4cd1677788af30dc1ee1a206168c9ca894c4e8abeb649170e4903b0ce0c SHA512 4236b7d848c2e01009837bdfefcd81fedd1e95ecae24829473afcbd364fcaf378858dc3fad8cf0a93c5f00dcc7e18ee71b160d26229e5fe9499c8e7b5b3dc3d5 -EBUILD libvirt-9999.ebuild 9669 BLAKE2B dc7a46969bc1953510aca74d89fe8b5c722748d17830d68e7757218ddcac8bd76e63e8d547c306805c28975f4381e6eb2ecc2c6b4d0e85eaac3c39cb20bee759 SHA512 b47d62f03dca319db5da424efd382227aa507c4e651383655d96c82a5fa870b1efae767fd24b7aa9dcd0da4cb2d5765770ee5b182ea009b16f86d5adf1a67154 -MISC metadata.xml 3930 BLAKE2B 20ba8d6fd52d7c76800ab3ef487b2649d51a99bf1c2399bf48396646816b632a970ebeef44d8049f98b75e16c1cf6da6ae4ecdb0b0d0e7b014c31885432bb027 SHA512 459c957baf217b156a6d016c880f9071c53688179d66d309409c373662541f62bfd55812b8e67fdc4e0de56efb61f0800438000c5eb3b8aae99bb7000cfef773 +EBUILD libvirt-10.0.0-r3.ebuild 9930 BLAKE2B 06705c5c3d13a3bedea86cf6688ef5c32124712743b84cc3409154d3d934e3c7ffa4bf3ad47a00fd5e4f6b35b2f93a380553e52113ec32c403aed3a3213cd4e7 SHA512 e74039a6b74013684c6dc8edeca5fbd0d1fc048582a542ef7877e7eb95c0a6dff003635ef3719d1848234eeec650bcc6ec29035d742186beb5681ab3586926e4 +EBUILD libvirt-10.1.0-r2.ebuild 9841 BLAKE2B 3387759f2bc63538ee4d22aaac24f2835c2da1bb9a5c7429ee942383326f99c74d670c030ea150667838b52de167805c05b102b46ca2adfd88d6a815e61f9ef9 SHA512 9ec2f0b858266367803b6a3c62caf6e5bc7c88678da3ca216b49d9011913b94a4a4a8b932d0be0a6fd09d3eed2444cf621cf9dbe463e3917b72da0ca968e8d8d +EBUILD libvirt-10.2.0-r1.ebuild 9758 BLAKE2B 5809d2cb5526bad269f1d1198c776cf799291256e0f0295b29d0bfc0a5c31f649f251420c41e5c7640933d51eea5902c12c92462e9c11eec7619ab76468501ad SHA512 ee0af5a11be55f42e82d878000f9ecabb1ca28e6eeb36846f2abbad81e5a9f5a0c61dd2455cb6cd82d7547980d5b073d9344c5ea91ae2cfb415cdd6b6ae64186 +EBUILD libvirt-10.3.0-r2.ebuild 9826 BLAKE2B df7818a86b66c2b6a100d955e129d4adad76e3bb8dd9f248f1594c60e560a1e4fc87a7a602e71836ad1cfcf123f7c6e8c7faae5f0a421750ba7a699d1d6057d1 SHA512 a43f74cb62944fd42c93a2adcfc06941a6601b8e76796d5aa52ecd8f835ea4985b5370a718eb5b344b711796ec3995b76d848f47c976b5650d5603298d174e7c +EBUILD libvirt-10.5.0.ebuild 9708 BLAKE2B 627c86e596cc07cada2cd787eb8a30f0cc34135d5bdabeb37d73c55672d8ac9145b0bf27d9a028ba9250f4492033429d86b6f72aa5eee559fd3d998894aef51d SHA512 1e768c40359032f620e97a4281b33ee3cc43fd2bf4a8a7cf1a5ddf72798d718d8f45ca4d00300bb5ee4c5979611e16e27cbd1861f924a02a2765266ac31696f2 +EBUILD libvirt-9.8.0-r3.ebuild 9734 BLAKE2B 49cc04e4aa366554cd6b401bee166fc5a22477fc012591f8f8276fc314fa393c6c617f5b4b7fe57e6405bf5299c45003593e7fae1b93ac776b8025b826b73182 SHA512 6a4838e55b16e5ff628cb89942002f69872a2937d3ef5e6bfcccc1a3502676e750b77b9f505f5d675d32057171e1bda7c9cff1581fe3310b7021f5d8213773d5 +EBUILD libvirt-9.9.0-r3.ebuild 9788 BLAKE2B 6ddcff5c97731919c9e31928f2a1d91f9f755799c9ec8d0629b250631b8e385ace20ed5d28f27332dc69fe35acfce8b2e02b56a5164eeb75eee8a274f41c5c34 SHA512 998f07a91bb1a41ff8b0c1fcdb771d6c2827472a1044b8dd1c7d8315d66a7a9cbd2ee1dcdf071dcdc622754e934ccf973a71373ce5736b5b5d680d3611971cde +EBUILD libvirt-9999.ebuild 9708 BLAKE2B 627c86e596cc07cada2cd787eb8a30f0cc34135d5bdabeb37d73c55672d8ac9145b0bf27d9a028ba9250f4492033429d86b6f72aa5eee559fd3d998894aef51d SHA512 1e768c40359032f620e97a4281b33ee3cc43fd2bf4a8a7cf1a5ddf72798d718d8f45ca4d00300bb5ee4c5979611e16e27cbd1861f924a02a2765266ac31696f2 +MISC metadata.xml 3822 BLAKE2B badb40564def06854a0c3af011b5de2888d722996c9b15df570a709161e49796f3d76ba2365c4adc1724f16bee3518d0e87ed6d2619d505b5ba2f1fd02c90f34 SHA512 f31e86b4d0c1faaf5bf0ac253cf20ce7728b94841debb590356efc0fa1e1a3d095a94e69ce0a34f793faadf10ed00ae1212aac54d13288f1975db4f032fd8b50 diff --git a/app-emulation/libvirt/files/libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch b/app-emulation/libvirt/files/libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch new file mode 100644 index 000000000000..ed41fccddbe6 --- /dev/null +++ b/app-emulation/libvirt/files/libvirt-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch @@ -0,0 +1,33 @@ +From 893800be49d2d58f78c96e4f06d9f24188cb8946 Mon Sep 17 00:00:00 2001 +Message-ID: <893800be49d2d58f78c96e4f06d9f24188cb8946.1720330325.git.mprivozn@redhat.com> +From: Michal Privoznik <mprivozn@redhat.com> +Date: Thu, 4 Jul 2024 13:07:47 +0200 +Subject: [PATCH] virt-aa-helper: Allow RO access to /usr/share/edk2-ovmf + +When binary version of edk2 is distributed, the files reside +under /usr/share/edk2-ovmf as can be seen from Gentoo's ebuild +[1]. Allow virt-aa-helper to generate paths under that dir. + +1: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-firmware/edk2-ovmf-bin/edk2-ovmf-bin-202202.ebuild +Resolves: https://bugs.gentoo.org/911786 +Signed-off-by: Michal Privoznik <mprivozn@redhat.com> +Reviewed-by: Andrea Bolognani <abologna@redhat.com> +--- + src/security/virt-aa-helper.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c +index 402cbd9602..a3f85d26b0 100644 +--- a/src/security/virt-aa-helper.c ++++ b/src/security/virt-aa-helper.c +@@ -475,6 +475,7 @@ valid_path(const char *path, const bool readonly) + "/initrd", + "/initrd.img", + "/usr/share/edk2/", ++ "/usr/share/edk2-ovmf/", /* for OVMF images */ + "/usr/share/OVMF/", /* for OVMF images */ + "/usr/share/ovmf/", /* for OVMF images */ + "/usr/share/AAVMF/", /* for AAVMF images */ +-- +2.44.2 + diff --git a/app-emulation/libvirt/libvirt-10.0.0-r2.ebuild b/app-emulation/libvirt/libvirt-10.0.0-r3.ebuild index 6ef0ed221ed8..e1f5b32c94f2 100644 --- a/app-emulation/libvirt/libvirt-10.0.0-r2.ebuild +++ b/app-emulation/libvirt/libvirt-10.0.0-r3.ebuild @@ -10,7 +10,7 @@ EAPI=8 # app-emulation/libvirt # Please bump them together! -PYTHON_COMPAT=( python3_{9..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig @@ -154,11 +154,13 @@ PATCHES=( "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch + "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch ) python_check_deps() { - use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" - return 0 + if use test; then + python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" + fi } pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-10.1.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.1.0-r2.ebuild index f3cc8929a599..4b7123665d73 100644 --- a/app-emulation/libvirt/libvirt-10.1.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-10.1.0-r2.ebuild @@ -10,7 +10,7 @@ EAPI=8 # app-emulation/libvirt # Please bump them together! -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig @@ -153,11 +153,13 @@ PATCHES=( "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch + "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch ) python_check_deps() { - use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" - return 0 + if use test; then + python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" + fi } pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-10.2.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.2.0-r1.ebuild new file mode 100644 index 000000000000..f888ab84e3c8 --- /dev/null +++ b/app-emulation/libvirt/libvirt-10.2.0-r1.ebuild @@ -0,0 +1,377 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Packages which get releases together: +# app-emacs/nxml-libvirt-schemas +# dev-python/libvirt-python +# dev-perl/Sys-Virt +# app-emulation/libvirt +# Please bump them together! + +PYTHON_COMPAT=( python3_{10..13} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc +inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git" + EGIT_BRANCH="master" +else + SRC_URI="https://libvirt.org/sources/${P}.tar.xz + verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +fi + +DESCRIPTION="C toolkit to manipulate virtual machines" +HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/" +LICENSE="LGPL-2.1" +SLOT="0/${PV}" +IUSE=" + apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs + iscsi iscsi-direct +libvirtd lvm libssh libssh2 lxc nbd nfs nls numa + openvz parted pcap policykit +qemu rbd sasl selinux test +udev + virtiofsd virtualbox +virt-network wireshark-plugins xen zfs +" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + firewalld? ( virt-network ) + libvirtd? ( || ( lxc openvz qemu virtualbox xen ) ) + lxc? ( caps libvirtd ) + openvz? ( libvirtd ) + qemu? ( libvirtd ) + virt-network? ( libvirtd ) + virtualbox? ( libvirtd ) + xen? ( libvirtd )" + +BDEPEND=" + app-text/xhtml1 + dev-lang/perl + dev-libs/libxslt + dev-perl/XML-XPath + dev-python/docutils + virtual/pkgconfig + bash-completion? ( >=app-shells/bash-completion-2.0 ) + verify-sig? ( sec-keys/openpgp-keys-libvirt )" + +# gettext.sh command is used by the libvirt command wrappers, and it's +# non-optional, so put it into RDEPEND. +# We can use both libnl:1.1 and libnl:3, but if you have both installed, the +# package will use 3 by default. Since we don't have slot pinning in an API, +# we must go with the most recent. +RDEPEND=" + acct-user/qemu + app-misc/scrub + >=dev-libs/glib-2.56.0 + dev-libs/libgcrypt + dev-libs/libnl:3 + >=dev-libs/libxml2-2.9.1 + >=net-analyzer/openbsd-netcat-1.105-r1 + >=net-libs/gnutls-3.2.0:= + net-libs/libtirpc:= + >=net-misc/curl-7.18.0 + sys-apps/dbus + sys-apps/dmidecode + sys-devel/gettext + >=sys-libs/readline-7.0:= + virtual/acl + apparmor? ( sys-libs/libapparmor ) + audit? ( sys-process/audit ) + caps? ( sys-libs/libcap-ng ) + dtrace? ( dev-debug/systemtap ) + firewalld? ( >=net-firewall/firewalld-0.6.3 ) + fuse? ( sys-fs/fuse:= ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.1 ) + iscsi? ( >=sys-block/open-iscsi-1.18.0 ) + iscsi-direct? ( >=net-libs/libiscsi-1.18.0 ) + libssh? ( >=net-libs/libssh-0.8.1:= ) + libssh2? ( >=net-libs/libssh2-1.3 ) + lvm? ( >=sys-fs/lvm2-2.02.48-r2[lvm] ) + lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] ) + nbd? ( sys-block/nbdkit ) + nfs? ( net-fs/nfs-utils ) + numa? ( + >sys-process/numactl-2.0.2 + sys-process/numad + ) + parted? ( + >=sys-block/parted-1.8[device-mapper] + sys-fs/lvm2[lvm] + ) + pcap? ( >=net-libs/libpcap-1.8.0 ) + policykit? ( + acct-group/libvirt + >=sys-auth/polkit-0.9 + ) + qemu? ( + >=app-emulation/qemu-4.2 + app-crypt/swtpm + >=dev-libs/yajl-2.0.3:= + ) + rbd? ( sys-cluster/ceph ) + sasl? ( >=dev-libs/cyrus-sasl-2.1.26 ) + selinux? ( >=sys-libs/libselinux-2.0.85 ) + virt-network? ( + net-dns/dnsmasq[dhcp,ipv6(+),script] + net-firewall/ebtables + >=net-firewall/iptables-1.4.10[ipv6(+)] + net-misc/radvd + sys-apps/iproute2[-minimal] + ) + virtiofsd? ( app-emulation/virtiofsd ) + wireshark-plugins? ( >=net-analyzer/wireshark-2.6.0:= ) + xen? ( + >=app-emulation/xen-4.9.0 + app-emulation/xen-tools:= + ) + udev? ( + virtual/libudev:= + >=x11-libs/libpciaccess-0.10.9 + ) + zfs? ( sys-fs/zfs ) + kernel_linux? ( sys-apps/util-linux )" +DEPEND=" + ${BDEPEND} + ${RDEPEND} + ${PYTHON_DEPS} + test? ( + $(python_gen_any_dep ' + dev-python/pytest[${PYTHON_USEDEP}] + ') + ) +" +# The 'circular' dependency on dev-python/libvirt-python is because of +# virt-qemu-qmp-proxy. +PDEPEND=" + qemu? ( dev-python/libvirt-python ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-9.4.0-fix_paths_in_libvirt-guests_sh.patch + "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch + "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch + "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch +) + +python_check_deps() { + if use test; then + python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" + fi +} + +pkg_setup() { + # Check kernel configuration: + CONFIG_CHECK="" + use fuse && CONFIG_CHECK+=" + ~FUSE_FS" + + use lvm && CONFIG_CHECK+=" + ~BLK_DEV_DM + ~DM_MULTIPATH + ~DM_SNAPSHOT" + + use lxc && CONFIG_CHECK+=" + ~BLK_CGROUP + ~CGROUP_CPUACCT + ~CGROUP_DEVICE + ~CGROUP_FREEZER + ~CGROUP_NET_PRIO + ~CGROUP_PERF + ~CGROUPS + ~CGROUP_SCHED + ~CPUSETS + ~IPC_NS + ~MACVLAN + ~NAMESPACES + ~NET_CLS_CGROUP + ~NET_NS + ~PID_NS + ~POSIX_MQUEUE + ~SECURITYFS + ~USER_NS + ~UTS_NS + ~VETH + ~!GRKERNSEC_CHROOT_MOUNT + ~!GRKERNSEC_CHROOT_DOUBLE + ~!GRKERNSEC_CHROOT_PIVOT + ~!GRKERNSEC_CHROOT_CHMOD + ~!GRKERNSEC_CHROOT_CAPS" + + kernel_is lt 4 7 && use lxc && CONFIG_CHECK+=" + ~DEVPTS_MULTIPLE_INSTANCES" + + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_MARK_T + ~BRIDGE_NF_EBTABLES + ~NETFILTER_ADVANCED + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MARK + ~NETFILTER_XT_TARGET_CHECKSUM + ~IP_NF_FILTER + ~IP_NF_MANGLE + ~IP_NF_NAT + ~IP6_NF_FILTER + ~IP6_NF_MANGLE + ~IP6_NF_NAT" + + # This was renamed in kernel commit v5.2-rc1~133^2~174^2~6 + if use virt-network ; then + if kernel_is -lt 5 2 ; then + CONFIG_CHECK+=" + ~IP_NF_TARGET_MASQUERADE" + else + CONFIG_CHECK+=" + ~NETFILTER_XT_TARGET_MASQUERADE" + fi + fi + + # Bandwidth Limiting Support + use virt-network && CONFIG_CHECK+=" + ~BRIDGE_EBT_T_NAT + ~IP_NF_TARGET_REJECT + ~NET_ACT_POLICE + ~NET_CLS_FW + ~NET_CLS_U32 + ~NET_SCH_HTB + ~NET_SCH_INGRESS + ~NET_SCH_SFQ" + + ERROR_USER_NS="Optional depending on LXC configuration." + + if [[ -n ${CONFIG_CHECK} ]]; then + linux-info_pkg_setup + fi + + python-any-r1_pkg_setup +} + +src_prepare() { + touch "${S}/.mailmap" || die + + default + python_fix_shebang . + + # Skip fragile tests which relies on pristine environment + # (Breaks because of sandbox environment variables) + # bug #802876 + sed -i -e "/commandtest/d" tests/meson.build || die + + # Tweak the init script: + cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die + sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \ + -i "${S}/libvirtd.init" || die "sed failed" +} + +src_configure() { + local emesonargs=( + $(meson_feature apparmor) + $(meson_feature apparmor apparmor_profiles) + $(meson_feature audit) + $(meson_feature caps capng) + $(meson_feature dtrace) + $(meson_feature firewalld) + $(meson_feature fuse) + $(meson_feature glusterfs) + $(meson_feature glusterfs storage_gluster) + $(meson_feature iscsi storage_iscsi) + $(meson_feature iscsi-direct storage_iscsi_direct) + $(meson_feature libvirtd driver_libvirtd) + $(meson_feature libssh) + $(meson_feature libssh2) + $(meson_feature lvm storage_lvm) + $(meson_feature lvm storage_mpath) + $(meson_feature lxc driver_lxc) + $(meson_feature nbd nbdkit) + $(meson_feature nls) + $(meson_feature numa numactl) + $(meson_feature numa numad) + $(meson_feature openvz driver_openvz) + $(meson_feature parted storage_disk) + $(meson_feature pcap libpcap) + $(meson_feature policykit polkit) + $(meson_feature qemu driver_qemu) + $(meson_feature qemu yajl) + $(meson_feature rbd storage_rbd) + $(meson_feature sasl) + $(meson_feature selinux) + $(meson_feature test tests) + $(meson_feature udev) + $(meson_feature virt-network driver_network) + $(meson_feature virtualbox driver_vbox) + $(meson_feature wireshark-plugins wireshark_dissector) + $(meson_feature xen driver_libxl) + $(meson_feature zfs storage_zfs) + + -Dnetcf=disabled + -Dsanlock=disabled + -Dopenwsman=disabled + + -Ddriver_esx=enabled + -Dinit_script=systemd + -Dqemu_user=$(usex caps qemu root) + -Dqemu_group=$(usex caps qemu root) + -Ddriver_remote=enabled + -Dstorage_fs=enabled + -Ddriver_vmware=enabled + + --localstatedir="${EPREFIX}/var" + -Dinitconfdir="${EPREFIX}/etc/systemd" + -Drunstatedir="${EPREFIX}/run" + -Ddocdir="${EPREFIX}/usr/share/doc/${PF}" + ) + + meson_src_configure +} + +src_test() { + export VIR_TEST_DEBUG=1 + # Don't run the syntax check tests, they're fragile and not relevant + # to us downstream anyway. + # We also crank up the timeout (as Fedora does) just to preempt failures + # on slower arches. + meson_src_test --no-suite syntax-check --timeout-multiplier 10 +} + +src_install() { + meson_src_install + + # Depending on configuration option, libvirt will create some bogus + # directoreis. They are either not used, or libvirtd is able to create + # them on demand, so let's remove them. + # + # Note, we are using -f here so that rm does not fail or warn if the + # directory is nonexistent. + rm -rf "${D}"/etc/sysconfig + rm -rf "${D}"/var + rm -rf "${D}"/run + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + + newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf + + newinitd "${S}/libvirtd.init" libvirtd + newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests + newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd + newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd + + newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd + newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests + + DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3") + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +pkg_postinst() { + if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then + touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die + fi + + use libvirtd || return 0 + # From here, only libvirtd-related instructions, be warned! + tmpfiles_process libvirtd.conf + readme.gentoo_print_elog +} diff --git a/app-emulation/libvirt/libvirt-10.3.0-r1.ebuild b/app-emulation/libvirt/libvirt-10.3.0-r2.ebuild index d632f3bc2d3e..1bdfb61feab9 100644 --- a/app-emulation/libvirt/libvirt-10.3.0-r1.ebuild +++ b/app-emulation/libvirt/libvirt-10.3.0-r2.ebuild @@ -10,7 +10,7 @@ EAPI=8 # app-emulation/libvirt # Please bump them together! -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig @@ -153,11 +153,13 @@ PATCHES=( "${FILESDIR}"/${PN}-9.9.0-do-not-use-sysconfig.patch "${FILESDIR}"/${PN}-9.6.0-fix-paths-for-apparmor.patch "${FILESDIR}"/${PN}-10.3.0-vsh-Don-t-init-history-in-cmdComplete.patch + "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch ) python_check_deps() { - use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" - return 0 + if use test; then + python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" + fi } pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-10.2.0.ebuild b/app-emulation/libvirt/libvirt-10.5.0.ebuild index b02aa7c5b956..6c1f35a42d3e 100644 --- a/app-emulation/libvirt/libvirt-10.2.0.ebuild +++ b/app-emulation/libvirt/libvirt-10.5.0.ebuild @@ -10,7 +10,7 @@ EAPI=8 # app-emulation/libvirt # Please bump them together! -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig @@ -116,7 +116,10 @@ RDEPEND=" virt-network? ( net-dns/dnsmasq[dhcp,ipv6(+),script] net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6(+)] + || ( + >=net-firewall/iptables-1.4.10[ipv6(+)] + net-firewall/nftables + ) net-misc/radvd sys-apps/iproute2[-minimal] ) @@ -155,8 +158,9 @@ PATCHES=( ) python_check_deps() { - use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" - return 0 + if use test; then + python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" + fi } pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-9.8.0-r2.ebuild b/app-emulation/libvirt/libvirt-9.8.0-r3.ebuild index 500ab7f572ad..2da56ec3143d 100644 --- a/app-emulation/libvirt/libvirt-9.8.0-r2.ebuild +++ b/app-emulation/libvirt/libvirt-9.8.0-r3.ebuild @@ -10,7 +10,7 @@ EAPI=8 # app-emulation/libvirt # Please bump them together! -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig @@ -149,6 +149,7 @@ PATCHES=( "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch + "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch ) pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-9.9.0-r2.ebuild b/app-emulation/libvirt/libvirt-9.9.0-r3.ebuild index 684c0dc7afe2..18388bf95abe 100644 --- a/app-emulation/libvirt/libvirt-9.9.0-r2.ebuild +++ b/app-emulation/libvirt/libvirt-9.9.0-r3.ebuild @@ -10,7 +10,7 @@ EAPI=8 # app-emulation/libvirt # Please bump them together! -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig @@ -150,6 +150,7 @@ PATCHES=( "${FILESDIR}"/${PN}-9.10.0-virxml-include-libxml-xmlsave.h-for-xmlIndentTreeOut.patch "${FILESDIR}"/${PN}-10.1.0-Fix-off-by-one-error-in-udevListInterfacesByStatus.patch "${FILESDIR}"/${PN}-10.2.0-remote-check-for-negative-array-lengths-before-alloc.patch + "${FILESDIR}"/${PN}-10.5.0-virt-aa-helper-Allow-RO-access-to-usr-share-edk2-ovm.patch ) pkg_setup() { diff --git a/app-emulation/libvirt/libvirt-9999.ebuild b/app-emulation/libvirt/libvirt-9999.ebuild index b02aa7c5b956..6c1f35a42d3e 100644 --- a/app-emulation/libvirt/libvirt-9999.ebuild +++ b/app-emulation/libvirt/libvirt-9999.ebuild @@ -10,7 +10,7 @@ EAPI=8 # app-emulation/libvirt # Please bump them together! -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/libvirt.org.asc inherit meson linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig @@ -116,7 +116,10 @@ RDEPEND=" virt-network? ( net-dns/dnsmasq[dhcp,ipv6(+),script] net-firewall/ebtables - >=net-firewall/iptables-1.4.10[ipv6(+)] + || ( + >=net-firewall/iptables-1.4.10[ipv6(+)] + net-firewall/nftables + ) net-misc/radvd sys-apps/iproute2[-minimal] ) @@ -155,8 +158,9 @@ PATCHES=( ) python_check_deps() { - use test && python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" - return 0 + if use test; then + python_has_version -d "dev-python/pytest[${PYTHON_USEDEP}]" + fi } pkg_setup() { diff --git a/app-emulation/libvirt/metadata.xml b/app-emulation/libvirt/metadata.xml index 16610185fea3..8cedbefdaddc 100644 --- a/app-emulation/libvirt/metadata.xml +++ b/app-emulation/libvirt/metadata.xml @@ -1,18 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>tamiko@gentoo.org</email> - <name>Matthias Maier</name> + <maintainer type="project"> + <email>virtualization@gentoo.org</email> + <name>Gentoo Virtualization Project</name> </maintainer> <maintainer type="person" proxied="yes"> <email>michal.privoznik@gmail.com</email> <name>Michal PrÃvoznÃk</name> </maintainer> - <maintainer type="project"> - <email>virtualization@gentoo.org</email> - <name>Gentoo Virtualization Project</name> - </maintainer> <use> <!-- Pool backend flags --> <flag name="iscsi-direct"> diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest index 4e3de10a2a1b..769421ea6cef 100644 --- a/app-emulation/open-vm-tools/Manifest +++ b/app-emulation/open-vm-tools/Manifest @@ -8,6 +8,8 @@ AUX vmtoolsd.service 244 BLAKE2B 65bf0e80b580c2c29a06a2cbf37f8428dbfe03404cea92d AUX vmtoolsd.vgauth.service 312 BLAKE2B dba8ddb1b701cea490b117d08c93738a38bd668cf5444501bad8aabc503da4b87e53103a26ca4664247f14582c5546a28f093768833182581a850f0c50bc61e3 SHA512 fce9af2a3b98bf1fd5063af6c0d00bac7eba4ca02456d9266be5b74f2dea168521ffd44c38df1e28b0684f7ce21e4cb44ec2570fcbe01ff2ef432b55ede585f3 DIST open-vm-tools-12.2.0-21223074.tar.gz 4365836 BLAKE2B ecac1ada523b9ba6e6f9e880f700a9c35200e9093c81f3367ce3b196365166f682f7d8ba290f624417b83c3573894020fe6b4cbd82a117412ebe80df283f32db SHA512 d663d8ea455264cad7d3eaac16c5d08672e8e10f7a9171be40fff69e208ae697bc0e8af498c978d8de470ed273351b42c54994b2c552fdc05b828c80f4826b84 DIST open-vm-tools-12.2.5-21855600.tar.gz 4365531 BLAKE2B 1df621aea3d349af45c41268f3ab9ef6dc012bc7b74b8ff399a3819f75c92b408f272c03e31ff74d7f1aceda8a88e5755064236b87403d8ef2717567de174434 SHA512 72db3b88f61624d26e8ff7e37e4fc52ecd0bec0b6f076d935870c03312321c5e0b406d05eae7012872734a50626ed760dff2cf872e26ec18ebf200aff5ed12ef +DIST open-vm-tools-12.4.5-23787635.tar.gz 4356612 BLAKE2B 59fab76bc740d6c8e8b76f8c2379f751a62a4d4c01add9520acafbd5601d9490c7fb7d5a3631d1198c811be33b1bd7c7b381de2f9a8f703ceec21aab6331797a SHA512 dd90622a0f1c773ed217040788a1bdbfba1e60256d4e5159a2557155f6ac642ab71488044860e417cdd853aad77a6495b98e8fd02f9755be90cc1dc71c840a3c EBUILD open-vm-tools-12.2.0.ebuild 3128 BLAKE2B ab78214990b104daeb5e6c8263b7eee4796a86356e2aa7272491ba3f54727c95d35f236a4a05a1f90ba1e27b051197690b407c1f3367438e1d50b2eeaf7bc3f5 SHA512 77e64de267aa15f43e17976d7fdde7818e592a0351f903919845adeb0bbbb86a659d1a5460dfa2fe8442a2b58460d2265104c3050d78b8bccfbdfa64068572d1 EBUILD open-vm-tools-12.2.5.ebuild 3135 BLAKE2B f6f2da4bab1ed8c7cd459bace91db1c70245b1c48ea4c5f2c50f89c8463b2d8e3b965d9bf36a052fc2b07b26afbca20b4539cfe259fb21b5858cbd5e0c5a74d7 SHA512 ddf28211bc51d1788c0c94c6e60008714f0304ea161d2aac29483d4109be4cef76e622403901ec176a94ce4047286d741701894bc3952232accda0284b94dac0 -MISC metadata.xml 1076 BLAKE2B f876701320da0a9876ac7716e738e95ebfb388cfaa8eabc5f0c5e8a21ecd4d6c182aa9243c49a455c7e44e4c5da57cdaa2a8a9012fdcf5a220b5d82bc06513a3 SHA512 2fec9ab4a73acd5843416be24661a22b1b257dca75e1fc7a2a79336a79762e1cb3ec7f9e00abfedee640ff950bce2d5b6b1385d36d62b0c6975a3df022b46d90 +EBUILD open-vm-tools-12.4.5.ebuild 3035 BLAKE2B ad4feedf33b55b705d5c69d01f3f41a80a380fca43737fc118b4b5192922410d19a8020c3adbe080aa6605c34cd9a5af8664f463074bba07287a1c3197624c4b SHA512 5bf46280861bc9a9ade384e59952b5bf4a92410fc3e77652fc180d85c79ba7cfe82df2bffdbc0bdc6333bcea3d07eac7507e48003b3b42e9afa861ed3e92fe31 +MISC metadata.xml 1153 BLAKE2B ee86cf0478cb11314cee973b0df974c915e79bf8e5ed42907b91cd3ee867ed7441fac261b759341ab0f4214f1665b8f2b6a4a88ceea4d6b463eaf87040cd6fdf SHA512 c5b0ae47bcf9f1e2dac7238772d9a70235deb8d15bb9c0dc702b1f8f2b922070651b6010b6a83fa4fe8406e7a7a844e53dc85615fdc8c73e1e3763add12f6b6c diff --git a/app-emulation/open-vm-tools/metadata.xml b/app-emulation/open-vm-tools/metadata.xml index f53e431f81a1..85076593c086 100644 --- a/app-emulation/open-vm-tools/metadata.xml +++ b/app-emulation/open-vm-tools/metadata.xml @@ -1,7 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <!-- maintainer-needed --> + <maintainer type="person"> + <email>soap@gentoo.org</email> + <name>David Seifert</name> + </maintainer> <longdescription> The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools. They are a set of guest operating system diff --git a/app-emulation/open-vm-tools/open-vm-tools-12.4.5.ebuild b/app-emulation/open-vm-tools/open-vm-tools-12.4.5.ebuild new file mode 100644 index 000000000000..96a3b32786df --- /dev/null +++ b/app-emulation/open-vm-tools/open-vm-tools-12.4.5.ebuild @@ -0,0 +1,140 @@ +# Copyright 2007-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools linux-info pam systemd udev + +MY_P="${P}-23787635" + +DESCRIPTION="Tools for VMware guests" +HOMEPAGE="https://github.com/vmware/open-vm-tools" +SRC_URI="https://github.com/vmware/open-vm-tools/releases/download/stable-${PV}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="X +deploypkg +dnet doc +fuse gtkmm +icu multimon pam +resolutionkms +ssl +vgauth" +REQUIRED_USE=" + multimon? ( X ) + vgauth? ( ssl )" + +RDEPEND=" + dev-libs/glib + net-libs/libtirpc + deploypkg? ( dev-libs/libmspack ) + fuse? ( sys-fs/fuse:0 ) + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + ssl? ( dev-libs/openssl:= ) + vgauth? ( + dev-libs/libxml2 + dev-libs/xmlsec:= + ) + X? ( + x11-libs/gdk-pixbuf-xlib + x11-libs/gtk+:3 + x11-libs/libSM + x11-libs/libXcomposite + x11-libs/libXext + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + gtkmm? ( + dev-cpp/gtkmm:3.0 + dev-libs/libsigc++:2 + ) + multimon? ( x11-libs/libXinerama ) + ) + dnet? ( dev-libs/libdnet ) + icu? ( dev-libs/icu:= ) + resolutionkms? ( + x11-libs/libdrm[video_cards_vmware] + virtual/libudev + )" +DEPEND="${RDEPEND} + net-libs/rpcsvc-proto" +BDEPEND=" + dev-util/glib-utils + virtual/pkgconfig + doc? ( app-text/doxygen )" + +PATCHES=( + "${FILESDIR}"/10.1.0-Werror.patch + "${FILESDIR}"/11.3.5-icu.patch +) + +pkg_setup() { + local CONFIG_CHECK="~VMWARE_BALLOON ~VMWARE_PVSCSI ~VMXNET3 ~VMWARE_VMCI ~VMWARE_VMCI_VSOCKETS ~FUSE_FS" + use X && CONFIG_CHECK+=" ~DRM_VMWGFX" + kernel_is -lt 5 5 || CONFIG_CHECK+=" ~X86_IOPL_IOPERM" + linux-info_pkg_setup +} + +src_prepare() { + eapply -p2 "${PATCHES[@]}" + eapply_user + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-glibc-check + --disable-tests + --without-root-privileges + $(use_enable multimon) + $(use_with X x) + $(use_with X gtk3) + $(use_with gtkmm gtkmm3) + $(use_enable doc docs) + $(use_enable resolutionkms) + $(use_enable deploypkg) + $(use_with pam) + $(use_enable vgauth) + $(use_with dnet) + $(use_with icu) + --with-udev-rules-dir="$(get_udevdir)"/rules.d + ) + # Avoid a bug in configure.ac + use ssl || myeconfargs+=( --without-ssl ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + + if use pam; then + rm "${ED}"/etc/pam.d/vmtoolsd || die + pamd_mimic_system vmtoolsd auth account + fi + + newinitd "${FILESDIR}/open-vm-tools.initd" vmware-tools + newconfd "${FILESDIR}/open-vm-tools.confd" vmware-tools + + if use vgauth; then + systemd_newunit "${FILESDIR}"/vmtoolsd.vgauth.service vmtoolsd.service + systemd_dounit "${FILESDIR}"/vgauthd.service + else + systemd_dounit "${FILESDIR}"/vmtoolsd.service + fi + + # Make fstype = vmhgfs-fuse work in fstab + dosym vmhgfs-fuse /usr/bin/mount.vmhgfs-fuse + + if use X; then + fperms 4711 /usr/bin/vmware-user-suid-wrapper + dobin scripts/common/vmware-xdg-detect-de + fi +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/app-emulation/qemu-guest-agent/Manifest b/app-emulation/qemu-guest-agent/Manifest index 672896692057..fe46954930b3 100644 --- a/app-emulation/qemu-guest-agent/Manifest +++ b/app-emulation/qemu-guest-agent/Manifest @@ -6,4 +6,4 @@ AUX qemu-ga.init-r1 624 BLAKE2B 79416a272a89349e4174a4238fc7763fc1f116c7c4a2e7c4 AUX qemu-ga.logrotate 128 BLAKE2B 99035fefeccc6334c0cd5ae16e8550a07cfe4256d2374a0679a90805919aa4b7afac4f1d0c3bac72fcc5c7c0e0d87b227be8b1697338b827c890c56be77b07db SHA512 0fb39dd7ee528b36d8e837fbc53ba69476ba83947a4df10a9df03a02861a37d21f53865adbd3050c24aad72ec8a8bee1fb33f7382213d855884aff109f3c3789 DIST qemu-8.2.0.tar.xz 130008888 BLAKE2B a63667042e1e19c635568072d8dcc117320117e81e374a93cfb79e2363ebf505df3217fb098638e53c899eb6f83435221e8031f2aae003c27ec25af8654683b3 SHA512 92ec41196ff145cdbb98948f6b6e43214fa4b4419554a8a1927fb4527080c8212ccb703e184baf8ee0bdfa50ad7a84689e8f5a69eba1bd7bbbdfd69e3b91256c EBUILD qemu-guest-agent-8.2.0.ebuild 2053 BLAKE2B 4474e50a807f1e4e4b5c8f38a1ea5e79f7a2341d05f1cb3b330e9404b34521044338e0f0bf03017a3c1d8fb3be1abd183575388cf6b712364261133f79d3e3bf SHA512 82c4e6f1734c1fa331b6e6eb935daa9679e1dc9c858f516d2dd356fe1763f8ffbee805e0c52b1b76914714758996f576dfa0711216ceb38b3f2aabb99cdb6036 -MISC metadata.xml 588 BLAKE2B 32aa23e19bdc88885534d8b58c9ad1aeabbcb94b4deb064c8cb10c72bc57999a677c8cdf9dd0fd389bd64a9b1a5dc379a20235a191e58f67ea671b5a7b92a1a8 SHA512 aee2dc28a40e0a68196eb4cff9450e6bc940565ee37d4405690e943c63ca9c05b66dcd6af69dbbdd6274cd4ac1c1b833ff15af4f3071ed0a2cd07358ac985866 +MISC metadata.xml 480 BLAKE2B f04779f98156bb579169dcda6554134eaac4416f220a2356c145ba1ad57015e52cd2e1a9c392ccf7e2eb5aed6861ab24a3934dd9f4105a988eac1d8f43b2c7b1 SHA512 1830b7c53f4dc956c2c05e99af81b2a3883e6f7ee092dedd21c4c338bff71f16822d8dd0f7b1ea67a19bad9d8cc6cb2c5952c8f2a88b270acaed55ce39479a09 diff --git a/app-emulation/qemu-guest-agent/metadata.xml b/app-emulation/qemu-guest-agent/metadata.xml index 8995a7240036..98b9302d34d7 100644 --- a/app-emulation/qemu-guest-agent/metadata.xml +++ b/app-emulation/qemu-guest-agent/metadata.xml @@ -9,10 +9,6 @@ <email>sam@gentoo.org</email> <name>Sam James</name> </maintainer> - <maintainer type="person"> - <email>tamiko@gentoo.org</email> - <name>Matthias Maier</name> - </maintainer> <maintainer type="project"> <email>virtualization@gentoo.org</email> <name>Gentoo Virtualization Project</name> diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index a7d1823b703a..aeb7487a6716 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -23,7 +23,7 @@ DIST keycodemapdb-f5772a62ec52591ff6870b7e8ef32482371f22c6.tar.bz2 27971 BLAKE2B DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585 DIST qemu-7.2.11.tar.xz 121877020 BLAKE2B c546773b9ac7809b39a3afa51da5b1c06c3765fadb4df9d8529f8af65c26098676adf8e516620ca1b39201fa859878780edb56a445778e105cbe7db0f52b9f6a SHA512 c77ff1505128c05fe39eaa95cc11e4d2279bff06093acd613e54f71d4a13144f905551eec1d044c3a3fb751d3369c01d131d68c18b15d9a04bcc77370d93c217 DIST qemu-7.2.12.tar.xz 124399872 BLAKE2B df0afc8de23f3df7b0ada301584f1d96c7add69ec16755c5b75eced88827ec2719ba79c9191da5c77f00872bf2c492b24b08f310954e5ca97249debd5e520cda SHA512 239623f6f3c15b85ce8da27adb8123886a2b56971742d2a11cde58b0dfac40de1592e1e33591306b830c5cee051d11b00d1bdccf414cc7b111dab79b65b1cf92 -DIST qemu-7.2.4.tar.xz 121849100 BLAKE2B a9c5ffce9ff0fac4e2d1fa4be1a1dcee2f5d7f793ddf726871c5ae9a68c22f7ba03692a8a5096de3051030d3c2f34e46697d5af2d66c34984b8161ae3bb07b42 SHA512 fa765673833a1f2cbecdb9d47dc7dc29d7613be5a5c8fc63925ae70e1f5aafb4f9f02e45b212a329f17b689351b8a9cdf5f5235ab6adb71bb40e41868898d95b +DIST qemu-7.2.13.tar.xz 124399088 BLAKE2B 7d0b86862e663b20e918a211f661aff0bf8eeb480cffef9eba51c819d817368db33989bcc4f1673dd278d1f0f91f7991e22a24fca828559d8da225fdb8a1836b SHA512 be6a1d2efb111c09456be97a431a8881667b0a1d356a9901e6582b9720143826d4719778c228eb342ec865b5a3dc21444ebe296be56e1edafd16ab1b3aef3ae2 DIST qemu-8.0.0-docs.tar.xz 3218024 BLAKE2B b764a625024e78a39470048355471e12cfb57ab3c34e764dc4200fdf5c1aea635d26095ec961979bf46f177101c5bd38618bacf7e98e04bd64688ab5e29591aa SHA512 d9dfe191372e105fe16fe8f66f41ed793ade4c89b5ab1d84b39459f3419a1ca61bd49422a83981965cc257c05eca7fd49054703f58f179f5c7b656e9473a1054 DIST qemu-8.0.5.tar.xz 126175064 BLAKE2B 1d1f78c185ab64b4ca946a44ad04d0bbb6ea48de058037e4ba18176abeb0f0528754c6e832f742f93227182bbce145544eca5b908a366006e7ee58876aca0bda SHA512 ec9679473dda84a2f56ae8ee0039ec4dafb056414bfc5a3a147b2b6bb45ae3b130dd80f6385e8567b5d18f4be94f3536bc8acc45c61eddf40c9678b46cb8bddc DIST qemu-8.1.0-docs.tar.xz 2129912 BLAKE2B 8aaf7b748538afdb5bcb6da15dbd96572d086824377c4b0e93f1ddc695f9a4775471e360a9616d2d481dbf8113e91d2601c69d92cef565fb90b65ffacfdb304e SHA512 905515742bb56a439fc8117ec48ea668e7b2bf0244587673e4352d9e8e49911eb84ff093596ff566e44787197cf9789ec8950e3d75fb7a670c5546394a322ac9 @@ -31,17 +31,19 @@ DIST qemu-8.1.5.tar.xz 124007248 BLAKE2B 0d5db3e18c4dc1035fed442116be98b7e7bbfae DIST qemu-8.2.0-docs.tar.xz 2233352 BLAKE2B 22b9499fdf4ff93e72399dab3803f3171c855859dc7fe111612e2f9146db244ca6d2e0aad16aefdf29b231d2b3a2fbc22171fe6bac13b03445d54555ce798d16 SHA512 f57e78c28277c153fff00b25097d0df5c6ad36cb4e9f3acf30382bfb1c99508503c186c1bbecf266810ef24fd618428fdf3e0eee41c715a552918c9e6ef9e8e5 DIST qemu-8.2.3.tar.xz 130106716 BLAKE2B 2ec91b5111952434686064bd603880d87c4f56774d2478ee953eb0454e2b14235b1d1cca484e015b96bceae3182f90b856d222ca590059032b4989babf1dffe8 SHA512 28c789d84754b26cd86ded9db8464ec82f07cdc3b1025a988e74b8c5b05df8839a3e9990ff96cfba50e032dd967e9dc18cf75f3525baeadd0fa019cb69108d0a DIST qemu-8.2.5.tar.xz 132743988 BLAKE2B 24da4350cfe5a46771ea257b7baba48f02465c87e819ad3cc0557c06814f24f442ba3b97661af74d5235e31e7883b7c62d108e3180f7ce9e4be524ec966d07d0 SHA512 b95de309d790033452687b488ba869940bc40862ebbc9d91edbeee840e4ffc0b4cae43e1bfcd00f5534da126c62072b7b5309da6d74d30ba537e4c7b430f4255 +DIST qemu-8.2.6.tar.xz 132750000 BLAKE2B da5fdb03fcb44cf764d2ccaf9011b726e5c152d8659ca91550cd04b3e578e7f9bf2cc050b38a64055103775e64303ae949cf7e2cde5508f8a4b976d1311631c5 SHA512 ba702306df0c2a6744fff6fdca5f251ebc572230ee4674113433c74f74187ba33457ea9716d9023aa48cc1e6887af132a2877c30ea098da9ed23e95d4691b88b 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 DIST qemu-9.0.1.tar.xz 132368412 BLAKE2B e96ae5cc3ee935dd31232d38d46bbdc74fd3a2a0dd8517c0e035757f3ded92712dfa68d0068cd8c37f314a92d237e2b4a725b509ba402b7a1ce92df63207a08d SHA512 6c120aaf52f15e79c32d883cc83df8fc83222d538ea6be9c19aaddfba0aef91479b5826bbc03e58688fba639cb24bc6f54e525ccc2404ed5d820766d11735210 +DIST qemu-9.0.2.tar.xz 132387528 BLAKE2B 6b5301f985919ae53e056410be7486b8150a65016127568bd4d58f596e94960d08eb3fc57cff7ff6a3435d71274adee516f57375d856d61b4fc7a3f24cbf75c4 SHA512 58ed84f6fe6263d279356bc9193f96edf62cf3663fb151daa3f047d52329fe49cb91c2d45e09697e0469f4f5409be96403aec9572d4871ffa40848a786c21599 EBUILD qemu-7.2.11.ebuild 27452 BLAKE2B 9f37430e0de665f367f45cdce0330a5b50a4cb651334d3705ba3e39025046ab32592726b1473a29955ef68590acbde524f9c0739d252d3e9584f08b9a567494c SHA512 3b0e445b7224d9d23b5bb9b2f53cbfc3a9076850e315f41b07b6444b27d050a2f258e1af462a998ceea67eefed9524bb57d69757ac7be336f06ddd6ea642d99d EBUILD qemu-7.2.12.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d -EBUILD qemu-7.2.4.ebuild 27514 BLAKE2B 0ccea459f94ffad1deb29fd1007162e7ce852ce34267bca596d65e9fc40147ed16cd862a885a8623ee07a76e6c3934b0d893d4401179063414b421dbddd3fe2e SHA512 10a7b8272be6f0024dc23c3385e05be5e89d575c2bee0109676eebe2017efd88a17b070d33c2c20d05adfe37be3a6be5381c6d0190a09fc3f3a4d1677319a992 +EBUILD qemu-7.2.13.ebuild 27456 BLAKE2B aaad1a9bcfa95ce6dae0dc81b5d2de99e8a3805fb9df5b2ba6ef6e86e5633442fd0d8c1f5162819fe0f80392a23898eed33568040f01ff4ae94fb67f5f4dbc89 SHA512 02f3ad7b3840f9bd75efde555169fbb8bbcfa958b1316fa8169f027d6325834566fbf05806e23855195694ae8686ae1adfbf8bbaeb246b54006c355582594f5d EBUILD qemu-8.0.5.ebuild 27478 BLAKE2B 31948c0d4905f5a81b576ef39d426d1716fb6fd2bedcce0b5c31455d9d2ca082381a799eab0bbd658045d2ebbc85eaed054dec24a4fb94178fef4f4ddb0d9b6c SHA512 5bb8276c53412d277d4ff17cf70ff5cf5679db8c6c51c67d68d953fa944b5087528f8cea325ce9e3d2be410851718f76f27b31415d5aaa56eef3b2c4abac5901 EBUILD qemu-8.1.5.ebuild 27401 BLAKE2B 1d3442b07c850a275cee38bf8d3651c91fcde30498922f7e95886d427d85e42d78119e5953410d46ea5746e725f46e630211bc37d485e0cf26eca6d32253af40 SHA512 7323757a44c98b5c99dcd6110ad236be2e50585fbc02acb9e4c1ed233fe385a6f6b92f24514c3064543511ef9f63a96c6b52d83eade7e12e9a5024c3c46d64c3 EBUILD qemu-8.2.3.ebuild 27906 BLAKE2B 67dd19fc597d5d6afe779edc2846dba758d85296b6e787ab920ca8f6e5f03399ae962c337bbaa9d8322fe61f8199f74ad4136df26648cc7885ba918b2ab9341f SHA512 4a39d66c089e7b6135950bb631d07be02e62487282ceabe5680bd329ff6bf78e8693248595e74c177228f37cbd4867b6cea3b558ce94da29969182f7836ccf95 EBUILD qemu-8.2.5.ebuild 27910 BLAKE2B 7fb78cf6a72e19f28af863aa0502fa964e90881997f64bbd4ac43fd3a2022f1f7daeb47117047230e9b1bbf3bae41b8fd43fa0a7a58599a0516c97bb64fea6fd SHA512 15cb3186c34cf9b328f62685c471af897e0b9fa40794fcf6db91becc0d35d2e9279bd1e76d68a61f956e68fba7290058e82ccd05821378ee39568b4a53f9bf37 -EBUILD qemu-9.0.0.ebuild 28047 BLAKE2B e1fa1a8ab44b4b68745c6f86cf04d9816cf56beef1e71b3ffc0a62fc929ef15d4ac4f1fa299d532520cac05694dbc3a08832ac0b44f1a109fab80fa195a6a4c9 SHA512 adc16e4704c396531ac91ed133a12a470fc0f2a8a3a1a822443c25fdd92faeb56c8346111e23403bb6d0fd212fb599ad2130c695afc5c48afeea492b08504568 +EBUILD qemu-8.2.6.ebuild 27910 BLAKE2B 7fb78cf6a72e19f28af863aa0502fa964e90881997f64bbd4ac43fd3a2022f1f7daeb47117047230e9b1bbf3bae41b8fd43fa0a7a58599a0516c97bb64fea6fd SHA512 15cb3186c34cf9b328f62685c471af897e0b9fa40794fcf6db91becc0d35d2e9279bd1e76d68a61f956e68fba7290058e82ccd05821378ee39568b4a53f9bf37 EBUILD qemu-9.0.1.ebuild 28049 BLAKE2B 274acedae91713834b13ba06ee2c39a2035ed278f3b11b5f95dd0915a6c1a63ed85eb17a810a4fc5b35771bbc3635b5130edf4488e6fea8f494e2f0c11f5c910 SHA512 80970b6ba671ecc2b8c772fd5ff72de176b7ac92ab05c1ebc3e54b9d210168efb949df58ddc5627fa1f197291d67ccf0ed652e400eb352316c495f04ecbfe765 +EBUILD qemu-9.0.2.ebuild 28049 BLAKE2B 274acedae91713834b13ba06ee2c39a2035ed278f3b11b5f95dd0915a6c1a63ed85eb17a810a4fc5b35771bbc3635b5130edf4488e6fea8f494e2f0c11f5c910 SHA512 80970b6ba671ecc2b8c772fd5ff72de176b7ac92ab05c1ebc3e54b9d210168efb949df58ddc5627fa1f197291d67ccf0ed652e400eb352316c495f04ecbfe765 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.4.ebuild b/app-emulation/qemu/qemu-7.2.13.ebuild index ecb35f27987f..ac517632fb22 100644 --- a/app-emulation/qemu/qemu-7.2.4.ebuild +++ b/app-emulation/qemu/qemu-7.2.13.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" @@ -315,7 +315,6 @@ PATCHES=( "${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch "${FILESDIR}"/${PN}-7.2.0-disable-gmp.patch - "${FILESDIR}"/${PN}-7.2.0-linux-headers-6.2-glibc-2.36.patch ) QA_PREBUILT=" diff --git a/app-emulation/qemu/qemu-8.2.6.ebuild b/app-emulation/qemu/qemu-8.2.6.ebuild new file mode 100644 index 000000000000..b62207759882 --- /dev/null +++ b/app-emulation/qemu/qemu-8.2.6.ebuild @@ -0,0 +1,992 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-qemu-docs +# Set to 1 if prebuilt, 0 if not +# (the construct below is to allow overriding from env for script) +QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} +QEMU_DOCS_PREBUILT_DEV=sam +QEMU_DOCS_VERSION=$(ver_cut 1-2).0 +# Default to generating docs (inc. man pages) if no prebuilt; overridden later +# bug #830088 +QEMU_DOC_USEFLAG="+doc" + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,readline" + +FIRMWARE_ABI_VERSION="7.2.0" + +inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \ + pax-utils xdg-utils + +if [[ ${PV} == *9999* ]]; then + QEMU_DOCS_PREBUILT=0 + + EGIT_REPO_URI="https://gitlab.com/qemu-project/qemu.git/" + EGIT_SUBMODULES=() + inherit git-r3 + SRC_URI="" + declare -A SUBPROJECTS=( + [keycodemapdb]="f5772a62ec52591ff6870b7e8ef32482371f22c6" + [berkeley-softfloat-3]="b64af41c3276f97f0e181920400ee056b9c88037" + [berkeley-testfloat-3]="40619cbb3bf32872df8c53cc457039229428a263" + ) + + for proj in "${!SUBPROJECTS[@]}"; do + c=${SUBPROJECTS[${proj}]} + SRC_URI+=" https://gitlab.com/qemu-project/${proj}/-/archive/${c}/${proj}-${c}.tar.bz2" + done +else + MY_P="${PN}-${PV/_rc/-rc}" + SRC_URI="https://download.qemu.org/${MY_P}.tar.xz" + + if [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + SRC_URI+=" !doc? ( https://dev.gentoo.org/~${QEMU_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${QEMU_DOCS_VERSION}-docs.tar.xz )" + fi + + S="${WORKDIR}/${MY_P}" + [[ "${PV}" != *_rc* ]] && KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +[[ ${QEMU_DOCS_PREBUILT} == 1 ]] && QEMU_DOC_USEFLAG="doc" + +IUSE="accessibility +aio alsa bpf bzip2 capstone +curl debug ${QEMU_DOC_USEFLAG} + +fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring + jack jemalloc +jpeg keyutils + lzo multipath + ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static-user systemtap test udev usb + usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen + zstd" + +COMMON_TARGETS=" + aarch64 + alpha + arm + cris + hppa + i386 + loongarch64 + m68k + microblaze + microblazeel + mips + mips64 + mips64el + mipsel + nios2 + or1k + ppc + ppc64 + riscv32 + riscv64 + s390x + sh4 + sh4eb + sparc + sparc64 + x86_64 + xtensa + xtensaeb +" +IUSE_SOFTMMU_TARGETS=" + ${COMMON_TARGETS} + avr + rx + tricore +" +IUSE_USER_TARGETS=" + ${COMMON_TARGETS} + aarch64_be + armeb + hexagon + mipsn32 + mipsn32el + ppc64le + sparc32plus +" + +use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS}) +use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS}) +IUSE+=" ${use_softmmu_targets} ${use_user_targets}" + +RESTRICT="!test? ( test )" + +# Allow no targets to be built so that people can get a tools-only build. +# Block USE flag configurations known to not work. +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + qemu_softmmu_targets_arm? ( fdt ) + qemu_softmmu_targets_microblaze? ( fdt ) + qemu_softmmu_targets_mips64el? ( fdt ) + qemu_softmmu_targets_ppc64? ( fdt ) + qemu_softmmu_targets_ppc? ( fdt ) + qemu_softmmu_targets_riscv32? ( fdt ) + qemu_softmmu_targets_riscv64? ( fdt ) + qemu_softmmu_targets_x86_64? ( fdt ) + sdl-image? ( sdl ) + static-user? ( !plugins ) + virgl? ( opengl ) + virtfs? ( xattr ) + vnc? ( gnutls ) + vte? ( gtk ) + multipath? ( udev ) + plugins? ( !static-user ) +" +for smname in ${IUSE_SOFTMMU_TARGETS} ; do + REQUIRED_USE+=" qemu_softmmu_targets_${smname}? ( kernel_linux? ( seccomp ) )" +done + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# and user/softmmu targets (qemu-*, qemu-system-*). +# +# Yep, you need both libcap and libcap-ng since virtfs only uses libcap. +# +# The attr lib isn't always linked in (although the USE flag is always +# respected). This is because qemu supports using the C library's API +# when available rather than always using the external library. +ALL_DEPEND=" + dev-libs/glib:2[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-debug/systemtap ) + xattr? ( sys-apps/attr[static-libs(+)] ) +" + +# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...) +# softmmu targets (qemu-system-*). +SOFTMMU_TOOLS_DEPEND=" + >=x11-libs/pixman-0.28.0[static-libs(+)] + accessibility? ( + app-accessibility/brltty[api] + app-accessibility/brltty[static-libs(+)] + ) + aio? ( dev-libs/libaio[static-libs(+)] ) + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + bpf? ( dev-libs/libbpf:= ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:=[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.1[static-libs(+)] ) + fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + >=net-libs/gnutls-3.0:=[static-libs(+)] + dev-libs/nettle:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( sys-cluster/rdma-core[static-libs(+)] ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( media-libs/libjpeg-turbo:=[static-libs(+)] ) + kernel_linux? ( sys-libs/libcap-ng[static-libs(+)] ) + keyutils? ( sys-apps/keyutils[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:=[unicode(+)] + sys-libs/ncurses:=[static-libs(+)] + ) + nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] ) + numa? ( sys-process/numactl[static-libs(+)] ) + opengl? ( + virtual/opengl + media-libs/libepoxy[static-libs(+)] + media-libs/mesa[static-libs(+)] + media-libs/mesa[egl(+),gbm(+)] + ) + pam? ( sys-libs/pam ) + pipewire? ( >=media-video/pipewire-0.3.60 ) + png? ( >=media-libs/libpng-1.6.34:=[static-libs(+)] ) + pulseaudio? ( media-libs/libpulse ) + rbd? ( sys-cluster/ceph ) + sasl? ( dev-libs/cyrus-sasl[static-libs(+)] ) + sdl? ( + media-libs/libsdl2[video] + media-libs/libsdl2[static-libs(+)] + ) + sdl-image? ( media-libs/sdl2-image[static-libs(+)] ) + seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] ) + slirp? ( net-libs/libslirp[static-libs(+)] ) + smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] ) + snappy? ( app-arch/snappy:= ) + spice? ( + >=app-emulation/spice-protocol-0.14.0 + >=app-emulation/spice-0.14.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev:= ) + usb? ( >=virtual/libusb-1-r2:1[static-libs(+)] ) + usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] ) + vde? ( net-misc/vde[static-libs(+)] ) + virgl? ( media-libs/virglrenderer[static-libs(+)] ) + virtfs? ( sys-libs/libcap ) + xen? ( app-emulation/xen-tools:= ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +EDK2_OVMF_VERSION="202202" +SEABIOS_VERSION="1.16.0" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION} + ~sys-firmware/ipxe-1.21.1[binary,qemu] + ~sys-firmware/seabios-bin-${SEABIOS_VERSION} + ~sys-firmware/sgabios-0.1_pre10[binary] + ) + !pin-upstream-blobs? ( + || ( + >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} + >=sys-firmware/edk2-ovmf-bin-${EDK2_OVMF_VERSION} + ) + sys-firmware/ipxe[qemu] + || ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + >=sys-firmware/seabios-bin-${SEABIOS_VERSION} + ) + sys-firmware/sgabios + ) +" +PPC_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-bin-${SEABIOS_VERSION} + ) + !pin-upstream-blobs? ( + || ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + >=sys-firmware/seabios-bin-${SEABIOS_VERSION} + ) + ) +" + +# See bug #913084 for pip dep +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + >=dev-build/meson-0.63.0 + app-alternatives/ninja + dev-python/pip[${PYTHON_USEDEP}] + virtual/pkgconfig + doc? ( + >=dev-python/sphinx-1.6.0[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + app-alternatives/bc + ) +" +CDEPEND=" + ${ALL_DEPEND//\[static-libs(+)]} + ${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]} + qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc? ( ${PPC_FIRMWARE_DEPEND} ) + qemu_softmmu_targets_ppc64? ( ${PPC_FIRMWARE_DEPEND} ) +" +DEPEND=" + ${CDEPEND} + kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 ) + static-user? ( ${ALL_DEPEND} ) +" +RDEPEND=" + ${CDEPEND} + acct-group/kvm + selinux? ( + sec-policy/selinux-qemu + sys-libs/libselinux + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-8.0.0-disable-keymap.patch + "${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch + "${FILESDIR}"/${PN}-8.1.0-also-build-virtfs-proxy-helper.patch + "${FILESDIR}"/${PN}-8.1.0-skip-tests.patch + "${FILESDIR}"/${PN}-8.1.0-find-sphinx.patch +) + +QA_PREBUILT=" + usr/share/qemu/hppa-firmware.img + usr/share/qemu/openbios-ppc + usr/share/qemu/openbios-sparc64 + usr/share/qemu/openbios-sparc32 + usr/share/qemu/opensbi-riscv64-generic-fw_dynamic.elf + usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.elf + usr/share/qemu/palcode-clipper + usr/share/qemu/s390-ccw.img + usr/share/qemu/s390-netboot.img + usr/share/qemu/u-boot.e500 +" + +QA_WX_LOAD=" + usr/bin/qemu-i386 + usr/bin/qemu-x86_64 + usr/bin/qemu-alpha + usr/bin/qemu-arm + usr/bin/qemu-cris + usr/bin/qemu-m68k + usr/bin/qemu-microblaze + usr/bin/qemu-microblazeel + usr/bin/qemu-mips + usr/bin/qemu-mipsel + usr/bin/qemu-or1k + usr/bin/qemu-ppc + usr/bin/qemu-ppc64 + usr/bin/qemu-sh4 + usr/bin/qemu-sh4eb + usr/bin/qemu-sparc + usr/bin/qemu-sparc64 + usr/bin/qemu-armeb + usr/bin/qemu-sparc32plus + usr/bin/qemu-s390x + usr/bin/qemu-unicore32 +" + +DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the +kernel module loaded before running kvm. The easiest way to ensure that the +kernel module is loaded is to load it on boot. + For AMD CPUs the module is called 'kvm-amd'. + For Intel CPUs the module is called 'kvm-intel'. +Please review /etc/conf.d/modules for how to load these. + +Make sure your user is in the 'kvm' group. Just run + $ gpasswd -a <USER> kvm +then have <USER> re-login. + +For brand new installs, the default permissions on /dev/kvm might not let +you access it. You can tell udev to reset ownership/perms: + $ udevadm trigger -c add /dev/kvm + +If you want to register binfmt handlers for qemu user targets: +For openrc: + # rc-update add qemu-binfmt +For systemd: + # ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf" + +pkg_pretend() { + if use kernel_linux && kernel_is lt 2 6 25; then + eerror "This version of KVM requires a host kernel of 2.6.25 or higher." + elif use kernel_linux; then + if ! linux_config_exists; then + eerror "Unable to check your kernel for KVM support" + else + CONFIG_CHECK="~KVM ~TUN ~BRIDGE" + ERROR_KVM="You must enable KVM in your kernel to continue" + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in" + ERROR_KVM_AMD+=" your kernel configuration." + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable" + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration." + ERROR_TUN="You will need the Universal TUN/TAP driver compiled" + ERROR_TUN+=" into your kernel or loaded as a module to use the" + ERROR_TUN+=" virtual network device if using -net tap." + ERROR_BRIDGE="You will also need support for 802.1d" + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations." + use vhost-net && CONFIG_CHECK+=" ~VHOST_NET" + ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net" + ERROR_VHOST_NET+=" support" + + if use amd64 || use x86 || use amd64-linux || use x86-linux; then + if grep -q AuthenticAMD /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_AMD" + elif grep -q GenuineIntel /proc/cpuinfo; then + CONFIG_CHECK+=" ~KVM_INTEL" + fi + fi + + use python && CONFIG_CHECK+=" ~DEBUG_FS" + ERROR_DEBUG_FS="debugFS support required for kvm_stat" + + # Now do the actual checks setup above + check_extra_config + fi + fi + + if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then + eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt" + eerror "instances are still pointing to it. Please update your" + eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag" + eerror "and the right system binary (e.g. qemu-system-x86_64)." + die "update your virt configs to not use qemu-kvm" + fi +} + +# Sanity check to make sure target lists are kept up-to-date. +check_targets() { + local var=$1 mak=$2 + local detected sorted + + pushd "${S}"/configs/targets/ >/dev/null || die + + # Force C locale until glibc is updated. #564936 + detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u)) + sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u)) + if [[ ${sorted} != "${detected}" ]] ; then + eerror "The ebuild needs to be kept in sync." + eerror "${var}: ${sorted}" + eerror "$(printf '%-*s' ${#var} configure): ${detected}" + die "sync ${var} to the list of targets" + fi + + popd >/dev/null +} + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + for file in ${A}; do + unpack "${file}" + done + cd "${WORKDIR}" || die + for proj in "${!SUBPROJECTS[@]}"; do + mv "${proj}-${SUBPROJECTS[${proj}]}" "${S}/subprojects/${proj}" || die + done + cd "${S}" || die + meson subprojects packagefiles --apply || die + else + default + fi +} + +src_prepare() { + check_targets IUSE_SOFTMMU_TARGETS softmmu + check_targets IUSE_USER_TARGETS linux-user + + default + + # Use correct toolchain to fix cross-compiling + tc-export AR AS LD NM OBJCOPY PKG_CONFIG RANLIB STRINGS + export WINDRES=${CHOST}-windres + + # Verbose builds + MAKEOPTS+=" V=1" + + # Remove bundled modules + rm -r roms/*/ || die +} + +## +# configures qemu based on the build directory and the build type +# we are using. +# +qemu_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + local buildtype=$1 + local builddir="${S}/${buildtype}-build" + + mkdir "${builddir}" || die + + local conf_opts=( + --prefix=/usr + --sysconfdir=/etc + --bindir=/usr/bin + --libdir=/usr/$(get_libdir) + --datadir=/usr/share + --docdir=/usr/share/doc/${PF}/html + --mandir=/usr/share/man + --localstatedir=/var + --disable-bsd-user + --disable-containers # bug #732972 + --disable-guest-agent + --disable-strip + --disable-download + + # bug #746752: TCG interpreter has a few limitations: + # - it does not support FPU + # - it's generally slower on non-self-modifying code + # It's advantage is support for host architectures + # where native codegeneration is not implemented. + # Gentoo has qemu keyworded only on targets with + # native code generation available. Avoid the interpreter. + --disable-tcg-interpreter + + --disable-werror + # We support gnutls/nettle for crypto operations. It is possible + # to use gcrypt when gnutls/nettle are disabled (but not when they + # are enabled), but it's not really worth the hassle. Disable it + # all the time to avoid automatically detecting it. #568856 + --disable-gcrypt + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --objcc="$(tc-getCC)" + --host-cc="$(tc-getBUILD_CC)" + + $(use_enable alsa) + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable jack) + $(use_enable nls gettext) + $(use_enable oss) + $(use_enable pipewire) + $(use_enable plugins) + $(use_enable pulseaudio pa) + $(use_enable selinux) + $(use_enable xattr attr) + ) + + # Disable options not used by user targets. This simplifies building + # static user targets (USE=static-user) considerably. + conf_notuser() { + if [[ ${buildtype} == "user" ]] ; then + echo "--disable-${2:-$1}" + else + use_enable "$@" + fi + } + # Enable option only for softmmu build, but not 'user' or 'tools' + conf_softmmu() { + if [[ ${buildtype} == "softmmu" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Enable option only for tools build, but not 'user' or 'softmmu' + conf_tools() { + if [[ ${buildtype} == "tools" ]] ; then + use_enable "$@" + else + echo "--disable-${2:-$1}" + fi + } + # Special case for the malloc flag, because the --disable flag does + # not exist and trying like above will break configuring. + conf_malloc() { + if [[ ! ${buildtype} == "user" ]] ; then + usex "${1}" "--enable-malloc=${1}" "" + fi + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_softmmu bpf) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser curl) + $(conf_tools doc docs) + $(conf_notuser fdt) + $(conf_notuser fuse) + $(conf_notuser glusterfs) + $(conf_notuser gnutls) + $(conf_notuser gnutls nettle) + $(conf_notuser gtk) + $(conf_notuser infiniband rdma) + $(conf_notuser iscsi libiscsi) + $(conf_notuser io-uring linux-io-uring) + $(conf_malloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser keyutils libkeyutils) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser pam auth-pam) + $(conf_notuser png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_softmmu sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp) + $(conf_notuser smartcard) + $(conf_notuser snappy) + $(conf_notuser spice) + $(conf_notuser ssh libssh) + $(conf_notuser udev libudev) + $(conf_notuser usb libusb) + $(conf_notuser usbredir usb-redir) + $(conf_notuser vde) + $(conf_notuser vhost-net) + $(conf_notuser virgl virglrenderer) + $(conf_softmmu virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon + $(conf_notuser zstd) + ) + + if [[ ! ${buildtype} == "user" ]] ; then + # audio options + local audio_opts=( + # Note: backend order matters here: #716202 + # We iterate from higher-level to lower level. + $(usex pulseaudio pa "") + $(usev pipewire) + $(usev jack) + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(IFS=,; echo "${audio_opts[*]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-tools + --disable-cap-ng + --disable-seccomp + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + --enable-cap-ng + --enable-seccomp + ) + local static_flag="none" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --enable-tools + --enable-cap-ng + ) + local static_flag="none" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backends="dtrace" ) + + # We always want to attempt to build with PIE support as it results + # in a more secure binary. But it doesn't work with static or if + # the current GCC doesn't have PIE support. + if [[ ${static_flag} != "none" ]] && use ${static_flag}; then + conf_opts+=( --static --disable-pie ) + else + tc-enables-pie && conf_opts+=( --enable-pie ) + fi + + # Meson will not use a cross-file unless cross_prefix is set. + tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" ) + + # Plumb through equivalent of EXTRA_ECONF to allow experiments + # like bug #747928. + conf_opts+=( ${EXTRA_CONF_QEMU} ) + + echo "../configure ${conf_opts[*]}" + cd "${builddir}" + ../configure "${conf_opts[@]}" || die "configure failed" +} + +src_configure() { + local target + + python_setup + + softmmu_targets= softmmu_bins=() + user_targets= user_bins=() + + for target in ${IUSE_SOFTMMU_TARGETS} ; do + if use "qemu_softmmu_targets_${target}"; then + softmmu_targets+=",${target}-softmmu" + softmmu_bins+=( "qemu-system-${target}" ) + fi + done + + for target in ${IUSE_USER_TARGETS} ; do + if use "qemu_user_targets_${target}"; then + user_targets+=",${target}-linux-user" + user_bins+=( "qemu-${target}" ) + fi + done + + softmmu_targets=${softmmu_targets#,} + user_targets=${user_targets#,} + + [[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu" + [[ -n ${user_targets} ]] && qemu_src_configure "user" + qemu_src_configure "tools" +} + +src_compile() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" || die + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" || die + default + fi + + cd "${S}/tools-build" || die + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" || die + pax-mark m */qemu-system-* #515550 + emake check + fi +} + +qemu_python_install() { + python_domodule "${S}/python/qemu" + + python_doscript "${S}/scripts/kvm/vmxcap" + python_doscript "${S}/scripts/qmp/qmp-shell" + python_doscript "${S}/scripts/qmp/qemu-ga-client" +} + +# Generate binfmt support files. +# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc) +# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt) +generate_initd() { + local out="${T}/qemu-binfmt" + local out_systemd="${T}/qemu.conf" + local d="${T}/binfmt.d" + + einfo "Generating qemu binfmt scripts and configuration files" + + # Generate the debian fragments first. + mkdir -p "${d}" + "${S}"/scripts/qemu-binfmt-conf.sh \ + --debian \ + --exportdir "${d}" \ + --qemu-path "${EPREFIX}/usr/bin" \ + || die + # Then turn the fragments into a shell script we can source. + sed -E -i \ + -e 's:^([^ ]+) (.*)$:\1="\2":' \ + "${d}"/* || die + + # Generate the init.d script by assembling the fragments from above. + local f qcpu package interpreter magic mask + cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die + for f in "${d}"/qemu-* ; do + source "${f}" + + # Normalize the cpu logic like we do in the init.d for the native cpu. + qcpu=${package#qemu-} + case ${qcpu} in + arm*) qcpu="arm";; + mips*) qcpu="mips";; + ppc*) qcpu="ppc";; + s390*) qcpu="s390";; + sh*) qcpu="sh";; + sparc*) qcpu="sparc";; + esac + + # we use 'printf' here to be portable across 'sh' + # implementations: #679168 + cat <<EOF >>"${out}" + if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then + printf '%s\n' ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register + fi +EOF + + echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}" + + done + cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die +} + +src_install() { + if [[ -n ${user_targets} ]]; then + cd "${S}/user-build" + emake DESTDIR="${ED}" install + + # Install binfmt handler init script for user targets. + generate_initd + doinitd "${T}/qemu-binfmt" + + # Install binfmt/qemu.conf. + insinto "/usr/share/qemu/binfmt.d" + doins "${T}/qemu.conf" + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + emake DESTDIR="${ED}" install + + # This might not exist if the test failed. #512010 + [[ -e check-report.html ]] && dodoc check-report.html + + if use kernel_linux; then + udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules + fi + + if use python; then + python_foreach_impl qemu_python_install + fi + fi + + cd "${S}/tools-build" || die + emake DESTDIR="${ED}" install + + # If USE=doc, there'll be newly generated docs which we install instead. + if ! use doc && [[ ${QEMU_DOCS_PREBUILT} == 1 ]] ; then + doman "${WORKDIR}"/${PN}-${QEMU_DOCS_VERSION}-docs/docs/*.[0-8] + fi + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null || die + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null || die + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" || die + dodoc MAINTAINERS + newdoc pc-bios/README README.pc-bios + + # Disallow stripping of prebuilt firmware files. + dostrip -x ${QA_PREBUILT} + + if [[ -n ${softmmu_targets} ]]; then + # Remove SeaBIOS since we're using the SeaBIOS packaged one + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin + fi + + # Remove vgabios since we're using the seavgabios packaged one + rm "${ED}/usr/share/qemu/vgabios.bin" + rm "${ED}/usr/share/qemu/vgabios-cirrus.bin" + rm "${ED}/usr/share/qemu/vgabios-qxl.bin" + rm "${ED}/usr/share/qemu/vgabios-stdvga.bin" + rm "${ED}/usr/share/qemu/vgabios-virtio.bin" + rm "${ED}/usr/share/qemu/vgabios-vmware.bin" + + # PPC/PPC64 loads vgabios-stdvga + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc || use qemu_softmmu_targets_ppc64; then + dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin + dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin + dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin + dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin + dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin + dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin + fi + + # Remove sgabios since we're using the sgabios packaged one + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin + fi + + # Remove iPXE since we're using the iPXE packaged one + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom + dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom + dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom + dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom + dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom + dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom + fi + fi + + DISABLE_AUTOFORMATTING=true + readme.gentoo_create_doc +} + +firmware_abi_change() { + local pv + for pv in ${REPLACING_VERSIONS}; do + if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then + return 0 + fi + done + return 1 +} + +pkg_postinst() { + if [[ -n ${softmmu_targets} ]] && use kernel_linux; then + udev_reload + fi + + xdg_icon_cache_update + + [[ -z ${EPREFIX} ]] && [[ -f ${EROOT}/usr/libexec/qemu-bridge-helper ]] && \ + fcaps cap_net_admin "${EROOT}"/usr/libexec/qemu-bridge-helper + + DISABLE_AUTOFORMATTING=true + readme.gentoo_print_elog + + if use pin-upstream-blobs && firmware_abi_change; then + ewarn "This version of qemu pins new versions of firmware blobs:" + + if has_version 'sys-firmware/edk2-ovmf-bin'; then + ewarn " $(best_version sys-firmware/edk2-ovmf-bin)" + else + ewarn " $(best_version sys-firmware/edk2-ovmf)" + fi + + if has_version 'sys-firmware/seabios-bin'; then + ewarn " $(best_version sys-firmware/seabios-bin)" + else + ewarn " $(best_version sys-firmware/seabios)" + fi + + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/sgabios)" + ewarn "This might break resume of hibernated guests (started with a different" + ewarn "firmware version) and live migration to/from qemu versions with different" + ewarn "firmware. Please (cold) restart all running guests. For functional" + ewarn "guest migration ensure that all" + ewarn "hosts run at least" + ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}." + fi +} + +pkg_info() { + echo "Using:" + echo " $(best_version app-emulation/spice-protocol)" + + if has_version 'sys-firmware/edk2-ovmf-bin'; then + echo " $(best_version sys-firmware/edk2-ovmf-bin)" + else + echo " $(best_version sys-firmware/edk2-ovmf)" + fi + + if has_version 'sys-firmware/seabios-bin'; then + echo " $(best_version sys-firmware/seabios-bin)" + else + echo " $(best_version sys-firmware/seabios)" + fi + + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update + udev_reload +} diff --git a/app-emulation/qemu/qemu-9.0.0.ebuild b/app-emulation/qemu/qemu-9.0.2.ebuild index 179ca305b449..6d9b868ae64c 100644 --- a/app-emulation/qemu/qemu-9.0.0.ebuild +++ b/app-emulation/qemu/qemu-9.0.2.ebuild @@ -8,7 +8,7 @@ EAPI=8 # (the construct below is to allow overriding from env for script) QEMU_DOCS_PREBUILT=${QEMU_DOCS_PREBUILT:-1} QEMU_DOCS_PREBUILT_DEV=sam -QEMU_DOCS_VERSION=$(ver_cut 1-3) +QEMU_DOCS_VERSION=$(ver_cut 1-2).0 # Default to generating docs (inc. man pages) if no prebuilt; overridden later # bug #830088 QEMU_DOC_USEFLAG="+doc" diff --git a/app-emulation/qtrvsim/Manifest b/app-emulation/qtrvsim/Manifest index 0f54fcd43d6a..a7bfc5df04a2 100644 --- a/app-emulation/qtrvsim/Manifest +++ b/app-emulation/qtrvsim/Manifest @@ -1,3 +1,4 @@ DIST qtrvsim-0.9.7.tar.gz 1421805 BLAKE2B 9128dbe513860eafd01e0f37a99547797d385b57a404e06aea310404012e66e6be802920cdea62acb914d355fc842cd3759fc794d2cd417257b941f9ec62fbec SHA512 0d53e21681630cbf97db472472bd96dfe4914e0d275a1094cb18a7f0372cef23b0dea3c33092b6ab6d2403737070ef0b6f2b1f5d9d35eea8923b24a80ac6adfe +EBUILD qtrvsim-0.9.7-r1.ebuild 635 BLAKE2B da059c78436cea896ea063c3376f097876d1f6c0042ee832bae0255a33a743003fe526ede2f037299bfd9e041eff1fab9d60308470b065e24d3ec2bef230c698 SHA512 f6240d50c2f88adcf606d1b7598f939b38ec7352af4ace285723df5ab81f00580c8b0aa84471ab4272fe0c37cc4e2e6df632ce15be62f4c7b24d4c27e4492340 EBUILD qtrvsim-0.9.7.ebuild 503 BLAKE2B 6d410a39d6233669a391c14fa854c1ca0bc5c1ac9454600d7eb0380465bcfa3048c24d81294bfbc9a2b366a447ae71d45b5c4a7201cfd35c4ff4e3f2db40b812 SHA512 1622a493e4ba9c9ce0d0579c6b0672b3abb576519e154836514abec1a1c244f35c4535d129dbec968a367b649da89f50eb8ea4e102a927e8b71217f0ebd5e92e MISC metadata.xml 324 BLAKE2B 88e9410454f1433824206295d14983c6cd3121248db77d052d1aadce997e7fdcbfa982837bbe3ec01038af57e3d54ac0f025874c91f3e4b938a17d330b185e98 SHA512 be34381fedb16ca3f974824e0c7af4033cc1f3fd0089e93449fd04dc84624581a05ee9083dc23b12fa58f6a55994e77a0fe58b5a9263b55b36acdd52e071591f diff --git a/app-emulation/qtrvsim/qtrvsim-0.9.7-r1.ebuild b/app-emulation/qtrvsim/qtrvsim-0.9.7-r1.ebuild new file mode 100644 index 000000000000..a50f1b567a64 --- /dev/null +++ b/app-emulation/qtrvsim/qtrvsim-0.9.7-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="RISC-V CPU simulator for education" +HOMEPAGE="https://github.com/cvut/qtrvsim" +SRC_URI="https://github.com/cvut/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + dev-qt/qtbase:6[gui,widgets] + virtual/libelf:= +" +RDEPEND="${DEPEND}" + +CMAKE_SKIP_TESTS=( + # Fails in 0.9.7, but not in master. + cli_stalls +) + +src_prepare() { + cmake_src_prepare + + # ensure Qt6 build + sed "/^ *find_package.*QT NAMES/s/Qt5 //" \ + -i CMakeLists.txt || die +} diff --git a/app-emulation/ruffle/Manifest b/app-emulation/ruffle/Manifest index 30bd72c8ba44..987fdea27939 100644 --- a/app-emulation/ruffle/Manifest +++ b/app-emulation/ruffle/Manifest @@ -743,6 +743,6 @@ DIST zvariant_derive-4.1.1.crate 11028 BLAKE2B b00fb48e2483bfe24a482a198db6e6d3d DIST zvariant_utils-1.1.1.crate 6859 BLAKE2B 91c6cfc14b7cbdab9d662ea2f7db1506037ff8dfc58599e7e220fb44cef5260783117223251ea4a3dca03ea739c80eab2baa933fee3bfd1d78f0ae721ea36a97 SHA512 4ee75536e57aa6f05e9739c1a3bb037ebc276d22206c0a3ddc3c245395aefead5f8197af1e659e33780df968715101831c286ef28513aaf7f2a5e4a43767cdc3 DIST zvariant_utils-2.0.0.crate 6815 BLAKE2B 0321261a8371f2df14fcb0abb575dd413d834630eaf1a62b0bfc35384a536e1c1dff5a1fb26248ba4fc0dd5663dfca57892f0175ea98e5a000c8a19996e56b11 SHA512 162d8af9800a8afa16817e3580621768c9ab7d863153edc3cb1748e80aaa2f2b9c05bfffb53b098f313fe7cc2052cf49d854cc761771bc21ab1a93965a55f066 EBUILD ruffle-0_p20240521.ebuild 16013 BLAKE2B 9defe4e9f598d4842b006094633de453c4b6f0874b3d387a9e2ab1e4c081c77ccf88bef2c303244f2687c30b78a9cebb4b89a167d1c9054fb736ff4d3883ddb8 SHA512 ca0f37b5f2bf3bad3c43a8868d6aa73bdcbbd65a6c0d553c1b4fe651c81f368cbdda977cc18ac31833ffd429adf6283140fef89713da5526c454bee2f58d4e82 -EBUILD ruffle-0_p20240622.ebuild 16164 BLAKE2B dbf9612b28d743ccde5c437639b3111a39d5bad69066b9c23af864dde7aa0274efeb6737b2d75a1bc0ad562c4349d31aa6f1062137aec27d92d449e90c462c83 SHA512 c34a611059be3b39f88be1a8cf0ac05570f7a9f67076915120f789b8df06b6347becc7ce6a665370fd115e4680c6c24e9f4df4711ec2998df41fb51189883c0e +EBUILD ruffle-0_p20240622.ebuild 16163 BLAKE2B 2ae8f34b2bade0464b4c3dbe4188f9b552696f90fd256abe2f3c4b2b853887e645ba0a41f7b41fd4cff8a1d1956a02a7f312152821f07e4585d8efa79ebe0db1 SHA512 157f0f96c0fb312b27fdc5a875c568d57927b1f337530904296f3d760c48b451f5d1e43867b991ab547b0b9c1dfcf08d7e02f67ac677a6543e8d93726a62f5fe EBUILD ruffle-9999.ebuild 1802 BLAKE2B 01735bdc9079cbb492f8dbb45f14cfd6cf9392477986ff397ea42b559685600a1c8103f7974495af71f86021e97f46e068377f7d61ca78a88f4e6ad7f5ee8355 SHA512 70480cdcb18efbe91d60f66057de92e3ea641497862a465d75f33ab96b30737ee5b53872b3b6305e143e5c4c2333a52a01ef5b55ba385c405ebc55bcdbffd7ff MISC metadata.xml 327 BLAKE2B aad7b4089000263fccd1bf6af04e88ac138658121db322215ce0dcc85380b12afa01cdcd2be232c5d2c773698b38903759ecaea6f4854d8c90c420c0a43f33b1 SHA512 bb5e665acc6d02ae3e6a22fbb483c293142104e538d386a9b93884f097629dcbb8ca7b614aa20e0358bf22ae36487c7d86cc1467103987845a70ebacc9c4a5d2 diff --git a/app-emulation/ruffle/ruffle-0_p20240622.ebuild b/app-emulation/ruffle/ruffle-0_p20240622.ebuild index c39144c6eabb..1e9da2eb25ad 100644 --- a/app-emulation/ruffle/ruffle-0_p20240622.ebuild +++ b/app-emulation/ruffle/ruffle-0_p20240622.ebuild @@ -675,7 +675,7 @@ LICENSE+=" Unicode-DFS-2016 ZLIB " # crates SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="test" RESTRICT="!test? ( test )" diff --git a/app-emulation/virtiofsd/Manifest b/app-emulation/virtiofsd/Manifest index a06e102bc5f2..73db8110c0ba 100644 --- a/app-emulation/virtiofsd/Manifest +++ b/app-emulation/virtiofsd/Manifest @@ -70,6 +70,7 @@ DIST vhost-user-backend-0.13.1.crate 20534 BLAKE2B 5c06c2aa1009482c1c0ef838e78fe DIST virtio-bindings-0.2.2.crate 17617 BLAKE2B 0c4013b8b91be27b242c1bb3f70bef843702d674ed2922cf666009e6dc6b3fceb5febfddf1994cb3c551ff6b3c64296d9171535b1fdb566a41dc3c0bc0428b61 SHA512 bfc99801eb785190d0796045d72589e4ef037ffea91f93fdc8232c8873bfec133b16cfdcca1969347f435983603fc69235d587a0e92517bab06edc1027b4f2cd DIST virtio-queue-0.11.0.crate 147937 BLAKE2B 184b191106139ec12d363b389e27144b252612c7ad94eef3cb6c6547d10f720fdc06117b5bf05b0bcfc03c4d232ccade7b4f257b3de705cd0269c17db58ced99 SHA512 e38c9173e26963b552729b0651f7d38d56a4b98995da2eb48f78a53e3ab61c67002c07428d5f1fab7e1450d358601b74afa41e893f660a19812cb67eafada11b DIST virtiofsd-v1.10.0.tar.bz2 94982 BLAKE2B 32ce893cc44b99abedd136173b380141fb873cef65c0bd400b15c2ae9957d1b379cfc390d1dd7f2591f4d2930f120dc9bdfc7de087ea50f323db6a70bee36967 SHA512 cde56b446c0baa73a29dea6378f60f0a816fe72d97585acc39d60f3bb19fcd016d094405c2ba2327666d84c1618d1b0164ccb03c8871fa6c76e16a3251acecde +DIST virtiofsd-v1.10.1.tar.bz2 95103 BLAKE2B daf29f27d52100c09e06f557bcbcfcba3011762accd037e70680441496fca90256f90f77800732f8052d6e0dffeb47f34a92b96e84d217a373e18fe512ac4f11 SHA512 928922c45893e6a395c8c5fa87521cc87393e6b214fd7e668a00bcf2f86c68387b7323a562266680f60aff33a5c5915a5bd7f13a662465d41eb7ee36f9fd8d18 DIST vm-memory-0.14.0.crate 85354 BLAKE2B f2716e17e4272e0baacc38e9783d6abf337a80a18a63119bb1b644ab2c65a7064c4fa2c229309e5d06ebbfadd25bd566e2c96bbc7d281bbe5b29b163718378f2 SHA512 fa7341be2393a42af6ea6c803c1f9657a5e152abd79af83b41918abb01f2f3a6e33431e39e40297164dfca2f7ef14dfc20d80c0278f27bc7abd4d7a4a7ef7710 DIST vmm-sys-util-0.12.1.crate 58520 BLAKE2B 6b1d176169caa32fb6cbe77d4058dd1df37fc23e5a92d76b8f0eb5f7e2282c2a120f5ad3fdf7710bb1d0b0a24a34770a34310e5da6bcde4c230b485a81eaf2d7 SHA512 dbaf9e2cd002baa97f43ee7659e2bd259df9aeb029fdd5a7e7473c1d38cf82a8208ba5849c12ecc02571da1702082c3491673c68f8029f43c1234ed8e834f960 DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97 @@ -86,5 +87,6 @@ DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396 DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795 EBUILD virtiofsd-1.10.0.ebuild 3242 BLAKE2B d5c5f6db32741c9af12024a11163e7baffeec92ea64a864429b2c6cefbfce8985c6b51113b2b872d6ecd5daef4a75f591df548844c9898f96db2f11f2e9c2126 SHA512 d3e325fa640692af846c495b5dd1689b991ba849a820b086ab00d84c42d3a45fe45342217030105f020fe903f5e79324b2606aad17610965b786257cb9e249d6 -EBUILD virtiofsd-9999.ebuild 3244 BLAKE2B 6cbd198aa00741662162217c75103eff8bf6072bc80276b5f21e3bbbd57812f6978063d6d6817bc6b9c6aa5d82cc9cb25d092db1191a8a3157e813599484260f SHA512 958abf3de183f3b715ec549cc80b2ad3def1f804500f67b3027fcfd2398db35dc5db5096dec24d6a93f970faa9739c36fafae9f4d68b3ff01d2c7978655df780 +EBUILD virtiofsd-1.10.1.ebuild 3244 BLAKE2B 6cbd198aa00741662162217c75103eff8bf6072bc80276b5f21e3bbbd57812f6978063d6d6817bc6b9c6aa5d82cc9cb25d092db1191a8a3157e813599484260f SHA512 958abf3de183f3b715ec549cc80b2ad3def1f804500f67b3027fcfd2398db35dc5db5096dec24d6a93f970faa9739c36fafae9f4d68b3ff01d2c7978655df780 +EBUILD virtiofsd-9999.ebuild 3244 BLAKE2B dfddc6751e2df292db2f0e1d02ef1ab2b85c727880a68c5cc217b669ee6fc8a7898ff4262e677ee98a14ba24d68ef5fea10318bc9c28fa7bf184691e4988c799 SHA512 c43816ce6eb2eeb1c82ce99b6102d7e4dfdabace8a962dd5f141896866887b809c356dd3f480cfce74cd3ab5a101e701d050fceb2f03ff217f9c25742138833b MISC metadata.xml 489 BLAKE2B bc6fc4d8ed57fb5a61ea1e2097e8e6deb1ddc302a55d5e5b25995686701c20bffdf066c7d68c84f94aa99ff0bf0551eb8ad44bda627e92741b995c355c28e33c SHA512 db2f4049f8e48b16198cc06c70ce46ca94875590ef82d75d3363fd4ec67de4d5ea35a544f709e466bb8689b9100605439f3207d22f1a06fce7428b1fb706a5c7 diff --git a/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild new file mode 100644 index 000000000000..8eaeb54ded93 --- /dev/null +++ b/app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild @@ -0,0 +1,148 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.18 + anstream@0.3.2 + anstyle@1.0.1 + anstyle-parse@0.2.1 + anstyle-query@1.0.0 + anstyle-wincon@1.0.1 + arc-swap@1.5.0 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.1 + capng@0.2.2 + cc@1.0.79 + cfg-if@1.0.0 + clap@4.3.11 + clap_builder@4.3.11 + clap_derive@4.3.2 + clap_lex@0.5.0 + colorchoice@1.0.0 + env_logger@0.8.4 + errno@0.3.1 + errno-dragonfly@0.1.2 + error-chain@0.12.4 + futures@0.3.21 + futures-channel@0.3.21 + futures-core@0.3.21 + futures-executor@0.3.21 + futures-io@0.3.21 + futures-macro@0.3.21 + futures-sink@0.3.21 + futures-task@0.3.21 + futures-util@0.3.21 + heck@0.4.1 + hermit-abi@0.1.19 + hermit-abi@0.3.2 + hostname@0.3.1 + humantime@2.1.0 + is-terminal@0.4.9 + itoa@1.0.2 + libc@0.2.147 + libseccomp-sys@0.2.1 + linux-raw-sys@0.4.5 + log@0.4.17 + match_cfg@0.1.0 + memchr@2.5.0 + num_cpus@1.13.1 + num_threads@0.1.6 + once_cell@1.18.0 + pin-project-lite@0.2.9 + pin-utils@0.1.0 + proc-macro2@1.0.63 + quote@1.0.29 + regex@1.6.0 + regex-syntax@0.6.27 + rustix@0.38.7 + slab@0.4.7 + strsim@0.10.0 + syn@1.0.98 + syn@2.0.23 + syslog@6.0.1 + termcolor@1.1.3 + thiserror@1.0.41 + thiserror-impl@1.0.41 + time@0.3.11 + unicode-ident@1.0.2 + utf8parse@0.2.1 + version_check@0.9.4 + vhost@0.10.0 + vhost-user-backend@0.13.1 + virtio-bindings@0.2.2 + virtio-queue@0.11.0 + vm-memory@0.14.0 + vmm-sys-util@0.12.1 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.5 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.48.0 + windows-targets@0.48.1 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.48.0 +" + +inherit cargo + +DESCRIPTION="Shared file system for virtual machines" +HOMEPAGE="https://virtio-fs.gitlab.io/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/virtio-fs/virtiofsd.git" + EGIT_BRANCH="main" +else + SRC_URI="https://gitlab.com/virtio-fs/virtiofsd/-/archive/v${PV}/virtiofsd-v${PV}.tar.bz2" + SRC_URI+=" ${CARGO_CRATE_URIS}" + KEYWORDS="~amd64 ~ppc64" + S="${WORKDIR}/${PN}-v${PV}" +fi + +LICENSE="Apache-2.0 BSD" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 Unlicense" +SLOT="0" + +DEPEND=" + sys-libs/libcap-ng + sys-libs/libseccomp +" +RDEPEND="${DEPEND}" + +# rust does not use *FLAGS from make.conf, silence portage warning +# update with proper path to binaries this crate installs, omit leading / +QA_FLAGS_IGNORED="usr/libexec/${PN}" + +src_unpack() { + if [[ "${PV}" == *9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_install() { + cargo_src_install + + mkdir "${ED}/usr/libexec" || die + mv "${ED}/usr/"{bin,libexec}/${PN} || die + + # Install 50-virtiofsd.json but to avoid conflicts with + # <app-emulation/qemu-8.0.0 install it under different name. In this case, + # smaller number means higher priority, but that's probably what users want + # anyway if they install this package on top of app-emulation/qemu. + # TODO: remove once old QEMUs are removed from the portage. + insinto "/usr/share/qemu/vhost-user" + newins "50-virtiofsd.json" "40-virtiofsd.json" +} diff --git a/app-emulation/virtiofsd/virtiofsd-9999.ebuild b/app-emulation/virtiofsd/virtiofsd-9999.ebuild index 8eaeb54ded93..e09c2b80bcc8 100644 --- a/app-emulation/virtiofsd/virtiofsd-9999.ebuild +++ b/app-emulation/virtiofsd/virtiofsd-9999.ebuild @@ -63,7 +63,7 @@ CRATES=" strsim@0.10.0 syn@1.0.98 syn@2.0.23 - syslog@6.0.1 + syslog@6.1.1 termcolor@1.1.3 thiserror@1.0.41 thiserror-impl@1.0.41 @@ -71,8 +71,8 @@ CRATES=" unicode-ident@1.0.2 utf8parse@0.2.1 version_check@0.9.4 - vhost@0.10.0 - vhost-user-backend@0.13.1 + vhost@0.11.0 + vhost-user-backend@0.14.0 virtio-bindings@0.2.2 virtio-queue@0.11.0 vm-memory@0.14.0 diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index 528cb21e4d3f..f995d015e73a 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,5 +1,7 @@ DIST VBoxGuestAdditions_6.1.50.iso 64051200 BLAKE2B 9eff4a3643579ee0426dbe2b62247b8c89321be495e61469628574445fedc06ff2fb9afa108705cbaf24a13db99b4e6e850c61e5c97343095549f444831fcf62 SHA512 d74ce912dbbcef7f644a9f3ba9917782336cbee8e0756727a8753ffc17486a75e833adaa869e205531bc3b81b9cb26aa9b50f44210e78dceece966687122f6c6 DIST VBoxGuestAdditions_7.0.18.iso 52887552 BLAKE2B 03c2b6a777f37286f97d5e2b3f90bf9592e72f5df45f05dd9ae532c092cc38120475795821a31b6106579e49f86ad0e598b15b63ff52107794d0403fdf617ed9 SHA512 21bac2c7c10b0900c0e29cebd546a31cfb058ce0567166c71d45f150824a8818f739284787181678076982dcf40a2e62578b7a5baf19eabcab4f7385e17d2b44 +DIST VBoxGuestAdditions_7.0.20.iso 53504000 BLAKE2B c29824e0e35104051205b13ce11137c1900be7c24c0d1dd4ff7cb6d936e61a8413a4ee1713034f8a347adfaa9b0ce3b43ce2de5b41dd9e74202f2f97710a8009 SHA512 6b87812ad1d8230c4f8ab79b58b7095c8c56b0b2acd7dcf0ecf54248fff2d0f3c89cc590de32a3cbabf5853ffa55e1cad8500206512141f027919c37b01f84ad EBUILD virtualbox-additions-6.1.50.ebuild 567 BLAKE2B cfacfeed3e15bb0407abaf7b9584d37054ed47cff35bdc80b71f9a97af7a49534ec4ade228ea39e3801f94a25fe6fd872c698d811f14f7ae744e816a0ead9061 SHA512 1fd1aa81f3ff55ca2d71ca5384fdb2bf46c9cdf5bce89917089743a86b92caaf06ffc1e1cf844a10bd2259ebfb59417850eeabd75653cd613c3f64f85ce30c70 EBUILD virtualbox-additions-7.0.18.ebuild 555 BLAKE2B 2b0398d65ffbc61bb3a6f5833ae5f5fc3bf4582df3caa78007b3da03d840cd2e455cd5bbbe81cbe6b0652613dd7d75acb7d0e0e04312b419717ac7c473ae6163 SHA512 7f10e29a7ee72d988c92228b64a769e00ef42292b26ce61e62182af93938f63489615009f8224b4fef8bd927ee6d24c6301496be50cc3efaa817423b4ac54e84 +EBUILD virtualbox-additions-7.0.20.ebuild 556 BLAKE2B 73f1560fb266d485e972ddc631bdae9aa25b7153ebfe43a242ed2391fe00782fd63ba91559f3f484da3c75c746128b2248dc57a00fee90d6704faed507d6e90f SHA512 50ef140eaf64677cac9c29ffd51cb48cbbfcb22e5c6bcc0ff2a87fb16621d53accab5aa805b85be62e3d0da3ff6f5b5e05d299621ac57b5914ab31042dfbb67f MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-7.0.20.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.20.ebuild new file mode 100644 index 000000000000..92124a9f779e --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-7.0.20.ebuild @@ -0,0 +1,25 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN=VBoxGuestAdditions +MY_P=${MY_PN}_${PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.iso" +S="${WORKDIR}" + +LICENSE="GPL-3 || ( GPL-3 CDDL )" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +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 f7810cc28a75..2202798e974f 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -1,5 +1,7 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.50.tar.gz 11175855 BLAKE2B 898ef92a91dbfb39079f8dfa5f4c1e6d91df66e92deb00849ba1da8a2278e3adcfd5754bf70acc6d8b6d7d6273923999860b71c01de3eaabf4d487d718aa14ef SHA512 818f0564a8ee1266f2d03d6e0d5df44278746067ae86279f6e884f519ad3e923382c7b987b3a58fe95e2aa4f0a53b98d553106b0250923e88989e5fdaa9dc3ae DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.18.tar.gz 18264093 BLAKE2B 4cd3f87b02f0340e0b226a68a595fd947de490a0eae36471beedb7f154529bc8f095f7512486660c4373a612608f42cbf6764dc84407143a4db9b1b9e684f754 SHA512 c83bdb6de0c98d558b66eaacdcf07baf004559c436201105e97bbdf387743dcefad285528a7de15c75162b38cd3b13d95155304da744a205661adfb692c6d958 +DIST Oracle_VM_VirtualBox_Extension_Pack-7.0.20.tar.gz 18263914 BLAKE2B ca31eccf361e7ce865e838d6e819f3b9ecc0852d07660f14aa9fae200a0d04777256e3cd933ffc02992ed7b596779280176916e9d9f030d7aaf2319433fc63f3 SHA512 b0ba22299a9bb81f47fb4c7f4117b1b5210a72973da723185c6d87fe192f7ab0ea0eb9fae6671b84332a234ead8539375976c87c483628449812e617c42598c7 EBUILD virtualbox-extpack-oracle-6.1.50.ebuild 742 BLAKE2B 687dfef72959968f610b73f55ad028e00e59fd9bf4ff7d9d60b77e704bf61395ff1680958455619c5afd2867be365e161e5845b03a53902a7a14f88b7887815a SHA512 00fd45d6068420328b559d7ab7ca491b8dde2b8b96e5bd8a7e46108cf980e38c660425020de6a58501d6b119443f80cbd64fc52ed223f5c9f3ecf8834cf52d02 EBUILD virtualbox-extpack-oracle-7.0.18.ebuild 797 BLAKE2B 04bab98e17dd3519b1de3a2644a1f150f07bb1b555fb0b65bd8022fd99b71e5631dae91862847feecebb99d7ddac5656fac69e17ab33bb63be5a9c9bbb9a8aa5 SHA512 f28316b58160fcb3e55c72c928974dd1db6239220cc9f61510b9a6408adea2de0cc13faee7e91dcdbe5240eb19f542c85a78c0fea2ac2a2efd37ab0779d05d38 +EBUILD virtualbox-extpack-oracle-7.0.20.ebuild 798 BLAKE2B 44a1206f56d92807da770168cd25cb915a9afa2dd5d771835bcbe63d9244685b2f660a7e1f77b4e24ba4ee35b7c012eecdf2fc3f67b5915e994a8cb34bcce957 SHA512 0f62e25ac4aaa983706863ba84f831fdc41238373df0c8c18bf7071d7646b2ed8cb431367831326a43a7f393b6e29fa20c2711767067ee8e1227dea32020faa0 MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.20.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.20.ebuild new file mode 100644 index 000000000000..8c44669215ab --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-7.0.20.ebuild @@ -0,0 +1,33 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="$(ver_cut 1-3)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}" + +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" +S="${WORKDIR}" + +LICENSE="PUEL-11" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" +RESTRICT="bindist mirror strip" + +RDEPEND=" + || ( + =app-emulation/virtualbox-${MY_PV}* + =app-emulation/virtualbox-kvm-${MY_PV}* + ) +" + +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 fe0efedff3e0..e4d3d9be80b5 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -7,9 +7,11 @@ AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9 AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9 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-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57 DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992 EBUILD virtualbox-guest-additions-6.1.50-r1.ebuild 7489 BLAKE2B 777c460693bb72400c5b287cee323b572fa4d0bbf758346e1059c7db0cd73f1520893e79df1698095fd05d662947630bda85266eef38b0f4e0f1eefafdb4305a SHA512 f7acd23993f08d31ff55d927d5a1576247e6894d517827f0b24cfee38cfc7d62c27fa8b18ca251a859656247e2dc2d595a2405747443f0ec45b25f9631705d49 EBUILD virtualbox-guest-additions-6.1.50.ebuild 7515 BLAKE2B c431547ddba5da48b1adf38c5586b0716f35bcef669584928e5d8e0611b47afedbf7e928f173d69b40891bd992e394630386587fcf05504bbc03d14251f42b75 SHA512 9c345dff47ab1aecede001e780f61cd51dbd0b4edd6a67491d410d964a387defdb282e13feaf14336291b58c9fb23532c5a438ffa26af7b60d63f75cbb931343 EBUILD virtualbox-guest-additions-7.0.18.ebuild 7680 BLAKE2B 8cc5ae244e163327285b9e3dea9387c84d19182237818c173ac031e879ae9ca77b7e9643ec04f396ca8553086cfbdb975f36307f9b847f7fe024729ccb16202c SHA512 272b689ded7bdeafb259e8139f8c932a40b1e0ee7211636a2fe565cbc88a49dc87cecfd5c060fc5e4f0d0c9063bf9fb85fb9b661b66419cbd19c43a630bef50c +EBUILD virtualbox-guest-additions-7.0.20.ebuild 7546 BLAKE2B 9882dc2761761415a6a712696ae43602dbd54bfc190566d1e837ce84799d7e3cf1fe8e54829b01f9b4e8ea2c626cf2bee7824fc636a7808531d6d040d518bbc7 SHA512 d34317da19e8a5f8c2472ffc3511106acf118bdfd18b642cd1402b630541fc0dd80d179fc2d04956062b3ae2a4b64cd52cb9a22a6ab03b40da430b47f3ada1d7 MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.20.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.20.ebuild new file mode 100644 index 000000000000..d04a4c8b8c76 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.20.ebuild @@ -0,0 +1,287 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev + +MY_PN="VirtualBox" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +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" +S="${WORKDIR}/${MY_PN}-${PV}" + +# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild +LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~x86" +IUSE="+dbus gui" + +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + sys-libs/pam + sys-libs/zlib + dbus? ( sys-apps/dbus ) + gui? ( + x11-apps/xrandr + x11-apps/xrefresh + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + ) +" +# some libs here are indirect dependencies, and also needed at compile time. +# keeping them in DEPEND to avoid warnings from qa-vdb. +DEPEND=" + ${RDEPEND} + gui? ( + x11-libs/libICE + x11-libs/libSM + x11-libs/libXau + x11-libs/libXdmcp + x11-base/xorg-proto + ) +" +BDEPEND=" + >=dev-lang/yasm-0.6.2 + >=dev-build/kbuild-0.1.9998.3127 + sys-devel/bin86 + sys-power/iasl +" + +DOCS=() # Don't install the default README file during einstalldocs + +VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src" +CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX" +WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver." +WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA." + +DOC_CONTENTS="\n +Please add users to the \"vboxguest\" group so they can\n +benefit from seamless mode, auto-resize and clipboard.\n +\n +The vboxsf group has been added to make automount services work.\n +These services are part of the shared folders support.\n +\n +Please add:\n + /etc/init.d/virtualbox-guest-additions\n +to the default runlevel in order to start\n +needed services.\n +\n +An autostart .desktop file has been installed to start\n +VBoxClient in desktop sessions.\n +\n +You can mount shared folders with:\n + mount -t vboxsf <shared_folder_name> <mount_point>\n +\n +Warning:\n + this ebuild is only needed if you are running gentoo\n + inside a VirtualBox Virtual Machine, you don't need\n + it to run VirtualBox itself.\n +\n" + +src_prepare() { + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Provide kernel sources + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null + eend $? || die + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + if ! use gui; then + echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die + fi + + # Remove pointless GCC version check + sed -e '/ check_gcc$/d' -i configure || die + + # Respect LDFLAGS (bug #759100) + sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk || die + + eapply "${WORKDIR}/virtualbox-patches-7.0.16/patches" + eapply_user +} + +src_configure() { + tc-export AR CC CXX LD RANLIB + + # Build the user-space tools, warnings are harmless + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + $(usev !dbus --disable-dbus) + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + + # bug #843437 + # Respect LDFLAGS (bug #759100) + # Cannot use LDFLAGS here because they also get passed to $(LD) + cat >> LocalConfig.kmk <<-EOF || die + CFLAGS=${CFLAGS} + CXXFLAGS=${CXXFLAGS} + CCLDFLAGS=${LDFLAGS} + EOF + + edo ./configure "${myconf[@]}" +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}" + + local myemakeargs=( + VBOX_BUILD_PUBLISHER=_Gentoo + VBOX_ONLY_ADDITIONS=1 + + KBUILD_VERBOSE=2 + + AS="$(tc-getCC)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LD="$(tc-getCC)" + + TOOL_GCC3_CC="$(tc-getCC)" + TOOL_GCC3_CXX="$(tc-getCXX)" + TOOL_GCC3_LD="$(tc-getCC)" + TOOL_GCC3_AS="$(tc-getCC)" + TOOL_GCC3_AR="$(tc-getAR)" + TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)" + + TOOL_GXX3_CC="$(tc-getCC)" + TOOL_GXX3_CXX="$(tc-getCXX)" + TOOL_GXX3_LD="$(tc-getCXX)" + TOOL_GXX3_AS="$(tc-getCXX)" + TOOL_GXX3_AR="$(tc-getAR)" + TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)" + + TOOL_GCC3_CFLAGS="${CFLAGS}" + TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" + VBOX_GCC_OPT="${CXXFLAGS}" + VBOX_NM="$(tc-getNM)" + TOOL_YASM_AS=yasm + ) + + MAKE="kmk" emake "${myemakeargs[@]}" + + # Now creating the kernel modules. We must do this _after_ + # we compiled the user-space tools as we need two of the + # automatically generated header files. (>=3.2.0) + # Move this here for bug 836037 + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + local modlist=( vboxguest vboxsf ) + use gui && modlist+=( vboxvideo ) + modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + + insinto /etc/modprobe.d # 485996 + newins - vboxsf.conf <<-EOF + # modprobe.d configuration file for VBOXSF + + # Internal Aliases - Do not edit + # ------------------------------ + alias fs-vboxsf vboxsf + EOF + + cd out/linux.${ARCH}/release/bin/additions || die + + insinto /sbin + newins mount.vboxsf mount.vboxsf + fperms 4755 /sbin/mount.vboxsf + + if use dbus; then + newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN} + else + newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1) ${PN} + fi + + insinto /usr/sbin/ + newins VBoxService vboxguest-service + fperms 0755 /usr/sbin/vboxguest-service + + insinto /usr/bin + doins VBoxControl + fperms 0755 /usr/bin/VBoxControl + + # VBoxClient user service and xrandr wrapper + if use gui ; then + doins VBoxClient + fperms 0755 /usr/bin/VBoxClient + doins VBoxDRMClient + fperms 4755 /usr/bin/VBoxDRMClient + + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null || die + newins 98vboxadd-xclient VBoxClient-all + fperms 0755 /usr/bin/VBoxClient-all + popd &>/dev/null || die + fi + + # udev rule for vboxdrv + local udev_rules_dir="/lib/udev/rules.d" + dodir ${udev_rules_dir} + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + dodoc "${FILESDIR}"/xorg.conf.vbox + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" + + readme.gentoo_create_doc +} + +pkg_postinst() { + linux-mod-r1_pkg_postinst + udev_reload + + if ! use gui ; then + elog "The use flag \"gui\" is off, enable it to install the" + elog "X Window System drivers and integration." + fi + + readme.gentoo_print_elog +} + +pkg_postrm() { + udev_reload +} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 1ba7da681238..6702ab126094 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -2,6 +2,8 @@ AUX virtualbox-modules-7.0.14-kernel-6.6-warning.patch 1110 BLAKE2B c66ec49874e6 AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a DIST vbox-kernel-module-src-6.1.50.tar.xz 680700 BLAKE2B c3a10ce8f3eb7e6c0c05f81cd3c072296557b9f9f6f501bb0aec3f04aabfe1fbb67b553510104139cef290c09ff9e67161085781b8d28c968dfafd15958a1b1a SHA512 7822e421b595263cbdaae08103255742360ca7ab0c385818ec895f10570c5b9ed5c7614742d8fa8bc2414cd426907cd1c49d735cde8caf9d2b7692898058f592 DIST vbox-kernel-module-src-7.0.18.tar.xz 719604 BLAKE2B 44e9d895791a7ff50681dd8860456a87078b41a4eb3005a6b249f9b34c37de709e190cbd6f352d21010ddcb9d8d1c35303bafd765e999664288df9e0ead94e6c SHA512 1cc17e302ef8251abd08a078abf11fede242154b0bb78d03f8d7c2821ba7cff410bd255802316a2f13100884b35a6f14fdf0b594304bd041521b66d264f51b77 +DIST vbox-kernel-module-src-7.0.20.tar.xz 720160 BLAKE2B 833aa87af13a6c3e9426bd00e32b14c8b3958ab14425e8c02141d8579e987255b170662e00abb92f17234d4f03462d6d5b9fc1279d9da5449d344a328c905c8f SHA512 650bb6cf16ae42774524bf2e7ad2ee125d7a8d57de1e58d24b8b49bb9cf2829ea01dd32d2c1e0b2df556eab4a458cb0d84715b92d4085d03891f62a46aaf2916 EBUILD virtualbox-modules-6.1.50-r1.ebuild 1007 BLAKE2B 35da91688a97c03ca0ac189e152e3e86d7ee2b17f48028da50e19b8ed755c6c555ebc32f2d86941a8da4409fde376a3b7db84c3b53bdb069e434502f27cce09e SHA512 0966575ad55dce2ffe6408504fe234d86d586b348ff5279655805a7ceda7af4b5ef9ec213f100c188216fb11c9f1ed2426d396054a02937900825de407a0ce4c EBUILD virtualbox-modules-7.0.18.ebuild 941 BLAKE2B 23539d6f2c798b730f2f9afb007158672cabb6e199356b104c5e34b4f8e819e55f77ae1f303d655333cbc4351b67dc44735c131d59bb04031bc7c1b900d49c7b SHA512 379c3e216af76612970ca077c29a3c750de40c9a91dd288754cf55e7612e64227c261ffe2b0ccb8aef21f47ed1afac713295d6f7b063f27fa083715d311f7c75 +EBUILD virtualbox-modules-7.0.20.ebuild 942 BLAKE2B eefe2ce819d229a06584224a5f4ffe531e821df6dcc7b5f761d88605ab854880f9182a22d228953e2194d9a37191e6816fb5db4f87e3e10d324a42f71486ffce SHA512 181fece45985e074c73476473eba544a69151e6e2499e6162ca6019213aff95d6460d240890b01e24ff230eb87070d31f2ab9e595a21545a3020e9f4b1e7da34 MISC metadata.xml 255 BLAKE2B 9386ef3bdb55211441f303528b31f8ccd9ad9039744400e859574a424fa1f366a989fe78f5c10038f3dd9b06a6a389e4a7e643b3eac0dc93a79ac4cc3b4c5423 SHA512 6c158e12464285afd44b70d0653b65f65da1c523fc2b1b07eb6d2dec56f58234bb31cb9dc36238cd6dfc20031b4d58c04e7c1678cc9f917194403ad8a209513f diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-7.0.20.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.20.ebuild new file mode 100644 index 000000000000..08e22e5e0379 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-7.0.20.ebuild @@ -0,0 +1,34 @@ +# Copyright 2022-2024 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 +# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb + +EAPI=8 + +inherit linux-mod-r1 + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz" +S="${WORKDIR}" + +LICENSE="GPL-3" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64" + +CONFIG_CHECK="~!SPINLOCK JUMP_LABEL" + +src_compile() { + local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc ) + local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" ) + linux-mod-r1_src_compile +} + +src_install() { + linux-mod-r1_src_install + insinto /usr/lib/modules-load.d/ + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf +} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 34f2fcc53dc0..085ad50c9482 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -14,12 +14,15 @@ AUX virtualbox-ose-6-wrapper 3578 BLAKE2B c150e578212435268de3c5fb0eea701bc843ec 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-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-help-7.0.20.tar.xz 3949292 BLAKE2B c56f736606fdedfb59bd1f4446a457587dcbe018d1be3162d94eca780cacfa45b49ba5a9c6b25970d28e5a428904bdfd34d2f229c1e24b567fd1b1959cbdc9ea SHA512 e73e448b8aa875d0f6ae1fb398082fa7183e198191a9b509b63592b5df3a19069b805dcdc11d98da3971a14fd6670d8b0a777e5a6d6b63358f7a4f263ca8d31e 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_pre20240419.tar.bz2 5316 BLAKE2B 1a890b7d19cb252c7801b68c299676e2cd7a209a57a03cb39025e1a969a1c73142eb96154dae8469405f93d61969154428ea0fe3950a00d8a0a69dc8aefb4fc9 SHA512 ce4f850ce87652ef4eab039332048333949c94f0627bec8eb00d9689d7f8edcce372e2185ef8bbda9aef97781a2008b7c6464468cc38f3454dee862efc0ecdc9 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 20843 BLAKE2B 9f08caededc08435490435ac6c68612d760b0794c167fdba090304cf980e3847da1590ce8e9a45ad1edbe71414e4df2d4d6ca428f8f1d37b90693dee19878589 SHA512 55854fc05217d9ca1f3b0f1bff9d15175e75f79b76a16de8917ea0108b5b27b4937546199472893d64797fd780353216918a71e3b8344cc5f477bb55024a71af EBUILD virtualbox-9999.ebuild 21626 BLAKE2B 001008613b2f24006cff0ddf9f5758d37d248541edb6a20c1d8942129987a82a3eafb4db19a2e7a32daae7b4de03d82b0a7a6b78b119f15201e64b783ea5531f SHA512 d42bed323f570e022f75c579e92fc220e8c5a344d9289d83a7b3f1a9a92cb8905935bd6e486e5bf29143fcdea13dc7b30adb74a5d4bf6759b193fea1523bfa4c MISC metadata.xml 948 BLAKE2B c074e494d9affda91addd2355f8e71616602102b4cc151d2b45efd04754f1f92621ecd313dbe3baa44c3301f57b61e9cff780d445c2ea3d19ce3d9c8ae05213a SHA512 5338812da9334aedf08dd7a31a4a07c7bfa8232e8f0de6af9de9ac0f5585397cea16e66cb73d56632efa4cf21386782108182d803de6ff45c08082a13dc5fed9 diff --git a/app-emulation/virtualbox/virtualbox-7.0.20.ebuild b/app-emulation/virtualbox/virtualbox-7.0.20.ebuild new file mode 100644 index 000000000000..ac0bf0cafce8 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-7.0.20.ebuild @@ -0,0 +1,741 @@ +# 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/ /\ /g' \ + -e 's/–/\–/g' \ + -e 's/←/\←/g' \ + -e 's/→/\→/g' \ + -e 's/↔/\↔/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/'[^&]*\(vboxdrv setup\|vboxconfig\)'/\'emerge -1 virtualbox-modules\'/' {} \+ || 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/wine-mono/Manifest b/app-emulation/wine-mono/Manifest index 2cf65c940a9c..0f42b8bbb87c 100644 --- a/app-emulation/wine-mono/Manifest +++ b/app-emulation/wine-mono/Manifest @@ -14,6 +14,6 @@ EBUILD wine-mono-7.0.0.ebuild 612 BLAKE2B 39b9a3190973e810ad32da319b29e8448de94e EBUILD wine-mono-7.4.0.ebuild 662 BLAKE2B 1e4e33a1f0a9f6436d787091a0186b8f8d77a6678c5d86fac205720a02ae5fb21e6a40e3df33d8f1501af6974261ce23f3b47c0a558ea299b454fd439b19b7d3 SHA512 930cebc2ad75709cda8819b527c3bbd0c34c6e59fec7562197b8d1ad8fc3e0597b62a789e1e37951ce63fe8687158617f6d332cea585db4787b71de576ea0982 EBUILD wine-mono-8.1.0.ebuild 662 BLAKE2B ad6fe06250194bb1251c1fa223cf6b2e5716066c854c35f2481ff073b4735b4b9ab692931b28ac35ff225bde9af6362c611755cccaa09e7ac6273f9ecc17c433 SHA512 99bea65048ae2c3c449a9435780ba1a4204bdf889058780f5f60b678aab1a6f70ef20c6fbbd20308d6edc4cec35034d90fb6cd6093505318d606c90826607f9c EBUILD wine-mono-9.0.0.ebuild 664 BLAKE2B 93591482a390f2a57f9b7e35ea97761dedcda412ab03d994cc8b34d655ed41f7c4889d221a917b4ef5435a638b378252c05b314ede12e8382ef26c22b125e6ac SHA512 2e39e7985aae552e728457e854ef4c37c40432b8b5c20ada1bbce0e75f7e740293dda828e16a6596df1f9ac0035e8d2fdbe4f2660e730f76fd31153c07014633 -EBUILD wine-mono-9.1.0.ebuild 664 BLAKE2B 93591482a390f2a57f9b7e35ea97761dedcda412ab03d994cc8b34d655ed41f7c4889d221a917b4ef5435a638b378252c05b314ede12e8382ef26c22b125e6ac SHA512 2e39e7985aae552e728457e854ef4c37c40432b8b5c20ada1bbce0e75f7e740293dda828e16a6596df1f9ac0035e8d2fdbe4f2660e730f76fd31153c07014633 +EBUILD wine-mono-9.1.0.ebuild 662 BLAKE2B ad6fe06250194bb1251c1fa223cf6b2e5716066c854c35f2481ff073b4735b4b9ab692931b28ac35ff225bde9af6362c611755cccaa09e7ac6273f9ecc17c433 SHA512 99bea65048ae2c3c449a9435780ba1a4204bdf889058780f5f60b678aab1a6f70ef20c6fbbd20308d6edc4cec35034d90fb6cd6093505318d606c90826607f9c EBUILD wine-mono-9.2.0.ebuild 664 BLAKE2B 93591482a390f2a57f9b7e35ea97761dedcda412ab03d994cc8b34d655ed41f7c4889d221a917b4ef5435a638b378252c05b314ede12e8382ef26c22b125e6ac SHA512 2e39e7985aae552e728457e854ef4c37c40432b8b5c20ada1bbce0e75f7e740293dda828e16a6596df1f9ac0035e8d2fdbe4f2660e730f76fd31153c07014633 MISC metadata.xml 869 BLAKE2B fccb940bff530c2e7c311060ef585efc8f62c00480435fe62cdae5eaa5dd58fd6d41354f6656c166700114e356f7bd60c791a77e86a2cce2bf4421bb778d28dc SHA512 fba10cccd3d072a96332a065f3b08cca213b18820e14a0e0a8e135ad2a986b158766bed07bae7c468f445642145a25350f2cdee58d8a4ccb916fc6a0ea7b4a62 diff --git a/app-emulation/wine-mono/wine-mono-9.1.0.ebuild b/app-emulation/wine-mono/wine-mono-9.1.0.ebuild index f756896e7c2e..420d2e8387b2 100644 --- a/app-emulation/wine-mono/wine-mono-9.1.0.ebuild +++ b/app-emulation/wine-mono/wine-mono-9.1.0.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}" LICENSE="BSD-2 GPL-2 LGPL-2.1 MIT MPL-1.1" SLOT="${PV}" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="+shared" src_install() { diff --git a/app-emulation/wine-proton/Manifest b/app-emulation/wine-proton/Manifest index b350f387b8b7..31fcb7a70a45 100644 --- a/app-emulation/wine-proton/Manifest +++ b/app-emulation/wine-proton/Manifest @@ -17,5 +17,5 @@ EBUILD wine-proton-7.0.6.ebuild 12716 BLAKE2B 0a8ce5cf58303c15c04e559a48efc84875 EBUILD wine-proton-8.0.5c.ebuild 13331 BLAKE2B 3cef3d1c03720064f77fd2bbb7ff0d67b35f30fbd1685aeec3e2c1c2635bf7ae86d7cb1ec4a9005b3795b0a0f07168f2069dfef0ce31ed2c8ed739decb64e3db SHA512 3ae33940a06a9a345088bd93d0eb78ef0e62ae725ee1363babeeec5a37d5919973ab5bd52cf13c65148926b74f4a4986ba41f8da9aaa5cc04053de4426c2a2ca EBUILD wine-proton-9.0.1.ebuild 14231 BLAKE2B 6c4200f7f0408ab482eb1b0f4bf0ade5504087004e025e7575f5f91dc33901f8ed533cfbe5f56a3b28be8332d02edd86aded16d42210e01074200f75a211053b SHA512 91b8ab885b16dcb90ab75ac5c594dc7e2e969cf73a4fa74c8c40c1419562054e9e020fbb675e2ce723c777382dfda677b691aa5e1a0f9efb925f0fc8d8c75357 EBUILD wine-proton-9.0.2.ebuild 14232 BLAKE2B 8877bb76f74481ee9810a0a974eb06abbd81a8fe8f1ae899e09b683199a200bd4a219b61ee571502e66b29d3519b604dc98ae4227a3d87c5f4b976e1ad714ac2 SHA512 99891635a6cf0595fb170df4d931b2f2c23d53e72d4ce3030e3e2ace635bd8d0d4d7ad5ee4499895c8dc21151fbc458126d79834649dbd214d84876bd3c20ad0 -EBUILD wine-proton-9.0.9999.ebuild 14292 BLAKE2B 7718fd22d3624f1df4f09e6daa84260910d58fbdd6ae62cb58fa11d3a3dd9b4841e6a28792e62db16d0cc9dc03a5a78a92fb08f4e1bad4ffb948985331408872 SHA512 e84554d6569153b02c23f89d0291d494f6458bfc6af834e93eac83048c98c63f925bc18b627bdf8deefaeea9be2a9fdd681573823dbd7cf553b3d5ac5d89b199 +EBUILD wine-proton-9.0.9999.ebuild 14292 BLAKE2B 3b49c8256862d493706aaa048d4b0159e1814464f1e62906dc3bcd8d2e1f3d36494edb071210d6ee409a73cd859b3f35507f6e7a91fddc4614eada145f8f1795 SHA512 d94484ead5fe180675ccb79fba3a25350ff7d8001a835ce88eb5d2eb7f736c928d76df7bb4005fb512e8c82451f2e350977a0c7d8fdd3161c36a0c07cfde42e5 MISC metadata.xml 1593 BLAKE2B 2e07980ce479dbb737394a5b74576925da936ca2ef5c0767b036cad7f56460ae0a6c73e8a416679f512a5195d037329ce9d3ace9808f68e024baf8640f462d94 SHA512 9f99896328a6337e7a2228977a3b7d853e78aef50a19ee40c43d18f657ead529553d7ea788bae1d408bd074f240cb555ba42558a54cd3ff8ab530b167e813d55 diff --git a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild index 9c233aee5903..78a63d876e93 100644 --- a/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild +++ b/app-emulation/wine-proton/wine-proton-9.0.9999.ebuild @@ -9,7 +9,7 @@ inherit autotools flag-o-matic multilib multilib-build prefix inherit python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper WINE_GECKO=2.47.4 -WINE_MONO=9.1.0 +WINE_MONO=9.2.0 WINE_PV=$(ver_rs 2 -) if [[ ${PV} == *9999 ]]; then diff --git a/app-emulation/wine-staging/Manifest b/app-emulation/wine-staging/Manifest index 7e7998c13766..5daf0b0dd282 100644 --- a/app-emulation/wine-staging/Manifest +++ b/app-emulation/wine-staging/Manifest @@ -5,16 +5,19 @@ DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a DIST wine-9.10.tar.xz 30289048 BLAKE2B 8c9001f2edac31636a82f0bd0a02d69b7fc0a20560a568bbff5f46c111ec3b623652a3ec4b9df48a153cf346e580979196496d9c8416794c4be70e7705dbb411 SHA512 f76e62b40e72af241c6f88dbcdb767720c36496b9deb9cc1246cea967573bbafd46b7000117d3c64f499d175ac1c7299ebba3f476574bf9b18f6d9744ba7a3e2 DIST wine-9.11.tar.xz 30301904 BLAKE2B 745cab93268f51a3d31562af6d392fec5ed0d18aeca3684d0d3ef68ef144e20ec2c0879853f67538db833ec89321e1b1e09533882802eb68452ad3fed87193cf SHA512 695170140372f169e78e90a66d938839c70f9647531ae8d782c58fb0450460174f2958f7656f8d516447a22ef6e792a8c89f2f18c25fac847adf46bc51184999 DIST wine-9.12.tar.xz 30339552 BLAKE2B e114b3a1db237345b9f86cb3a9f1e0040067275eb6c840e480f5fe6f4fa67ba9d4603b2006552ba2ef0ed45e53de9a25b67d4a50e24fad6a9b0e06d1e95763c7 SHA512 00c25cb11feed3625ebd8dc76fa35930d07d51182be4537c488ac4e713d6f9c61b974b19eafb57f54630376346dc1749c4d36a18d0f72748b34052cc7322df19 +DIST wine-9.13.tar.xz 30542188 BLAKE2B a832468142d68a21696d45d01ed8b9e464dc5f95e5a5205a08573024a2b0e7ccc4415388de4cef9581976b10a7e5723d9058e22cc56eed897b25b2a7fa369608 SHA512 f9c74beae87a02c4ae6176676bbc9de203224651ed4eeafbe6cfc05b8a455a9ce790d3211135fbeb6425719e4c0423e345dfee5ed2cefdb80706784f464f7225 DIST wine-9.9.tar.xz 30265476 BLAKE2B a2557044b10252c1b1ae023e10863c601e9159d64eda2ce1d8aab4dbb9efffa1b4b15ed27a9edbf6f2bba148c2bb07e729bd706bac9fe17f91c826c74b5980e6 SHA512 df016411933b5447bef9b48f67c58e12d6d33ef0c24045ab03c92821dcccbf84335d1a2d765e6d6cf3a743598317010b8ae6f69de3661733e4fa43febec873dd DIST wine-staging-9.0.tar.gz 9577631 BLAKE2B 0012978f54c618e73d407dd49dccff02853912d0c015098889802518e8c51b280f5d60e11291335dafc68944ee01cbcb7fd6c5825ef10ae1520c7b82d9846718 SHA512 362209fcadcf029152b681c76beb231d0cc8de1609b994094f1dc88ab871fddda08b3d8c2fe36ceb38909a9d634c1ade864ca0f28a6a7715ec286a8b2884981f DIST wine-staging-9.10.tar.gz 9436968 BLAKE2B 57f22873516647bc429088f02af0dab96408da7914a3fffa76acbffde73d9822ace9a900b58fe96b632da844b58c2759dcba3ad3dac64588b54cb0124b50828d SHA512 d052cf73ec9d365ea982cbbb896182b215fa841bd322167ab9e2212efb87441bb5477c40e3106e399a53b2c0952f0e6d1ce5e428e79e2fdc0bc5c5a8f937cdd9 DIST wine-staging-9.11.tar.gz 9460666 BLAKE2B 8b4193663c6f6f4e17f4dc6a2486f7b96be67f2034298709bc14971376d53b0d41e748b4ab991bb24430cc8eefd52ccd0ca4577f4612df80db8d72310110debb SHA512 3f60e43e39b0d78938e3765719bb0aa3f052e9dbbed71cc6990a8038c9dddcd62edacd85c75bf7383f62294f2b0b464adc1eb9e16fbac81d60f779e55addc65b DIST wine-staging-9.12.tar.gz 9456608 BLAKE2B a9bdcc4fc855ce4382a688cb57232715d26917b6d9c6fbd43323bb943070cb3b11ebc1c3040cc51fd3b6d2af6e8a7c50907480f8c538ea12e3846529ed9da255 SHA512 85d135cc9bef9357ae0899f7b2b5ae61750f1d733dbae05c56e29e5b5705c6b2b9c3c95a83ceec35cf7b631f4157d6685317f8a1078fe1cf7f6c550f7db80009 +DIST wine-staging-9.13.tar.gz 9486868 BLAKE2B ef89e0c542689dfab7cc761ee210e434df9586f997da19868991752f6aa152494060ba39e9d70f8652749d77c0273b86b11fb06ff27efe3e4e1af9ef2795c969 SHA512 a43e1ac3be6e9563cf14b27bbfeb7b916b10322affacaf4fb1b648444ff6d43f8f15f7b31b01c692add884d45394acd21f0699ed25c52e1a021a821cf47d6168 DIST wine-staging-9.9.tar.gz 9593672 BLAKE2B 9f6fc7137bb447e52642caf7083ddd60a8d7a545f364dd1783b7adfbd2a80da8b89bc2199525b3c9d75f9f356f5548cf97ae1278361be1c6fb0f0e218c3cf336 SHA512 1b6b341a48a05f48587b7ecc0ead50058b2c1f8a47b6e52adbc7e4afff9bc633a6018e90b2e3ee6b720c59181095b793cd2bbfa7242aec6871f2f87f4db661c4 EBUILD wine-staging-9.0.ebuild 15677 BLAKE2B a60e2f72c3896f6de7b045ba51c41338531eb2dccd0b783725c1c793cddf4f17311c5941c99b0d29bc1b61607bb4e26c4114b3240b4c3b219927d26151406593 SHA512 affaba6aff52e930d8345a5b3c6ecf4df5479463f4bf8ad036b9215f7f802bc94efa5ac47897af11bdd9a12f5d93947fdda4407ddc75b937a489f783c9cf2389 EBUILD wine-staging-9.10.ebuild 15634 BLAKE2B ffc3eb7ea4911dbbcaf1d63651e605d54846f864f9ab1b1764e622a66087743dbe036c17cafef7a09a791f97c0ce7cbe7e5e122f83d74a85560f993d10b10304 SHA512 b22cf4de29fc441c74d02778f089167d1fcebcd0a7cdfc50c967a4cb2e9230e86a849506979d90e426ff53aff6c93b37672c0850c2f666387ec794e4b36b9416 EBUILD wine-staging-9.11.ebuild 15634 BLAKE2B ffc3eb7ea4911dbbcaf1d63651e605d54846f864f9ab1b1764e622a66087743dbe036c17cafef7a09a791f97c0ce7cbe7e5e122f83d74a85560f993d10b10304 SHA512 b22cf4de29fc441c74d02778f089167d1fcebcd0a7cdfc50c967a4cb2e9230e86a849506979d90e426ff53aff6c93b37672c0850c2f666387ec794e4b36b9416 EBUILD wine-staging-9.12.ebuild 15705 BLAKE2B d3c8ac0aaaf86efe36d726f348dff4e1de058c07d680545178a730c02d2deeaf7d4345329fb2fbbb9b89199e6ff672a4fd11c9261a629daa80a2251bb7665924 SHA512 8c1dd677ab942e6dd491634ecae98d433f10a6db087b7343208809a82401e544675b8495cc193ca936603a43cfc4cd76bf5de4242419c9c62b21ea3b483367c5 +EBUILD wine-staging-9.13.ebuild 15626 BLAKE2B fe79586585ba421d064a6faa036c74b8f46b4d5feff410f574e6e337bded0985c37b9db9d17668642f7336b0adeb08a3eeecf0fc66f15d7645cd3491baff12cb SHA512 7ba67b3cc50b090f783c11eca7d48c98ded782bcc1027851d4ce9c6b2aa040a811b70118295a19ce1ee48db51ddf8aa316674b53e14573d57da370607659e70e EBUILD wine-staging-9.9.ebuild 15634 BLAKE2B ffc3eb7ea4911dbbcaf1d63651e605d54846f864f9ab1b1764e622a66087743dbe036c17cafef7a09a791f97c0ce7cbe7e5e122f83d74a85560f993d10b10304 SHA512 b22cf4de29fc441c74d02778f089167d1fcebcd0a7cdfc50c967a4cb2e9230e86a849506979d90e426ff53aff6c93b37672c0850c2f666387ec794e4b36b9416 -EBUILD wine-staging-9999.ebuild 15705 BLAKE2B d3c8ac0aaaf86efe36d726f348dff4e1de058c07d680545178a730c02d2deeaf7d4345329fb2fbbb9b89199e6ff672a4fd11c9261a629daa80a2251bb7665924 SHA512 8c1dd677ab942e6dd491634ecae98d433f10a6db087b7343208809a82401e544675b8495cc193ca936603a43cfc4cd76bf5de4242419c9c62b21ea3b483367c5 +EBUILD wine-staging-9999.ebuild 15626 BLAKE2B fe79586585ba421d064a6faa036c74b8f46b4d5feff410f574e6e337bded0985c37b9db9d17668642f7336b0adeb08a3eeecf0fc66f15d7645cd3491baff12cb SHA512 7ba67b3cc50b090f783c11eca7d48c98ded782bcc1027851d4ce9c6b2aa040a811b70118295a19ce1ee48db51ddf8aa316674b53e14573d57da370607659e70e MISC metadata.xml 2659 BLAKE2B 8a80b12643e82b98b71bc408e2fd79736da01c8f7d914c7a592cb685893ea3896bc44fecf0160faec803b284d3f6bb38cf36fb4745d9d43e0e1ced8702fcaf9d SHA512 a271e537318a4e90236c195f1f8c24c3255b5465345246627797d37238e2b6292d0734a9ab19542ee34fc1e9312dc4418694992f5ce3c53310228cc6bf14ef90 diff --git a/app-emulation/wine-staging/wine-staging-9.13.ebuild b/app-emulation/wine-staging/wine-staging-9.13.ebuild new file mode 100644 index 000000000000..701e686b693b --- /dev/null +++ b/app-emulation/wine-staging/wine-staging-9.13.ebuild @@ -0,0 +1,487 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MULTILIB_COMPAT=( abi_x86_{32,64} ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit autotools edo flag-o-matic multilib multilib-build optfeature +inherit prefix python-any-r1 toolchain-funcs wrapper + +WINE_GECKO=2.47.4 +WINE_MONO=9.2.0 +WINE_P=wine-$(ver_cut 1-2) + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine-staging.git" + WINE_EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git" +else + (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0 + SRC_URI=" + https://dl.winehq.org/wine/source/${WINE_SDIR}/${WINE_P}.tar.xz + https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="-* ~amd64 ~x86" +fi + +DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset" +HOMEPAGE=" + https://wiki.winehq.org/Wine-Staging + https://gitlab.winehq.org/wine/wine-staging/ +" + +S="${WORKDIR}/${WINE_P}" + +LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff" +SLOT="${PV}" +IUSE=" + +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos + llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer + kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap + perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip + +truetype udev udisks +unwind usb v4l +vulkan wayland wow64 + +xcomposite xinerama +" +# bug #551124 for truetype +# TODO: wow64 can be done without mingw if using clang (needs bug #912237) +REQUIRED_USE=" + X? ( truetype ) + crossdev-mingw? ( mingw ) + wow64? ( abi_x86_64 !abi_x86_32 mingw ) +" + +# tests are non-trivial to run, can hang easily, don't play well with +# sandbox, and several need real opengl/vulkan or network access +RESTRICT="test" + +# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked +WINE_DLOPEN_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXrender[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + opengl? ( + media-libs/libglvnd[X,${MULTILIB_USEDEP}] + osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) + ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + ) + cups? ( net-print/cups[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] ) +" +WINE_COMMON_DEPEND=" + ${WINE_DLOPEN_DEPEND} + X? ( + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gstreamer? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + ) + odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] ) + smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + unwind? ( + llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] ) + !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) + ) + usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] ) + wayland? ( + dev-libs/wayland[${MULTILIB_USEDEP}] + x11-libs/libxkbcommon[${MULTILIB_USEDEP}] + ) +" +RDEPEND=" + ${WINE_COMMON_DEPEND} + app-emulation/wine-desktop-common + dos? ( + || ( + games-emulation/dosbox + games-emulation/dosbox-staging + ) + ) + gecko? ( + app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] + wow64? ( app-emulation/wine-gecko[abi_x86_32] ) + ) + gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] ) + mono? ( app-emulation/wine-mono:${WINE_MONO} ) + perl? ( + dev-lang/perl + dev-perl/XML-LibXML + ) + samba? ( net-fs/samba[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 ) +" +DEPEND=" + ${WINE_COMMON_DEPEND} + sys-kernel/linux-headers + X? ( x11-base/xorg-proto ) +" +# gitapply.sh prefers git but can fallback to patch+extras +BDEPEND=" + ${PYTHON_DEPS} + || ( + dev-vcs/git + ( + sys-apps/gawk + sys-apps/util-linux + ) + ) + || ( + sys-devel/binutils + sys-devel/lld + ) + dev-lang/perl + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + mingw? ( !crossdev-mingw? ( + >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}] + wow64? ( dev-util/mingw64-toolchain[abi_x86_32] ) + ) ) + nls? ( sys-devel/gettext ) + wayland? ( dev-util/wayland-scanner ) +" +IDEPEND=">=app-eselect/eselect-wine-2" + +QA_CONFIG_IMPL_DECL_SKIP=( + __clear_cache # unused on amd64+x86 (bug #900334) + res_getservers # false positive +) +QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext + +PATCHES=( + "${FILESDIR}"/${PN}-7.17-noexecstack.patch + "${FILESDIR}"/${PN}-7.20-unwind.patch + "${FILESDIR}"/${PN}-8.13-rpath.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} == binary ]] && return + + if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then + local mingw=-w64-mingw32 + for mingw in $(usev abi_x86_64 x86_64${mingw}) \ + $(use abi_x86_32 || use wow64 && echo i686${mingw}); do + if ! type -P ${mingw}-gcc >/dev/null; then + eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain" + eerror "yourself by installing sys-devel/crossdev then running:" + eerror + eerror " crossdev --target ${mingw}" + eerror + eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw" + die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found" + fi + done + fi +} + +src_unpack() { + if [[ ${PV} == *9999 ]]; then + EGIT_CHECKOUT_DIR=${WORKDIR}/${P} + git-r3_src_unpack + + # hack: use subshell to preserve state (including what git-r3 unpack + # sets) for smart-live-rebuild as this is not the repo to look at + ( + EGIT_COMMIT=$(<"${EGIT_CHECKOUT_DIR}"/staging/upstream-commit) || die + EGIT_REPO_URI=${WINE_EGIT_REPO_URI} + EGIT_CHECKOUT_DIR=${S} + einfo "Fetching Wine commit matching the current patchset by default (${EGIT_COMMIT})" + git-r3_src_unpack + ) + else + default + fi +} + +src_prepare() { + local patchinstallargs=( + --all + --no-autoconf + ${MY_WINE_STAGING_CONF} + ) + + edo "${PYTHON}" ../${P}/staging/patchinstall.py "${patchinstallargs[@]}" + + # sanity check, bumping these has a history of oversights + local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \ + dlls/appwiz.cpl/addons.c || die) + if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then + local gmfatal= + [[ ${PV} == *9999 ]] && gmfatal=nonfatal + ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)" + fi + + default + + if tc-is-clang; then + if use mingw; then + # -mabi=ms was ignored by <clang:16 then turned error in :17 + # if used without --target *-windows, then gets used in install + # phase despite USE=mingw, drop as a quick fix for now + sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die + else + # fails in ./configure unless --enable-archs is passed, allow to + # bypass with EXTRA_ECONF but is currently considered unsupported + # (by Gentoo) as additional work is needed for (proper) support + # note: also fails w/ :17, but unsure if safe to drop w/o mingw + [[ ${EXTRA_ECONF} == *--enable-archs* ]] || + die "building ${PN} with clang is only supported with USE=mingw" + fi + fi + + # ensure .desktop calls this variant + slot + sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die + + # datadir is not where wine-mono is installed, so prefixy alternate paths + hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c + + # always update for patches (including user's wrt #432348) + eautoreconf + tools/make_requests || die # perl + # tip: if need more for user patches, with portage can e.g. do + # echo "post_src_prepare() { tools/make_specfiles || die; }" \ + # > /etc/portage/env/app-emulation/wine-staging +} + +src_configure() { + WINE_PREFIX=/usr/lib/${P} + WINE_DATADIR=/usr/share/${P} + + local conf=( + --prefix="${EPREFIX}"${WINE_PREFIX} + --datadir="${EPREFIX}"${WINE_DATADIR} + --includedir="${EPREFIX}"/usr/include/${P} + --libdir="${EPREFIX}"${WINE_PREFIX} + --mandir="${EPREFIX}"${WINE_DATADIR}/man + + $(usev wow64 --enable-archs=x86_64,i386) + + $(use_enable gecko mshtml) + $(use_enable mono mscoree) + --disable-tests + + $(use_with X x) + $(use_with alsa) + $(use_with capi) + $(use_with cups) + $(use_with fontconfig) + $(use_with gphoto2 gphoto) + $(use_with gstreamer) + $(use_with kerberos gssapi) + $(use_with kerberos krb5) + $(use_with mingw) + $(use_with netapi) + $(use_with nls gettext) + $(use_with odbc) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + --without-oss # media-sound/oss is not packaged (OSSv4) + $(use_with pcap) + $(use_with pulseaudio pulse) + $(use_with scanner sane) + $(use_with sdl) + $(use_with smartcard pcsclite) + $(use_with ssl gnutls) + $(use_with truetype freetype) + $(use_with udev) + $(use_with udisks dbus) # dbus is only used for udisks + $(use_with unwind) + $(use_with usb) + $(use_with v4l v4l2) + $(use_with vulkan) + $(use_with wayland) + $(use_with xcomposite) + $(use_with xinerama) + ) + + filter-lto # build failure + filter-flags -Wl,--gc-sections # runtime issues (bug #931329) + use custom-cflags || strip-flags # can break in obscure ways at runtime + + # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097) + # (do self test until https://github.com/gentoo/gentoo/pull/28355) + if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]] + then + has_version -b sys-devel/binutils && + append-ldflags -fuse-ld=bfd || + append-ldflags -fuse-ld=lld + strip-unsupported-flags + fi + + # >=wine-vanilla-9 has proper fixes and builds with gcc-14, but + # staging patchset is messier and would rather not have to worry + # about it (try to remove on bump now and then, bug #919758) + append-cflags $(test-flags-CC -Wno-error=incompatible-pointer-types) + + if use mingw; then + use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} + + # CROSSCC was formerly recognized by wine, thus been using similar + # variables (subject to change, esp. if ever make a mingw.eclass). + local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}} + local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}} + local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86) + + conf+=( + ac_cv_prog_x86_64_CC="${mingwcc_amd64}" + ac_cv_prog_i386_CC="${mingwcc_x86}" + + CROSSCFLAGS="${CROSSCFLAGS:-$( + filter-flags '-fstack-protector*' #870136 + filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} + )}" + + CROSSLDFLAGS="${CROSSLDFLAGS:-$( + filter-flags '-fuse-ld=*' + + CC=${mingwcc} test-flags-CCLD ${LDFLAGS} + )}" + ) + fi + + # order matters with multilib: configure+compile 64->32, install 32->64 + local -i bits + for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do + ( + einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..." + + mkdir ../build${bits} || die + cd ../build${bits} || die + + if (( bits == 64 )); then + conf+=( --enable-win64 ) + elif use amd64; then + conf+=( + $(usev abi_x86_64 --with-wine64=../build64) + TARGETFLAGS=-m32 # for widl + ) + # _setup is optional, but use over Wine's auto-detect (+#472038) + multilib_toolchain_setup x86 + fi + + ECONF_SOURCE=${S} econf "${conf[@]}" + ) + done +} + +src_compile() { + use abi_x86_64 && emake -C ../build64 # do first + use abi_x86_32 && emake -C ../build32 +} + +src_install() { + use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install + use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last + + # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64, + # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where + # one or the other could be missing and that is unexpected for users + # and some tools like winetricks) + if use abi_x86_64; then + if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then + dosym wine64 ${WINE_PREFIX}/bin/wine + dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader + + # also install wine(1) man pages (incl. translations) + local man + for man in ../build64/loader/wine.*man; do + : "${man##*/wine}" + : "${_%.*}" + insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1 + newins ${man} wine.1 + done + elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then + dosym wine ${WINE_PREFIX}/bin/wine64 + dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader + fi + fi + + use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \ + "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die + + # create variant wrappers for eselect-wine + local bin + for bin in "${ED}"${WINE_PREFIX}/bin/*; do + make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}" + done + + if use mingw; then + # don't let portage try to strip PE files with the wrong + # strip executable and instead handle it here (saves ~120MB) + dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows + + if use strip; then + ebegin "Stripping Windows (PE) binaries" + find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \ + -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + + eend ${?} || die + fi + fi + + dodoc ANNOUNCE* AUTHORS README* documentation/README* +} + +pkg_postinst() { + if use !abi_x86_32 && use !wow64; then + ewarn "32bit support is disabled. While 64bit applications themselves will" + ewarn "work, be warned that it is not unusual that installers or other helpers" + ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32," + ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib." + elif use abi_x86_32 && { use opengl || use vulkan; }; then + # difficult to tell what is needed from here, but try to warn + if has_version 'x11-drivers/nvidia-drivers'; then + if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then + ewarn "x11-drivers/nvidia-drivers is installed but is built without" + ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" + ewarn "applications under ${PN} will likely not be usable." + ewarn "Multi-card setups may need this on media-libs/mesa as well." + fi + elif has_version 'media-libs/mesa[-abi_x86_32]'; then + ewarn "media-libs/mesa seems to be in use but is built without" + ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" + ewarn "applications under ${PN} will likely not be usable." + fi + fi + + optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \ + games-util/game-device-udev-rules + + eselect wine update --if-unset || die +} + +pkg_postrm() { + eselect wine update --if-unset || die +} diff --git a/app-emulation/wine-staging/wine-staging-9999.ebuild b/app-emulation/wine-staging/wine-staging-9999.ebuild index f37334b9fc3c..701e686b693b 100644 --- a/app-emulation/wine-staging/wine-staging-9999.ebuild +++ b/app-emulation/wine-staging/wine-staging-9999.ebuild @@ -171,7 +171,6 @@ QA_CONFIG_IMPL_DECL_SKIP=( __clear_cache # unused on amd64+x86 (bug #900334) res_getservers # false positive ) -QA_FLAGS_IGNORED="usr/lib/.*/wine/.*-unix/odbc32.so" # has no compiled objects QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext PATCHES=( diff --git a/app-emulation/wine-vanilla/Manifest b/app-emulation/wine-vanilla/Manifest index c65354f5c24c..d9955b6a5f57 100644 --- a/app-emulation/wine-vanilla/Manifest +++ b/app-emulation/wine-vanilla/Manifest @@ -8,6 +8,7 @@ DIST wine-9.0.tar.xz 30007216 BLAKE2B cf53177201a2f7eeb35d0d8ce220f80808d979099a DIST wine-9.10.tar.xz 30289048 BLAKE2B 8c9001f2edac31636a82f0bd0a02d69b7fc0a20560a568bbff5f46c111ec3b623652a3ec4b9df48a153cf346e580979196496d9c8416794c4be70e7705dbb411 SHA512 f76e62b40e72af241c6f88dbcdb767720c36496b9deb9cc1246cea967573bbafd46b7000117d3c64f499d175ac1c7299ebba3f476574bf9b18f6d9744ba7a3e2 DIST wine-9.11.tar.xz 30301904 BLAKE2B 745cab93268f51a3d31562af6d392fec5ed0d18aeca3684d0d3ef68ef144e20ec2c0879853f67538db833ec89321e1b1e09533882802eb68452ad3fed87193cf SHA512 695170140372f169e78e90a66d938839c70f9647531ae8d782c58fb0450460174f2958f7656f8d516447a22ef6e792a8c89f2f18c25fac847adf46bc51184999 DIST wine-9.12.tar.xz 30339552 BLAKE2B e114b3a1db237345b9f86cb3a9f1e0040067275eb6c840e480f5fe6f4fa67ba9d4603b2006552ba2ef0ed45e53de9a25b67d4a50e24fad6a9b0e06d1e95763c7 SHA512 00c25cb11feed3625ebd8dc76fa35930d07d51182be4537c488ac4e713d6f9c61b974b19eafb57f54630376346dc1749c4d36a18d0f72748b34052cc7322df19 +DIST wine-9.13.tar.xz 30542188 BLAKE2B a832468142d68a21696d45d01ed8b9e464dc5f95e5a5205a08573024a2b0e7ccc4415388de4cef9581976b10a7e5723d9058e22cc56eed897b25b2a7fa369608 SHA512 f9c74beae87a02c4ae6176676bbc9de203224651ed4eeafbe6cfc05b8a455a9ce790d3211135fbeb6425719e4c0423e345dfee5ed2cefdb80706784f464f7225 DIST wine-9.9.tar.xz 30265476 BLAKE2B a2557044b10252c1b1ae023e10863c601e9159d64eda2ce1d8aab4dbb9efffa1b4b15ed27a9edbf6f2bba148c2bb07e729bd706bac9fe17f91c826c74b5980e6 SHA512 df016411933b5447bef9b48f67c58e12d6d33ef0c24045ab03c92821dcccbf84335d1a2d765e6d6cf3a743598317010b8ae6f69de3661733e4fa43febec873dd EBUILD wine-vanilla-7.0.2.ebuild 12796 BLAKE2B fd5a6973c5dbc591dc7b236f350e9ba6088e6cae206ddea99e8a2efbc0215cc589026c1f9c24c0c8232b02e7775113d33a211487724a81cab199a83d48634eb9 SHA512 b6807da97fb721e97231556d76e682f8a7c9ccbc7985f68b778e557816bb9201eab438e7419ece5a3b93db4c1c1416e65e65062c3d08fc4a743fc8e619e0b47f EBUILD wine-vanilla-8.0.2.ebuild 12884 BLAKE2B c9eeea8f957ba52e5f984c66ad470e5f966cb65c868a11727e14308107dca6690158414f9d6761f880a2ea64a4ddbea4cd319a904904127f2f73f29081239e74 SHA512 f3646c01612250d1eec6b041ffdee8a9669111bbfbfd5e2bc31335e692e6491f59f934cdc69d1176e7e0fa4d36c56fafbaffe9acc28499d1754fa8fac6e6c49c @@ -15,6 +16,7 @@ EBUILD wine-vanilla-9.0.ebuild 14161 BLAKE2B b37f13bf578900bda3eeffaf29d6fa03232 EBUILD wine-vanilla-9.10.ebuild 14282 BLAKE2B 06f56c73e81c5bfec2e024084dd5ca3d233ecd0b5d445309851a03c9dd366236a529dceb1d4e021a46295f73b982a5c2925ba9a381d39b684fc107b9202445da SHA512 fcaec28f674a0e80fe864e1051a54652debcc1887418466192531c831efaab48c9f17e98c66aa2ddefe2839ca2e3d0a1bae0811095cd997142bce200c11cba17 EBUILD wine-vanilla-9.11.ebuild 14282 BLAKE2B 06f56c73e81c5bfec2e024084dd5ca3d233ecd0b5d445309851a03c9dd366236a529dceb1d4e021a46295f73b982a5c2925ba9a381d39b684fc107b9202445da SHA512 fcaec28f674a0e80fe864e1051a54652debcc1887418466192531c831efaab48c9f17e98c66aa2ddefe2839ca2e3d0a1bae0811095cd997142bce200c11cba17 EBUILD wine-vanilla-9.12.ebuild 14282 BLAKE2B 40ea5b4e9471c95b87a50ec9e29ebe97f37546269d2377276832818d765fe7971931da26c69bafe81c338c380db30a3a6aac189c0e33a63fe1ec50e477025485 SHA512 79e81e4e9bb223a009ff86125efcbd26eebe854d37ff65f06dd78564f5e6ce339829ac483561f166f8c4a9358077d06f9c29ce59748104b64fdc90829438d6ec +EBUILD wine-vanilla-9.13.ebuild 14282 BLAKE2B 40ea5b4e9471c95b87a50ec9e29ebe97f37546269d2377276832818d765fe7971931da26c69bafe81c338c380db30a3a6aac189c0e33a63fe1ec50e477025485 SHA512 79e81e4e9bb223a009ff86125efcbd26eebe854d37ff65f06dd78564f5e6ce339829ac483561f166f8c4a9358077d06f9c29ce59748104b64fdc90829438d6ec EBUILD wine-vanilla-9.9.ebuild 14282 BLAKE2B 06f56c73e81c5bfec2e024084dd5ca3d233ecd0b5d445309851a03c9dd366236a529dceb1d4e021a46295f73b982a5c2925ba9a381d39b684fc107b9202445da SHA512 fcaec28f674a0e80fe864e1051a54652debcc1887418466192531c831efaab48c9f17e98c66aa2ddefe2839ca2e3d0a1bae0811095cd997142bce200c11cba17 EBUILD wine-vanilla-9999.ebuild 14282 BLAKE2B 40ea5b4e9471c95b87a50ec9e29ebe97f37546269d2377276832818d765fe7971931da26c69bafe81c338c380db30a3a6aac189c0e33a63fe1ec50e477025485 SHA512 79e81e4e9bb223a009ff86125efcbd26eebe854d37ff65f06dd78564f5e6ce339829ac483561f166f8c4a9358077d06f9c29ce59748104b64fdc90829438d6ec MISC metadata.xml 2726 BLAKE2B 7dc7490fabcda06a27061726225890ee203fe7d22209697c3997f0ccdb4699bfaa09f983c22c4919ce75d2eab6ebdb1add9d9af04f24aee63bae81116fc04094 SHA512 5cdbb062462ae791ff9727d184935af3af147c0bd1e49846731941513301b720313b3356f56a8295780ab822e3117146c9a669d2d96efba6f072d84adba770e6 diff --git a/app-emulation/wine-vanilla/wine-vanilla-9.13.ebuild b/app-emulation/wine-vanilla/wine-vanilla-9.13.ebuild new file mode 100644 index 000000000000..27cb53b52387 --- /dev/null +++ b/app-emulation/wine-vanilla/wine-vanilla-9.13.ebuild @@ -0,0 +1,439 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MULTILIB_COMPAT=( abi_x86_{32,64} ) +inherit autotools flag-o-matic multilib multilib-build optfeature +inherit prefix toolchain-funcs wrapper + +WINE_GECKO=2.47.4 +WINE_MONO=9.2.0 + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.winehq.org/wine/wine.git" +else + (( $(ver_cut 2) )) && WINE_SDIR=$(ver_cut 1).x || WINE_SDIR=$(ver_cut 1).0 + SRC_URI="https://dl.winehq.org/wine/source/${WINE_SDIR}/wine-${PV}.tar.xz" + S="${WORKDIR}/wine-${PV}" + KEYWORDS="-* ~amd64 ~x86" +fi + +DESCRIPTION="Free implementation of Windows(tm) on Unix, without external patchsets" +HOMEPAGE=" + https://www.winehq.org/ + https://gitlab.winehq.org/wine/wine/ +" + +LICENSE="LGPL-2.1+ BSD-2 IJG MIT OPENLDAP ZLIB gsm libpng2 libtiff" +SLOT="${PV}" +IUSE=" + +X +abi_x86_32 +abi_x86_64 +alsa capi crossdev-mingw cups dos + llvm-libunwind custom-cflags +fontconfig +gecko gphoto2 +gstreamer + kerberos +mingw +mono netapi nls odbc opencl +opengl osmesa pcap + perl pulseaudio samba scanner +sdl selinux smartcard +ssl +strip + +truetype udev udisks +unwind usb v4l +vulkan wayland wow64 + +xcomposite xinerama" +# bug #551124 for truetype +# TODO?: wow64 can be done without mingw if using clang (needs bug #912237) +REQUIRED_USE=" + X? ( truetype ) + crossdev-mingw? ( mingw ) + wow64? ( abi_x86_64 !abi_x86_32 mingw ) +" + +# tests are non-trivial to run, can hang easily, don't play well with +# sandbox, and several need real opengl/vulkan or network access +RESTRICT="test" + +# `grep WINE_CHECK_SONAME configure.ac` + if not directly linked +WINE_DLOPEN_DEPEND=" + X? ( + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXi[${MULTILIB_USEDEP}] + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-libs/libXrender[${MULTILIB_USEDEP}] + x11-libs/libXxf86vm[${MULTILIB_USEDEP}] + opengl? ( + media-libs/libglvnd[X,${MULTILIB_USEDEP}] + osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] ) + ) + xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) + ) + cups? ( net-print/cups[${MULTILIB_USEDEP}] ) + fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] ) + kerberos? ( virtual/krb5[${MULTILIB_USEDEP}] ) + netapi? ( net-fs/samba[${MULTILIB_USEDEP}] ) + sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] ) + ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] ) + truetype? ( media-libs/freetype[${MULTILIB_USEDEP}] ) + udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] ) + vulkan? ( media-libs/vulkan-loader[X?,wayland?,${MULTILIB_USEDEP}] ) +" +WINE_COMMON_DEPEND=" + ${WINE_DLOPEN_DEPEND} + X? ( + x11-libs/libX11[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + ) + alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] ) + capi? ( net-libs/libcapi:=[${MULTILIB_USEDEP}] ) + gphoto2? ( media-libs/libgphoto2:=[${MULTILIB_USEDEP}] ) + gstreamer? ( + dev-libs/glib:2[${MULTILIB_USEDEP}] + media-libs/gst-plugins-base:1.0[${MULTILIB_USEDEP}] + media-libs/gstreamer:1.0[${MULTILIB_USEDEP}] + ) + odbc? ( dev-db/unixODBC[${MULTILIB_USEDEP}] ) + opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) + pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] ) + pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] ) + scanner? ( media-gfx/sane-backends[${MULTILIB_USEDEP}] ) + smartcard? ( sys-apps/pcsc-lite[${MULTILIB_USEDEP}] ) + udev? ( virtual/libudev:=[${MULTILIB_USEDEP}] ) + unwind? ( + llvm-libunwind? ( sys-libs/llvm-libunwind[${MULTILIB_USEDEP}] ) + !llvm-libunwind? ( sys-libs/libunwind:=[${MULTILIB_USEDEP}] ) + ) + usb? ( dev-libs/libusb:1[${MULTILIB_USEDEP}] ) + wayland? ( + dev-libs/wayland[${MULTILIB_USEDEP}] + x11-libs/libxkbcommon[${MULTILIB_USEDEP}] + ) +" +RDEPEND=" + ${WINE_COMMON_DEPEND} + app-emulation/wine-desktop-common + dos? ( + || ( + games-emulation/dosbox + games-emulation/dosbox-staging + ) + ) + gecko? ( + app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] + wow64? ( app-emulation/wine-gecko[abi_x86_32] ) + ) + gstreamer? ( media-plugins/gst-plugins-meta:1.0[${MULTILIB_USEDEP}] ) + mono? ( app-emulation/wine-mono:${WINE_MONO} ) + perl? ( + dev-lang/perl + dev-perl/XML-LibXML + ) + samba? ( net-fs/samba[winbind] ) + selinux? ( sec-policy/selinux-wine ) + udisks? ( sys-fs/udisks:2 ) +" +DEPEND=" + ${WINE_COMMON_DEPEND} + sys-kernel/linux-headers + X? ( x11-base/xorg-proto ) +" +BDEPEND=" + || ( + sys-devel/binutils + sys-devel/lld + ) + dev-lang/perl + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + mingw? ( !crossdev-mingw? ( + >=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}] + wow64? ( dev-util/mingw64-toolchain[abi_x86_32] ) + ) ) + nls? ( sys-devel/gettext ) + wayland? ( dev-util/wayland-scanner ) +" +IDEPEND=">=app-eselect/eselect-wine-2" + +QA_CONFIG_IMPL_DECL_SKIP=( + __clear_cache # unused on amd64+x86 (bug #900338) + res_getservers # false positive +) +QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext + +PATCHES=( + "${FILESDIR}"/${PN}-7.0-noexecstack.patch + "${FILESDIR}"/${PN}-7.20-unwind.patch + "${FILESDIR}"/${PN}-8.13-rpath.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} == binary ]] && return + + if use crossdev-mingw && [[ ! -v MINGW_BYPASS ]]; then + local mingw=-w64-mingw32 + for mingw in $(usev abi_x86_64 x86_64${mingw}) \ + $(use abi_x86_32 || use wow64 && echo i686${mingw}); do + if ! type -P ${mingw}-gcc >/dev/null; then + eerror "With USE=crossdev-mingw, you must prepare the MinGW toolchain" + eerror "yourself by installing sys-devel/crossdev then running:" + eerror + eerror " crossdev --target ${mingw}" + eerror + eerror "For more information, please see: https://wiki.gentoo.org/wiki/Mingw" + die "USE=crossdev-mingw is enabled, but ${mingw}-gcc was not found" + fi + done + fi +} + +src_prepare() { + # sanity check, bumping these has a history of oversights + local geckomono=$(sed -En '/^#define (GECKO|MONO)_VER/{s/[^0-9.]//gp}' \ + dlls/appwiz.cpl/addons.c || die) + if [[ ${WINE_GECKO}$'\n'${WINE_MONO} != "${geckomono}" ]]; then + local gmfatal= + [[ ${PV} == *9999 ]] && gmfatal=nonfatal + ${gmfatal} die -n "gecko/mono mismatch in ebuild, has: " ${geckomono} " (please file a bug)" + fi + + default + + if tc-is-clang; then + if use mingw; then + # -mabi=ms was ignored by <clang:16 then turned error in :17 + # if used without --target *-windows, then gets used in install + # phase despite USE=mingw, drop as a quick fix for now + sed -i '/MSVCRTFLAGS=/s/-mabi=ms//' configure.ac || die + else + # fails in ./configure unless --enable-archs is passed, allow to + # bypass with EXTRA_ECONF but is currently considered unsupported + # (by Gentoo) as additional work is needed for (proper) support + # note: also fails w/ :17, but unsure if safe to drop w/o mingw + [[ ${EXTRA_ECONF} == *--enable-archs* ]] || + die "building ${PN} with clang is only supported with USE=mingw" + fi + fi + + # ensure .desktop calls this variant + slot + sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die + + # datadir is not where wine-mono is installed, so prefixy alternate paths + hprefixify -w /get_mono_path/ dlls/mscoree/metahost.c + + # always update for patches (including user's wrt #432348) + eautoreconf + tools/make_requests || die # perl + # tip: if need more for user patches, with portage can e.g. do + # echo "post_src_prepare() { tools/make_specfiles || die; }" \ + # > /etc/portage/env/app-emulation/wine-vanilla +} + +src_configure() { + WINE_PREFIX=/usr/lib/${P} + WINE_DATADIR=/usr/share/${P} + + local conf=( + --prefix="${EPREFIX}"${WINE_PREFIX} + --datadir="${EPREFIX}"${WINE_DATADIR} + --includedir="${EPREFIX}"/usr/include/${P} + --libdir="${EPREFIX}"${WINE_PREFIX} + --mandir="${EPREFIX}"${WINE_DATADIR}/man + + $(usev wow64 --enable-archs=x86_64,i386) + + $(use_enable gecko mshtml) + $(use_enable mono mscoree) + --disable-tests + + $(use_with X x) + $(use_with alsa) + $(use_with capi) + $(use_with cups) + $(use_with fontconfig) + $(use_with gphoto2 gphoto) + $(use_with gstreamer) + $(use_with kerberos gssapi) + $(use_with kerberos krb5) + $(use_with mingw) + $(use_with netapi) + $(use_with nls gettext) + $(use_with odbc) + $(use_with opencl) + $(use_with opengl) + $(use_with osmesa) + --without-oss # media-sound/oss is not packaged (OSSv4) + $(use_with pcap) + $(use_with pulseaudio pulse) + $(use_with scanner sane) + $(use_with sdl) + $(use_with smartcard pcsclite) + $(use_with ssl gnutls) + $(use_with truetype freetype) + $(use_with udev) + $(use_with udisks dbus) # dbus is only used for udisks + $(use_with unwind) + $(use_with usb) + $(use_with v4l v4l2) + $(use_with vulkan) + $(use_with wayland) + $(use_with xcomposite) + $(use_with xinerama) + ) + + filter-lto # build failure + filter-flags -Wl,--gc-sections # runtime issues (bug #931329) + use custom-cflags || strip-flags # can break in obscure ways at runtime + + # wine uses linker tricks unlikely to work with non-bfd/lld (bug #867097) + # (do self test until https://github.com/gentoo/gentoo/pull/28355) + if [[ $(LC_ALL=C $(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) != @(LLD|GNU\ ld)* ]] + then + has_version -b sys-devel/binutils && + append-ldflags -fuse-ld=bfd || + append-ldflags -fuse-ld=lld + strip-unsupported-flags + fi + + if use mingw; then + use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH} + + # CROSSCC was formerly recognized by wine, thus been using similar + # variables (subject to change, esp. if ever make a mingw.eclass). + local mingwcc_amd64=${CROSSCC:-${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}} + local mingwcc_x86=${CROSSCC:-${CROSSCC_x86:-i686-w64-mingw32-gcc}} + local -n mingwcc=mingwcc_$(usex abi_x86_64 amd64 x86) + + conf+=( + ac_cv_prog_x86_64_CC="${mingwcc_amd64}" + ac_cv_prog_i386_CC="${mingwcc_x86}" + + CROSSCFLAGS="${CROSSCFLAGS:-$( + filter-flags '-fstack-protector*' #870136 + filter-flags '-mfunction-return=thunk*' #878849 + + # some bashrc-mv users tend to do CFLAGS="${LDFLAGS}" and then + # strip-unsupported-flags miss these during compile-only tests + # (primarily done for 23.0 profiles' -z, not full coverage) + filter-flags '-Wl,-z,*' + + CC=${mingwcc} test-flags-CC ${CFLAGS:--O2} + )}" + + CROSSLDFLAGS="${CROSSLDFLAGS:-$( + filter-flags '-fuse-ld=*' + + CC=${mingwcc} test-flags-CCLD ${LDFLAGS} + )}" + ) + fi + + # order matters with multilib: configure+compile 64->32, install 32->64 + local -i bits + for bits in $(usev abi_x86_64 64) $(usev abi_x86_32 32); do + ( + einfo "Configuring ${PN} for ${bits}bits in ${WORKDIR}/build${bits} ..." + + mkdir ../build${bits} || die + cd ../build${bits} || die + + if (( bits == 64 )); then + conf+=( --enable-win64 ) + elif use amd64; then + conf+=( + $(usev abi_x86_64 --with-wine64=../build64) + TARGETFLAGS=-m32 # for widl + ) + # _setup is optional, but use over Wine's auto-detect (+#472038) + multilib_toolchain_setup x86 + fi + + ECONF_SOURCE=${S} econf "${conf[@]}" + ) + done +} + +src_compile() { + use abi_x86_64 && emake -C ../build64 # do first + use abi_x86_32 && emake -C ../build32 +} + +src_install() { + use abi_x86_32 && emake DESTDIR="${D}" -C ../build32 install + use abi_x86_64 && emake DESTDIR="${D}" -C ../build64 install # do last + + # Ensure both wine64 and wine are available if USE=abi_x86_64 (wow64, + # -abi_x86_32, and/or EXTRA_ECONF could cause varying scenarios where + # one or the other could be missing and that is unexpected for users + # and some tools like winetricks) + if use abi_x86_64; then + if [[ -e ${ED}${WINE_PREFIX}/bin/wine64 && ! -e ${ED}${WINE_PREFIX}/bin/wine ]]; then + dosym wine64 ${WINE_PREFIX}/bin/wine + dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader + + # also install wine(1) man pages (incl. translations) + local man + for man in ../build64/loader/wine.*man; do + : "${man##*/wine}" + : "${_%.*}" + insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1 + newins ${man} wine.1 + done + elif [[ ! -e ${ED}${WINE_PREFIX}/bin/wine64 && -e ${ED}${WINE_PREFIX}/bin/wine ]]; then + dosym wine ${WINE_PREFIX}/bin/wine64 + dosym wine-preloader ${WINE_PREFIX}/bin/wine64-preloader + fi + fi + + use perl || rm "${ED}"${WINE_DATADIR}/man/man1/wine{dump,maker}.1 \ + "${ED}"${WINE_PREFIX}/bin/{function_grep.pl,wine{dump,maker}} || die + + # create variant wrappers for eselect-wine + local bin + for bin in "${ED}"${WINE_PREFIX}/bin/*; do + make_wrapper "${bin##*/}-${P#wine-}" "${bin#"${ED}"}" + done + + if use mingw; then + # don't let portage try to strip PE files with the wrong + # strip executable and instead handle it here (saves ~120MB) + dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows + + if use strip; then + ebegin "Stripping Windows (PE) binaries" + find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \ + -exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + + eend ${?} || die + fi + fi + + dodoc ANNOUNCE* AUTHORS README* documentation/README* +} + +pkg_postinst() { + if use !abi_x86_32 && use !wow64; then + ewarn "32bit support is disabled. While 64bit applications themselves will" + ewarn "work, be warned that it is not unusual that installers or other helpers" + ewarn "will attempt to use 32bit and fail. If do not want full USE=abi_x86_32," + ewarn "note the experimental/WIP USE=wow64 can allow 32bit without multilib." + elif use abi_x86_32 && { use opengl || use vulkan; }; then + # difficult to tell what is needed from here, but try to warn + if has_version 'x11-drivers/nvidia-drivers'; then + if has_version 'x11-drivers/nvidia-drivers[-abi_x86_32]'; then + ewarn "x11-drivers/nvidia-drivers is installed but is built without" + ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" + ewarn "applications under ${PN} will likely not be usable." + ewarn "Multi-card setups may need this on media-libs/mesa as well." + fi + elif has_version 'media-libs/mesa[-abi_x86_32]'; then + ewarn "media-libs/mesa seems to be in use but is built without" + ewarn "USE=abi_x86_32 (ABI_X86=32), hardware acceleration with 32bit" + ewarn "applications under ${PN} will likely not be usable." + fi + fi + + optfeature "/dev/hidraw* access used for *some* controllers (e.g. DualShock4)" \ + games-util/game-device-udev-rules + + eselect wine update --if-unset || die +} + +pkg_postrm() { + eselect wine update --if-unset || die +} |