diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-06-29 10:15:54 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-06-29 10:15:54 +0100 |
commit | 9aa80713372911cec499b3adb2cd746790920916 (patch) | |
tree | b8e99dc5dd60ac2094a27cc52f74aada8df38f05 /app-emulation | |
parent | b4d43e8c611df4a8061b6f88d9e9f6b1e3c83903 (diff) |
gentoo resync : 29.06.2021
Diffstat (limited to 'app-emulation')
17 files changed, 950 insertions, 75 deletions
diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz Binary files differindex 11de59f78954..1cb18222cd2a 100644 --- a/app-emulation/Manifest.gz +++ b/app-emulation/Manifest.gz diff --git a/app-emulation/crossover-bin/Manifest b/app-emulation/crossover-bin/Manifest index ace2bd1f54b4..a63584b84d00 100644 --- a/app-emulation/crossover-bin/Manifest +++ b/app-emulation/crossover-bin/Manifest @@ -1,3 +1,3 @@ DIST install-crossover-20.0.4.bin 221436226 BLAKE2B 486494455759d92f8e7e5d35968a603e41a0674cb0752e7d5ba4893d33e77b3e31fea2ebe75d471e2478e7f3cce9be2f712840f1f50bfe790fec5ec936b804a5 SHA512 78252d29f8a72a8742d57a65a60d09a81a70a98517b67468dac96af94ee8af7a313f164af6717f9a9c657095e66466809e08584c7a0fde3bd58c27ff00f41067 -EBUILD crossover-bin-20.0.4.ebuild 7586 BLAKE2B bfcc4ee0273b789da0331f9284a9c60e48c50a8b2ab4d734ba43dd7234361df581f928e5b7a9e563c65d08c3fd962d0e49d1a4125afc71a45d1c234a16ed061b SHA512 52b12f791c75624d53872ff0fdbac6fe0e33a0e78cddee9da41d8d034d28f6844f78b483f87484adb1ff8ca65af28499a52508ae56b73947c5b1afed2ee59b3c +EBUILD crossover-bin-20.0.4-r1.ebuild 7651 BLAKE2B b30aa79900d12cf469a5a12c854c7a3158f7671b6cc83adba9a39bcbc996708b5ade8b34e79631702390bf0de91c29ac85293185bb04fc9e27224e9a4f82e40d SHA512 5dd675da9398c20bba21d077d48a19ccb4dea3f5888f402120b4574ec324fa559cad8930d0b649dd75d4cf284f6890ca95033d227ae0c0af22fc28cc4bd1bdb1 MISC metadata.xml 495 BLAKE2B 09ff077822c1862d7f7d20bee57ebf1dcc48831a9539b280e8b09344e278bdc35d122debdca7cdab10d10cd546eb005a157e896670eba3206af2281dc7228f90 SHA512 da97a48eb9e984ee10581e455be37ac9adb2ab897d837f9ed91e5b368ce1800ff3468a5290fff53b3d93e7c56d6c5cb56936d0d09168c10f19356fa5729dcf0d diff --git a/app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild b/app-emulation/crossover-bin/crossover-bin-20.0.4-r1.ebuild index 81b9af99483f..5cf94832ad2c 100644 --- a/app-emulation/crossover-bin/crossover-bin-20.0.4.ebuild +++ b/app-emulation/crossover-bin/crossover-bin-20.0.4-r1.ebuild @@ -116,6 +116,10 @@ RDEPEND="${DEPEND} x11-libs/gtk+:3[introspection] x11-libs/pango[introspection] x11-libs/vte:2.91[introspection] + || ( + sys-libs/glibc[crypt(+)] + sys-libs/libxcrypt[compat] + ) " pkg_nofetch() { diff --git a/app-emulation/firecracker/Manifest b/app-emulation/firecracker/Manifest index 2a16d6919d6f..bf5d0c4056ec 100644 --- a/app-emulation/firecracker/Manifest +++ b/app-emulation/firecracker/Manifest @@ -34,4 +34,4 @@ DIST unicode-xid-0.2.0.crate 14994 BLAKE2B e66b4255798f0ef1c81fb852613fee396a042 DIST vm-memory-0.1.0.crate 50965 BLAKE2B d85879f85c39ac44114945fa42e77c40b0a2e882f82b8ea85cd6a014592dbccd675e3e702a4463a8ff0fef527fbda4a23e82a460f7bdc89159a8825105e27377 SHA512 a0ac7ff915e57557239770ececc663236ab309562a13f6b4757449daf3e4fadb588fd1e90f2188d694f1d59ae73329c22c668720b5b387f07a9215cbec6b5c1f DIST vmm-sys-util-0.4.0.crate 54433 BLAKE2B cd5296f8dd291f7f7857e3a5af528913e7a8f045434dcfb4496f2b57a9ff50df32d7f8b4246a0a772435b5f85f4505a1a3c61b7523243f6bcfa229c01f465812 SHA512 ae2bbab2b849e2d2ed5be2eb4406597aada792a8e61b688333f92eba1aa2c3fd2d20fc759b99aa22b0301e72053f13e6b7b26015239ce09bfc96c670c1d91002 EBUILD firecracker-0.21.1-r1.ebuild 1840 BLAKE2B d04a4009b325243a01118eeae4a36b5a92d99adec54fe731ba8fc725f94e555523159026b1f7ef059068d2017fabe8f3ca6f853435508538db8d806be2c6d1fe SHA512 2ead8000ea81d1320b8e110fed928b7646597ced2ffe125c63e5a8e0bd507abf201a6a1c048d2617418fc3bd925139f4a864c9516f4414def4e54c571bee5908 -MISC metadata.xml 247 BLAKE2B 94608f4bda5b60a090b18717a5d81d90defbb5e482043059dcb7a41d39a21b9192e6f58a1ebdb83cc8cfaa9fe85ced13c40e6e43c110e0e21b2cb6a36f6dc852 SHA512 1196d40f8c6a3b2e5d0c0590c2f56b53ead40ec8d9eb2c125094eb961b092558c51baa89f237fda24cf1050e85c78dd7419e1d217c2feceb32c6296990ac54c3 +MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 diff --git a/app-emulation/firecracker/metadata.xml b/app-emulation/firecracker/metadata.xml index 6698a4ab7883..6f49eba8f496 100644 --- a/app-emulation/firecracker/metadata.xml +++ b/app-emulation/firecracker/metadata.xml @@ -1,8 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>zlogene@gentoo.org</email> - <name>Mikle Kolyada</name> - </maintainer> +<!-- maintainer-needed --> </pkgmetadata> diff --git a/app-emulation/open-vm-tools/Manifest b/app-emulation/open-vm-tools/Manifest index 870d8deb05cc..aac997e48a47 100644 --- a/app-emulation/open-vm-tools/Manifest +++ b/app-emulation/open-vm-tools/Manifest @@ -9,6 +9,6 @@ AUX vmtoolsd.service 244 BLAKE2B 65bf0e80b580c2c29a06a2cbf37f8428dbfe03404cea92d AUX vmtoolsd.vgauth.service 312 BLAKE2B dba8ddb1b701cea490b117d08c93738a38bd668cf5444501bad8aabc503da4b87e53103a26ca4664247f14582c5546a28f093768833182581a850f0c50bc61e3 SHA512 fce9af2a3b98bf1fd5063af6c0d00bac7eba4ca02456d9266be5b74f2dea168521ffd44c38df1e28b0684f7ce21e4cb44ec2570fcbe01ff2ef432b55ede585f3 DIST open-vm-tools-11.2.0-16938113.tar.gz 4050857 BLAKE2B b0e5e1e985d9f3d50dbbb8a4a7939d37d8968f0aa15e6d7200b7ec8511bd059d3a78a4ddd763d22965dc6da614d156e6b7ee23af73490f8bbf8e1dc2664041d3 SHA512 c950d6e8ba5218dd40e845f3c2b09eeb640ef0d33c7ea1671164027927e062dcf0b4745f6e4515a7495ec20a6d06a8fbf700819f6211073194b5ef97d7be441d DIST open-vm-tools-11.2.5-17337674.tar.gz 4057528 BLAKE2B 2adc5179e09a4bb501fe12c9e6dea7fee106516fd250899170a8fb3bcefb9b576136a82e4c3d3a73217b44aba8880728bb3588cedd715529f9b2991f0156ac84 SHA512 b6d4bc6522418ec7a881752181ad9240e535854df492e758abf3996c6afe245466ffbff60cc1b6cdff5cf731b5769c9f9cb96aed29f0b788d0eef05f91fcf8ab -EBUILD open-vm-tools-11.2.0_p16938113-r2.ebuild 3139 BLAKE2B 5e5745ecdf9e0ae0901c4649f6659a3740606233207009829b5ab9799f1964719b79d6e784a4789f8d425d9c061e84238916c8699fa4d038087368ac5f991dca SHA512 fe2ec7a5509afe17060d75bbc4c448fe56839469dab0dbbe4175308c849b508726bea61cf447141ced50b9b7a9e2614dc1953fd821005b0b8c0ff6495f18bb1c -EBUILD open-vm-tools-11.2.5_p17337674-r1.ebuild 3151 BLAKE2B 395e19253a1f6e95a69f6644f4887c8f5b814843ceeab2f829629b7cb998bec33200a9ecd9366ee981f455e8313394fa8a9ca13ff4df4fbafbedeac9f14f38ba SHA512 36b577479d851216181d0c7410c2cfc67d456cfe84362601d081809d2ab196ccc502b9220f03bb36417091c01bd8e5581cf72ce0e5bcadd08dfb84fcd8e99e01 +EBUILD open-vm-tools-11.2.0_p16938113-r4.ebuild 3169 BLAKE2B f82fa2d219fb85c836c3935d15d8069c7b04566bb09c939b5a88116f80f21b99f3520e9819c703d2714d7f8e4e203cd656f00c3c708d2229c606b90f222622ad SHA512 3223eddb1813bec285a60d300da328251573a09044e514dcb74c9fae008ebcb7becb20552a3d90c07277c60023fb8406426c838926d868e4e983ac5e5d7adf45 +EBUILD open-vm-tools-11.2.5_p17337674-r3.ebuild 3181 BLAKE2B d5d2ba6839a1a0f4e1bd179242cf186a619c1fc065c41c1bb5bd41052da3e61f981a64e91c298b484b62670f853253f7a6f9f3fd21cdc1cdc4b7f90b70e03e06 SHA512 8aaafb51593ad38f86eeb1eee52cac6255866688bc42bcae11d83dbf428134948719d39b835bd248fe0cd2c5f5257a581adb808e6d1e540a084bd6d20431c7bf MISC metadata.xml 1098 BLAKE2B f4a5ef8cb8661438d0d1e01da16993a3334c25dcf8a43e55ecabd0b02734b33681d1b0824db1f08431086f8287094d7aee559e50af8c0ef0f4819cc2c14158eb SHA512 f4eb924b8a5269f0fe7f4c00f3a4747f56dfdc5c028a913785cf1929938ad333102ebfba6f3ca9ac15fb7e25f06d629be528abdcd7bb96a8c31e257405cda201 diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r2.ebuild b/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r4.ebuild index c6a8bc66b334..d835f5255091 100644 --- a/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r2.ebuild +++ b/app-emulation/open-vm-tools/open-vm-tools-11.2.0_p16938113-r4.ebuild @@ -25,6 +25,7 @@ RDEPEND=" deploypkg? ( dev-libs/libmspack ) fuse? ( sys-fs/fuse:0 ) pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) ssl? ( dev-libs/openssl:0= ) vgauth? ( dev-libs/libxml2 diff --git a/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r1.ebuild b/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r3.ebuild index a762364d6c24..0d6b5c3e6f9d 100644 --- a/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r1.ebuild +++ b/app-emulation/open-vm-tools/open-vm-tools-11.2.5_p17337674-r3.ebuild @@ -25,6 +25,7 @@ RDEPEND=" deploypkg? ( dev-libs/libmspack ) fuse? ( sys-fs/fuse:0 ) pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) ssl? ( dev-libs/openssl:0= ) vgauth? ( dev-libs/libxml2 diff --git a/app-emulation/protontricks/Manifest b/app-emulation/protontricks/Manifest index 86b8ace93c1b..3b014716e005 100644 --- a/app-emulation/protontricks/Manifest +++ b/app-emulation/protontricks/Manifest @@ -1,8 +1,6 @@ AUX protontricks-1.5.0_no-setuptools-scm.patch 1321 BLAKE2B d96472bf9b0827cbc6bb9debf6c8da9f27773da4587d5b5c663180913ef4595fe21c5edd4798a8e98ee0a00dad75acec41dd0776e3dfaa6ff0aa186167e70c6b SHA512 9fce0b3ddd34801b7af8adcce2990c875ce68ed9289717f08f1f1653d447887b67b65d5c35de14a126dfbd4d1143fdef8fb8399f55aa59c498a68b0bc0480bad DIST protontricks-1.5.0.tar.gz 46957 BLAKE2B 622affd9a1bfff3a5cd76fa8e279f25b5c91a6f040b6cc4e5f42e58be08a232fad2be179a47e063b45b1b1bb11b6ae9ce26cce499f4c1dae460be0bb8247e619 SHA512 6df3e0dd638684e70a8d40b7440e2340765109e31dd47fa5e33e4959bc34d3ff4cfa70c8689cafdcce82f1d97ba6d25de724ca7439e5d1ffd634b729ab222716 -DIST protontricks-1.5.1.tar.gz 48111 BLAKE2B df7feaefd2ec1c058fa7190ec9c981bd480e5d36cf7a3e15868aa8e052857e69dc573559e35faf74d9d2f4a5549471cb0e8fc0be58ed2431890e37751c88cab8 SHA512 4b8d5d17a4bce8bd987c032f5a5ae689d1dcca4694463778398bb62b983afe6eee666aed891c810e852a9f873233b1822d21878464b25f07f8ab92e1777f3ff1 DIST protontricks-1.5.2.tar.gz 49590 BLAKE2B 9a4f6b5869d2d23d104c3785a99549e74168d7dea429bed78ed00029ed6431460bab2c8fdd4f3905943b3e93075dea4bc9b0bf472f0044e5cbae3c335d128c12 SHA512 9e57c7ea61ae9a6638ee967041672a85962c9210fe329600bf30ab78f46b2a23cc6f859fb78e50e94686794b3fad81185d83222ca8f67e1dc73b578df7dcd411 EBUILD protontricks-1.5.0.ebuild 1443 BLAKE2B a64ee0e8679859aa818b2c34e42dadfe9eb194c6f97d526cbc4dec8ff0121598f8fcb9e9a006d694318cfffa4f8040f25dd664c576bdcc7383669c5eb7d71dd4 SHA512 382d6f5fd98f523cf954763c5cb61bc39668af84eff511e38fe867d50d10b1971dbeb047137ecc5ed44f0a0a94eb62db78f38d86841bbb430dc7c657acce5ca2 -EBUILD protontricks-1.5.1.ebuild 1444 BLAKE2B cdb33ec0c2fa7d1c941f478f2613f54da28aac8b075deb185f3e96c294e88f1010f97d4f024fa36954371be55481c88ab4c274c222b1454778c50eeb528ce845 SHA512 d3e7c95a8f9869ce7722514b361f5e663092c5994a14a3e39345bd1b6dc5e13ebe31042767441ec32569cd43ed9129a99231cae52cb280b550817a5f6084018f EBUILD protontricks-1.5.2.ebuild 1444 BLAKE2B cdb33ec0c2fa7d1c941f478f2613f54da28aac8b075deb185f3e96c294e88f1010f97d4f024fa36954371be55481c88ab4c274c222b1454778c50eeb528ce845 SHA512 d3e7c95a8f9869ce7722514b361f5e663092c5994a14a3e39345bd1b6dc5e13ebe31042767441ec32569cd43ed9129a99231cae52cb280b550817a5f6084018f MISC metadata.xml 808 BLAKE2B 9abbb6d1689e04026c239dc2bde4a2d975bb260473178e68c0ec3e37a3e4c3e6db701ece9e8551d5ba071db14effc7e59a15a5e13c2049a6cd9d0709562bf709 SHA512 21452c10fe698d461aa814bc1bddb6350fcd8f60b7c84d8949f1eb8a1932ae3f9214c123451334ac2108f6ad930d5e6f5b522eac477ed6f6af1c916326254c32 diff --git a/app-emulation/protontricks/protontricks-1.5.1.ebuild b/app-emulation/protontricks/protontricks-1.5.1.ebuild deleted file mode 100644 index 06e0a22ded68..000000000000 --- a/app-emulation/protontricks/protontricks-1.5.1.ebuild +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7..10} pypy3 ) -DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_SETUPTOOLS=rdepend - -inherit distutils-r1 - -DESCRIPTION="app-emulation/winetricks wrapper for Proton (Steam Play) games" -HOMEPAGE="https://github.com/Matoking/protontricks" -SRC_URI="https://github.com/Matoking/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+gui" - -RDEPEND="app-emulation/winetricks - $(python_gen_cond_dep ' - dev-python/vdf[${PYTHON_USEDEP}] - ') - gui? ( gnome-extra/zenity - || ( - app-emulation/winetricks[gtk] - app-emulation/winetricks[kde] - ) - )" - -PATCHES=( - "${FILESDIR}"/${PN}-1.5.0_no-setuptools-scm.patch -) - -DOCS=( CHANGELOG.md README.md ) - -distutils_enable_tests pytest - -python_prepare_all() { - distutils-r1_python_prepare_all - echo "version = '${PV}'" > "${S}"/src/${PN}/_version.py || die "Failed to generate the version file" -} - -pkg_postinst() { - elog - - if ! use gui; then - ewarn "Please note that disabling USE=gui does *not* presently remove the --gui command-line option," - ewarn "it just means using this option will fail unless gnome-extra/zenity happens to be installed." - ewarn - fi - - elog "Protontricks can only find games for which a Proton prefix already exists." - elog "Make sure to run a Proton game at least once before trying to use protontricks on it." - elog -} diff --git a/app-emulation/qemu/Manifest b/app-emulation/qemu/Manifest index 40b84db161d7..7c1add1dee00 100644 --- a/app-emulation/qemu/Manifest +++ b/app-emulation/qemu/Manifest @@ -5,9 +5,11 @@ AUX qemu-5.2.0-cleaner-werror.patch 884 BLAKE2B 95404f78f5559f5725c1978e7ef61967 AUX qemu-5.2.0-dce-locks.patch 738 BLAKE2B 121372ed4d812a19f365ec88b584a196548f8ea21b4e6ba6ff899349efa0f3dc8e7b4e77add0adb61fbdb37b814b07a1ca4f39e18b6641aa3a3fd9cf87d6fc8a SHA512 57827809a52b22e585772df47e6d09587730ad172812d663e8f764ce86d922c3dd476724344bb2a3d029f93427f92fd69127355925af67e4b6ba95de716d5888 AUX qemu-5.2.0-disable-keymap.patch 884 BLAKE2B dbbe245a52615f8894cbac1c94ce3fee2051b1c54def32ec6ad43dedfe8190d02937c28ce93d93eeb13fe82f2ac2df52bec375501e83af53624d8292f8208fe3 SHA512 f84c6f37ce742201b63b308bef5fdaf1dc50e77e0dcf164e85284e338ed7bd861fc0e147fb88668b056ab0f15b4e6cbefbfb2cd2bafeb002c281ae88d08f9703 AUX qemu-5.2.0-strings.patch 799 BLAKE2B 8f249a647714a4a677d1aca5d8d5c19b27a0e1933877a286017928e01ec23d82e41dc1d196a50ba38bcf4ec8b71fd89c89e41b7c9673faf13935188eebaf4a56 SHA512 481917c8ec9c5089c210f80e719f5a65af1193323ccda4d68bec6afaab0d0e6407cee1d05cd1f3b1bfbd7b7a5f9d2cdb42dd12123813f2c3c51116e999c09288 +AUX qemu-6.0.0-make.patch 306 BLAKE2B 701c6d929dc7544a2e155243a2545dc488765cf8b733fca29c4f4cb06cad732d72f64c330d95fbcdcf12b174b92b7fa5b713bf833065e5014f8aed1eec22c0a1 SHA512 5d22c6c4085dd0bf58752e21af9addd6a1a670a60f172b488d1ccfb1b9356ce9808a3b9337dd1bd2aa9e06735a3c7a465bc11ae3871cc4294ec609729b2e09c7 AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737 DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4 -EBUILD qemu-6.0.0.ebuild 25641 BLAKE2B 9da43387163b7488613a6d53c2dd1b57e06dd31ea401c8b6b45704e404762520f0c6382c077447c90f7666ce3f45ea2c8809680637561da7128b07c560d3b64c SHA512 2dcc5cbd9eb5232184dd63a7316051449916922133518dbf69e045fcabfcdb3da82a1bf50ad3925b24bf465cbb0a28f3cb9b358768ad5cc62cca7404c29632ba -EBUILD qemu-9999.ebuild 25645 BLAKE2B 60f7dc4a1b91b9f048e01cbb1707b338b1a8b30e3001f5c0a3ff7a43295c6264c03aecbc83639de04aa8a490e9280d601701595785b18e679da86f7d3a886bc9 SHA512 97c51472877ceb5015b6b8cb7a63ea72841f87d997fdedd00d34073c5c71c6a3eb8d5ec890bce8087022353cffc6c6bbd4fb7de4ddf36a0a12993de3f1becf75 +EBUILD qemu-6.0.0-r50.ebuild 25767 BLAKE2B aa2063bd3742c0d62ffc356e0855020b42357ce0edc1d91b0cea7b81569d3ff62380b0df483e4fd44ad5693141ad0e90e0f6d9eb261015287f8286cbc2a44d80 SHA512 e55a2565292cd7e2d7c1d9d7709a3616775d33064df193575294cdc6cbbf0ba44e5e2bdc3631590a140c031764da7cfceda6d873440c5c21b8a525863831176a +EBUILD qemu-6.0.0.ebuild 25699 BLAKE2B ae9dc97e809db469c425fee9d9d5dc6281531418940f573b9c792321f5d32a7b04e61817c6540742ce56e7e1b9b5e1361fd3e69b3310cb918b8171d85032d84a SHA512 ee6e126893dfd754a895448c7dc72c5b920d4fa0fbbbe813f23e0c8ac9a32674b2463c92f601dc554e558eaa94a8f519f2038ccfd453ce6f8407c3564d31c7b3 +EBUILD qemu-9999.ebuild 25729 BLAKE2B 0dc32e60845860ad37b637a8e7aaded53aee3154b310bd5769b3da99346b3febc610c5efc1df27d12c15cffc2255947e4b9140ade2a2ab43943bbd4584201702 SHA512 8f387b6e5e1ca7e17f33b9941e2ac64a70d7b2cdb3b4384c5077e5207cf77d143ecb967e6707d7d0ce2db7e65310297a055f06f91d16f064e752a9c1451dfb84 MISC metadata.xml 4407 BLAKE2B 5eb8d6f825df8c79c1c77e5a605387cfaf8b984c56e1c4e055de70e795e9b12e63f16c63b84a8ccc98770b132b704342c2d85a495e9ef7f22027f1495fcc435c SHA512 346645f736716698385f90e74dd2ae6d3ecf44e4496249b7646f6a69e6e1807303f96a8ce739e1dfe74cfae0a169250353341df3aacb55cfc9397a341de1079d diff --git a/app-emulation/qemu/files/qemu-6.0.0-make.patch b/app-emulation/qemu/files/qemu-6.0.0-make.patch new file mode 100644 index 000000000000..2dac1ca11d99 --- /dev/null +++ b/app-emulation/qemu/files/qemu-6.0.0-make.patch @@ -0,0 +1,14 @@ +Allow MAKE='make V=1' and similar. + +https://bugs.gentoo.org/795678 +--- a/configure ++++ b/configure +@@ -1953,7 +1953,7 @@ if test -z "$python" + then + error_exit "Python not found. Use --python=/path/to/python" + fi +-if ! has "$make" ++if ! has $make + then + error_exit "GNU make ($make) not found" + fi diff --git a/app-emulation/qemu/qemu-6.0.0-r50.ebuild b/app-emulation/qemu/qemu-6.0.0-r50.ebuild new file mode 100644 index 000000000000..65c20aa55740 --- /dev/null +++ b/app-emulation/qemu/qemu-6.0.0-r50.ebuild @@ -0,0 +1,911 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_REQ_USE="ncurses,readline" + +FIRMWARE_ABI_VERSION="6.0.0-r50" + +inherit eutils linux-info toolchain-funcs multilib python-r1 +inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://git.qemu.org/git/qemu.git" + EGIT_SUBMODULES=( + meson + tests/fp/berkeley-softfloat-3 + tests/fp/berkeley-testfloat-3 + ui/keycodemapdb + ) + inherit git-r3 + SRC_URI="" +else + SRC_URI="https://download.qemu.org/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86" +fi + +DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools" +HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org" + +LICENSE="GPL-2 LGPL-2 BSD-2" +SLOT="0" + +IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug +doc + +fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring + jack jemalloc +jpeg kernel_linux + kernel_FreeBSD lzo multipath + ncurses nfs nls numa opengl +oss +pin-upstream-blobs + plugins +png pulseaudio python rbd sasl +seccomp sdl sdl-image selinux + +slirp + smartcard snappy spice ssh static static-user systemtap test udev usb + usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen + xfs zstd" + +COMMON_TARGETS=" + aarch64 + alpha + arm + cris + hppa + i386 + 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 + lm32 + moxie + rx + tricore + unicore32 +" +IUSE_USER_TARGETS=" + ${COMMON_TARGETS} + aarch64_be + armeb + hexagon + mipsn32 + mipsn32el + ppc64abi32 + 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 ) + sdl-image? ( sdl ) + static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) + static-user? ( !plugins ) + vhost-user-fs? ( caps seccomp ) + virgl? ( opengl ) + virtfs? ( caps xattr ) + vte? ( gtk ) + multipath? ( udev ) + plugins? ( !static !static-user ) +" + +# 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.0[static-libs(+)] + sys-libs/zlib[static-libs(+)] + python? ( ${PYTHON_DEPS} ) + systemtap? ( dev-util/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=" + dev-libs/libxml2[static-libs(+)] + >=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 ) + bzip2? ( app-arch/bzip2[static-libs(+)] ) + capstone? ( dev-libs/capstone:= ) + caps? ( sys-libs/libcap-ng[static-libs(+)] ) + curl? ( >=net-misc/curl-7.15.4[static-libs(+)] ) + fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] ) + fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] ) + glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] ) + gnutls? ( + dev-libs/nettle:=[static-libs(+)] + >=net-libs/gnutls-3.0:=[static-libs(+)] + ) + gtk? ( + x11-libs/gtk+:3 + vte? ( x11-libs/vte:2.91 ) + ) + infiniband? ( + sys-fabric/libibumad:=[static-libs(+)] + sys-fabric/libibverbs:=[static-libs(+)] + sys-fabric/librdmacm:=[static-libs(+)] + ) + iscsi? ( net-libs/libiscsi ) + io-uring? ( sys-libs/liburing:=[static-libs(+)] ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc ) + jpeg? ( virtual/jpeg:0=[static-libs(+)] ) + lzo? ( dev-libs/lzo:2[static-libs(+)] ) + multipath? ( sys-fs/multipath-tools ) + ncurses? ( + sys-libs/ncurses:0=[unicode] + sys-libs/ncurses:0=[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] + ) + png? ( media-libs/libpng:0=[static-libs(+)] ) + pulseaudio? ( media-sound/pulseaudio ) + 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.12.3 + >=app-emulation/spice-0.12.0[static-libs(+)] + ) + ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] ) + udev? ( virtual/libudev[static-libs(+)] ) + usb? ( >=virtual/libusb-1-r2[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:= ) + xfs? ( sys-fs/xfsprogs[static-libs(+)] ) + zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) +" + +EDK2_OVMF_VERSION="202105" +SEABIOS_VERSION="1.14.0" + +X86_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary] + ~sys-firmware/ipxe-1.21.1[binary,qemu] + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ~sys-firmware/sgabios-0.1_pre10[binary] + ) + !pin-upstream-blobs? ( + >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} + sys-firmware/ipxe[qemu] + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + sys-firmware/sgabios + )" +PPC_FIRMWARE_DEPEND=" + pin-upstream-blobs? ( + ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] + ) + !pin-upstream-blobs? ( + >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] + ) +" + +BDEPEND=" + $(python_gen_impl_dep) + dev-lang/perl + sys-apps/texinfo + virtual/pkgconfig + doc? ( dev-python/sphinx ) + gtk? ( nls? ( sys-devel/gettext ) ) + test? ( + dev-libs/glib[utils] + sys-devel/bc + ) +" +CDEPEND=" + !static? ( + ${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? ( + ${ALL_DEPEND} + ${SOFTMMU_TOOLS_DEPEND} + ) + static-user? ( ${ALL_DEPEND} )" +RDEPEND="${CDEPEND} + acct-group/kvm + selinux? ( sec-policy/selinux-qemu )" + +PATCHES=( + "${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch + "${FILESDIR}"/${PN}-5.2.0-strings.patch + "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch + "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch + "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch + "${FILESDIR}"/${PN}-6.0.0-make.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-ppc64abi32 + 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}"/default-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_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 copy of libfdt + rm -r dtc || 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}" + + 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 + + # 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 + --python="${PYTHON}" + --cc="$(tc-getCC)" + --cxx="$(tc-getCXX)" + --host-cc="$(tc-getBUILD_CC)" + $(use_enable debug debug-info) + $(use_enable debug debug-tcg) + $(use_enable doc docs) + $(use_enable nls gettext) + $(use_enable plugins) + $(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 + } + conf_opts+=( + $(conf_notuser accessibility brlapi) + $(conf_notuser aio linux-aio) + $(conf_notuser bzip2) + $(conf_notuser capstone) + $(conf_notuser caps cap-ng) + $(conf_notuser curl) + $(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_notuser jemalloc jemalloc) + $(conf_notuser jpeg vnc-jpeg) + $(conf_notuser kernel_linux kvm) + $(conf_notuser lzo) + $(conf_notuser multipath mpath) + $(conf_notuser ncurses curses) + $(conf_notuser nfs libnfs) + $(conf_notuser numa) + $(conf_notuser opengl) + $(conf_notuser png vnc-png) + $(conf_notuser rbd) + $(conf_notuser sasl vnc-sasl) + $(conf_notuser sdl) + $(conf_softmmu sdl-image) + $(conf_notuser seccomp) + $(conf_notuser slirp slirp system) + $(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 vhost-user-fs) + $(conf_tools vhost-user-fs virtiofsd) + $(conf_notuser virgl virglrenderer) + $(conf_softmmu virtfs) + $(conf_notuser vnc) + $(conf_notuser vte) + $(conf_notuser xen) + $(conf_notuser xen xen-pci-passthrough) + $(conf_notuser xfs xfsctl) + # use prebuilt keymaps, bug #759604 + --disable-xkbcommon + $(conf_notuser zstd) + ) + + if [[ ${buildtype} == "user" ]] ; then + conf_opts+=( --disable-libxml2 ) + else + conf_opts+=( --enable-libxml2 ) + fi + + 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 jack) + $(usev sdl) + $(usev alsa) + $(usev oss) + ) + conf_opts+=( + --audio-drv-list=$(printf "%s," "${audio_opts[@]}") + ) + fi + + case ${buildtype} in + user) + conf_opts+=( + --enable-linux-user + --disable-system + --disable-blobs + --disable-tools + ) + local static_flag="static-user" + ;; + softmmu) + conf_opts+=( + --disable-linux-user + --enable-system + --disable-tools + ) + local static_flag="static" + ;; + tools) + conf_opts+=( + --disable-linux-user + --disable-system + --disable-blobs + --enable-tools + ) + local static_flag="static" + ;; + esac + + local targets="${buildtype}_targets" + [[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" ) + + # Add support for SystemTAP + use systemtap && conf_opts+=( --enable-trace-backend=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 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" + + # FreeBSD's kernel does not support QEMU assigning/grabbing + # host USB devices yet + use kernel_FreeBSD && \ + sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak +} + +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" + default + fi + + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + default + fi + + cd "${S}/tools-build" + default +} + +src_test() { + if [[ -n ${softmmu_targets} ]]; then + cd "${S}/softmmu-build" + 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" + emake DESTDIR="${ED}" install + + # Disable mprotect on the qemu binaries as they use JITs to be fast #459348 + pushd "${ED}"/usr/bin >/dev/null + pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594 + popd >/dev/null + + # Install config file example for qemu-bridge-helper + insinto "/etc/qemu" + doins "${FILESDIR}/bridge.conf" + + cd "${S}" + dodoc MAINTAINERS docs/specs/pci-ids.txt + 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 + rm "${ED}/usr/share/qemu/bios.bin" + rm "${ED}/usr/share/qemu/bios-256k.bin" + if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then + dosym ../seabios/bios.bin /usr/share/qemu/bios.bin + 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 + rm "${ED}/usr/share/qemu/sgabios.bin" + 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 + rm "${ED}"/usr/share/qemu/pxe-*.rom + 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:" + ewarn " $(best_version sys-firmware/edk2-ovmf)" + ewarn " $(best_version sys-firmware/ipxe)" + ewarn " $(best_version sys-firmware/seabios)" + 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)" + echo " $(best_version sys-firmware/edk2-ovmf)" + if has_version 'sys-firmware/edk2-ovmf[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/ipxe)" + echo " $(best_version sys-firmware/seabios)" + if has_version 'sys-firmware/seabios[binary]'; then + echo " USE=binary" + else + echo " USE=''" + fi + echo " $(best_version sys-firmware/sgabios)" +} + +pkg_postrm() { + xdg_icon_cache_update +} diff --git a/app-emulation/qemu/qemu-6.0.0.ebuild b/app-emulation/qemu/qemu-6.0.0.ebuild index 0573493ead0a..8a8069a10e2f 100644 --- a/app-emulation/qemu/qemu-6.0.0.ebuild +++ b/app-emulation/qemu/qemu-6.0.0.ebuild @@ -108,6 +108,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} qemu_softmmu_targets_ppc? ( fdt ) qemu_softmmu_targets_riscv32? ( fdt ) qemu_softmmu_targets_riscv64? ( fdt ) + sdl-image? ( sdl ) static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) static-user? ( !plugins ) vhost-user-fs? ( caps seccomp ) @@ -275,6 +276,7 @@ PATCHES=( "${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch "${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch "${FILESDIR}"/${PN}-5.2.0-dce-locks.patch + "${FILESDIR}"/${PN}-6.0.0-make.patch ) QA_PREBUILT=" diff --git a/app-emulation/qemu/qemu-9999.ebuild b/app-emulation/qemu/qemu-9999.ebuild index 907f45897b86..9919b6047c69 100644 --- a/app-emulation/qemu/qemu-9999.ebuild +++ b/app-emulation/qemu/qemu-9999.ebuild @@ -6,7 +6,7 @@ EAPI="7" PYTHON_COMPAT=( python3_{7,8,9,10} ) PYTHON_REQ_USE="ncurses,readline" -FIRMWARE_ABI_VERSION="5.2.0-r50" +FIRMWARE_ABI_VERSION="6.0.0-r50" inherit eutils linux-info toolchain-funcs multilib python-r1 inherit udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils @@ -108,6 +108,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} qemu_softmmu_targets_ppc? ( fdt ) qemu_softmmu_targets_riscv32? ( fdt ) qemu_softmmu_targets_riscv64? ( fdt ) + sdl-image? ( sdl ) static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy ) static-user? ( !plugins ) vhost-user-fs? ( caps seccomp ) @@ -212,17 +213,18 @@ SOFTMMU_TOOLS_DEPEND=" zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] ) " +EDK2_OVMF_VERSION="202105" SEABIOS_VERSION="1.14.0" X86_FIRMWARE_DEPEND=" pin-upstream-blobs? ( - ~sys-firmware/edk2-ovmf-202008[binary] + ~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary] ~sys-firmware/ipxe-1.21.1[binary,qemu] ~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios] ~sys-firmware/sgabios-0.1_pre10[binary] ) !pin-upstream-blobs? ( - sys-firmware/edk2-ovmf + >=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION} sys-firmware/ipxe[qemu] >=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios] sys-firmware/sgabios diff --git a/app-emulation/virt-manager/Manifest b/app-emulation/virt-manager/Manifest index 557ba087ddb5..ae602bb220cd 100644 --- a/app-emulation/virt-manager/Manifest +++ b/app-emulation/virt-manager/Manifest @@ -4,5 +4,5 @@ DIST virt-manager-3.2.0.tar.gz 2858909 BLAKE2B 83bd8589fb7d9c855300e06689fdeeeee EBUILD virt-manager-2.2.1-r3.ebuild 2369 BLAKE2B d429198a0d3b4e629b28bc43de33950e6a2e236cc732d641e9d05d9c48da1c3f3da629f06e3c451d357c9cd933bebc5950ca55aa3f6889e05775d2020e86a220 SHA512 49831cfc41641f24cc19306d829246bef0d80138ead3a29f4a311f775f88da4ee50ea40f14c05ba1751b5e7042d4ea4f8831d222ebdd5a9b100a38e5cd55cb30 EBUILD virt-manager-3.1.0.ebuild 2426 BLAKE2B 0cddadea64ff30d4e262095c5fc0c3623c6f25a9a16a280aa594a62b437d20cbfb9cc4e12f498d55ef8f2e29eefa4a242daddcb04a267f169f38cc9770d007ca SHA512 09787a65b161d8b81e36e2210cdd0a3932013891d2dc86d97411d02734f8b0ed7c3936b69f88eaf80aef4d4035d5730c2fc73b87ddde0681c243d7cc548fc654 EBUILD virt-manager-3.2.0.ebuild 2410 BLAKE2B 2fd0693f3f03309ddd7f037852471a37e6cc8acae79e32323530985f06823fede5685da70a9cabc8db345ed3d9f05f8f1334a931353e665fbe0d9687aa82ba3f SHA512 34d89c7de927bda0a3c92f4977ffade32d85f261696264a180f9602a665ae6581bc0033406ff45a39f1329a1734e496e3e6da003e6f332090cc66ad5038b03d4 -EBUILD virt-manager-9999.ebuild 2469 BLAKE2B b85b2152a80e57e72e80e3b8a198cf210acc78a108b46456bd2871d6d176aac0705b8ba47a6f22a5cfa4559d4a1fb5a7ee599af3b1b2882efa9ea9b37ae2182a SHA512 9499fee65f618ed2916388b3c826235eb822f192e37c258a49aaa7eb910b1479bfa8ef2edb1fed1bcc2144ee2559bf0578986e10667405fc507223d5c98aa817 +EBUILD virt-manager-9999.ebuild 2448 BLAKE2B a4056d023c698cc5a892cba5aab6506382bd1a1f6b59bd26984e1fe08d379e6388b782a3f323fb655d687937ce6349a8b9fec2710b931fb41ded2bb692fc820b SHA512 b6e969fc2e48c9dc7f82e5a12db3092fc519f892f3b9b9b091f068710332be9d42b5a47e40503db1edf1a3b10df467dd19edaf2b45ad176bd679f850a93fbe21 MISC metadata.xml 662 BLAKE2B 4ddc8ee05f0679380316f8c175194b325d931967c9faee576f042fa42e0c7d6f8aa6b688464c1a839b8b20e184646d6e356095ffad136141c6c1fc7aa5d4f4f6 SHA512 7aaac81b00bb77562616d6ba9442c2e37d7cdd1142af090e3fe07be36315b5179bdb9cf78073c3f901e9a924c089ba00474e3c7121d785b6622b60be1fce682a diff --git a/app-emulation/virt-manager/virt-manager-9999.ebuild b/app-emulation/virt-manager/virt-manager-9999.ebuild index 5bb21473d4dc..3e4593a1f8a9 100644 --- a/app-emulation/virt-manager/virt-manager-9999.ebuild +++ b/app-emulation/virt-manager/virt-manager-9999.ebuild @@ -54,6 +54,8 @@ DEPEND="${RDEPEND} dev-util/intltool " +distutils_enable_tests pytest + DOCS=( README.md NEWS.md ) src_prepare() { @@ -72,8 +74,6 @@ python_install() { src_install() { local mydistutilsargs=( --no-update-icon-cache --no-compile-schemas ) distutils-r1_src_install - - python_fix_shebang "${ED}"/usr/share/virt-manager } pkg_preinst() { |