Sync with portage [Sat Feb 4 21:54:19 MSK 2023].

master
root 1 year ago
parent 3b99164159
commit 2efe54d0a8

@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
MANIFEST Manifest.files.gz 29480 BLAKE2B e5d043b6794c0f73873617729b3c37ca0f0a7bbbde5250331a5ae86efcf4030d1f77e02b2f1d3fbd16f1e6db2e8c9eac0f08e3377fed96358db9cb9918f22308 SHA512 c245d7dd640db55377366fb3589bc3f04d4c6eaaae6e2b7dd0f282dd584682c46f8960e8d26c0d2ed85b65c01917dfff1462c2c1c40a75e6fb838c0021c83b79
TIMESTAMP 2023-02-03T19:39:50Z
MANIFEST Manifest.files.gz 29465 BLAKE2B 08989c20db1ea87511f84816e641a63cc452209374767aca3bc1e5b1b23c34e9493328043ca6d3e449dc8e72f084ce47897634db778193b17d6c42e162fa58ec SHA512 64b76aa612eac7106a53213e0ece5ec0fa5b69fdded1105f1219a7e65df7de9587ee3055641c16e9417b579507726927733f9a9ee9d4fe4a761db2634d633aba
TIMESTAMP 2023-02-04T18:09:43Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmPdYwZfFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmPen2dfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klBC9hAAs8n+xtCYqVwoa2NxXngyovr+4CqwHrZJpjkvdCo5GyUmbD45BXAskY2I
0DISFLAYwpN4nDCc0Cp3OVkXZwu+L2QFCkoq8OQb7SpRFNxWp2nshp2UTt4nZ0Hp
JfT+JUJjoakDVUJgbdsMDBb/wIi05SXt3vImD/+Q8klPIcd84SkBDC/rp2lfeRwP
5cnvOi55XDLOz5r31e4iH6qVsSQoB7P5qAtMNO1PYiN0UcxPMYV37RHFZXbizWhm
QD2rcmebEyhty6QB37Eq9J3QfvBdVBEl3We5eoRkhwk9rxIiPDC9oNpBSBVTW1RJ
BUkgMck+I8sCFGl6OrLV+AKEk002QJgkfpEaPbeapSKTRlivOt4z0cq6fkMW702y
k54gDp4uqAdKPmf9oC1BS9SJxinanUHu7RN6+pscw0zxmOXnXf1OcacHyxFNK79T
0SqZ3IemybLi8jsb1lQYDRQZ2QLicZsbOqUV8bjlr8eLn3dRt/M4MfjLZtd3QUk+
GZn6kqzPjvPtBK3anIPo3CO1C4dG/Ba1N1NRhalVlrieGhULeJgTWvLPCjvZG8SO
CX9PXLbFW7A4I+OT+UQXiXQ9kaws6ShkaVFG2duWsV+n7DDmp++iY7Tk7R3kfL4A
xrQskPojMk3Gha5HJoyBdiZkVRiaX9yxNvfgHqdiSpplqkOfu/M=
=bucT
klC8pQ//bnIPqSRiENcpkeBSnzma72DHJz8eC7rvKf1YFz14RPHhC7Vjgz5adiyU
1j05yOcMOLf7KEmIZvFGgYEgvmdZF4vjD/yUD2XgOtdrUzKzl9wBsPRxupR1zGBN
lQjX1uZCQPiTrManUGRzsnb3o1xuEL+gaenAmFGpRLZEmJy8QYqdnsyYu2fpekDL
4EiuU6BOMw86xuQL42QYtPbPEklkAe4C935ed1G1bJE2di2wNI6IDiPWv6fK2ylQ
188ZszmVb5c2iwweREb+/voZlakmyBc6tAt8HVU4zOzSbhG3qVv6AzoRYTUekVyb
as7dKTfANIVF7vcnWxU1WYwbP3HUTd4E8NADqFndrUEY6SRGOwcR5ZCUrSRVVfnx
OPNgnfgRJi9eYcCb47VJcxgyAlQzVRFjYierJsE/qA4zxowyw6XDxFfNz0A4WzmI
An27AZRgryR/B3U3ccynB0tnsS4SLZzDOrnjjaQAptaUxiuXdglUj+fDVhAf/uem
X/auWRiL1URNmfJAPb7lBlQuOrOlh5qla9ZgDTBkyyHkWxbey8iWhLUHmuYuaKWa
HKLXbJMTXtPc79fCs6N9sOnjKFnv7oq/1z+vSnoyWJzE+qN3iauPfNpaQc1OrYiN
mWgYsJZmV6K7j7M1e5ohhC+vBOjSFzotMWjrSSdVjmlg6tpUTtQ=
=Po2A
-----END PGP SIGNATURE-----

Binary file not shown.

Binary file not shown.

@ -1,7 +1,9 @@
DIST aws-cli-1.27.54.gh.tar.gz 2349811 BLAKE2B 08cb317ea4621273644c39c1152e1a3f8bd9f52ed8c30d7c37dfea9e986ca1597fda1dfbdea8c4043fa783f061609d6f24895997e9f9a3f27d5677c0f9e6c3de SHA512 af4783eef3c1c666b8b3c6d20f1c0177db6d4ce01645b092770cba535dad95609b4bece366355ce6d6a505ac7ab5a2e390d64fb84d6c00e402f9f8ab88db91d9
DIST aws-cli-1.27.59.gh.tar.gz 2360458 BLAKE2B e60117e41cf95d442db333cf49c146e4ed02247007b8f46228799c5dee8c486aec34b236c9a0a6d152d690ff86c34fd797a6f35227a6e443805cdfe1b1b30f00 SHA512 87b9aebe812415223285c09ab5a36de2b9c0da49775d1162a5b5d7489ad61c16ca5361b721bc9e4ec4ccc09306be24513f42d7263b315d6856be20fdf0779686
DIST aws-cli-1.27.63.gh.tar.gz 2363224 BLAKE2B 4fe7971271d4359f9d29cdf4c028bd8d06a1a8188e6aef108c33d6b137bb2aee84f3655f3666381fdbf8166dd5ea071c564faac32fb0c06a461249385dbc503d SHA512 01c578f13c0f316c41bdf3bbc5e8532f01d0bfa108207899b8c56b990acdbf5b80d0ffbf1be944088f34e623494b1a1f6d52823d654c192b07133291e4bd7deb
DIST aws-cli-1.27.64.gh.tar.gz 2363382 BLAKE2B fd0879e793aa5ee449ee535425976d11edb6f844f0385a630df82b62aa6db593c76ccab2b59b960b951859b88e2fd1d2db98f5f9f423b1de4dfed65c22eb131b SHA512 8966543936133e98a7ed27897b3978dbc71fde0728dff18e778cb17cf18b834c6abdc4cae13375f72280b1c3f4b43b33c3a08d4f3b99a2cefb74f27d1dd480a3
EBUILD awscli-1.27.54.ebuild 2278 BLAKE2B a074ad11e996c7c4e5c0366e5e5d3856cb1bdd7984b8eaf9ac959108e0c5737b064be5d7a579f46669403efb0c3111e8814570f041106e920102cf2a6ddf3687 SHA512 060c06ae5d2295b74940bc86eabf279eeb7a81f7cafa4a9d89e9af8076feff5a23cc3f9bad5a631e75155af64b948abe4c0de7283883a53d4b1ee5791765176b
EBUILD awscli-1.27.59.ebuild 2285 BLAKE2B ab176af730bcb3713594ac424ab29325c2cb24b8136e12ac6e18cf1648c8fa81e256eab0c708077e2c5423d1592594bb842383614e9114e728703e8cc8964252 SHA512 423fc2ef82036643a93eebded5fde267beb70f6278f06faa7e4c5ea221351aefe5bdf7c6469e57c49caab603ae1aa58fb514339c65891995cef614e698e9d997
EBUILD awscli-1.27.63.ebuild 2285 BLAKE2B ab176af730bcb3713594ac424ab29325c2cb24b8136e12ac6e18cf1648c8fa81e256eab0c708077e2c5423d1592594bb842383614e9114e728703e8cc8964252 SHA512 423fc2ef82036643a93eebded5fde267beb70f6278f06faa7e4c5ea221351aefe5bdf7c6469e57c49caab603ae1aa58fb514339c65891995cef614e698e9d997
EBUILD awscli-1.27.64.ebuild 2285 BLAKE2B ab176af730bcb3713594ac424ab29325c2cb24b8136e12ac6e18cf1648c8fa81e256eab0c708077e2c5423d1592594bb842383614e9114e728703e8cc8964252 SHA512 423fc2ef82036643a93eebded5fde267beb70f6278f06faa7e4c5ea221351aefe5bdf7c6469e57c49caab603ae1aa58fb514339c65891995cef614e698e9d997
MISC metadata.xml 385 BLAKE2B 5accfb180a91179cc6df539d42d1de06be3ebfec73f3edb719f5d59576103b9a8cb0c7c524c1042630e0cf99f068939a19f04c7b1b4a2acf9e072369df80d913 SHA512 ccb3d516326c5dbdf53068372ce25baecc137d21a04516374362212b969cc928dacbf743b4953da33f28482905798f069d09d19c88d9913f2b32648db25115ab

@ -0,0 +1,80 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit bash-completion-r1 distutils-r1 multiprocessing
MY_P=aws-cli-${PV}
DESCRIPTION="Universal Command Line Environment for AWS"
HOMEPAGE="
https://github.com/aws/aws-cli/
https://pypi.org/project/awscli/
"
SRC_URI="
https://github.com/aws/aws-cli/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
# botocore is x.(y+2).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 2)).$(ver_cut 3-)"
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
dev-python/colorama[${PYTHON_USEDEP}]
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/rsa[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
!app-admin/awscli-bin
"
BDEPEND="
test? (
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_prepare() {
# do not rely on bundled deps in botocore (sic!)
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
# strip overzealous upper bounds on requirements
sed -i -e 's:,<[0-9.]*::' -e 's:==:>=:' setup.py || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# TODO
tests/functional/eks/test_kubeconfig.py::TestKubeconfigLoader::test_load_simple
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_env_only
tests/unit/customizations/eks/test_update_kubeconfig.py::TestKubeconfigSelector::test_choose_existing
tests/unit/customizations/eks/test_kubeconfig.py::TestKubeconfigValidator::test_valid
)
# integration tests require AWS credentials and Internet access
epytest tests/{functional,unit} -n "$(makeopts_jobs)" --forked
}
python_install_all() {
newbashcomp bin/aws_bash_completer aws
insinto /usr/share/zsh/site-functions
newins bin/aws_zsh_completer.sh _aws
distutils-r1_python_install_all
rm "${ED}"/usr/bin/{aws.cmd,aws_bash_completer,aws_zsh_completer.sh} || die
}

Binary file not shown.

@ -2,5 +2,5 @@ AUX rhash-1.4.2-clang.patch 2775 BLAKE2B 0160a245931d58eb4809e95b5ab8a515fadf145
DIST rhash-1.4.2-src.tar.gz 416853 BLAKE2B 06322825116cb00aa4987b01610d967eb57c94aa29b43348ec2c31f053fd471a900fcee776714263213e9a79eaf389b2e79d7b34a5afd3e98d68198193b5cbe7 SHA512 41df57e8b3f32c93d8e6f2ac668b32aaa23eb2eaf90a83f109e61e511404a5036ea88bcf2854e19c1ade0f61960e0d9edf01f3d82e1c645fed36579e9d7a6a25
DIST rhash-1.4.3-src.tar.gz 429290 BLAKE2B d225aeae0b3a8fb2e093a9aef50cd07a790c7e9734e91114deef2ca8492c85261b8ed5dea45958e35e049ea888885175608962ea72297bdef48b00c52f51eaca SHA512 d87ffcde28d8f25cf775c279fed457e52d24523ed9b695629dae694b3c22372247d18f6032f8ce13a0b70fa2953be408982e46659daaa7c4ab227ae89eaed9c7
EBUILD rhash-1.4.2.ebuild 2341 BLAKE2B 7996d0882a94d4c9491a657131551c435f7d58f2bd122144b7a903aea8b0a771e9b8f47925beab4186a78582a94814db65e271b1fe8a53c8e3455b535f8a229a SHA512 b0680600850ba7931530c102579b74afa14b5b83015293bb6143f0df0815e6ddac8e41f58e9c6c4aec9604f1af856fa8451ad81ca7ab46586ceb66859b359f1c
EBUILD rhash-1.4.3.ebuild 2193 BLAKE2B 6765f19fb2d9224aaad5f642d75afbcacef8ab5c992b239e4710d2087e6a300225f74ee742f80c9700950af1066b6a71ae0cf4aa9b5f9b517a490c6c011d7a62 SHA512 c44baf853423913d702d765b348fdd08ad4cde04c3d7ba536e9b9191d87720b0aa9bbd8f1e89cd2627ec3e6941d8bd62ba19f713942f105d10fcfc8ce8175df8
EBUILD rhash-1.4.3.ebuild 2186 BLAKE2B fdcfe20d11d168bdedbdece7d4f19d226dde3050a13c3bd4558b27403d24f3f3f308906129fcb23caadaab2e307e911d31c105f08523485d6040431b0b027506 SHA512 392b062341d4ebb8d393827f70b530d0b9b66b9b376600e741ce42f9de894b2502b54d9b7d194a4be7cebf26797b09843a42831e5bd5277d23122c1d0b3defe4
MISC metadata.xml 817 BLAKE2B eeb15cde9e06507f73330759d44dca59dea3bbcb972cb25af71d91f065eb64dbd1ddc61e43f8fad50c264c269542f92efdace36d3397647c3c53972e695da22f SHA512 3e2f688b57c74e051fcfb90d34685346c459c5e9f425266fd3d8e099f586037b14c2bfdac76f135a046c77cc850bb49954c0e7d8dc9ded1db47bf0919ab3ea93

@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}-src.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="debug nls ssl static-libs"
RDEPEND="

Binary file not shown.

@ -5,5 +5,9 @@ AUX vscode.desktop 451 BLAKE2B 3c0cbe4a9bf71d47c3534bf6f7a265a04a0949b0bb86e060a
DIST vscode-1.74.3-amd64.tar.gz 138260370 BLAKE2B 30bd34a17bb31326454db8844c48bc9f554374cdfc3032504be64f2493735864fbc3d0002ffa7c7a3c545329d198ead62df5931119cb95a261f2d4a9f058ac8a SHA512 46067ec45a383df7c766629c96fa320869e63e0f5ebc8d9c5738bde0799b934840fb912de7abcf6490378f70f1784664898341edfd755225d77bd62d8b058caf
DIST vscode-1.74.3-arm.tar.gz 117870912 BLAKE2B 8d6fe12ca6b18db2709570df2e0ec943474fdf1878b30eae0b69c27ac018dbb4cd1fa724deb505ca0fc96096442296a0e201bc032544828320c05c799a39cca9 SHA512 41cbef791679cbd67c5844d5d545ed196d0374c9292050cc954f30549cd30c9612e3ef7e29c04b009718c93994ba285c9cf08d240723ae1420fa3be75e2630c0
DIST vscode-1.74.3-arm64.tar.gz 127492465 BLAKE2B 095b6a11e5a4b029e9a3facb8728ede939d674b1c975027d9ece8eb6002b5dca8d665c95b231f3b96644e64952f76f40eb3fcab0ce71e59e1ae30837e7b7f272 SHA512 e0fe9d950aeef9744bdf1ed8c78de1a40fadc52d7ce68797334463d6c84ffb5e5ef8fa6a3a1dbf3593e423d9e43a39e85f46559ccd4054ea776be2c17aa88480
DIST vscode-1.75.0-amd64.tar.gz 138952948 BLAKE2B 892c2ece1bfb1d2dc4fea2c3a6c062688add04f3ceca344988d240edbc4f358100bb4caa17eadc9568dbd1c3581595eb3fadd527727c02d57b63e5fd7a88533b SHA512 f4f26d5fc9c4cf8faf631ff5a0a48d446013faf33a1e932d3e8023b967dd078c370c57dff1791d97bfdeda0e92993d1aa94dce9cfeda4745bdc9c0a1cfb7aed2
DIST vscode-1.75.0-arm.tar.gz 118400806 BLAKE2B d1c930bb871c7bbf7dccd8e3a0da9fc903dfad2066c5d8cbceb9ad3adfeb4d59089b35c75c4d5650efeaf7bb7fa9f2c84b2a499610fab3d09dc18d59122b5a47 SHA512 cdfa12e8dffdef50d3e17f58b0d516318d0e5e114b0556285d92ec81ceb2b78cea9affe9719416f7f60eea385cb49caf6879e3fd9c8d2fbf0849a1d1d9ccd704
DIST vscode-1.75.0-arm64.tar.gz 128013515 BLAKE2B 77c2663e01397086e3917dae8e0ec3663969cf5e36135fbc7bc264f21ffc31197e5dc3dda49b3e4c2d9daf1f39d110b5c467590157ebd4d87986771bca3268c5 SHA512 0e4b4a2b2b273e590bd210d186b255a3e48ec0851c38ff27063f115088f7cf5375b14fd075b45f5d4ceb525f04c2d3fabbdd0d6b7bc192b8f6da269311b3634d
EBUILD vscode-1.74.3.ebuild 3267 BLAKE2B dfd8850ded2cbcd029798b601e935ab56d3893a536dbe3eab331cd0049ab93ab86f98e3cdc94340bcea2ef091452bdaf395c529e5ed5abcfb1386ff32cd875e1 SHA512 eb746d050d33b48a270c32f896bd3f07e3b94186f808b20795e5c630c48acedcbe47b7d02c16382221c90cf5e2e6cbf629ab77dc14a85e12a99dd1f66c7b0058
EBUILD vscode-1.75.0.ebuild 3267 BLAKE2B dfd8850ded2cbcd029798b601e935ab56d3893a536dbe3eab331cd0049ab93ab86f98e3cdc94340bcea2ef091452bdaf395c529e5ed5abcfb1386ff32cd875e1 SHA512 eb746d050d33b48a270c32f896bd3f07e3b94186f808b20795e5c630c48acedcbe47b7d02c16382221c90cf5e2e6cbf629ab77dc14a85e12a99dd1f66c7b0058
MISC metadata.xml 1058 BLAKE2B cf7606233d99e4429debe5ef824f235f1ff3083ab5553030453e982bfb5860dd5ccecca3792319665835d604b6ff2cb53ebd885bb959236784c62885087750b2 SHA512 961552953336ad9606c9fc004fc3e0fb8d7481a017b6ba5da683db5ba989f58d474ccb4ea3a001851b2cfe705e7fe3f70ba01a14dd1f048523e73af522d50410

@ -0,0 +1,127 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop pax-utils xdg optfeature
DESCRIPTION="Multiplatform Visual Studio Code from Microsoft"
HOMEPAGE="https://code.visualstudio.com"
SRC_URI="
amd64? ( https://update.code.visualstudio.com/${PV}/linux-x64/stable -> ${P}-amd64.tar.gz )
arm? ( https://update.code.visualstudio.com/${PV}/linux-armhf/stable -> ${P}-arm.tar.gz )
arm64? ( https://update.code.visualstudio.com/${PV}/linux-arm64/stable -> ${P}-arm64.tar.gz )
"
S="${WORKDIR}"
RESTRICT="mirror strip bindist"
LICENSE="
Apache-2.0
BSD
BSD-1
BSD-2
BSD-4
CC-BY-4.0
ISC
LGPL-2.1+
Microsoft-vscode
MIT
MPL-2.0
openssl
PYTHON
TextMate-bundle
Unlicense
UoI-NCSA
W3C
"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm ~arm64"
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
net-print/cups
sys-apps/util-linux
sys-apps/dbus
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libxshmfence
x11-libs/pango
"
QA_PREBUILT="
/opt/vscode/bin/code-tunnel
/opt/vscode/chrome_crashpad_handler
/opt/vscode/chrome-sandbox
/opt/vscode/code
/opt/vscode/libEGL.so
/opt/vscode/libffmpeg.so
/opt/vscode/libGLESv2.so
/opt/vscode/libvk_swiftshader.so
/opt/vscode/libvulkan.so*
/opt/vscode/resources/app/extensions/*
/opt/vscode/resources/app/node_modules.asar.unpacked/*
/opt/vscode/swiftshader/libEGL.so
/opt/vscode/swiftshader/libGLESv2.so
"
src_install() {
if use amd64; then
cd "${WORKDIR}/VSCode-linux-x64" || die
elif use arm; then
cd "${WORKDIR}/VSCode-linux-armhf" || die
elif use arm64; then
cd "${WORKDIR}/VSCode-linux-arm64" || die
else
die "Visual Studio Code only supports amd64, arm and arm64"
fi
# Cleanup
rm -r ./resources/app/LICENSES.chromium.html ./resources/app/LICENSE.rtf ./resources/app/licenses || die
# Disable update server
sed -e "/updateUrl/d" -i ./resources/app/product.json || die
# Install
pax-mark m code
insinto "/opt/${PN}"
doins -r *
fperms +x /opt/${PN}/{,bin/}code
fperms +x /opt/${PN}/chrome_crashpad_handler
fperms 4711 /opt/${PN}/chrome-sandbox
fperms 755 /opt/${PN}/resources/app/extensions/git/dist/{askpass,git-editor}{,-empty}.sh
fperms -R +x /opt/${PN}/resources/app/out/vs/base/node
fperms +x /opt/${PN}/resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg
dosym "../../opt/${PN}/bin/code" "usr/bin/vscode"
dosym "../../opt/${PN}/bin/code" "usr/bin/code"
domenu "${FILESDIR}/vscode.desktop"
domenu "${FILESDIR}/vscode-url-handler.desktop"
domenu "${FILESDIR}/vscode-wayland.desktop"
domenu "${FILESDIR}/vscode-url-handler-wayland.desktop"
newicon "resources/app/resources/linux/code.png" "vscode.png"
}
pkg_postinst() {
xdg_pkg_postinst
elog "You may want to install some additional utils, check in:"
elog "https://code.visualstudio.com/Docs/setup#_additional-tools"
optfeature "keyring support inside vscode" "gnome-base/gnome-keyring"
}

@ -5,5 +5,9 @@ AUX vscodium.desktop 481 BLAKE2B 89f335edd1f7d0256f95eb96d335c2359d8fd984a29bdc3
DIST vscodium-1.74.3.23010-amd64.tar.gz 121396318 BLAKE2B 457aa7135d85340cc46b8bf06cc18bf9a575510c445c25c2102aa9f95099e7472f953c1770c7ff567bb53a2532db2c21849b06e922ef11a5d8699f8ed3cd283b SHA512 4d6f9494c2112c6de60dde67eab6127c8bbb7fae4574e6fa85e4438e02ccf61f0954e79157e0466dd7aa2cead828d394b6b8f669be4ff52050b2cafb3e3e7f6b
DIST vscodium-1.74.3.23010-arm.tar.gz 103438321 BLAKE2B e6294cdaaed7862b7a64ff9cfdb675ccba1bca25c23ba66c93aaadb2e231447de7baba4815ee910a1b84965ffdee06c1b6a45a48294872a0c872ed10e049a05a SHA512 52f481e5a7e9f53c176702b134729f6fff0a8fe4eb993d07350476250bb324ef88fc22e3263c018affc5f791bf65583946da8119dc657fec372741a81798fa81
DIST vscodium-1.74.3.23010-arm64.tar.gz 114464176 BLAKE2B a6682c4c26fa2bb628aced21cfabe0ee03cc3bb285b857973753cb9c5798763d6c43d8968f089a2be064a84ce71fc09ea938f5305c30c0a8920968c75812c845 SHA512 a2d563fc69aad4e3c05afe88c6326a2a9e2e67c7022e6068f416348445d421a0c1a676ecb405acca1f9b2892e1cdbbc7f38e6292570deaa5bc4574506deb272d
DIST vscodium-1.75.0.23033-amd64.tar.gz 121848371 BLAKE2B 412e945fd98f3ca6fd690593d09d64ec32e2a1450c117f41b99a276f6992f38de8e315af2273e659023a9acd8101a594c5e50bb7c29c7b9d688c902fca875b50 SHA512 58a3e58c9350359538841349271794e738f4734e84af7ec83a44b11fa09517dcaa6c373bb20ae271c4646f8766f405d12e7011d0398750facd9c4aa47402976c
DIST vscodium-1.75.0.23033-arm.tar.gz 103889757 BLAKE2B ad910df8a5b245c725dcdb3d2bf4fdb602de2703a629563f6b71bad3e8ebc09a5ecf6ab1272261b7abb6aa35ea7a15ea9a8c1ee5ca52bee8deaf5b13221edf15 SHA512 9dd9b4bdc6e98c53c39ee5bde3f2001d3345de0398e848b26cca0e54cf8edd3712e4489cf3f11e7f67b9742c8dd3e9bafbf09ae5c4704a090147cfcae542e89d
DIST vscodium-1.75.0.23033-arm64.tar.gz 114924184 BLAKE2B 47d979df3eadee60e5ea6dcbf15b58518ded7086516cb9c1444ef22c3b05eef3d3b7b733a8be889fd0a08fa5e9fc4a0e5171a573b95defc951f526b95e624b0b SHA512 506ccf023fe0f1c9c18c23ab3e77b64ba64e769226e43c577764b1ca85c940c53bdef69095bb3b2d09886a02506847a5884543191e2aead12884ffcadb7b22ae
EBUILD vscodium-1.74.3.23010.ebuild 3111 BLAKE2B c70c69d84af13f6815ac93d86b2fbcf3b5bef26c70c27490635ec220b1b83edb82eb894c1ca20df91742decf83a95371eba73d1ae2406a94ebe8e63228dc99ac SHA512 58d2dd19a29c7f247a1f2d356593ab02153067a744c69e3404cbfe81cd21753931be34f71871696da569ebcd7941a6d6ff5854352ae6e1d60b917e88810a2dd7
EBUILD vscodium-1.75.0.23033.ebuild 3111 BLAKE2B c70c69d84af13f6815ac93d86b2fbcf3b5bef26c70c27490635ec220b1b83edb82eb894c1ca20df91742decf83a95371eba73d1ae2406a94ebe8e63228dc99ac SHA512 58d2dd19a29c7f247a1f2d356593ab02153067a744c69e3404cbfe81cd21753931be34f71871696da569ebcd7941a6d6ff5854352ae6e1d60b917e88810a2dd7
MISC metadata.xml 1302 BLAKE2B ff0c1f72c2394f21e13b89831493df562ca15114fa5006262f794d3f2580deaad01d7e01f87481dcc75cc5044c8b4950955dcc3dbecbc8cfc7a6ceafaf078fb6 SHA512 8ec965d8544c2ab31e3c2f2f3c879b084126880603681fef5e5158af1bc1f2f79351b68284f6a101d486893f968594e1537df1eedeacdebffdf51de7a38ccb25

@ -0,0 +1,118 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop pax-utils xdg optfeature
DESCRIPTION="A community-driven, freely-licensed binary distribution of Microsoft's VSCode"
HOMEPAGE="https://vscodium.com/"
SRC_URI="
amd64? ( https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-x64-${PV}.tar.gz -> ${P}-amd64.tar.gz )
arm? ( https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-armhf-${PV}.tar.gz -> ${P}-arm.tar.gz )
arm64? ( https://github.com/VSCodium/${PN}/releases/download/${PV}/VSCodium-linux-arm64-${PV}.tar.gz -> ${P}-arm64.tar.gz )
"
RESTRICT="strip bindist"
LICENSE="
Apache-2.0
BSD
BSD-1
BSD-2
BSD-4
CC-BY-4.0
ISC
LGPL-2.1+
MIT
MPL-2.0
openssl
PYTHON
TextMate-bundle
Unlicense
UoI-NCSA
W3C
"
SLOT="0"
KEYWORDS="-* ~amd64 ~arm ~arm64"
IUSE=""
RDEPEND="
>=app-accessibility/at-spi2-core-2.46.0:2
app-crypt/libsecret[crypt]
dev-libs/expat
dev-libs/glib:2
dev-libs/nspr
dev-libs/nss
media-libs/alsa-lib
media-libs/mesa
net-print/cups
sys-apps/util-linux
sys-apps/dbus
x11-libs/cairo
x11-libs/gdk-pixbuf:2
x11-libs/gtk+:3
x11-libs/libdrm
x11-libs/libX11
x11-libs/libxcb
x11-libs/libXcomposite
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libxkbcommon
x11-libs/libxkbfile
x11-libs/libXrandr
x11-libs/libxshmfence
x11-libs/pango
"
QA_PREBUILT="
/opt/vscode/bin/code-tunnel
/opt/vscodium/chrome_crashpad_handler
/opt/vscodium/chrome-sandbox
/opt/vscodium/codium
/opt/vscodium/libEGL.so
/opt/vscodium/libffmpeg.so
/opt/vscodium/libGLESv2.so
/opt/vscodium/libvk_swiftshader.so
/opt/vscodium/libvulkan.so*
/opt/vscodium/resources/app/extensions/*
/opt/vscodium/resources/app/node_modules.asar.unpacked/*
/opt/vscodium/swiftshader/libEGL.so
/opt/vscodium/swiftshader/libGLESv2.so
"
S="${WORKDIR}"
src_install() {
# Cleanup
rm "${S}/resources/app/LICENSE.txt" || die
# Disable update server
sed -i "/updateUrl/d" "${S}"/resources/app/product.json || die
# Install
pax-mark m codium
insinto "/opt/${PN}"
doins -r *
fperms +x /opt/${PN}/{,bin/}codium
fperms +x /opt/${PN}/chrome_crashpad_handler
fperms 4711 /opt/${PN}/chrome-sandbox
fperms 755 /opt/${PN}/resources/app/extensions/git/dist/{askpass,git-editor}{,-empty}.sh
fperms -R +x /opt/${PN}/resources/app/out/vs/base/node
fperms +x /opt/${PN}/resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg
dosym "../../opt/${PN}/bin/codium" "usr/bin/vscodium"
dosym "../../opt/${PN}/bin/codium" "usr/bin/codium"
domenu "${FILESDIR}/vscodium.desktop"
domenu "${FILESDIR}/vscodium-url-handler.desktop"
domenu "${FILESDIR}/vscodium-wayland.desktop"
domenu "${FILESDIR}/vscodium-url-handler-wayland.desktop"
newicon "resources/app/resources/linux/code.png" "vscodium.png"
}
pkg_postinst() {
xdg_pkg_postinst
elog "When compared to the regular VSCode, VSCodium has a few quirks"
elog "More information at: https://github.com/VSCodium/vscodium/blob/master/DOCS.md"
optfeature "keyring support inside vscode" "gnome-base/gnome-keyring"
}

Binary file not shown.

@ -4,20 +4,12 @@ AUX qemu-5.2.0-disable-keymap.patch 884 BLAKE2B dbbe245a52615f8894cbac1c94ce3fee
AUX qemu-6.0.0-make.patch 306 BLAKE2B 701c6d929dc7544a2e155243a2545dc488765cf8b733fca29c4f4cb06cad732d72f64c330d95fbcdcf12b174b92b7fa5b713bf833065e5014f8aed1eec22c0a1 SHA512 5d22c6c4085dd0bf58752e21af9addd6a1a670a60f172b488d1ccfb1b9356ce9808a3b9337dd1bd2aa9e06735a3c7a465bc11ae3871cc4294ec609729b2e09c7
AUX qemu-7.1.0-also-build-virtfs-proxy-helper.patch 1167 BLAKE2B dee6c98a547a510827f422a5d2b03edd6d467e4713f357a5841e01d632578891a0e2e715c57153c7842b51f5199cea70d8e76ff31f0372308e26202e1587af62 SHA512 d2fb9db139588961434663910dc7151c91b82c1820f62ed5ae690e4f868f1957d8ad2dc1b812813a2081ce6bbdd0f8e59cddd9459de6ef493df02b5a4478de63
AUX qemu-7.1.0-capstone-include-path.patch 1076 BLAKE2B cb595acb50ff2a64d0b879d5d8439d89b0d6295434ae09d1c45c01d3b18f547dcac201e79140eb9dc376d2d8c1d1b72a5adfe7ac477da61c86da148ed486ff2b SHA512 857504916325984150f8e0869aa44b158ed829b53d2bcb7f7012390d2d404ae1553af50184be6e2d8f91ffedfc5c061b7f64b9f28feb38bf18379dee56704732
AUX qemu-7.1.0-faccessat2.patch 2862 BLAKE2B 08daf0fa043b900bd503f07c1ee4c1a2e40195cd0862c2cd41536b45f6f22d5927d5f8cded7648c0bc6e42ec1ca17a788efdade8b9749637c2ee62994a459196 SHA512 5ae3d23192aa382ae1d7e41ecd42265f47d8b864db53980ba2b4636ee5b777e0a33bfc4437924ab7866ba758af888a497eeefadc63a7dc7e00dcef206dcee31c
AUX qemu-7.1.0-loong-stat.patch 2978 BLAKE2B e4c233fa9b561278c7df8dcc19c19868b96698f19b0d881c40e8d961c8721fc5cfad0c50e309ae92b009b6d1e2b01c5cf5ec4fbf644058e13e6d57bb00ebd8af SHA512 6e2f7b5a16d981bb21a0acc1ffe8ff6c05fe64152f93d50a0274b8d5c1635a8af1bec38e71c3350c4643582bdb0a30dda8793e9a67bd20046cee9528198da6dd
AUX qemu-7.1.0-mips-n32-syscalls.patch 4010 BLAKE2B 8ef814ed186ca1863bbdf2e88d76af18146c50581de45406eb2e1d91f72feda34d2516a81c6cfce24843a9eb30bffc91072ec3b6bdc43a2f5dead03283fef2d1 SHA512 0146fb659762eec9fe236ea3cf0382e75b79c2d9bdf5065f0f5b3904b961f76e1b877589d95de1de09d009d9364bdeb077c6a06efb78ab91f5971f91b2bf588e
AUX qemu-7.1.0-strings.patch 868 BLAKE2B 89f17618de07b0f025d8702b73590aa91f890ab1e7f2a1592146eacf6378ecd940ff1ee07519da2b0a8c26b11fdd0f11808ebfb69d518eeffe5f557d157c7177 SHA512 c0f26e5b68aaf97b54248cf2e5e8900f215a1cda297422a4d8564e5c38fb026d9834918b95e66ac307db94576c165485d381ca404c388e7655cbf32fe974a49d
AUX qemu-7.2.0-disable-gmp.patch 1554 BLAKE2B ac21e5985676123e8b61de8d590d8489de1d7401e5005899e5a95d7e86b77741572087a294d4b63533c26fe53f81c76e23ee482fd3a371f2e3700859644b6c8a SHA512 d4a600cfe42f1c49d45cffae64ba1e1225ae8e75a92454cbb534be5f95e1b8dbdbf441d092764cc9f9e97ed6bf6367175d7b56cdf97694dec57da2c8fabd1969
AUX qemu-binfmt.initd.head 1442 BLAKE2B 23aa5338914aa7c47f9b1cc1d28291abd0ea037a33cca81f990decfafac2907c86c042350c9dd45591d16330846d4e11d2c8a2a409a68ad81656d9c2c51964c0 SHA512 3fec8946a37bfbd2089f5d95089ed5987a198fc0139ee7482d4bb38c2ffa0e165667a7853afcf2b458bc3e2a6540f172c929ca5a334a00db47e2d0f881382c0e
AUX qemu-binfmt.initd.tail 245 BLAKE2B dd59f2944c6e3f0c4d282b94b687a9b5c51dd77c5103fb9889bd9ce56874495397676ae6c8375d9e9e23094828477240778d9e0f361e68cdd63fdad574851561 SHA512 bcca16805f8380d52cc591ea3d65a8f6e5de456730618f6aee301510edb75d235a22d4d7aeed224882210392840adb403eb53234b6cb76a4cb24533852a8b737
DIST qemu-7.1.0-docs.tar.xz 2016780 BLAKE2B 1b84361fe58d504ab740a0b805a25d02f497ca776e7251a99f0e98e3720d1a2029b7a171f9d79dd128ba17a82c72d497e09baa1a4b2f192ba390f0f3b1950792 SHA512 7a328303b8af0ab63aa1f0fe07a121d3ca459d00fca817412e645416af795930dbea0a3e60f4ca006a74d1672e84fa4e626e4d83918e0b685b601043d0d8159e
DIST qemu-7.1.0.tar.xz 121833004 BLAKE2B e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf SHA512 c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f
DIST qemu-7.2.0-docs.tar.xz 1984184 BLAKE2B 103900fb7903ed8d75f7f012bf61fa2d6fce345b657c851d0437c3384f5735bd1cfd3129320683ea7846ea0b0940e5af5b2663c9320f12fee74b058523a8ea06 SHA512 a7edd448982865e07533c300d3e44a8b50cefbdde1982b73c24d0b2aa74315439252c59b634c75de312860874c7b06c75aa72629da681b5105f28ee936794585
DIST qemu-7.2.0.tar.xz 122408576 BLAKE2B 415ff621356c59f88b29cfe3ef5db1e282b26bbafbee3d535477c6125ccb060ec9762d9e3ab9f70ce5478804dca0a46a59bcf12c112a2462029a93e578e61530 SHA512 f3cfa00da739ba819a218d7e6e95c77fb79a8e0f487b024ddd281602e785249b81144595e3f8c746c32a4f5c4d1a88c6aebae3c162603edfbb50ae3722d7ed13
EBUILD qemu-7.1.0-r2.ebuild 27363 BLAKE2B f4dbdcd125941b7dcabe9234f4e7e2bbd7b9a78073bd461eda22b8a1aacaf9ea677d4c221a75bc41643f44356c730d68cde7898012fb6cdf13e465ae59555f4d SHA512 a26cc96eee88a06bd4e5ccaa47d77377687683178131d4e76550a32693046c292461c7830917144847ee7a3e50d65837ded9527c42233e5c2a9250b0bd5aaa5a
EBUILD qemu-7.1.0.ebuild 28395 BLAKE2B eadf553ea0007dd16d5e47c853f2ebb9821b444776b4027bfff5cfb5d788657edd58fe90d09b5f83e951504e256d2e274157c2935aae20ce16a3671926ad6e3c SHA512 d79fd86995afb946e322420bb3b9364e66ff6627c5c2ff9496a58016c9177eebfd590406d9cf4fecd07065f1d6414153d09e04b71d53e0ac7a9710a6de6b778a
EBUILD qemu-7.2.0-r1.ebuild 27433 BLAKE2B 50664af473ae8749f83954fc31af021b9ee0f94531674732591e632758b031052dab73ebbe8267e29341738ec9e7bf083132f0f176bb6b74bd9eabdba44c35dc SHA512 b12769c6a0a8d7587cedc3b39de3ba0a11eba60931b11baa8cd8495e75c3c32dc4da15ecb195421a41992790fafabd2fd8d486a34da0487a54d0551605a3dd16
EBUILD qemu-7.2.0.ebuild 27190 BLAKE2B 50b30006b4ec69acc673e6b2f1b0ab74ced6b75eadcf94c9f61444438e765e7273532f26efe5643a8315b1625287270b93a0c69633f0b88bc734c597518fc1b7 SHA512 73c7d559d424d13c2bed35f901585c337153d6c74d1d33c65c8a34f9781223c4528198561e06c5f455cb7cffab28c3d284f7a13beba2bd24c5a59dec55cf97a9
EBUILD qemu-9999.ebuild 27332 BLAKE2B c998ba477249c292d7f3f953330386c45ac47d300807bd036ca617a85160730dd5830e432b480c4b89ebabf7d67eecd5f3530b3de51e6849305fa25ff382353c SHA512 5f33f433a1b87788ab81d27617f80fc9a87d81035e37fabcd85b7850e16683301b07b7dba0beb002097e5d79ce899d6bc31087eb04fa40473af29e5fb9b80906
MISC metadata.xml 4363 BLAKE2B d3091daee173604ab2bf2b0d047201a2741d3125d769590e3ae8c31c2ae781db4cc937ae10e4ae49ebbae1a633505c4de04727101f6a6e29be3fedf6e6b41e6a SHA512 efccf9cff5475dcf849d71c7769997f7209dc25d8593efa9e1e72458dcc711b69b86afbbd13d6b04ed5763b32d3837a6b04bf45454dcbebbea44182df90ad44e
MISC metadata.xml 4249 BLAKE2B 56e23de79e691a3634c21f2c7d3d2d02461cc5d2569c4ff15856f8ea99f8d53837cfa7c4dede988c304fdbe3c831f9cd776b9d62191e87f593d9643594abc133 SHA512 c4fd2aea291de484c24e3ef8d1b88a95fe3ac0b73d44bbae99f0de076b2335222f32e1b49a3fe7bd7168dc5cc290274a13bd7c615aeb54d06a04c8819e1f1b96

@ -1,78 +0,0 @@
From 35a2c85f7d691db7aa2c47181902ac87478eef7a Mon Sep 17 00:00:00 2001
From: WANG Xuerui <xen0n@gentoo.org>
Date: Sun, 9 Oct 2022 14:08:13 +0800
Subject: [PATCH] linux-user: Implement faccessat2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
User space has been preferring this syscall for a while, due to its
closer match with C semantics, and newer platforms such as LoongArch
apparently have libc implementations that don't fallback to faccessat
so normal access checks are failing without the emulation in place.
Tested by successfully emerging several packages within a Gentoo loong
stage3 chroot, emulated on amd64 with help of static qemu-loongarch64.
Reported-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
Message-Id: <20221009060813.2289077-1-xen0n@gentoo.org>
[lv: removing defined(__NR_faccessat2) in syscall.c,
adding defined(TARGET_NR_faccessat2) on print_faccessat()]
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
linux-user/strace.c | 2 +-
linux-user/strace.list | 3 +++
linux-user/syscall.c | 9 +++++++++
3 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/linux-user/strace.c b/linux-user/strace.c
index 86c081c83f..9ae5a812cd 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -1969,7 +1969,7 @@ print_execv(CPUArchState *cpu_env, const struct syscallname *name,
}
#endif
-#ifdef TARGET_NR_faccessat
+#if defined(TARGET_NR_faccessat) || defined(TARGET_NR_faccessat2)
static void
print_faccessat(CPUArchState *cpu_env, const struct syscallname *name,
abi_long arg0, abi_long arg1, abi_long arg2,
diff --git a/linux-user/strace.list b/linux-user/strace.list
index a87415bf3d..3df2184580 100644
--- a/linux-user/strace.list
+++ b/linux-user/strace.list
@@ -178,6 +178,9 @@
#ifdef TARGET_NR_faccessat
{ TARGET_NR_faccessat, "faccessat" , NULL, print_faccessat, NULL },
#endif
+#ifdef TARGET_NR_faccessat2
+{ TARGET_NR_faccessat2, "faccessat2" , NULL, print_faccessat, NULL },
+#endif
#ifdef TARGET_NR_fadvise64
{ TARGET_NR_fadvise64, "fadvise64" , NULL, NULL, NULL },
#endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index d499cac1d5..e985ad167f 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9143,6 +9143,15 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
unlock_user(p, arg2, 0);
return ret;
#endif
+#if defined(TARGET_NR_faccessat2)
+ case TARGET_NR_faccessat2:
+ if (!(p = lock_user_string(arg2))) {
+ return -TARGET_EFAULT;
+ }
+ ret = get_errno(faccessat(arg1, p, arg3, arg4));
+ unlock_user(p, arg2, 0);
+ return ret;
+#endif
#ifdef TARGET_NR_nice /* not on alpha */
case TARGET_NR_nice:
return get_errno(nice(arg1));
--
2.37.4

@ -1,98 +0,0 @@
From xen0n@gentoo.org Thu Oct 06 10:07:10 2022
Return-Path: <xen0n@gentoo.org>
X-Original-To: dilfridge@gentoo.org
Delivered-To: dilfridge@gentoo.org
From: WANG Xuerui <xen0n@gentoo.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
WANG Xuerui <xen0n@gentoo.org>,
Song Gao <gaosong@loongson.cn>,
Xiaojuan Yang <yangxiaojuan@loongson.cn>,
=?UTF-8?q?Andreas=20K=20=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
Subject: [PATCH RESEND] linux-user: Fix struct statfs ABI on loongarch64
Date: Thu, 6 Oct 2022 18:07:10 +0800
Message-Id: <20221006100710.427252-1-xen0n@gentoo.org>
X-Mailer: git-send-email 2.38.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Previously the 32-bit version was incorrectly chosen, leading to funny
but incorrect output from e.g. df(1). Simply select the version
corresponding to the 64-bit asm-generic definition.
For reference, this program should produce the same output no matter
natively compiled or not, for loongarch64 or not:
```c
#include <stdio.h>
#include <sys/statfs.h>
int main(int argc, const char *argv[])
{
struct statfs b;
if (statfs(argv[0], &b))
return 1;
printf("f_type = 0x%lx\n", b.f_type);
printf("f_bsize = %ld\n", b.f_bsize);
printf("f_blocks = %ld\n", b.f_blocks);
printf("f_bfree = %ld\n", b.f_bfree);
printf("f_bavail = %ld\n", b.f_bavail);
return 0;
}
// Example output on my amd64 box, with the test binary residing on a
// btrfs partition.
// Native and emulated output after the fix:
//
// f_type = 0x9123683e
// f_bsize = 4096
// f_blocks = 268435456
// f_bfree = 168406890
// f_bavail = 168355058
// Output before the fix, note the messed layout:
//
// f_type = 0x10009123683e
// f_bsize = 723302085239504896
// f_blocks = 168355058
// f_bfree = 2250817541779750912
// f_bavail = 1099229433104
```
Fixes: 1f63019632 ("linux-user: Add LoongArch syscall support")
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
Cc: Song Gao <gaosong@loongson.cn>
Cc: Xiaojuan Yang <yangxiaojuan@loongson.cn>
Cc: Andreas K. Hüttel <dilfridge@gentoo.org>
---
Resend with amended commit message to 100% clarify the example output
are generated on my box and will differ for everyone else. Sorry for
the noise.
linux-user/syscall_defs.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 01ee10a88f..77864de57f 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2262,7 +2262,8 @@ struct target_statfs64 {
};
#elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \
defined(TARGET_SPARC64) || defined(TARGET_AARCH64) || \
- defined(TARGET_RISCV)) && !defined(TARGET_ABI32)
+ defined(TARGET_RISCV) || defined(TARGET_LOONGARCH64)) && \
+ !defined(TARGET_ABI32)
struct target_statfs {
abi_long f_type;
abi_long f_bsize;
--
2.38.0

@ -1,94 +0,0 @@
From xen0n@gentoo.org Thu Oct 06 08:55:00 2022
Return-Path: <xen0n@gentoo.org>
X-Original-To: dilfridge@gentoo.org
Delivered-To: dilfridge@gentoo.org
From: WANG Xuerui <xen0n@gentoo.org>
To: qemu-devel@nongnu.org
Cc: WANG Xuerui <xen0n@gentoo.org>,
=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <f4bug@amsat.org>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
=?UTF-8?q?Andreas=20K=20=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>,
Joshua Kinard <kumba@gentoo.org>
Subject: [PATCH] linux-user: Fix more MIPS n32 syscall ABI issues
Date: Thu, 6 Oct 2022 16:55:00 +0800
Message-Id: <20221006085500.290341-1-xen0n@gentoo.org>
X-Mailer: git-send-email 2.38.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In commit 80f0fe3a85 ("linux-user: Fix syscall parameter handling for
MIPS n32") the ABI problem regarding offset64 on MIPS n32 was fixed,
but still some cases remain where the n32 is incorrectly treated as any
other 32-bit ABI that passes 64-bit arguments in pairs of GPRs. Fix by
excluding TARGET_ABI_MIPSN32 from various TARGET_ABI_BITS == 32 checks.
Closes: https://gitlab.com/qemu-project/qemu/-/issues/1238
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
Cc: Andreas K. Hüttel <dilfridge@gentoo.org>
Cc: Joshua Kinard <kumba@gentoo.org>
---
Note: I can't reproduce the crash with neither MIPS n32 sysroot at my hand
(a self-built one for Loongson-2F, and stage3-mips64_n32-openrc-20221001T170527Z),
so I can only verify by looking at the (host and qemu) strace outputs, and
would have to ask you to review/test this harder. Thanks.
linux-user/syscall.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 2e954d8dbd..8b2d39fe73 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -11793,7 +11793,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
return -host_to_target_errno(ret);
#endif
-#if TARGET_ABI_BITS == 32
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
#ifdef TARGET_NR_fadvise64_64
case TARGET_NR_fadvise64_64:
@@ -11920,7 +11920,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
return get_errno(sys_gettid());
#ifdef TARGET_NR_readahead
case TARGET_NR_readahead:
-#if TARGET_ABI_BITS == 32
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
if (regpairs_aligned(cpu_env, num)) {
arg2 = arg3;
arg3 = arg4;
@@ -12612,7 +12612,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
#endif /* CONFIG_EVENTFD */
#if defined(CONFIG_FALLOCATE) && defined(TARGET_NR_fallocate)
case TARGET_NR_fallocate:
-#if TARGET_ABI_BITS == 32
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
ret = get_errno(fallocate(arg1, arg2, target_offset64(arg3, arg4),
target_offset64(arg5, arg6)));
#else
@@ -12623,7 +12623,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
#if defined(CONFIG_SYNC_FILE_RANGE)
#if defined(TARGET_NR_sync_file_range)
case TARGET_NR_sync_file_range:
-#if TARGET_ABI_BITS == 32
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
#if defined(TARGET_MIPS)
ret = get_errno(sync_file_range(arg1, target_offset64(arg3, arg4),
target_offset64(arg5, arg6), arg7));
@@ -12645,7 +12645,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
case TARGET_NR_arm_sync_file_range:
#endif
/* This is like sync_file_range but the arguments are reordered */
-#if TARGET_ABI_BITS == 32
+#if TARGET_ABI_BITS == 32 && !defined(TARGET_ABI_MIPSN32)
ret = get_errno(sync_file_range(arg1, target_offset64(arg3, arg4),
target_offset64(arg5, arg6), arg2));
#else
--
2.38.0

@ -1,26 +0,0 @@
Forward-ported from original patch for 5.2.0.
diff --git a/configure b/configure
index da2501489f..4660ee3ee5 100755
--- a/configure
+++ b/configure
@@ -400,6 +400,7 @@ ld="${LD-${cross_prefix}ld}"
nm="${NM-${cross_prefix}nm}"
smbd="$SMBD"
strip="${STRIP-${cross_prefix}strip}"
+strings="${STRINGS-${cross_prefix}strings}"
widl="${WIDL-${cross_prefix}widl}"
windres="${WINDRES-${cross_prefix}windres}"
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
@@ -1466,9 +1467,9 @@ int main(int argc, char *argv[])
EOF
if compile_prog ; then
- if strings -a $TMPE | grep -q BiGeNdIaN ; then
+ if $strings -a $TMPE | grep -q BiGeNdIaN ; then
bigendian="yes"
- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
+ elif $strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
bigendian="no"
else
echo big/little test failed

@ -53,7 +53,6 @@
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
<flag name="vde">Enable VDE-based networking</flag>
<flag name="vhost-net">Enable accelerated networking using vhost-net, see https://www.linux-kvm.org/page/VhostNet</flag>
<flag name="vhost-user-fs">Enable shared file system access using the FUSE protocol carried over virtio.</flag>
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
<flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See https://wiki.qemu.org/Documentation/9psetup</flag>
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>

@ -1,967 +0,0 @@
# Copyright 1999-2023 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=ajak
QEMU_DOCS_VERSION="${PV}"
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{9,10,11} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="7.1.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=(
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
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}"
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
lzo multipath
ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs
plugins +png pulseaudio python rbd sasl sdl sdl-image selinux
+slirp
smartcard snappy spice ssh static 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? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
virgl? ( opengl )
virtfs? ( xattr )
vnc? ( gnutls )
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="
sys-libs/libcap-ng[static-libs(+)]
>=sys-libs/libseccomp-2.1.0[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 )
bpf? ( dev-libs/libbpf:= )
bzip2? ( app-arch/bzip2[static-libs(+)] )
capstone? ( dev-libs/capstone:= )
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? (
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-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(+)] )
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 )
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(+)] )
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:= )
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:= )
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}
)
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
dev-util/meson
sys-apps/texinfo
virtual/pkgconfig
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
)
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
sys-libs/libselinux
)"
PATCHES=(
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-6.0.0-make.patch
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
"${FILESDIR}"/${PN}-7.1.0-strings.patch
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.patch
"${FILESDIR}"/${PN}-7.1.0-mips-n32-syscalls.patch
"${FILESDIR}"/${PN}-7.1.0-loong-stat.patch
"${FILESDIR}"/${PN}-7.1.0-faccessat2.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_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"
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
# this setting (-U then -D..=2) will prevent us from trying out 3, so
# drop it. No change to level of protection b/c we patch our toolchain.
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
# Remove bundled modules
rm -r dtc meson roms/*/ slirp || 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
--with-git-submodules=ignore
# 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)"
--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 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 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 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 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 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-blobs
--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="static"
;;
tools)
conf_opts+=(
--disable-linux-user
--disable-system
--disable-blobs
--enable-cap-ng
--enable-seccomp
--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"
}
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 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
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
}

@ -1,985 +0,0 @@
# Copyright 1999-2023 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=ajak
QEMU_DOCS_VERSION="${PV}"
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
# bug #830088
QEMU_DOC_USEFLAG="+doc"
PYTHON_COMPAT=( python3_{9,10,11} )
PYTHON_REQ_USE="ncurses,readline"
FIRMWARE_ABI_VERSION="7.1.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=(
tests/fp/berkeley-softfloat-3
tests/fp/berkeley-testfloat-3
ui/keycodemapdb
)
inherit git-r3
SRC_URI=""
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}"
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 +caps +curl debug ${QEMU_DOC_USEFLAG}
+fdt fuse glusterfs +gnutls gtk infiniband iscsi io-uring
jack jemalloc +jpeg
lzo multipath
ncurses nfs nls numa opengl +oss pam +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
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? ( static-user !alsa !gtk !jack !opengl !pam !pulseaudio !plugins !rbd !snappy !udev )
static-user? ( !plugins )
vhost-user-fs? ( caps seccomp )
virgl? ( opengl )
virtfs? ( caps xattr )
vnc? ( gnutls )
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="
>=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:= )
caps? ( sys-libs/libcap-ng[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? (
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-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(+)] )
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 )
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:= )
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:= )
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}
)
)
"
BDEPEND="
$(python_gen_impl_dep)
dev-lang/perl
dev-util/meson
sys-apps/texinfo
virtual/pkgconfig
doc? (
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
)
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
sys-libs/libselinux
)"
PATCHES=(
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
"${FILESDIR}"/${PN}-6.0.0-make.patch
"${FILESDIR}"/${PN}-7.1.0-also-build-virtfs-proxy-helper.patch
"${FILESDIR}"/${PN}-7.1.0-strings.patch
"${FILESDIR}"/${PN}-7.1.0-capstone-include-path.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_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"
# We already force -D_FORTIFY_SOURCE=2 (or 3) in our toolchain, but
# this setting (-U then -D..=2) will prevent us from trying out 3, so
# drop it. No change to level of protection b/c we patch our toolchain.
sed -i -e 's/-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2//' configure || die
# Remove bundled modules
rm -r dtc meson roms/*/ slirp || 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
--with-git-submodules=ignore
# 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)"
--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 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 caps cap-ng)
$(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 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 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 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 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-blobs
--disable-tools
)
local static_flag="static-user"
;;
softmmu)
conf_opts+=(
--disable-linux-user
--enable-system
--disable-tools
)
local static_flag="static"
for target in ${IUSE_SOFTMMU_TARGETS}; do
if use "qemu_softmmu_targets_${target}"; then
conf_opts+=(
# For some reason, adding this with the setting set
# to on *or* off makes the build always fail.
# --with-devices-${target}=gentoo
)
fi
done
;;
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"
}
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}" )
# Needed to rework vhost-user-fs handling thanks to https://gitlab.com/qemu-project/qemu/-/commit/5166dab
# The option was converted into being configurable by
# Kconfig's. So, to enable it, we insert the necessary
# options into each arch's softmmu target gentoo.mak file,
# then configure with --with-devices-${target}=gentoo.
if use vhost-user-fs; then
echo "CONFIG_VHOST_USER_FS=y for ${target}-softmmu" || die
echo "CONFIG_VIRTIO=y" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
echo "CONFIG_VHOST_USER_FS=y" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
else
echo "CONFIG_VHOST_USER_FS=n for ${target}-softmmu" || die
echo "CONFIG_VIRTIO=n" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
echo "CONFIG_VHOST_USER_FS=n" >> "configs/devices/${target}-softmmu/gentoo.mak" || die
fi
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 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
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
}

@ -4,6 +4,8 @@ AUX wine-proton-7.0.4-noexecstack.patch 223 BLAKE2B dff1867e2977bd14fcfab9dfa2c2
AUX wine-proton-7.0.4-restore-menubuilder.patch 572 BLAKE2B 7ace97fb82498d8f19297cab205d8b9ca07c5293172a0b017b5d887ec1f5daeb3ed64eb0a322904e528a72f4a225813c27b544015587d71fce97c41b6b1463a2 SHA512 1384f06d4264e22d332eb12fabd7408b8e250e39c195460f876460fe40d35d617c73100815c395f481e3af66676ccaa1a14592c05f1e5b092bfafe2f87112106
AUX wine-proton-7.0.4-unwind.patch 1694 BLAKE2B 954cb0a395c3b45afc7a3f39f33d34cf041b9cf5a6c77d0a217d296c4c8d1f6503322c4f77188c4729b98318913b9bc86d37b7573713643590550297a0ae372a SHA512 f958e811a4754614bc9e7223f727e2c581c18607dccf14c6d7014012ff29107bd850540a40ff7a62e7bae6b87ae1ac28fd104fbbaf9ce954bf3acb38ddbeb7df
DIST proton-wine-7.0-5.tar.gz 45724439 BLAKE2B d5ad4f00ca658b31c562c2ff4eb5ae33707126eee44ccfd9f33084ab5d184743034541efe3f9d18eb2a6941111da4c5134555f93769e8370b118b6f04e00ae1e SHA512 b16ace9c0bfa6d2685ea53617be2bba7e82c5c8da604f9e188bf782219785cfaed4317578c4314f2bde89d363a2e115f3bceeaa69d4a85f078a5fdb1ec64d33b
EBUILD wine-proton-7.0.5.ebuild 10396 BLAKE2B 658f810da3557b82cc801140916b07d5bd8397c8263042eb0e05b7b1d3f2808e36a87d62bcb5ee3efb3ef4231d65dee9370819d1d47915c11b697cdb1f309cae SHA512 bc2b2282a4df07325b8898b63ad2c356c9a6b4f1e637e95bacaacb715e77144775bdfd52e7164d432681b95a7f1f16818f64ac23401d3c67c4b75eb8d451c24e
EBUILD wine-proton-7.0.9999.ebuild 10397 BLAKE2B b19e8b4c01f3ab3ccd6ba3d8354be696062d5a5c868b50e60ca73a3c578705c15653e7ab2a826b62ad722f3f82c9978f5e7c7f5762b8a18ef4096ae3ee942d6c SHA512 3bf965ae956acbe38ca16bd25acdac80cd38c3fa7d76e4431aaf0300c823bb0658421c9c4bac90c20bbcf11d93420baa9bce0be1e2b8764ca7d62b0786a76e32
DIST proton-wine-7.0-6.tar.gz 45780326 BLAKE2B f140fcfdd1a47904c34a49d0795fa3326d7cf0d3fac8d6c2ef2a4926181a46223f43a2d1ca96c543e800c8c46b2a3cc51ae306a029d68a42608876e869e177d5 SHA512 793bbe2b23042301a1b518717d78cfff01eaffa0388883d010659a45779b9136d33cfac63f0c3fbb1e458953a954b423eb70ac4fa87633352267db890ceb2fef
EBUILD wine-proton-7.0.5.ebuild 10401 BLAKE2B 1c11f3665732f5217a52cfb3798f05eb9e2fa3f2c86a7ef8491a908accd0b3ef70375d7fffc24db452850e152f39e84b0d69d278333fa5a68da6b896b76f539a SHA512 90875a85b1704329d4119ce0e9ad1c6d2cac5b1d13ae8e5041bcb554b1937445ed4e26066dd49030b147b0470a275eb531193c28954415364bfa58719945751f
EBUILD wine-proton-7.0.6.ebuild 10402 BLAKE2B 824dfdeee1b05195443a45941ba06d13b674f3dd011ed66f0c0930d51d2a1ead5a9880975fe16ecd897533439ed86d0952d5a8fa81d85a0b832e49cfa060dd35 SHA512 5c8d55618fab8e7b9b049c84e1803ff890db473d1906c341196eb3e644b7d7ba21582159f96b79f8eb286ea3607adc7f070a13ba541e8deebb5536efe690c727
EBUILD wine-proton-7.0.9999.ebuild 10402 BLAKE2B 824dfdeee1b05195443a45941ba06d13b674f3dd011ed66f0c0930d51d2a1ead5a9880975fe16ecd897533439ed86d0952d5a8fa81d85a0b832e49cfa060dd35 SHA512 5c8d55618fab8e7b9b049c84e1803ff890db473d1906c341196eb3e644b7d7ba21582159f96b79f8eb286ea3607adc7f070a13ba541e8deebb5536efe690c727
MISC metadata.xml 1222 BLAKE2B 75e8a33a16e4d718c5299ae719cdd009e9ac6f0d2eafb112c9e38e7d860a51d7f4d5be14912c1c812718b36fd4d71a9d3ddf2c68f5a076fc71f5d47fab120736 SHA512 3fc770b9d6f1e7cb7cba7fc28f90d5f51ad431f38e757dcb47b03543985d0919e29b6648b8c3f6bb6e1c7b172bb164cde35e2fea24564e476088c1a91e6131c8

@ -5,8 +5,8 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools flag-o-matic multilib multilib-build \
python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.3.1

@ -0,0 +1,321 @@
# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.4.0
WINE_PV=$(ver_rs 2 -)
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/ValveSoftware/wine.git"
EGIT_BRANCH="experimental_$(ver_cut 1-2)"
else
SRC_URI="https://github.com/ValveSoftware/wine/archive/refs/tags/proton-wine-${WINE_PV}.tar.gz"
S="${WORKDIR}/${PN}-wine-${WINE_PV}"
KEYWORDS="-* ~amd64 ~x86"
fi
DESCRIPTION="Valve Software's fork of Wine"
HOMEPAGE="https://github.com/ValveSoftware/wine/"
LICENSE="LGPL-2.1+ BSD-2 IJG MIT ZLIB gsm libpng2 libtiff"
SLOT="${PV}"
IUSE="
+abi_x86_32 +abi_x86_64 +alsa crossdev-mingw custom-cflags debug
+fontconfig +gecko +gstreamer llvm-libunwind +mono nls openal
osmesa perl pulseaudio +sdl selinux +ssl udev udisks +unwind usb
v4l +vkd3d +xcomposite xinerama"
# 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="
dev-libs/gmp:=[${MULTILIB_USEDEP}]
dev-libs/libgcrypt:=[${MULTILIB_USEDEP}]
media-libs/freetype[${MULTILIB_USEDEP}]
media-libs/libglvnd[X,${MULTILIB_USEDEP}]
media-libs/vulkan-loader[${MULTILIB_USEDEP}]
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}]
fontconfig? ( media-libs/fontconfig[${MULTILIB_USEDEP}] )
osmesa? ( media-libs/mesa[osmesa,${MULTILIB_USEDEP}] )
sdl? ( media-libs/libsdl2[haptic,joystick,${MULTILIB_USEDEP}] )
ssl? ( net-libs/gnutls:=[${MULTILIB_USEDEP}] )
udisks? ( sys-apps/dbus[${MULTILIB_USEDEP}] )
v4l? ( media-libs/libv4l[${MULTILIB_USEDEP}] )
xcomposite? ( x11-libs/libXcomposite[${MULTILIB_USEDEP}] )
xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] )"
WINE_COMMON_DEPEND="
${WINE_DLOPEN_DEPEND}
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext[${MULTILIB_USEDEP}]
alsa? ( media-libs/alsa-lib[${MULTILIB_USEDEP}] )
gstreamer? (
dev-libs/glib:2[${MULTILIB_USEDEP}]
media-libs/gst-plugins-base:1.0[opengl,${MULTILIB_USEDEP}]
media-libs/gstreamer:1.0[${MULTILIB_USEDEP}]
)
openal? ( media-libs/openal[${MULTILIB_USEDEP}] )
pulseaudio? ( media-libs/libpulse[${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}] )
vkd3d? ( >=app-emulation/vkd3d-1.2[${MULTILIB_USEDEP}] )"
RDEPEND="
${WINE_COMMON_DEPEND}
app-emulation/wine-desktop-common
gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
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
)
selinux? ( sec-policy/selinux-wine )
udisks? ( sys-fs/udisks:2 )"
DEPEND="
${WINE_COMMON_DEPEND}
sys-kernel/linux-headers
x11-base/xorg-proto"
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
nls? ( sys-devel/gettext )
!crossdev-mingw? ( dev-util/mingw64-toolchain[${MULTILIB_USEDEP}] )"
IDEPEND=">=app-eselect/eselect-wine-2"
QA_TEXTRELS="usr/lib/*/wine/i386-unix/*.so" # uses -fno-PIC -Wl,-z,notext
PATCHES=(
"${FILESDIR}"/${PN}-7.0.4-musl.patch
"${FILESDIR}"/${PN}-7.0.4-noexecstack.patch
"${FILESDIR}"/${PN}-7.0.4-restore-menubuilder.patch
"${FILESDIR}"/${PN}-7.0.4-unwind.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}) $(usev abi_x86_32 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"
eerror "--> Note that mingw builds are default for ${PN} even without this USE."
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
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
# similarly to staging, append to `wine --version` for identification
sed -i "s/wine_build[^1]*1/& (Proton-${WINE_PV})/" configure.ac || die
# always update for patches (including user's wrt #432348)
eautoreconf
tools/make_requests || die # perl
dlls/winevulkan/make_vulkan -x vk.xml || die # python, needed for proton's
}
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
# upstream (Valve) doesn't really support misc configurations (e.g.
# adds vulkan code not always guarded by --with-vulkan), so force
# some major options that are typically needed by games either way
--with-freetype
--with-mingw # needed by many, notably Blizzard titles
--with-opengl
--with-vulkan
--with-x
# ...and disable most options unimportant for games and unused by
# Proton rather than expose as volatile USEs with little support
--without-capi
--without-cups
--without-gphoto
--without-gssapi
--without-krb5
--without-ldap
--without-netapi
--without-opencl
--without-pcap
--without-sane
ac_cv_lib_soname_odbc=
$(use_enable gecko mshtml)
$(use_enable mono mscoree)
--disable-tests
$(use_with alsa)
$(use_with fontconfig)
$(use_with gstreamer)
$(use_with nls gettext)
$(use_with openal)
$(use_with osmesa)
--without-oss # media-sound/oss is not packaged (OSSv4)
$(use_with pulseaudio pulse)
$(use_with sdl)
$(use_with ssl gnutls)
$(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 vkd3d)
$(use_with xcomposite)
$(use_with xinerama)
)
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
# https://github.com/gentoo/gentoo/pull/28355
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
# build using upstream's way (--with-wine64)
# order matters: 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
# CROSSCC_amd64/x86 are unused by Wine, but recognized here for users
if (( bits == 64 )); then
: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
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
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
# use *FLAGS for mingw, but strip unsupported (e.g. --hash-style=gnu)
: "${CROSSCFLAGS:=$(
filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
export CROSS{CC,{C,LD}FLAGS}
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
# symlink for plain 'wine' and install its man pages if 64bit-only #404331
if use abi_x86_64 && use !abi_x86_32; then
dosym wine64 ${WINE_PREFIX}/bin/wine
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
local man
for man in ../build64/loader/wine.*man; do
: "${man##*/wine}"
: "${_%.*}"
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
newins ${man} wine.1
done
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
# 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
use debug ||
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
dodoc ANNOUNCE AUTHORS README* documentation/README*
readme.gentoo_create_doc
}
pkg_preinst() {
has_version ${CATEGORY}/${PN} && WINE_HAD_ANY_SLOT=
}
pkg_postinst() {
[[ -v WINE_HAD_ANY_SLOT ]] || readme.gentoo_print_elog
eselect wine update --if-unset || die
}
pkg_postrm() {
eselect wine update --if-unset || die
}

@ -5,8 +5,8 @@ EAPI=8
MULTILIB_COMPAT=( abi_x86_{32,64} )
PYTHON_COMPAT=( python3_{9..11} )
inherit autotools flag-o-matic multilib multilib-build \
python-any-r1 readme.gentoo-r1 toolchain-funcs wrapper
inherit autotools flag-o-matic multilib multilib-build python-any-r1
inherit readme.gentoo-r1 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.4.0

@ -4,11 +4,14 @@ AUX wine-staging-7.20-unwind.patch 1450 BLAKE2B 80e9222c95393aaa4b95e05597a41810
DIST wine-7.19.tar.xz 28502612 BLAKE2B b7b270656955c7a1e1d84e8bbc7e3e8abff5aedadb5e8a458f0b1109d746875a359f3d2f53b1c9c6caae65d17fd1d205466cd3a884034a8bad6afe9456f13b5d SHA512 f76dbda97cccad4c0f249b5dd4e8d48afa832134f1704ae228650bb73ee82823e628b23bd53a3f8729e06a8933597ff2fffa5551f156fc9c9181b67c066747d5
DIST wine-7.22.tar.xz 28974052 BLAKE2B c86466964817b916ee8f7b687f193eda8bdd3fb17152ab1565971e36f43b12b540033ac1c5fa5d15576041febd32cf1ea2955732c5386debcbda46fb3acca0f1 SHA512 bf58a5b98bef5b291aff1eca3f94c28da95990e4c8da9af5e9e28b9480d57163d088b501b0c1bca5b568bf586dd9933cdc1ea1f371b78d95c94e2d25d0a65efc
DIST wine-8.0.tar.xz 29054044 BLAKE2B baf8f96b665119c9f38a148a2472dbe8f6ca8d4641d9d09d48cb72cb4de2585c274b8b7981c2fa622ead6da2f087c57652e9b48edc8a17c0cfd6be9a36732f02 SHA512 53ba813b260a65a271ec575822725b97631f60038fb026dcc0fe66862711eedcc29a8feb29ff54ae4f64458f85c290d8f3838eff5e4c77a5420a7d2b951fef77
DIST wine-8.1.tar.xz 29083080 BLAKE2B 6eed2128627f15159ad80588ebe839de76cb9a536797d7da136b61f56033ece60c60208702b7928cdb297c1d8730baae0d6bb0ac7a0473c34ed44b5c5edaaec5 SHA512 3f0477c26f293cf928acbdae2ffb98740ac227a605ec90f3ab3d35c0dbca2037529ff4e4de0b69cc975579ad14dc2fb8b52e050cfd99cffcc627418cf8cb4346
DIST wine-staging-7.19.tar.gz 9523048 BLAKE2B e53fd47af493cbdc4542f908a39557324d70ad67ff2e06c80296c006a63518e43988750cab2f4d3d9197fc9c8a1e61ed4d96bcc310b82b6cfc8ec12b941f1c5c SHA512 c51cb18c4ae00eccf414f5edda18ebf363674ba7cfa95da135b3a43b7c012c086d454d6ac32b22d98e611bb87e55c3e1ee95571a4a0c9713028b5ac38e8aed3f
DIST wine-staging-7.22.tar.gz 9528424 BLAKE2B e41f24f924117259715505f4f9998ef23a657bca5b0e285feb7f9fd732e6b566a495f48ec59af09b1d4d51db522b051028f6cbba748256e939929fbf978f0e44 SHA512 5fdac19ec290c67767fac71abe07d9350ec431919c67a0f2d2df18ced20f1d3dddb921b3d5586d03add187c6281e1a691cc220e8d2d5ad4eeb94015721479d65
DIST wine-staging-8.0.tar.gz 9529620 BLAKE2B c9540195ea885d9f1e980232b0af471e92c61eb079cae35fdb3af5c13d4660b3466f751772440e38f15874082db296d16d1f1d68827a505b2dd949617eda0203 SHA512 76a729d7ced1ff634ddb455ddfaa66ca103b652f43cd152b57ada7431bb5fbb74f5e92bf2f4f329b6df6f5908130afad84e609cbce6df645d6cf8131e9b949f9
DIST wine-staging-8.1.tar.gz 9527176 BLAKE2B 363243a4a04bc767099b74f3b7613463d99da82996c176e68b9233cbf51c87ecd143840f7729a3edc31ac004b771b89ec3d57a0276b26e30d475feb273d09257 SHA512 c5c3111b27de7d3bf1d7a3a53f33e8d78c5006f22ff0361f77392455fa69b0afd7c58406515ace04b2df7e1dfb20e3adf9d874e5e8be09c9032c1c1aa31fe696
EBUILD wine-staging-7.19.ebuild 11179 BLAKE2B 58982c661d242e8e165d7b1d7083284eedd8cdee1a3aee6ee4a728b2e585772ccd8c93c06b490389dd566a54046cfdf7a092bdd2af3b31c68d60eb1926fe8364 SHA512 5047a1cfdb3480cc9654ea8d879bfbb2779d956dec6776f74f746577b62fa6a3ae6996895bd5acb9948fb74cac3be8eaddda0458abc131a96a83cfbea6452f53
EBUILD wine-staging-7.22.ebuild 11281 BLAKE2B f8be09ce1670d897fcc72d92e816140be8507d92c70a2fe58fbd224e522a74749ef158173f54f09025488a0d5b1a572112410e9774eafc5f684cb8c1b567c9c5 SHA512 58acbe4ddf7045a991f156fb8d70c89fc83e8cb3733884154f263078671e02f6cdf961cdc953709e8da818ab92f8830a5a065acfd17b4f21316b004be0ca112c
EBUILD wine-staging-8.0.ebuild 11313 BLAKE2B 8e6e5eeee1e58aa9da6f0424bf588d89d90434369dbb17511dfd44498a159de206b984b8af884e26cbfc5dfbf331090887c505d0e0f7e2bed1dfb8dfa78a951b SHA512 1b5c5e9bf2c799c80652629d4108d9b11d018515e7fc4b336ca3281e15e0061a1c2316106d239872d5f77c2fe640e4e5b5be1f54f42f66f917c356b934ee7ce1
EBUILD wine-staging-8.1.ebuild 11286 BLAKE2B bc764057d81f5fa4924413e191a85684f0f730fcd95dad32c62d495351dec5432ab15c8b2e37af4b457bcb37e45272c5860c82762af33a5ce8eb3bc67aca6304 SHA512 f306d4563077d9fc8d919f757508619292fcc31613a73a7b22de4bf586cf39b17cad2fdafc5e99fee1b7b2e670e08480c6ad38dc153468e7937c5681ca6c7380
EBUILD wine-staging-9999.ebuild 11286 BLAKE2B bc764057d81f5fa4924413e191a85684f0f730fcd95dad32c62d495351dec5432ab15c8b2e37af4b457bcb37e45272c5860c82762af33a5ce8eb3bc67aca6304 SHA512 f306d4563077d9fc8d919f757508619292fcc31613a73a7b22de4bf586cf39b17cad2fdafc5e99fee1b7b2e670e08480c6ad38dc153468e7937c5681ca6c7380
MISC metadata.xml 2301 BLAKE2B 9b65253f5a19d8aafc6c9ccd361a0b8cdd14a600ddd51bf163603c7400b2c39bf147f7fe671e3aba68ff8f8f2874eec0b64dd73afe4dabad3667cd23ca99aee0 SHA512 885f7c8e2239733193d16b32bb29a21285ff732092ae0c095056ee311bdf9b7135200a29ede5958d668acf9777640f139ffc5ffe43b1455356ce4bc897621401

@ -0,0 +1,355 @@
# Copyright 2022-2023 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 toolchain-funcs wrapper
WINE_GECKO=2.47.3
WINE_MONO=7.4.0
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/wine-staging/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-${PV}.tar.xz
https://github.com/wine-staging/wine-staging/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="-* ~amd64 ~x86"
fi
S="${WORKDIR}/wine-${PV}"
DESCRIPTION="Free implementation of Windows(tm) on Unix, with Wine-Staging patchset"
HOMEPAGE="https://wiki.winehq.org/Wine-Staging"
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 debug custom-cflags +fontconfig +gecko gphoto2
+gstreamer kerberos +mingw +mono netapi nls odbc opencl +opengl
osmesa pcap perl pulseaudio samba scanner +sdl selinux +ssl
+truetype udev udisks +unwind usb v4l +vulkan +xcomposite xinerama"
REQUIRED_USE="
X? ( truetype )
crossdev-mingw? ( mingw )" # bug #551124 for truetype
# 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}] )
odbc? ( dev-db/unixODBC[${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[${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}]
)
opencl? ( virtual/opencl[${MULTILIB_USEDEP}] )
pcap? ( net-libs/libpcap[${MULTILIB_USEDEP}] )
pulseaudio? ( media-libs/libpulse[${MULTILIB_USEDEP}] )
scanner? ( media-gfx/sane-backends[${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}] )"
RDEPEND="
${WINE_COMMON_DEPEND}
app-emulation/wine-desktop-common
dos? ( games-emulation/dosbox )
gecko? ( app-emulation/wine-gecko:${WINE_GECKO}[${MULTILIB_USEDEP}] )
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="
dev-lang/perl
sys-devel/binutils
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
mingw? ( !crossdev-mingw? (
>=dev-util/mingw64-toolchain-10.0.0_p1-r2[${MULTILIB_USEDEP}]
) )
nls? ( sys-devel/gettext )"
IDEPEND=">=app-eselect/eselect-wine-2"
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
)
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}) $(usev abi_x86_32 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
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 staging=(
./patchinstall.sh DESTDIR="${S}"
--all
--backend=eapply
--no-autoconf
-W winemenubuilder-Desktop_Icon_Path #652176
${MY_WINE_STAGING_CONF}
)
# source patcher in a subshell so can use eapply as a backend
ebegin "Running ${staging[*]}"
( cd ../${P}/patches && . "${staging[@]}" )
eend ${?} || die "Failed to apply the patchset"
# 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
# ensure .desktop calls this variant + slot
sed -i "/^Exec=/s/wine /${P} /" loader/wine.desktop || die
# always update for patches (including user's wrt #432348)
eautoreconf
tools/make_requests || die # perl
}
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
$(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 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 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 xcomposite)
$(use_with xinerama)
$(usev !odbc ac_cv_lib_soname_odbc=)
)
tc-ld-force-bfd # builds with non-bfd but broken at runtime (bug #867097)
filter-lto # build failure
use mingw || filter-flags -fno-plt # build failure
use custom-cflags || strip-flags # can break in obscure ways at runtime
use crossdev-mingw || PATH=${BROOT}/usr/lib/mingw64-toolchain/bin:${PATH}
# temporary workaround for tc-ld-force-bfd not yet enforcing with mold
# https://github.com/gentoo/gentoo/pull/28355
[[ $($(tc-getCC) ${LDFLAGS} -Wl,--version 2>/dev/null) == mold* ]] &&
append-ldflags -fuse-ld=bfd
# build using upstream's way (--with-wine64)
# order matters: 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
pe_arch=i386
if (( bits == 64 )); then
pe_arch=x86_64
: "${CROSSCC:=${CROSSCC_amd64:-x86_64-w64-mingw32-gcc}}"
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
: "${CROSSCC:=${CROSSCC_x86:-i686-w64-mingw32-gcc}}"
if use mingw; then
# CROSSCC is no longer recognized by Wine, but still use for now
# (future handling for CROSS* variables is subject to changes)
conf+=( ac_cv_prog_${pe_arch}_CC="${CROSSCC}" )
# use *FLAGS for mingw, but strip unsupported
: "${CROSSCFLAGS:=$(
# >=wine-7.21 configure.ac no longer adds -fno-strict by mistake
append-cflags '-fno-strict-aliasing'
filter-flags '-fstack-clash-protection' #758914
filter-flags '-fstack-protector*' #870136
filter-flags '-mfunction-return=thunk*' #878849
CC=${CROSSCC} test-flags-CC ${CFLAGS:--O2})}"
: "${CROSSLDFLAGS:=$(
filter-flags '-fuse-ld=*'
CC=${CROSSCC} test-flags-CCLD ${LDFLAGS})}"
export CROSS{C,LD}FLAGS
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
# symlink for plain 'wine' and install its man pages if 64bit-only #404331
if use abi_x86_64 && use !abi_x86_32; then
dosym wine64 ${WINE_PREFIX}/bin/wine
dosym wine64-preloader ${WINE_PREFIX}/bin/wine-preloader
local man
for man in ../build64/loader/wine.*man; do
: "${man##*/wine}"
: "${_%.*}"
insinto ${WINE_DATADIR}/man/${_:+${_#.}/}man1
newins ${man} wine.1
done
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
# don't let portage try to strip PE files with the wrong
# strip executable and instead handle it here (saves ~120MB)
if use mingw; then
dostrip -x ${WINE_PREFIX}/wine/{i386,x86_64}-windows
use debug ||
find "${ED}"${WINE_PREFIX}/wine/*-windows -regex '.*\.\(a\|dll\|exe\)' \
-exec $(usex abi_x86_64 x86_64 i686)-w64-mingw32-strip --strip-unneeded {} + || die
fi
dodoc ANNOUNCE AUTHORS README* documentation/README*
}
pkg_postinst() {
eselect wine update --if-unset || die
}
pkg_postrm() {
eselect wine update --if-unset || die
}

Binary file not shown.

@ -1,6 +1,6 @@
AUX github-exporter.confd 507 BLAKE2B 46ace5b98c0ec60c7a93c50524258e44537e1a4ed13d77c3b4f6651ce56f5323f2342d967b145515a544edb3203b71052edb12019f9105b8e6b4bce9da0d14aa SHA512 10430a3d1fcb6a7e125fcddfb27a610843f6646091efb8e53fa9eca7bd434c528562857267b59f75452eb78c78821e8856716d417145a9e930861e4340382d1a
AUX github-exporter.initd 1512 BLAKE2B ab1f34d3084655da8b7f5345e7001f968d0f7361d8c0eb45070e8a7c1bb6216b65ccfec754897c2472b91fa457a50b363d51939ccc772ae64e153abe97b10cba SHA512 d0ebac39a04d94a10f6d38cbad660b7c8f4bf570bbda334d7e7eb6c2d635f6ac4425f462e2ed9b68bd4f8ac56842deaa6ab15b6c883cf4fd17078115feaaa9be
DIST github-exporter-1.0.2-deps.tar.xz 6692672 BLAKE2B 7b0d32b116d7661c89271c674c01680e7cf5b4af83e7eebf4d069a34696fffdf21c57f376acce02922d8c02a8238d967115d561cca4dec1437efb561b5bb3661 SHA512 4c3c24ab3cdc8723f47226f90bdaeff2b5d92d38184bfdc230351db74a172c3dcb9fb4bd3c240a70a15e71eb0ad782c579f3fa3bb0aff105999aa3f4a6110c1e
DIST github-exporter-1.0.2.tar.gz 20534 BLAKE2B 344e01adfca6afade30598305ba388878ddfb3a7e277dc95b87bb5a409bc269b4bfce7ba178ac155f3cd06f72fcf69cf8c38c898eaf391e85ce122618c707fcd SHA512 98326a8c33a7b1e3e7d4106bdd58d07ec34a9f56bce5e4caefe07ba31ac50e2c98bf849aa60cf9d5445afd02d3d9c899a3cb59eddf45635130853d740b3d6347
EBUILD github-exporter-1.0.2.ebuild 846 BLAKE2B 6ae50bbaacae7066b2d32485d442fed91f8c2e974af7346be579b58e2dd6796db1feefe6a4c93bb072e1685589c4dc65d22bddbbae1de8e3db555c707ea2d061 SHA512 0f68bb844d0e991d0d024f3a979cdc92448a5923c939c0e034545da8aed8540cc643f05bd82aaf743279db5823178af93bfd955f2cc006f2e2530dd0b7893e26
DIST github-exporter-1.0.3-deps.tar.xz 7786648 BLAKE2B 1dd1876f144e95602131f6f0ec11f4189a88a56821f4ee812b906a1d6d8494651465e416c409a998b19b48081ec8c53d5f11a51f8292002cb9fc50fc13fc4e81 SHA512 247b80369efe54e838868b0c94075031a4430d03f1c8ffefb686d94a6de70f5f288f79459a14f9c1331d2f1a3f9e865e5f7cbd658dc6f01bc7c6e893b5305af2
DIST github-exporter-1.0.3.tar.gz 22089 BLAKE2B 69ac6a71fa8872c08cb24b6fa3e0aa79a8d49fdc626606f5ae1265cb654f73a320d53c1f934f3b2a116c713412f0cb278e27ed892da19b54ff09405abba5bfc4 SHA512 9b3ab36dc8c76e844afdb7f36099dca86f358072fb0ccc134e4ba6754b2a84122b700bb92607014eb2e21e1e3f3889f842e82cd612e66d223e31aef60d123220
EBUILD github-exporter-1.0.3.ebuild 930 BLAKE2B 7f91f9502d134f983b9cc54ad9304fa1b66a7a46d6a83ee6c8b2fa98c3b2a6dc4eadf93b8b5637a246abb73581e12009b1269ab847fb01aef4543d406cc85e0e SHA512 af755726d38a7f1ac684a3a9a78ca0e390bdb7fb352d87ed8abaa6c4242f98a3724bb30be57a0f948532dabda0b91a67d9e1a5fa3b5b7028f2402a6aefa0993b
MISC metadata.xml 249 BLAKE2B 08603bf9d754b59bae12620988552abc7f76b87a1390d02038789eba034c22412a3593d10f443794a5171ff3905c2b5c822368b2eb9f53a528097b7b6c80ffe9 SHA512 338d72efbd040697be98aad4229b81c9694eb27ecbc39f3a18332f4cc766a46b4a0a92f32612203259bf58f5838d0aff7f0b1abec7766f6cd2394c73f7f0b251

@ -1,7 +1,7 @@
# Copyright 2019-2022 Gentoo Authors
# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
inherit go-module systemd
DESCRIPTION="Github statistics exporter for prometheus"
HOMEPAGE="https://github.com/infinityworks/github-exporter"
@ -15,6 +15,11 @@ KEYWORDS="~amd64"
RDEPEND="acct-group/github-exporter
acct-user/github-exporter"
src_prepare() {
default
sed -i -e 's/-race//' Makefile || die 'sed failed'
}
src_compile() {
ego build
}

@ -1,5 +1,3 @@
DIST prom2json-0.1.0_p20170523.tar.gz 129179 BLAKE2B ef0e42e340d53894c31bff7018b668d8575fc3568584a43dc308955665ac6f59dbabf2d4605bc2a66957df57a29ebb7b3a4eef1f99537eefc2805a5ffd86904f SHA512 824f4c43f4a167dc7dde2f11e84cf482e5cdfa26ab11caf08a5461d525543c3491180f54694c4ae61fdd5dc9763ff16f6e29b332a64dc3ac52fdb7b9c0902571
DIST prom2json-1.3.0.tar.gz 1646893 BLAKE2B 9b8fcfa4a3e45ee08a57016fa6a7611604cbb578f162f0bf7ff8338f345f98788b75c3ac047ffca95b62020e972c302bc1c44f2f7f00240cfd978f73b8d9c829 SHA512 8f02c7b2616d915e2b4ff5f195a8c2eff89d18417f7396dc02d2aa4cf34711358b0beef6effae9b42a3d6f4b0616c5d3ab995a73ab9e37a4a0ec230adff6f249
EBUILD prom2json-0.1.0_p20170523.ebuild 906 BLAKE2B 0eaea8f0f93222b4c05b4d7d8e95102ae6a3abd8fdc19665e7a0250f424f4270aa25766cd520cc22a363e347b4440e10039de6362eec62ca12f3b5ac4a444008 SHA512 0b92b64e914e6e8bc2779a5955bf77ad7848ecbff6427a6de61621f1c960f70f591720694c7d7951649208bc94746e69140891abfb188a2c7f3b6f2fb01e7ac0
EBUILD prom2json-1.3.0.ebuild 746 BLAKE2B 9657a9b4d63a06b7877654e12dd8d5210a515a189c916a4df23c83d959d8ae2723cf656846854f1eeb720b480af83320caae7da17a7dd7b1ec7f3b4194204a27 SHA512 69e5756a85f26c226bc7f2899e68e807a9532c0782b8e7977fa64856127ceb6e53bc151d90d432576f7c61e5e669f529fb3fba01651f8f2a101491b24c21a9c3
EBUILD prom2json-1.3.0.ebuild 793 BLAKE2B 7b417de377b221c5ffa1fc802e584a6bcf565950531b16828f8bc9c31682c5c2afa51f42d949ffa3c595d3b29f80533ced03f6b41271fb8414d2b921219c81e8 SHA512 5a8e2e89a8eb8000b8ca65428db640e93b10ca55cc01379774f53cd95a8d0a804c1aa3d19413c2218a001ed73413c2438e2b6a6a03e2c1a0003e741e82143f82
MISC metadata.xml 338 BLAKE2B 323f1010d7bf975b53a7b9e6278425143c59c276af24a6c486a0e0c57524e25efc3d1bffa3652c6f5362b2a81f8a7656a17a81816a731a3073ab6f2d9b34093b SHA512 3ca80debc07302431da65641a6443c3192fb04d3b40fcd3503176fe450d08157b848d1f4c99a40d2d058d8061072116c21694a603c809d28203ad78288d58cca

@ -1,38 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit golang-build golang-vcs-snapshot
EGO_PN="github.com/prometheus/${PN}"
EGIT_COMMIT="4a7436442837da72f9e211d99f0145dff3246b66"
ARCHIVE_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
DESCRIPTION="A tool to scrape a Prometheus client and dump the result as JSON"
HOMEPAGE="https://github.com/prometheus/prom2json"
SRC_URI="${ARCHIVE_URI}"
LICENSE="Apache-2.0"
SLOT="0"
DEPEND="dev-util/promu"
src_prepare() {
default
sed -i -e "s/{{.Revision}}/${EGIT_COMMIT:0:7}/" src/${EGO_PN}/.promu.yml || die
}
src_compile() {
pushd src/${EGO_PN} || die
mkdir -p bin || die
GOPATH="${S}" promu build -v --prefix ${PN} || die
popd || die
}
src_install() {
pushd src/${EGO_PN} || die
dobin ${PN}/${PN}
dodoc {README,CONTRIBUTING}.md
popd || die
}

@ -1,4 +1,4 @@
# Copyright 1999-2020 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -29,6 +29,10 @@ src_compile() {
promu build --prefix bin || die
}
src_test() {
emake test-flags= test || die
}
src_install() {
dobin bin/*
dodoc {README,CONTRIBUTING}.md

@ -3,5 +3,8 @@ AUX snmp_exporter.initd 591 BLAKE2B 103fec1c2e4ad46bf86893faaaf23bd64c7f22ecc905
AUX snmp_exporter.logrotated 99 BLAKE2B b0e459df102728238b137443ced2cf717ace780d83caaa7f18117ca8605453e8f325a48f8a4375956209feac210dc452da9cd0a267cf2d663b64f0a2c80f1eb5 SHA512 c1e1264b5a5612b4794c49613b79826245d3d31db65c1541c3ddfb41872993e7039fb0a84f25260d92a78e8e20005560bdd5e41ee6373e85f8f5e866726c9af4
DIST snmp_exporter-0.20.0-deps.tar.xz 167938880 BLAKE2B 26db1effd4c74c1d8ad063e390e3ebc2f652bc901b679a70dfa2fda479ead9622eb3bf729f24a3a0088d9b154be108e472218a84109ef23d8413e0db2f8afc9e SHA512 f2b2e72967bd7255abf5f808d1dbb5691755d232b32e0c833ebc9b74a469b5c2b704afb7f32c1c591653a4ad6162efc5ec13345e9f5e2d08c7f01d24bdddf3a1
DIST snmp_exporter-0.20.0.tar.gz 290899 BLAKE2B 81c2c6e8b1f61fe322cf040910744857f0628b61172774069675f5702d7e8dcc443a5567d5fe9d3e26139fee87c3cae8ed5fb7ce21c13b8a0f0cab1cd76384aa SHA512 fe09033e713f12b5a6ad79445def55c8d94c75cbee5e4e7c4683e853c1a8335005462d607e0c7306d2ee6e70178edeb9b6cff0c35aa6d36a4d0fa5ce45cedb51
DIST snmp_exporter-0.21.0-deps.tar.xz 173870408 BLAKE2B 8bd9699a1ecefcfb90784892e1329919baa06349cde89106a4fa4f7543672aa4de907781183baf714aceb6b1dba5c748130e1b98577830011fed40833bedda20 SHA512 d267e596b2a5c11844aaae66d75bc40c7bcc0263bc04ad2359d29450f44c7a4be263bc453a35a75250424144b4afb4ae15afe9988f95c922d20ec975827fc88e
DIST snmp_exporter-0.21.0.tar.gz 322098 BLAKE2B 5e28186dc5da1c38be0bc2a8801c56a2a32c835886b7a4d3a8a7add91960679d250bc91e5b75fdb92fb6237d53ca2b5114aa2d6b869c1db9cc371aad6841b153 SHA512 5ebb629ebc48f38035c031f2ebd7109ee681499556771792a3cddc671561b119d144a5fd9f4e51ceaccb58dc50e3852d185ee0c7f1ac57d6307d4936dc1a45b4
EBUILD snmp_exporter-0.20.0-r1.ebuild 1373 BLAKE2B 325f4e064429e9fd0c20bb556e26b841363c49291275954967b5e718bdde753ab462eac4c35337c64833a1a4378ee1cdd92bcc3fb9c1deb478c41124881abbc2 SHA512 7705b361b31e3551ffe1a97b3183f007fd7ccb2fa28ed0c7371dfb6d9b2f7a2bf8d6275ef0f6a5b78229fde8cb30765127ed71c258133940e35c373874cf6b6b
EBUILD snmp_exporter-0.21.0.ebuild 1414 BLAKE2B 0be5a68fe3fa12cd4a4baa2492dafadd711e24d2c1065e1fd9bc7c80a8ecceee907756e53f2738ece14cab55acdc1adbd523cf7d851744bf260521aa85b1f712 SHA512 a4b73492c144378f63a41a0846304f157b483baacfd4c02ae23f00d36e37a2fd2cb652bfb5af80d8575ddc08c12f3aeeb8c4238fdd61dd82bfeb3ccf33bb3c30
MISC metadata.xml 338 BLAKE2B 74a81881d38a3e761120c6d6a4618a7ee680a512b11f9f611177e69a9e8a2010c231b45d7cc15f58ea746268e3e584ddb5f5bb9dba5fe1c9725a6a11a3f704e0 SHA512 280a333a484837548652059d2d13bd3f9ad304c6d4a746c2f2e6e7e9ce229979feeaca7f61de4d64704da207b73e22045dca6596b8102bd92529d88af71e4861

@ -0,0 +1,52 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
SNMP_EXPORTER_COMMIT=0d8c3527
inherit go-module
DESCRIPTION="Prometheus exporter for snmp metrics"
HOMEPAGE="https://github.com/prometheus/snmp_exporter"
SRC_URI="https://github.com/prometheus/${PN}/archive/v${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64"
COMMON_DEPEND="acct-group/snmp_exporter
acct-user/snmp_exporter
net-analyzer/net-snmp"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
BDEPEND="dev-util/promu"
src_prepare() {
default
sed -i -e "s/{{.Revision}}/${SNMP_EXPORTER_COMMIT}/" .promu.yml || die
}
src_compile() {
promu build --prefix bin || die
pushd generator || die
ego build -o ../bin/generator
popd || die
}
src_test() {
emake test-flags= test
}
src_install() {
dobin bin/generator
newbin bin/${PN}-${PV} ${PN}
dodoc {README,CONTRIBUTING}.md generator/{FORMAT,README}.md generator/generator.yml
insinto /etc/snmp_exporter
newins snmp.yml snmp.yml.example
newinitd "${FILESDIR}"/${PN}.initd ${PN}
newconfd "${FILESDIR}"/${PN}.confd ${PN}
insinto /etc/logrotate.d
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
keepdir /var/lib/snmp_exporter /var/log/snmp_exporter
fowners ${PN}:${PN} /var/lib/snmp_exporter /var/log/snmp_exporter
}

Binary file not shown.

@ -7,5 +7,5 @@ DIST nss-3.87.tar.gz 71435408 BLAKE2B 0d69e18b1e2c4ccfc86db8f3afba94d5000e8ab2a4
DIST nss-cacert-class1-class3-r2.patch 21925 BLAKE2B 7627ff9a09f084c19d72d0490676865e3cab3ca7c920ae1ce4bea2db664f37fd0aa84fcda919809a516891ab2a62e2e7a43a9d6ada4c231adfe4c216525fac7d SHA512 1ce6ff9ab310aaca9005eafb461338b291df8523cc7044e096cd75774ce746c26eed19ec6bb2643c6c67f94650f2f309463492d80a90568f38ce2557f8ada2f4
EBUILD ca-certificates-20211016.3.83.ebuild 6060 BLAKE2B b853e9a795171455fa308f6c256fc549423bc552e75bbbf3cdbbe7b148fd5d8d313eaf227b9de51048415899a29308a1d557f13c0f79159fe56ba505598af114 SHA512 072876a9f7a2c51d789352d1373a0c232809f2df3d0f8e2ae8dc6346d7fcf84345f065bc6cbe0d29d7802d565583774216ac2e94fadc772e240b010a08cce93a
EBUILD ca-certificates-20211016.3.86.ebuild 6060 BLAKE2B b853e9a795171455fa308f6c256fc549423bc552e75bbbf3cdbbe7b148fd5d8d313eaf227b9de51048415899a29308a1d557f13c0f79159fe56ba505598af114 SHA512 072876a9f7a2c51d789352d1373a0c232809f2df3d0f8e2ae8dc6346d7fcf84345f065bc6cbe0d29d7802d565583774216ac2e94fadc772e240b010a08cce93a
EBUILD ca-certificates-20211016.3.87.ebuild 6068 BLAKE2B 77ea881cf6dd136e12246c5d9c6bee0c012cf5749ce03868b1f0201c5b65f8c43acce9d1acfdf9fae2bc7a2653dcbae6c356768fc867dc54606d55e318141e34 SHA512 11b4c449a88cae42e61be666f744a6d25a0f8f7f302c14b6d123e368ea5923a4c4840a30696177412d5270166078f9541ddbe3573dafec53c358099b11e09e7d
EBUILD ca-certificates-20211016.3.87-r1.ebuild 6015 BLAKE2B 882c2c4c890041ea32e50534910bfd71cc2a62b442dc542f13074fc7454146d666903e616900b6c2c07e19e36fc47669f943a060124421a16ec41674a11dae96 SHA512 d25cb9c5a1569c694e052e6a5d8175fb2287999e97dd9bf917c1f96a6ec32a1e7998874bd421d04cf913c172db9db482a5065ceac68a2348177eefbe06b73c3a
MISC metadata.xml 373 BLAKE2B 578ac9cb9ac73fc04e06667e896227927d5438e5c1ef3eae1966e8d01a8dd915669b8c81418f6558b4b5d561473111e50f9d94d4b50f1f03355130c9d9be61f0 SHA512 56216f969a510a4c054109ca6fab651cfb0aaf4768d43f70a21aeea6778ced6793957d9bd39bede89e9fc8577aa6c27bf1ca0402aa1e9aa49ec5981a3230b954

@ -59,7 +59,7 @@ ${PRECOMPILED} || IUSE+=" cacert"
# c_rehash: we run `c_rehash`
# debianutils: we run `run-parts`
CDEPEND="app-misc/c_rehash
CDEPEND="
sys-apps/debianutils"
BDEPEND="${CDEPEND}"
@ -133,7 +133,6 @@ src_prepare() {
sed -i \
-e '/="$ROOT/s:ROOT:ROOT'"${EPREFIX}"':' \
-e '/RELPATH="\.\./s:"$:'"${relp}"'":' \
-e 's/openssl rehash/c_rehash/' \
usr/sbin/update-ca-certificates || die
}

Binary file not shown.

@ -17,6 +17,6 @@ DIST x86-bin-libreoffice-gnome-7.3.7.2.xd3 1452406 BLAKE2B d4f0ec6ed7f7d561ba866
DIST x86-bin-libreoffice-gnome-7.4.4.2.xd3 1527808 BLAKE2B 42d3de3a02e0f6381c314815cf57e3c567c01c0365345132ba1d560ba8e27598e0ca81c88c230bbbaa401f9d1cf3a1210d7a85605a2239b02a6c24b30eca506b SHA512 ff9daa79ade2f5ff9c1c1fbbf4b0c9c3356a6b6231511eabc48105490b7dbc5913e2c708ccb47d376eb452f45b87a0a9079130aa98d8271f94f3cf081c8e68cb
DIST x86-bin-libreoffice-kde-7.3.7.2.xd3 19826615 BLAKE2B c40c3abd9f0eb7a3c67c66bc8f2591200f33e97a14bc0fad148f330b213fff851c40d356c066d0465dc734f2603d13cf9d8c8cb269c6be797d719b17bb1c84d9 SHA512 7c88bf70d6739f4553e68ab889b7dbd259f4bf47198797a0517f1ad0020ee8f71c745c915bd8b8870d03298f0bba6ec2bd4462800c2e4d11e6813a2a9ca478ac
DIST x86-bin-libreoffice-kde-7.4.4.2.xd3 19001856 BLAKE2B 6d1ecb9a8341177764577205a786e4c685747743c4e0959abc7a1475ae486b32210ba5c049fd98564931a90b4cf42a5a02fc3af5cb24c1acca4cd97861ecd254 SHA512 617cf0019a106d044b850a9e5ba8a32123acb092b6e4eeeab3934893594fab33f15d39253a3ead35a0f0b52a77372775e485602a751829d06d25b5cee353af2e
EBUILD libreoffice-bin-7.3.7.2.ebuild 6319 BLAKE2B f4bde8f856ce897be56764109e84b90d99441b0d60dabaa0ff24b207d29f005d84ce39127b080b188519031a8672ca4b7e4df12408b452c077aad643a962c6e9 SHA512 26a0c9063584602015971ae6401e1ebb001005ebfb660b3a1f8e7e360240e0141d1acfde2b4da1e1a1b486420d1b30959b5dff56d0bc63a59114246b9f751f0b
EBUILD libreoffice-bin-7.4.4.2.ebuild 6397 BLAKE2B dadf61ff2369c2c2d81491e5016dcf9851f3f087708f4ae4490183a35be6ff0d788652391175d86f2661e26a55af720c06f66a0c7b3736cb35bd5d907bf1fb19 SHA512 be904404f1f7c3b627a2e041be17cd7b0c688b5a197a60ef5245209085235800e18cab8bc7cb989f7464ef204810426e8acef3349776a108d4c47bdb50f097cb
EBUILD libreoffice-bin-7.3.7.2.ebuild 6348 BLAKE2B ecbe035a27dd772f44e78ed1dd3d850bc54899f4149f0a752da1dcbd25c1d73da1479630058ce945647e7a71ba5d8c6889329121e62a02c9d52ca1eae105bf5b SHA512 d63372eab96696bec2d21145ee26cd9caecc381f1369c94b2a4e3ac2781047cbf309465aeee9cd96bb7374a485d4afa5b7139e8b3f36b54adab2224e5a9de013
EBUILD libreoffice-bin-7.4.4.2.ebuild 6426 BLAKE2B 2124a56ff7dc93c673187c84cadf74b5b7779d8bc8cab45e0ed4e275349a9fab0bdd754d7762995b068eb6fb2dbb031c0533e0f5eee1251dbaaa7c991497f2c2 SHA512 96b426aca871a6b5df1db3691df9737c568497b09a7d0638c77b08f5e047c37980d2a40b78a0afc1fea0339fc9bf46361a49cc9bf22dc0b6c8c5960d6ffb6e2b
MISC metadata.xml 511 BLAKE2B 3ebaebf19d7db6a7e64093e54ae4ce86f14f528dfbc0987c027bfd7dde5de6ce8e7bfdd815e437aff272b7201d298568fa032cfd3292523c00a1c2bef5bc984c SHA512 01ae7e196fa4b7fbca6190fda6ac2e2667b36a284e828f6b329593b517379f3f4575f96a2eecc4a1d74764fac19ba8d7a756a54c04190f2aa17c578705c9708d

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -62,6 +62,7 @@ BIN_COMMON_DEPEND="
media-libs/libpng:0/16
media-libs/openjpeg:2/7
media-libs/zxing-cpp:0/1.4
sci-mathematics/lpsolve:0/0
>=sys-devel/gcc-11.3.0
>=sys-libs/glibc-2.35
"

@ -62,6 +62,7 @@ BIN_COMMON_DEPEND="
media-libs/libpng:0/16
media-libs/openjpeg:2/7
media-libs/zxing-cpp:0/3
sci-mathematics/lpsolve:0/0
>=sys-devel/gcc-11.3.0
>=sys-libs/glibc-2.36
"

@ -38,9 +38,9 @@ DIST libreoffice-help-7.4.4.2.tar.xz 112594808 BLAKE2B 5cb59edeacca40eec1955828b
DIST libreoffice-help-7.4.5.1.tar.xz 112594972 BLAKE2B c38b1f36a764c775f7a6b5f357ef94d925e1d9d0c6c5dbddcd08688b9bbd6c9bb296e96366f4e14c73003e0434a6632dbdc8abd6580f410701e2bd0627226a2a SHA512 a725557ea4890ce0f424c2d985398e67056dde2a369be2d8282f042bd7ec2715f32e1134be020480717b4d469192c61ef0748fcfed067bcda04cd0e9317d87f7
DIST skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz 11079112 BLAKE2B d3eb44a64187ddd3097bc7473eaa6b631b4043b9679861426ae83956de7907a03b51cc472cbb9169c52e92cbc4ebe681181c675ae938324c6d3a10eff9a7084a SHA512 1234ff6e787947fb6442b7279c7ef07d48d7036b15591782ea197c827c60fba77bbe83029bf7d8dfa7dc126535a9a780f6b927fbf7339f0825061616a9c53436
DIST skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz 11826600 BLAKE2B 2985ba0318fd72ac216fda33c6961eaa8ee649d2a850eb736accbd91fbc9cee7dc4e5752b2696a35204770a188412e2ecd0cc128cec324c682f9bc35e68358b3 SHA512 fbf5cfef66991565dbad928091a4e795a5b5b79a1e062a98ab9135b9972827de703c449507957294e7471c422c2e2ed239d6df61ffb9b9581a9ca3d848687a76
EBUILD libreoffice-7.3.7.2.ebuild 19417 BLAKE2B bbd99b5c0c4c280c9de913dff6602c31ec7d81a1363d429bbd375dd9ac4748094641efef88457c4d5e56b0db8f9dcbd0c8aa91d000c685bde9de94cbb085146c SHA512 790260a38b0ab16363724921169acfaa0b6666acbfe4f7550c238ae5f165e9a6817b9c03e3eb8c6c764674c5b594eb455b530a42a514b4bd17502b7bd61af4bf
EBUILD libreoffice-7.4.4.2.ebuild 19428 BLAKE2B c3d382a2891bf7962c9b367b549ad10c546d933629ea5392d1c668b2cbf0195bae78e85fdf288c5404959cbf228c6d16afc0d2f1189a07c35c66aaefa3485192 SHA512 c2a3356e2b1cffc9c63fdbedc28a7e8898362a8eb3b42c30e93a4609415f76ddfc669440681b8ca7dc48e88c76723ceb58ba00ef26613d6c7a9fad620112268f
EBUILD libreoffice-7.4.5.1.ebuild 19502 BLAKE2B d07893c41827051c477c664a36694f0974d1f7b8b458a36818ca8c9975005fed473c048e8e7fd2c023e987111f3dd77febaaed48580494547a327340340bdf6b SHA512 cdffd0ddd5d6325225577fe5752bba830c54f4b08a36bc40f7185aa11b7706fcf763081442d4ba6c2e1f2fcfd18a7b5f9412d39f6de3af7fd97b69367dcf898c
EBUILD libreoffice-7.4.9999.ebuild 19376 BLAKE2B a2142c4633b377af1e4399b7702bb83a543114a2441ae72559e301a19f0aebef8e39779cda203121fc6772a76a1f35337bd43581404716eea3cc70874679ab77 SHA512 973405f613dc71eedd0bd5509ec511c43e6e184a78532554954a1f9cc0f342bea6752d03f85dbbcc2be17bc69891eb38a7cc217a3a2cd32d7a7052fa14cff973
EBUILD libreoffice-9999.ebuild 19257 BLAKE2B aaf76ee1ac6f05b86fe9c5c16e9952495c3989c7de25ed625f76f61a5635e32f8fdba5264fa7da6afcb27eafefc101ddc79bd3cc9125527e48a1e58eeb514e9e SHA512 e4fff9637eedcc87926ea47903c00583ace2c903e9cf09181ea1964a8ca7375942262970efc82a06aaad153f716c6cfef3e7d3726a86a597173d04f6ee8306e9
EBUILD libreoffice-7.3.7.2.ebuild 19419 BLAKE2B 3884e0136aeb2e642b8e04c51d9dfca0a9089c38362f47f547d6d52155d07101a077c70081f216d040277f19488844949717164a685f1328ffec2ac688c726c6 SHA512 e90f339ea5217c5bee7d50d0bd5c76535354ab832416827d0fb9daeca7eaa961290b618c373b4610fa1f7dea0eba81d21fb62c128c6a198bc60a665b55f7ebe3
EBUILD libreoffice-7.4.4.2.ebuild 19430 BLAKE2B c90f305368b5119bf3d03bac79328cee850daa3eeb9c9398d223a2163acd888af83dec3c2a2fdc5e6446538d66a9efecb37c21aa372bde429eea8f3ff9fae09a SHA512 9f98f198aefb28b29d7a2fe85808df2fdaf07888ee78b2581dab754f062883c7cc3cb1549204014b58e4c342481bec50147dd53a3b4e88f4bf5cec31bd89c2fc
EBUILD libreoffice-7.4.5.1.ebuild 19504 BLAKE2B 8112476b76c50032bbf3fd17320f00a8497cb425b03f893ad98edb691508d76ad8fb341c26c39d30ebd39d1ca4e8632c3e5355c50c073119cbfe8b6343ab38d0 SHA512 aeb6eaa19c0bce7518f2c834a0368fb680d9db55f8953837c2072949158940d35df85302dce6b8a1657c8bf7d2718a60df68a10be4c4a080a005a8c4f6b36b49
EBUILD libreoffice-7.4.9999.ebuild 19378 BLAKE2B bcba52e0baad4001dad12b14cbb07e5d778032a010b2782ff27380cb2d78e2cae244df9f187d1e038a38165647e73e3ee31432fd2d21e31fe2bf668cc85045ca SHA512 d776986fd7b16f1da75b77f449a0f1ff25f7b4f461524d451fc38a514a3eee1e040c3e02a405140f1576b6eb6803fcb94725ff65a7a08871c95625b7e3a1434d
EBUILD libreoffice-9999.ebuild 19259 BLAKE2B 785ba30912ad6ca19dca763125541c28b6e5ed6630b9f41ba3e08e22e7a4379f64880e4c2daa16d7dae01692a065d12fab1003ae5350d0db5744e3dfc89929af SHA512 0a5ff48b87931de16ea78927e24472ebf24aa24071d28165554df02d3d24e157bacc18d968a9d6f959b6574e719c4591b88b61dcb9b5f1fdbbc0ccc3a5424774
MISC metadata.xml 1233 BLAKE2B f93989caf1340cda4c3327a3d3d033d224050848b32b9d80e0b093b024bf124d238f1aae9852d1a6173e8aee79314517dd12e589079e58378e5f63626a80957c SHA512 3af0cefdceeba7a45658a2151b0534f44b9dfe6d3af8374f3061cb098f607a36a2fe134e3c0280ce6d807b523f68e708b51e6f1b4178292a528405e18f12d686

@ -164,7 +164,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
media-libs/zxing-cpp:=
>=net-libs/neon-0.31.1:=
net-misc/curl
sci-mathematics/lpsolve
sci-mathematics/lpsolve:=
sys-libs/zlib
virtual/opengl
x11-libs/cairo[X]

@ -165,7 +165,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
media-libs/zxing-cpp:=
>=net-libs/neon-0.31.1:=
net-misc/curl
sci-mathematics/lpsolve
sci-mathematics/lpsolve:=
sys-libs/zlib
virtual/opengl
x11-libs/cairo[X]

@ -165,7 +165,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
media-libs/zxing-cpp:=
>=net-libs/neon-0.31.1:=
net-misc/curl
sci-mathematics/lpsolve
sci-mathematics/lpsolve:=
sys-libs/zlib
virtual/opengl
x11-libs/cairo[X]

@ -165,7 +165,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
media-libs/zxing-cpp:=
>=net-libs/neon-0.31.1:=
net-misc/curl
sci-mathematics/lpsolve
sci-mathematics/lpsolve:=
sys-libs/zlib
virtual/opengl
x11-libs/cairo[X]

@ -165,7 +165,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
media-libs/zxing-cpp:=
>=net-libs/neon-0.31.1:=
net-misc/curl
sci-mathematics/lpsolve
sci-mathematics/lpsolve:=
sys-libs/zlib
virtual/opengl
x11-libs/cairo[X]

Binary file not shown.

@ -3,6 +3,9 @@ AUX poppler-20.12.1-qt5-deps.patch 1626 BLAKE2B 7dfd227e1e8d4449e0cc72ca297afa78
AUX poppler-21.09.0-respect-cflags.patch 5473 BLAKE2B 78f12a2f5f582c369ac72b5203cdc5391dfbe8f48ab00e2684f58386147d2e35b33a93882535227031d52ae298dcd14f4e584b8ec248f83c463ce3169479822f SHA512 f18ac99639f8278c8eef622a98f42ca39e9612ddc1d701d8684e170fa7c300b9f73b80eb35c68a18cf413a9beabeb8610901fa3fabf92d0c6521f4020c971956
DIST poppler-23.01.0.tar.xz 1847492 BLAKE2B 8dd85767a0c101b3d7166719374658a233aff491b0990917aacaa6fb3c5d8e51104b3ac45c78dcfb380286ea48067d1db57c2794d99a93cae9f4d64e9ca3dd07 SHA512 a44fd59cdb4dc1c04765990d9666f27538895883fe98a64e7bea30caebeab10875615282307fbd6eacecf83b7a7c8daa81afa1b13ae6c09b80673e3fb8563053
DIST poppler-23.01.0.tar.xz.sig 833 BLAKE2B 46c3910627fd69930fd428397e739e3fe41c9b835379dfe7abbdf421049a77b33ce1cf6a44bd386278d3610ae2547d119ac6da4c3bfa7f348c51fbce7319a878 SHA512 0cebaac1846e6b3944175bcb28b49592d562738c009a97e048abe9f6677718c97bea2b470ea503b8dd083fc5f154e71d539cf1e3bce08363c6979d268dcdfd3b
DIST poppler-23.02.0.tar.xz 1847612 BLAKE2B ca5187432c5088372f0b8f4fcd39a93998b28e505d214964de99cd03db555f8f80b05de19874264b1d732d2c45388562faead50b2b82116bb6031690419abd8c SHA512 0765319a1b106da740c7300172866e774ccbeec0bc0e938f009efd1a106b35ca2e5ab60a523e1d1dd5682b30499de4dffed0a1ca129c770263a096f781337a2c
DIST poppler-23.02.0.tar.xz.sig 833 BLAKE2B 48b46b92d8d95f25a0619aaa50c29c652e91ba99c5f8d5f30cbb879a2145e3a21df0258585ee9e44d036f4a8c1d54023e1bb22aa0d90bf69403b37c601b37ef2 SHA512 68fe9d46ec6f7f1b6d0d7becf96675477454af9218ad20ad159d8a06def73f08db59915adbb77b520e3e43091aaf895e045c7ccaafb57d2b2b9390e84e70a963
EBUILD poppler-23.01.0.ebuild 3697 BLAKE2B cb47f67742bd07faa89a68d0128295bc1b5a21a1b2716c2af58cf88393da79ce5eb60f1cc327a15daa0a18193150d67615ae18d94637eeade2d3ec5456cb1cbf SHA512 00699421e072ce5bcdda3ab9b4c6725c72cefcc211a00a3dfdb17362bb1a1af541c356b3afaa6781ab53db4d210698c12be793202f1d2fc8d6682042d372c3a6
EBUILD poppler-23.02.0.ebuild 3705 BLAKE2B 42f662364ef1bad66807f095c898799aef5b5e013bb9b0e289fa439c4f61de05ff16b4acbaf6d822dbc5da9c0bbbaf61a943d0ab77143fbf63469e5854e14ba7 SHA512 36aca9e21798fdf3bef1e2b1ef0568a1e767747c83781e49b9283b8ba8b6bf8cbe364c28f93f3b1e112e3b8438deac44b00416d8aed5064a636e3c341c54569b
EBUILD poppler-9999.ebuild 3705 BLAKE2B 42f662364ef1bad66807f095c898799aef5b5e013bb9b0e289fa439c4f61de05ff16b4acbaf6d822dbc5da9c0bbbaf61a943d0ab77143fbf63469e5854e14ba7 SHA512 36aca9e21798fdf3bef1e2b1ef0568a1e767747c83781e49b9283b8ba8b6bf8cbe364c28f93f3b1e112e3b8438deac44b00416d8aed5064a636e3c341c54569b
MISC metadata.xml 1078 BLAKE2B c5ce2245efedc75eb39a6c649d27698da0ac07b87da3240aeb9fea1435d48c3282a8a3bb9f002c78b79de2a518cb73f3eef563c05f41528bb55ffeca84409e13 SHA512 22c83f7f6a7632fc4fe94223be9e5edac085099bf5c0f6621b0179b16e35b98b0027e467e76c0ca365008d765258e05faf48dbc4b1e8d5eb507f348a533f88f6

@ -0,0 +1,134 @@
# Copyright 2005-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake toolchain-funcs xdg-utils
if [[ ${PV} == *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git"
SLOT="0/9999"
else
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/aacid.asc
inherit verify-sig
SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz"
SRC_URI+=" verify-sig? ( https://poppler.freedesktop.org/${P}.tar.xz.sig )"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
SLOT="0/126" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION
fi
DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base"
HOMEPAGE="https://poppler.freedesktop.org/"
LICENSE="GPL-2"
IUSE="boost cairo cjk curl +cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils"
# No test data provided
RESTRICT="test"
COMMON_DEPEND="
>=media-libs/fontconfig-2.13
>=media-libs/freetype-2.10
sys-libs/zlib
cairo? (
>=dev-libs/glib-2.64:2
>=x11-libs/cairo-1.16
introspection? ( >=dev-libs/gobject-introspection-1.64:= )
)
curl? ( net-misc/curl )
jpeg? ( >=media-libs/libjpeg-turbo-1.1.0:= )
jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= )
lcms? ( media-libs/lcms:2 )
nss? ( >=dev-libs/nss-3.49 )
png? ( media-libs/libpng:0= )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtxml:5
)
tiff? ( media-libs/tiff:= )
"
RDEPEND="${COMMON_DEPEND}
cjk? ( app-text/poppler-data )
"
DEPEND="${COMMON_DEPEND}
boost? ( >=dev-libs/boost-1.71 )
"
BDEPEND="
>=dev-util/glib-utils-2.64
virtual/pkgconfig
"
if [[ ${PV} != *9999* ]] ; then
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-aacid )"
fi
DOCS=( AUTHORS NEWS README.md README-XPDF )
PATCHES=(
"${FILESDIR}/${PN}-20.12.1-qt5-deps.patch"
"${FILESDIR}/${PN}-21.09.0-respect-cflags.patch"
"${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch"
)
src_prepare() {
cmake_src_prepare
# Clang doesn't grok this flag, the configure nicely tests that, but
# cmake just uses it, so remove it if we use clang
if tc-is-clang ; then
sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die
fi
if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then
sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \
-i CMakeLists.txt || die
else
einfo "policy(SET CMP0002 OLD) - workaround can be removed"
fi
}
src_configure() {
xdg_environment_reset
local mycmakeargs=(
-DBUILD_GTK_TESTS=OFF
-DBUILD_QT5_TESTS=OFF
-DBUILD_CPP_TESTS=OFF
-DBUILD_MANUAL_TESTS=OFF
-DRUN_GPERF_IF_PRESENT=OFF
-DENABLE_BOOST="$(usex boost)"
-DENABLE_ZLIB=ON
-DENABLE_ZLIB_UNCOMPRESS=OFF
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON
-DUSE_FLOAT=OFF
-DWITH_Cairo=$(usex cairo)
-DENABLE_LIBCURL=$(usex curl)
-DENABLE_CPP=$(usex cxx)
-DWITH_JPEG=$(usex jpeg)
-DENABLE_DCTDECODER=$(usex jpeg libjpeg none)
-DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none)
-DENABLE_CMS=$(usex lcms lcms2 none)
-DWITH_NSS3=$(usex nss)
-DWITH_PNG=$(usex png)
$(cmake_use_find_package qt5 Qt5Core)
-DWITH_TIFF=$(usex tiff)
-DENABLE_UTILS=$(usex utils)
-DENABLE_QT6=OFF
)
use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) )
cmake_src_configure
}
src_install() {
cmake_src_install
# live version doesn't provide html documentation
if use cairo && use doc && [[ ${PV} != *9999* ]]; then
# For now install gtk-doc there
insinto /usr/share/gtk-doc/html/poppler
doins -r "${S}"/glib/reference/html/*
fi
}

Binary file not shown.

@ -1,7 +1,7 @@
AUX gtest-1.10.0_p20200702-increase-clone-stack-size.patch 606 BLAKE2B dc5282aca513bcb82e7ed90e432ca1ee758953955a30f1dd17bc0c2f56a46e7ef846c209186e561dfa6d7e7f7541ee03db5b88dcacfac649e0ff2a3f41bd7870 SHA512 01ab820bf5a100905f24be2a9f866b98e9e6a90686ecd0b93a85d42d9290bc6cb74e6fd218e78a48c6dcc69d410fd2dc9ccf7aa50903fe86e7886af1b97c25fa
DIST gtest-1.11.0.tar.gz 886330 BLAKE2B d11fdd485f292d96508cbc27a9a444ab69b86571cc594298fd3f0e6d4bd8d6ec20dea848fe11be165d34054b2251ad377f0930f852914feaa1416ff156986a9c SHA512 6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28
DIST gtest-1.12.1.tar.gz 854944 BLAKE2B 7b121fb95bb19efec1387a83da2201a139197225f79f7649ceac04695ff06fc4148319ae928d79ced413a9cfd42e68b56bfda1ee6bfdbf07fdd22795e9974388 SHA512 a9104dc6c53747e36e7dd7bb93dfce51a558bd31b487a9ef08def095518e1296da140e0db263e0644d9055dbd903c0cb69380cb2322941dbfb04780ef247df9c
DIST gtest-1.13.0.tar.gz 862871 BLAKE2B d2768332c233d62f7a5f5332b63dc587c96c24765b2eeaa4f4caf5d421b175aa850d81cec4f50eeef9e06d4b86cb959555b4c2862a197ce3cb86d61fcb51f5d1 SHA512 70c0cfb1b4147bdecb467ecb22ae5b5529eec0abc085763213a796b7cdbd81d1761d12b342060539b936fa54f345d33f060601544874d6213fdde79111fa813e
EBUILD gtest-1.11.0.ebuild 1878 BLAKE2B 2a405c3127bc5e88a794cffb39a9e2e674ed5a33a7bbf49096de2bd376e9cc45ebe88884a0f75d65a273feee141758103dc98340435834fd45f751c21a65678a SHA512 485f740e70809da946d007ee4e12679870baca20621822fc1c59297389e343c8234e6d79c3e7981be4b23a4c8a976ad1d5e8401ae601485dd967f4b18dc12019
EBUILD gtest-1.12.1.ebuild 1938 BLAKE2B ac7a89c302ad36e59b5bbb91f82549b28ec0dc0070beaaf4c045f73ed0b03f184d7bf42e9a5ff42fc9d882c37aabd2f26ded9be27800eb10312d9881f0c3e650 SHA512 8cf4e91b248725bd04d8b3087eb69e632e80969bfc322f4a69b3ef6e5222f0858f1ed393de88277638fcf95022425966c14857e0309f6da957e3940c394aaed7
EBUILD gtest-9999.ebuild 1931 BLAKE2B 9fdb3c9b3e396d131535f47de462a856419bee48badc32fc3023bd007ddb0f670e400f9f8c48fe517df36b213b0b301b1e72c9003e0112e4c9882e50a81a40f6 SHA512 de87f7b786f8ab026ed1f352ae674e7b899bcfa1f799e64fd883bade267dc2c2477ed50a6398de2aae4051b3256ca7ff7e53570a4295191d4abc15d7323f928a
EBUILD gtest-1.13.0.ebuild 1923 BLAKE2B 4d6891526858679c538ae78bc0f5bdb2a3f04a3eea9de4f8c51bb9c8dbbf6be0857b0c16e3c3ed7b46cb212be30d38d44b9eb23456890a182b01644696d6cf37 SHA512 8b58672799febda7c6abfae62d55dfb5e390471e74aa03e90a5820236f197d3303b354ada9f28121a2034021752df70e802e856900b172321269afb0f1430834
EBUILD gtest-9999.ebuild 1923 BLAKE2B 4d6891526858679c538ae78bc0f5bdb2a3f04a3eea9de4f8c51bb9c8dbbf6be0857b0c16e3c3ed7b46cb212be30d38d44b9eb23456890a182b01644696d6cf37 SHA512 8b58672799febda7c6abfae62d55dfb5e390471e74aa03e90a5820236f197d3303b354ada9f28121a2034021752df70e802e856900b172321269afb0f1430834
MISC metadata.xml 553 BLAKE2B a6d63b3f65e8cc9bf95fb0197c48f6adcca359f118797b0bb6c624d09dd586efe066c990e6cb709d42f8cbf32f67feeccf74b9662d13ddfd57f6b13f199585d3 SHA512 e1edf26c4cf978203c3c6e3fda887923dbf76101860dc8e6a81a7218f88fae0f28d4b78ce6cf34b5d3a61c550e1042d5fb3d3530f88b5277a5b46c8943dc0677

@ -13,9 +13,9 @@ if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/google/googletest"
else
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
SRC_URI="https://github.com/google/googletest/archive/refs/tags/release-${PV}.tar.gz
SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-release-${PV}
S="${WORKDIR}"/googletest-${PV}
else
SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz
-> ${P}.tar.gz"

@ -13,9 +13,9 @@ if [[ ${PV} == "9999" ]]; then
EGIT_REPO_URI="https://github.com/google/googletest"
else
if [[ -z ${GOOGLETEST_COMMIT} ]]; then
SRC_URI="https://github.com/google/googletest/archive/refs/tags/release-${PV}.tar.gz
SRC_URI="https://github.com/google/googletest/archive/refs/tags/v${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}"/googletest-release-${PV}
S="${WORKDIR}"/googletest-${PV}
else
SRC_URI="https://github.com/google/googletest/archive/${GOOGLETEST_COMMIT}.tar.gz
-> ${P}.tar.gz"
@ -60,7 +60,7 @@ multilib_src_configure() {
multilib_src_test() {
# Exclude tests that fail with FEATURES="usersandbox"
cmake_src_test -E "googletest-death-test-test"
cmake_src_test -E "googletest-(death-test|port)-test"
}
multilib_src_install_all() {

Binary file not shown.

@ -1,3 +1,4 @@
DIST llvm-project-08c915fa76ef91efa16df0676ed69e4fb360989f.tar.gz 179571827 BLAKE2B 856ea5787f5b3a0b3e8816ccc1a7016a5a7140da6a61544a9829625255dc7036b321b43421f4b3a21e4f0cd8a36745e5d26cb828a41c49a690ebefdff88a744c SHA512 a83121dfaad3e93bad072557715ff857eb8b912273e3a36ea13c2f6a706aa4a9233398ac56074f2cfb5de49982fb5df5e2893eddbe2fd580a51aa08a03c95e34
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@ -13,4 +14,5 @@ EBUILD libclc-16.0.0_pre20230107.ebuild 1647 BLAKE2B 3711c9e847206a4eb82851d577a
EBUILD libclc-16.0.0_pre20230127.ebuild 1647 BLAKE2B 3711c9e847206a4eb82851d577ac3c90bb58361ab1d97e0ae1bd084a15b76311cf35b6eaf30a45cb78c1c22d318f5dc27cdb9df4e51effdb56fa096f6ffdb1f8 SHA512 5303f1404e478b766028c565a3f9a5bfc8655f0d71ebcdf5197168acf1c85e1731edf8fba9bc4bbce5d9999086d797b059ea46cc00a6e706d092f3bfefa34eca
EBUILD libclc-16.0.0_rc1.ebuild 1647 BLAKE2B 3711c9e847206a4eb82851d577ac3c90bb58361ab1d97e0ae1bd084a15b76311cf35b6eaf30a45cb78c1c22d318f5dc27cdb9df4e51effdb56fa096f6ffdb1f8 SHA512 5303f1404e478b766028c565a3f9a5bfc8655f0d71ebcdf5197168acf1c85e1731edf8fba9bc4bbce5d9999086d797b059ea46cc00a6e706d092f3bfefa34eca
EBUILD libclc-17.0.0.9999.ebuild 1725 BLAKE2B 6af25c457993cd3f87b7fcb43a3824d43d7e57a3208270982dd7cddef72282c99d40d729041157be22b3a638613f1cdc8b43ddae8d19af05b44395cbd28404c8 SHA512 28079adbb36dbcf7beb4069afc4d10e505ae5ca74bbecda5b91c4641294d646a253dcce79149c31b90fa8c241f2155a01ff8f5b0f4d553caafa3412f2b9a20a3
EBUILD libclc-17.0.0_pre20230203.ebuild 1725 BLAKE2B 6af25c457993cd3f87b7fcb43a3824d43d7e57a3208270982dd7cddef72282c99d40d729041157be22b3a638613f1cdc8b43ddae8d19af05b44395cbd28404c8 SHA512 28079adbb36dbcf7beb4069afc4d10e505ae5ca74bbecda5b91c4641294d646a253dcce79149c31b90fa8c241f2155a01ff8f5b0f4d553caafa3412f2b9a20a3
MISC metadata.xml 362 BLAKE2B 768f93d0058e4da4b420569f3f1771dfa7385ad89540bbc18cf53b5a71e3f060a8afa1112ff37570d7fc9dc3e71619fa3fd8d0cf7b5d3954f5110b19e146df30 SHA512 e6335424da09f668953acd39dcd9b03a30e3b509b34b1de5c72644a3740a5b6b287f10e08405b79bafc8104cc4dc1324b7b9d7990c3b560b0235ae82da8c68a5

@ -0,0 +1,88 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit cmake llvm llvm.org python-any-r1
DESCRIPTION="OpenCL C library"
HOMEPAGE="https://libclc.llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( MIT BSD )"
SLOT="0"
KEYWORDS=""
IUSE="spirv video_cards_nvidia video_cards_r600 video_cards_radeonsi"
LLVM_MAX_SLOT=17
BDEPEND="
${PYTHON_DEPS}
|| (
(
sys-devel/clang:17
spirv? ( dev-util/spirv-llvm-translator:17 )
)
(
sys-devel/clang:16
spirv? ( dev-util/spirv-llvm-translator:16 )
)
(
sys-devel/clang:15
spirv? ( dev-util/spirv-llvm-translator:15 )
)
(
sys-devel/clang:14
spirv? ( dev-util/spirv-llvm-translator:14 )
)
(
sys-devel/clang:13
spirv? ( dev-util/spirv-llvm-translator:13 )
)
)
"
LLVM_COMPONENTS=( libclc )
llvm.org_set_globals
llvm_check_deps() {
if use spirv; then
has_version -b "dev-util/spirv-llvm-translator:${LLVM_SLOT}" ||
return 1
fi
has_version -b "sys-devel/clang:${LLVM_SLOT}"
}
pkg_setup() {
llvm_pkg_setup
python-any-r1_pkg_setup
}
src_configure() {
local libclc_targets=()
use spirv && libclc_targets+=(
"spirv-mesa3d-"
"spirv64-mesa3d-"
)
use video_cards_nvidia && libclc_targets+=(
"nvptx--"
"nvptx64--"
"nvptx--nvidiacl"
"nvptx64--nvidiacl"
)
use video_cards_r600 && libclc_targets+=(
"r600--"
)
use video_cards_radeonsi && libclc_targets+=(
"amdgcn--"
"amdgcn-mesa-mesa3d"
"amdgcn--amdhsa"
)
[[ ${#libclc_targets[@]} ]] || die "libclc target missing!"
libclc_targets=${libclc_targets[*]}
local mycmakeargs=(
-DLIBCLC_TARGETS_TO_BUILD="${libclc_targets// /;}"
)
cmake_src_configure
}

@ -1,3 +1,5 @@
DIST nss-pem-1.0.8.tar.xz 41840 BLAKE2B 6a210517b6f70a6a1a0351970811500c1364c6cbb0159dc4b7b3edeff7c01d3b643a5a4a4946a350a1a49898570141acda1e913fdc79d750339f5021445e61c7 SHA512 9fd1fa9203fd707668506752be6f99d26e53281b8b95d7c3020da33ab8cb287890b66c8a59f1ee952fe8d2a8a350d7c5b4214a523a2e1762e48989f02c408b33
DIST nss-pem-1.0.9.tar.xz 41848 BLAKE2B 606c8db9f8f8b6f46dfcc1128903d7139ba7b9d0062b7137d78ab7ba8af1877d1a6f9e96c139715dcdaf76a6ef268031692395d80efc00db719a5984edfda9e4 SHA512 c656e2f6ab1a0ab9448ef9efd70168f17901f585b53237f3dae493a1a40f8c90dfeb25b81e46472e479bfa3f443994669b5614f124cd828224227b7b8326f6f3
EBUILD nss-pem-1.0.8.ebuild 708 BLAKE2B 5bd516bb9d221609ae907e65eafbb224136e07e476900e2cf99c66f6a19bad2a9afb3fd9633d4a27db302793ede010a7deccb40d34e3f48489333197d98e0d20 SHA512 195bca3a6fd4b66a39589745ec28d22652725e4b7172d30ebf9874af3a36bb2df6aa637f127a1656cdae2490645fe9263b985dd772423e71275235e199fb90fb
EBUILD nss-pem-1.0.9.ebuild 707 BLAKE2B aecf87d8f38223d22bdd64969b8912f94c5405eeac06b9180a4c4bb0721a1991f188cc158b9a055ec182deee7b2048729e2dddfc029f25bdf5c55170ef37c796 SHA512 3a1550af716d360b70efea8c0745ed0088e268c81d741540510b3b5592afeddeb1b9c8911a16ea0b964ea09a1761c7fc7b739ed446bc5c8cf629aff2b6e81082
MISC metadata.xml 334 BLAKE2B 7d88d82ca4bedbacb87ab53bc2a30e77ab13b062c439dacd1521f68a5677bad460310abf9f1e69826c44eaee4cade54bdb0d30923a7d2dfef9eaa4554288498e SHA512 c1a58a0c5e2401a1b75e4223f2cc6e0a25e8a3ead8c5c3f86cf96675ecf3dd813d0db4652fb6c68e0acbffa62ca6e4123dc74a4f565345cb1bba79e033b41922

@ -0,0 +1,29 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib
DESCRIPTION="PEM file reader for Network Security Services (NSS)"
HOMEPAGE="https://github.com/kdudka/nss-pem"
SRC_URI="https://github.com/kdudka/${PN}/releases/download/${P}/${P}.tar.xz"
LICENSE="MPL-1.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-solaris"
DEPEND="dev-libs/nss
dev-libs/nspr"
RDEPEND="${DEPEND}"
BDEPEND="dev-libs/nss
virtual/pkgconfig"
S="${WORKDIR}/${P}/src"
multilib_src_configure() {
local mycmakeargs=(
-DLIB_INSTALL_DIR="$(get_libdir)"
)
cmake_src_configure
}

@ -16,8 +16,9 @@ DIST openssl-3.0.7.tar.gz 15107575 BLAKE2B 141881071fa62f056c514e7c653a61c59cc45
DIST openssl-3.0.7.tar.gz.asc 858 BLAKE2B bd07a6f656cce817038743caf1131ef8d7a21bf587e706e32771ad9e09cb4821d21b71171a7fe7bb6bece95e9b06cea6d723aae9de8b62049b5a8316578500be SHA512 9093a8a5a990f5f37bd95e7ca55f2371e59242be408ea7d9403bcfc9c8873c022237e13c0ec81881a20607ea46927887a895a82b6f50c6f423b4c54f9ef0cde1
EBUILD openssl-1.0.2u-r1.ebuild 9980 BLAKE2B 0017b72acb2eb86f2927845903c93aacfc9c2812ecc5dd5daa23ffc6dd961a4258181ac2c085798b228df5aa23fff2faf476f880406a7c0eeecde3a8391d6a11 SHA512 7aadb788732ee4dbf32ba34567c8ffc897354ac4028f26ec60fab8f099a445c494825bcaad7a5bc053a1ca3f70bfc0f9e944cce5a4051708555cae24c6c5b9a9
EBUILD openssl-1.1.1q.ebuild 10190 BLAKE2B d43cbde3d6b34a33f7937b59d0a2770290cc342ff664796bca1c546d2a70ba609d0d8f035c1cf2d8f339bcd82ab651e970a5d9ee55a2a6734a2e17b7187aff59 SHA512 47e480e4344753939cd8f64c1e7dd36eed12b8568cc18dd9691bb4d231088d2f77d1ba5fb79f2f9f3ec18b3bb8fb9c118bbb716af91d0023fe920fc968f081ee
EBUILD openssl-1.1.1s-r1.ebuild 10232 BLAKE2B 582d5af9bb2c50fa29f7204506b4cdc04eaf43bf2ce6363dd034e7edf82896e05178e0f4b612cd87e48e0e2ac8f0286a6fe050e66c7523677cd3c20e29af06a4 SHA512 0c41da84973c240a371183b8ddcbad8f46e59861320e91352bf425a7cde4bf83dbc5f9ebe4165ca8015862fe262408ca70ff9f4733605802a75c6e9f481ff5ef
EBUILD openssl-1.1.1s-r2.ebuild 10206 BLAKE2B 4e43400cac00ea82f93fc09c9fdefea349869a786cf55e8e041155d0846fddbe8df917e0d67b97ff0755e772dc9eada253d4b65a9886762d375ed66ceca193aa SHA512 c68b59e03c8e0551334fdb35f12ad0d4b13a09b4108d364fe4d0ea4962788527404db46287662f8179c56b924137e183e8c956bacfe5e4239c89ad36f2c34967
EBUILD openssl-1.1.1s.ebuild 10244 BLAKE2B 8718b01b9426b4ca51d5e4afbe531755ba1542ede77d5038f6cc9a5f42abd27c0fccb5d713afb408d6092caf8c0b774a96dadda918f07900be0c7f4f76fbd47a SHA512 72fe25bc58d23ba2a31cbf137a179ae8477a084fbf1ada28cd878fd1958dce891ee3b8fba7d31ab10e623f202b49d96779d6e03f9761c73c77c6d5d8a25dafd3
EBUILD openssl-3.0.7-r1.ebuild 9867 BLAKE2B cf5c11fb8f3629e708fe973ce4a8347ab8d04901e625e34ff55be93307ce3f5c3214a2efaaf7d475638007ab6bc21ea7b895d701a8574f877e285cc87fe020a4 SHA512 df9cc24b08cab21f607eed16aed95a82ba491d5368f29fa74296082955a612900fd3284a7bece408a95a3346a5aeb0bbb162a6d64bbd01abc8ebde75395b4f47
EBUILD openssl-3.0.7-r2.ebuild 9657 BLAKE2B 989d5e08c98c472f8dac360dd2beebda291496a0d48baf911dd00e6cf2d53e4c1032650ebc0d1222bc921e23760876ff41f0c1a350762eb871ea4c2b47000dad SHA512 76cbd45e2018da4a61e901bf35f56e348b7118c5d52883e45a5992c86258373b35ea37a7862001abe333d1e10f675b0d349a52b7ef66e6b316fe706c2decf7d7
EBUILD openssl-3.0.7-r3.ebuild 9629 BLAKE2B 5d5ef06f069611f6bc080e33ea36402071d8fd3622d855c6920a884f5c2ee20a954507bb891ab200290775644d9c95bf8ff783587a0415d416c2d21a92bbb629 SHA512 f0a52f53d650b57aed596d48f2689bdd5c71d56eb8047d38a42835864048d5c4abbd40fb2fa659350779995bf7a77489baf5f176bcdca1975704b744a754f95a
EBUILD openssl-3.0.7-r4.ebuild 7727 BLAKE2B c42230949b7f9b9361e375710e898fb4f26512de2315c9e1c8f3e445ee694186ece3e367980ae53e006031f0d88e50a13cd0cbc33fe02ee4e9bc8007e0ba5640 SHA512 68d5e6b983bfebf8bca973ba949222ab98cf00345b62c2c2fa39845dadbe2d94c2a1e5e766d02010cabea902016dc2cc003deb700170e801cea865f9effb93c2
MISC metadata.xml 1664 BLAKE2B cf9d4613e5387e7ec0787b1a6c137baa71effb8458fa63b5dea0be4d5cf7c8607257262dbf89dcc0c3db7b17b10232d32902b7569827bd4f2717b3ef7dffaaa9 SHA512 01deef1de981201c14101630d2a4ae270abcac9a4b27b068359d76f63aeb6075aceb33db60175c105294cb7045aae389168f4cf1edf0f6e3656ccc2fe92e9c92

@ -22,7 +22,7 @@ fi
IUSE="+asm rfc3779 sctp cpu_flags_x86_sse2 sslv3 static-libs test tls-compression tls-heartbeat vanilla verify-sig weak-ssl-ciphers"
RESTRICT="!test? ( test )"
RDEPEND=">=app-misc/c_rehash-1.7-r1
RDEPEND="
tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}"
BDEPEND="
@ -334,7 +334,7 @@ multilib_src_install_all() {
}
pkg_postinst() {
ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes (bug #333069)"
c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
eend $?
}

@ -30,7 +30,6 @@ IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compre
RESTRICT="!test? ( test )"
COMMON_DEPEND="
>=app-misc/c_rehash-1.7-r1
tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
"
BDEPEND="
@ -320,7 +319,7 @@ multilib_src_install_all() {
}
pkg_postinst() {
ebegin "Running 'c_rehash ${EROOT}${SSL_CNF_DIR}/certs/' to rebuild hashes (bug #333069)"
c_rehash "${EROOT}${SSL_CNF_DIR}/certs" >/dev/null
ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
eend $?
}

@ -0,0 +1,264 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/openssl.org.asc
inherit edo flag-o-matic linux-info toolchain-funcs multilib-minimal multiprocessing verify-sig
DESCRIPTION="Robust, full-featured Open Source Toolkit for the Transport Layer Security (TLS)"
HOMEPAGE="https://www.openssl.org/"
MY_P=${P/_/-}
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/openssl/openssl.git"
inherit git-r3
else
SRC_URI="mirror://openssl/source/${MY_P}.tar.gz
verify-sig? ( mirror://openssl/source/${MY_P}.tar.gz.asc )"
#KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~riscv ~s390 ~sparc ~x86"
fi
S="${WORKDIR}"/${MY_P}
LICENSE="Apache-2.0"
SLOT="0/3" # .so version of libssl/libcrypto
IUSE="+asm cpu_flags_x86_sse2 fips ktls rfc3779 sctp static-libs test tls-compression vanilla verify-sig weak-ssl-ciphers"
RESTRICT="!test? ( test )"
COMMON_DEPEND="
tls-compression? ( >=sys-libs/zlib-1.2.8-r1[static-libs(+)?,${MULTILIB_USEDEP}] )
"
BDEPEND="
>=dev-lang/perl-5
sctp? ( >=net-misc/lksctp-tools-1.0.12 )
test? (
sys-apps/diffutils
sys-devel/bc
sys-process/procps
)
verify-sig? ( >=sec-keys/openpgp-keys-openssl-20221101 )"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
PDEPEND="app-misc/ca-certificates"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/openssl/configuration.h
)
PATCHES=(
"${FILESDIR}"/${P}-x509-CVE-2022-3996.patch
)
pkg_setup() {
if use ktls ; then
if kernel_is -lt 4 18 ; then
ewarn "Kernel implementation of TLS (USE=ktls) requires kernel >=4.18!"
else
CONFIG_CHECK="~TLS ~TLS_DEVICE"
ERROR_TLS="You will be unable to offload TLS to kernel because CONFIG_TLS is not set!"
ERROR_TLS_DEVICE="You will be unable to offload TLS to kernel because CONFIG_TLS_DEVICE is not set!"
use test && CONFIG_CHECK+=" ~CRYPTO_USER_API_SKCIPHER"
linux-info_pkg_setup
fi
fi
[[ ${MERGE_TYPE} == binary ]] && return
# must check in pkg_setup; sysctl doesn't work with userpriv!
if use test && use sctp ; then
# test_ssl_new will fail with "Ensure SCTP AUTH chunks are enabled in kernel"
# if sctp.auth_enable is not enabled.
local sctp_auth_status=$(sysctl -n net.sctp.auth_enable 2>/dev/null)
if [[ -z "${sctp_auth_status}" ]] || [[ ${sctp_auth_status} != 1 ]] ; then
die "FEATURES=test with USE=sctp requires net.sctp.auth_enable=1!"
fi
fi
}
src_unpack() {
# Can delete this once test fix patch is dropped
if use verify-sig ; then
# Needed for downloaded patch (which is unsigned, which is fine)
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc}
fi
default
}
src_prepare() {
# Allow openssl to be cross-compiled
cp "${FILESDIR}"/gentoo.config-1.0.4 gentoo.config || die
chmod a+rx gentoo.config || die
# Keep this in sync with app-misc/c_rehash
SSL_CNF_DIR="/etc/ssl"
# Make sure we only ever touch Makefile.org and avoid patching a file
# that gets blown away anyways by the Configure script in src_configure
rm -f Makefile
if ! use vanilla ; then
PATCHES+=(
# Add patches which are Gentoo-specific customisations here
)
fi
default
if use test && use sctp && has network-sandbox ${FEATURES} ; then
einfo "Disabling test '80-test_ssl_new.t' which is known to fail with FEATURES=network-sandbox ..."
rm test/recipes/80-test_ssl_new.t || die
fi
# Quiet out unknown driver argument warnings since openssl
# doesn't have well-split CFLAGS and we're making it even worse
# and 'make depend' uses -Werror for added fun (bug #417795 again)
tc-is-clang && append-flags -Qunused-arguments
# We really, really need to build OpenSSL w/ strict aliasing disabled.
# It's filled with violations and it *will* result in miscompiled
# code. This has been in the ebuild for > 10 years but even in 2022,
# it's still relevant:
# - https://github.com/llvm/llvm-project/issues/55255
# - https://github.com/openssl/openssl/issues/18225
# - https://github.com/openssl/openssl/issues/18663#issuecomment-1181478057
# Don't remove the no strict aliasing bits below!
filter-flags -fstrict-aliasing
append-flags -fno-strict-aliasing
append-flags $(test-flags-CC -Wa,--noexecstack)
local sslout=$(./gentoo.config)
einfo "Using configuration: ${sslout:-(openssl knows best)}"
edo perl Configure ${sslout} --test-sanity
multilib_copy_sources
}
multilib_src_configure() {
# bug #197996
unset APPS
# bug #312551
unset SCRIPTS
# bug #311473
unset CROSS_COMPILE
tc-export AR CC CXX RANLIB RC
use_ssl() { usex $1 "enable-${2:-$1}" "no-${2:-$1}" " ${*:3}" ; }
local krb5=$(has_version app-crypt/mit-krb5 && echo "MIT" || echo "Heimdal")
# See if our toolchain supports __uint128_t. If so, it's 64bit
# friendly and can use the nicely optimized code paths, bug #460790.
#local ec_nistp_64_gcc_128
#
# Disable it for now though (bug #469976)
# Do NOT re-enable without substantial discussion first!
#
#echo "__uint128_t i;" > "${T}"/128.c
#if ${CC} ${CFLAGS} -c "${T}"/128.c -o /dev/null >&/dev/null ; then
# ec_nistp_64_gcc_128="enable-ec_nistp_64_gcc_128"
#fi
local sslout=$(./gentoo.config)
einfo "Using configuration: ${sslout:-(openssl knows best)}"
# https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-and-disable-features
local myeconfargs=(
${sslout}
$(use cpu_flags_x86_sse2 || echo "no-sse2")
enable-camellia
enable-ec
enable-ec2m
enable-sm2
enable-srp
$(use elibc_musl && echo "no-async")
enable-idea
enable-mdc2
enable-rc5
$(use fips && echo "enable-fips")
$(use_ssl asm)
$(use_ssl ktls)
$(use_ssl rfc3779)
$(use_ssl sctp)
$(use test || echo "no-tests")
$(use_ssl tls-compression zlib)
$(use_ssl weak-ssl-ciphers)
--prefix="${EPREFIX}"/usr
--openssldir="${EPREFIX}"${SSL_CNF_DIR}
--libdir=$(get_libdir)
shared
threads
)
edo perl Configure "${myeconfargs[@]}"
}
multilib_src_compile() {
emake build_sw
if multilib_is_native_abi; then
emake build_docs
fi
}
multilib_src_test() {
# VFP = show subtests verbosely and show failed tests verbosely
# Normal V=1 would show everything verbosely but this slows things down.
emake HARNESS_JOBS="$(makeopts_jobs)" VFP=1 test
}
multilib_src_install() {
emake DESTDIR="${D}" install_sw
if use fips; then
emake DESTDIR="${D}" install_fips
fi
if multilib_is_native_abi; then
emake DESTDIR="${D}" install_ssldirs
emake DESTDIR="${D}" DOCDIR='$(INSTALLTOP)'/share/doc/${PF} install_docs
fi
# This is crappy in that the static archives are still built even
# when USE=static-libs. But this is due to a failing in the openssl
# build system: the static archives are built as PIC all the time.
# Only way around this would be to manually configure+compile openssl
# twice; once with shared lib support enabled and once without.
if ! use static-libs ; then
rm "${ED}"/usr/$(get_libdir)/lib{crypto,ssl}.a || die
fi
}
multilib_src_install_all() {
# openssl installs perl version of c_rehash by default, but
# we provide a shell version via app-misc/c_rehash
rm "${ED}"/usr/bin/c_rehash || die
dodoc {AUTHORS,CHANGES,NEWS,README,README-PROVIDERS}.md doc/*.txt doc/${PN}-c-indent.el
# Create the certs directory
keepdir ${SSL_CNF_DIR}/certs
# bug #254521
dodir /etc/sandbox.d
echo 'SANDBOX_PREDICT="/dev/crypto"' > "${ED}"/etc/sandbox.d/10openssl
diropts -m0700
keepdir ${SSL_CNF_DIR}/private
}
pkg_postinst() {
ebegin "Running 'openssl rehash ${EROOT}${SSL_CNF_DIR}/certs' to rebuild hashes (bug #333069)"
openssl rehash "${EROOT}${SSL_CNF_DIR}/certs"
eend $?
}

@ -30,6 +30,6 @@ DIST optix-7.5.0-optix_host.h 1661 BLAKE2B 85e0bd7b256e40a6672e668ba2781d2ffe2be
DIST optix-7.5.0-optix_stack_size.h 17447 BLAKE2B 3e95fce2eb9e1a03725e4259ad3327361baf52cdf3ddda1204cfae83b44261e97ec56dd3713f926e6fe880c69db674395c4bd6f466cba826f70fbafaa835c386 SHA512 ae5c6a9efedbc87e33bef5475a10ff8df0e3f53ee52bbea3aba78126b5e099961a6c34abfba6b37d076d6eb2dad458040c7f558cd2d3d090586d701fbef164e7
DIST optix-7.5.0-optix_stubs.h 30722 BLAKE2B 0474c780164b6a6f6c645b724e03f77725e2fd7c18b7e2760dfa5d2cf5883d375c484dbbdcb568e0e2cc36524510c5e513a43164827010395f8db29004ad2522 SHA512 57959e4a1d9c57e5f691f3ab55749476a48111b0364ee09c4123a75b9690cbbb0f67481d7e5a532b2abf3f80b380d628cecccb7cf5a85c0c42adfa53fa5fc2b2
DIST optix-7.5.0-optix_types.h 1777 BLAKE2B 87ceb8dca1c8014fa87c67983cc5d1f674e72ff5649007d8d1ee1d832f8e94c5131002299a1a7f8e1261ca84578d01765bef2bacb185ac3cd43c453346caf237 SHA512 11c637572e4a493f5fc5e125c9a15919412126b2d5876ff8e3f53ccd88280e8a7d4ec0894f44a3514e3d5dea81abea3ba207dc901e3d3bf54c7cb3407bb63767
EBUILD optix-7.4.0.ebuild 1846 BLAKE2B 4fa5ab5e0634616c79ea165a454dfdd0c8d820adbe8fbec3b1bdf8ccae412648a201d249f163245abf0876e994ef82d635e5685acadda5be8c17ec244807964c SHA512 f3317413bd4496954c390cbd48d4eb7dc874bb69e1beab4432ccfba2f40a84a822fc2a0e3fefa8b0cb13c046ebd62fd13323ec11706f9d98b5d16cce1a0d05a3
EBUILD optix-7.4.0.ebuild 1845 BLAKE2B a7bc8df7e22716d2dc33c3aced9cf0cedd45a6479a9d3771d59bf621fbaa6dc06978690df686f563de7c367b65b95645012a3b59838edc5463f4a33b44b49550 SHA512 55c2041d6c0f92d8f881c096d062ff7d1ad8d036b31e5c4a201ca3d78f1fdde6460faad6e1c041d8f658a75a6ccf7f1f3fe1e8c4a5f20910c5e0514523b1b47c
EBUILD optix-7.5.0.ebuild 1846 BLAKE2B 4fa5ab5e0634616c79ea165a454dfdd0c8d820adbe8fbec3b1bdf8ccae412648a201d249f163245abf0876e994ef82d635e5685acadda5be8c17ec244807964c SHA512 f3317413bd4496954c390cbd48d4eb7dc874bb69e1beab4432ccfba2f40a84a822fc2a0e3fefa8b0cb13c046ebd62fd13323ec11706f9d98b5d16cce1a0d05a3
MISC metadata.xml 867 BLAKE2B 8fcac2c6a3727b4d74569ec21a5b51d389a8295b2f72af8aa47c903dac22c5ff422aae3de4f35bcb235d0806dea259a54e91975bc9df656a59c38d804b1394d8 SHA512 bfc4fa5af424c272ab435b0416d09810a90e28674a99cb7de7b852cc023375fe9a0b47d2ddeb70bc379a40a7d1ee7919f2b27279719dd4895379d8abe550c09d

@ -1,4 +1,4 @@
# Copyright 1999-2022 Gentoo Authors
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -41,7 +41,7 @@ unset i
LICENSE="NVIDIA-SDK"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
KEYWORDS="amd64 ~arm64"
RESTRICT="bindist mirror !headers-only? ( fetch )"
IUSE="+headers-only"

@ -1,3 +1,5 @@
DIST trio-1.17.1.tar.gz 466909 BLAKE2B 1403c2534623b536de519cd428ac75480ecc0fcb9fbba693e329a923471947f068cae1e1fd453d10863255369e830ef5d8a75475d95f0f903e66936a9fa48e2b SHA512 574e360d88be838d13d7df5259c68809187a578d8d04981812ff768d3ab80215baf5595952994ec9fabbe3a6ce71512a7cd16d6a29b4f91dcd1b6f2ebcd3ed98
DIST trio-1.17.tar.gz 452237 BLAKE2B 77ff673cc103b07b1424720d28c49d2e33a1402a98d8d21124fabb0cafd3498a99976d808cbbc5a90e1b3a063c6af68c3daf94768d533e4a762b730a253fa012 SHA512 19f4732b32c6a3754677d5766399fa70083c6a78c0d04b1dfa10a578b21405ba3e3d3af6543e4811f5fd305ec2727781a1b0f2888e59c574ca735f8406da7954
EBUILD trio-1.17.1.ebuild 544 BLAKE2B d69633957b1b5d4386170c5d8430a296f155425e67f845dc2fec5efe7c527b6557b0a0ecb8733edf5b322635f41c5908a78c72d7016db3e0de58db465d8e779b SHA512 66ff15c4c4686fff64b4c14484b4c27680f4846cc5e51cd3a3b231614865d242e2bbf2b27ba0775cfdcc4fb3aa51345434f7e203d1f87af4f1403ce14feac75c
EBUILD trio-1.17.ebuild 656 BLAKE2B 79dbc4cd7ee9bec4253781dcb4156251a60bc5d2223cda002f51850069a1e9b164790e9ad7ee6e47805f2589644ff01d79615f9803183d7fbbe60a49b9943599 SHA512 84e9aef3d5ce582852a6fcef7771761e230aec472c056a456c9aec12ea1b5d1b5857a4a99dcdf94b5ae51f750194481ba728c6a0dfddcf3b34ddf572ecec5805
MISC metadata.xml 329 BLAKE2B 5863c898baa0c23c810edcdc6ae637b0a391579d1fee8db773c899bb936e36c76fb847e2d6de1410d9b6b286154459fb7d515f0a7f270c16a762274f4c19457f SHA512 5ee6ecb624bca2b159b5a6ebd0605d5ccef265c21f37e5f440317032a4144851b0b2eeaabf5fa89f710b9b18b85ad6812827cf9d32f4cfefc4d44e6592c98de2

@ -0,0 +1,27 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DOCS_BUILDER="doxygen"
DOCS_DIR="doc"
inherit docs
DESCRIPTION="Portable string functions, focus on the *printf() and *scanf() clones"
HOMEPAGE="https://daniel.haxx.se/projects/trio/"
SRC_URI="https://github.com/orbea/trio/releases/download/v${PV}/${P}.tar.gz"
LICENSE="trio"
SLOT="0"
KEYWORDS="~amd64 ~x86"
src_compile() {
default
docs_compile
}
src_install() {
default
find "${ED}" -type f -name '*.la' -delete || die
}

Binary file not shown.

@ -1,3 +1,4 @@
DIST llvm-project-08c915fa76ef91efa16df0676ed69e4fb360989f.tar.gz 179571827 BLAKE2B 856ea5787f5b3a0b3e8816ccc1a7016a5a7140da6a61544a9829625255dc7036b321b43421f4b3a21e4f0cd8a36745e5d26cb828a41c49a690ebefdff88a744c SHA512 a83121dfaad3e93bad072557715ff857eb8b912273e3a36ea13c2f6a706aa4a9233398ac56074f2cfb5de49982fb5df5e2893eddbe2fd580a51aa08a03c95e34
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@ -13,4 +14,5 @@ EBUILD llvm-ocaml-16.0.0_pre20230107.ebuild 2516 BLAKE2B 76d79ec543029a6509d8081
EBUILD llvm-ocaml-16.0.0_pre20230127.ebuild 2516 BLAKE2B 76d79ec543029a6509d80817106cc94f880844269c65d5f648c5fc3623fc837b668cc1f7071cf04fa9cce36f8c7a35b238b553a3f2428f01ad76123fa3e9d6b7 SHA512 d42973449686da7c3e94db660026991293d997ef4705580c01903432fae1a990e96e96100dd8ce27cb7ef126d24e003f4f1be997f5abbecdf273db5b4fde6c4e
EBUILD llvm-ocaml-16.0.0_rc1.ebuild 2516 BLAKE2B 76d79ec543029a6509d80817106cc94f880844269c65d5f648c5fc3623fc837b668cc1f7071cf04fa9cce36f8c7a35b238b553a3f2428f01ad76123fa3e9d6b7 SHA512 d42973449686da7c3e94db660026991293d997ef4705580c01903432fae1a990e96e96100dd8ce27cb7ef126d24e003f4f1be997f5abbecdf273db5b4fde6c4e
EBUILD llvm-ocaml-17.0.0.9999.ebuild 2516 BLAKE2B 76d79ec543029a6509d80817106cc94f880844269c65d5f648c5fc3623fc837b668cc1f7071cf04fa9cce36f8c7a35b238b553a3f2428f01ad76123fa3e9d6b7 SHA512 d42973449686da7c3e94db660026991293d997ef4705580c01903432fae1a990e96e96100dd8ce27cb7ef126d24e003f4f1be997f5abbecdf273db5b4fde6c4e
EBUILD llvm-ocaml-17.0.0_pre20230203.ebuild 2516 BLAKE2B 76d79ec543029a6509d80817106cc94f880844269c65d5f648c5fc3623fc837b668cc1f7071cf04fa9cce36f8c7a35b238b553a3f2428f01ad76123fa3e9d6b7 SHA512 d42973449686da7c3e94db660026991293d997ef4705580c01903432fae1a990e96e96100dd8ce27cb7ef126d24e003f4f1be997f5abbecdf273db5b4fde6c4e
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685

@ -0,0 +1,112 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit cmake llvm llvm.org python-any-r1
DESCRIPTION="OCaml bindings for LLVM"
HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0/${PV}"
KEYWORDS=""
IUSE="debug test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-lang/ocaml-4.00.0:0=
dev-ml/ocaml-ctypes:=
~sys-devel/llvm-${PV}:=[debug?]
!sys-devel/llvm[ocaml(-)]
"
DEPEND="
${RDEPEND}
"
BDEPEND="
${PYTHON_DEPS}
dev-lang/perl
dev-ml/findlib
>=dev-util/cmake-3.16
"
LLVM_COMPONENTS=( llvm cmake third-party )
LLVM_USE_TARGETS=llvm
llvm.org_set_globals
pkg_setup() {
LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
python-any-r1_pkg_setup
}
src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-DBUILD_SHARED_LIBS=OFF
-DLLVM_BUILD_LLVM_DYLIB=ON
-DLLVM_LINK_LLVM_DYLIB=ON
-DLLVM_OCAML_OUT_OF_TREE=ON
# cheap hack: LLVM combines both anyway, and the only difference
# is that the former list is explicitly verified at cmake time
-DLLVM_TARGETS_TO_BUILD=""
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-DLLVM_BUILD_TESTS=$(usex test)
# disable various irrelevant deps and settings
-DLLVM_ENABLE_FFI=OFF
-DLLVM_ENABLE_TERMINFO=OFF
-DHAVE_HISTEDIT_H=NO
-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON
-DLLVM_HOST_TRIPLE="${CHOST}"
-DPython3_EXECUTABLE="${PYTHON}"
# TODO: ocamldoc
)
use test && mycmakeargs+=(
-DLLVM_LIT_ARGS="$(get_lit_flags)"
)
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
# also: custom rules for OCaml do not work for CPPFLAGS
use debug || local -x CFLAGS="${CFLAGS} -DNDEBUG"
cmake_src_configure
local llvm_libdir=$(llvm-config --libdir)
# an ugly hack; TODO: figure out a way to pass -L to ocaml...
cd "${BUILD_DIR}/${libdir}" || die
ln -s "${llvm_libdir}"/*.so . || die
if use test; then
local llvm_bindir=$(llvm-config --bindir)
# Force using system-installed tools.
sed -i -e "/llvm_tools_dir/s@\".*\"@\"${llvm_bindir}\"@" \
"${BUILD_DIR}"/test/lit.site.cfg.py || die
fi
}
src_compile() {
cmake_build ocaml_all
}
src_test() {
# respect TMPDIR!
local -x LIT_PRESERVES_TMP=1
cmake_build check-llvm-bindings-ocaml
}
src_install() {
DESTDIR="${D}" \
cmake -P "${BUILD_DIR}"/bindings/ocaml/cmake_install.cmake || die
dodoc bindings/ocaml/README.txt
}

Binary file not shown.

@ -1,3 +1,5 @@
DIST blessed-1.19.1.tar.gz 6653802 BLAKE2B 5755efde3c203ab21a8994e29c55cdaace1cca772c9cdee4343562bb8ee4f9ffdee97d9131646d8385ef7e46664d23723ba46a3807d85623d9512ca40c7c4002 SHA512 0d899c42d7c6246362081bdc5d7dd2fcb13209fe0cee7e5a4fa342bdaf16a5cc21ab7e402bc5287ab1239f7e3afb02381e0e57e2d6111b80fe3c52b92cfa0f84
DIST blessed-1.20.0.tar.gz 6655612 BLAKE2B 10523940ac2fe528487f2d1d68d9f38782ec260f1f42735940219d37d4b4dbaef2fd4ca63d753780123d54ae39ab04652d2c6ba8f3323c621a2206b0a706f6e0 SHA512 8567ff1c55f68ad99c6c524edbf8ee57813d23d885dcb372767debc76bc2d75642c2b0491e1ed05460f023c28403b5dabb13769dea101a1c6e3156c82e0d0355
EBUILD blessed-1.19.1.ebuild 1306 BLAKE2B afa6520d17474b9b2cb582879764c6ec2fa33e747d48d5a645c00a0b855ebebc10e4f06611cf7b67aac06aae151f84ced234bb4e75e33c6e0fbaa3c22fb38a2c SHA512 08fac719a626e9bbf3ea306f9983946e18ffd9cc0a13586523244ff54ae7248837efd1837028a52519ab2fba2287e643aef87163089d9c71ab4215bff2f1ab1c
EBUILD blessed-1.20.0.ebuild 1348 BLAKE2B c3724c4e808a8fd60d41dbc2054de29fcabace4dfe599a11669b0ac1a68b3b37831d2b120555957e74cf46db5e33e708eed00e589fdbba30ef1968873367f056 SHA512 c89b8ad0cc1d9094c468f24569b502d66dd049f6aeef672d5e068bd0cca2f580858ce87665599c8663a10922c40383684ae3eabc49bb41f3482ee146d26d85a0
MISC metadata.xml 557 BLAKE2B dbfca7b52ee79a095475d591fb6fd4c151309e5e9c0c9e1e4dd031b66dc3128f9e0057eab3fa85d9fc875ba14b1229e81b8101626e341dccf597f0a6db97c42f SHA512 b0c74de041336d52276075ffc75f58827812a672016c30411888cd9ffc1e468120ef9a847ae16cf7eddd892e7176aafc4d9b635c1826d8ab98d7259d642cb6e3

@ -0,0 +1,52 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{9..11} )
inherit distutils-r1
DESCRIPTION="Library for making terminal apps using colors, keyboard input and positioning"
HOMEPAGE="
https://github.com/jquast/blessed/
https://pypi.org/project/blessed/
"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="MIT"
KEYWORDS="~amd64 ~riscv ~x86"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
dev-python/wcwidth[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
)
"
distutils_enable_sphinx docs dev-python/sphinx_rtd_theme
distutils_enable_tests pytest
python_prepare_all() {
# Skip those extensions as they don't have a Gentoo package
# Remove calls to scripts that generate rst files because they
# are not present in the tarball
sed -e '/sphinxcontrib.manpage/d' -e '/sphinx_paramlinks/d' \
-e '/^for script in/,/runpy.run_path/d' \
-i docs/conf.py || die
# Requires pytest-xdist and has no value for us
sed -i '/^looponfailroots =/d' tox.ini || die
distutils-r1_python_prepare_all
}
python_test() {
# COLORTERM must not be truecolor
# See https://github.com/jquast/blessed/issues/162
# Ignore coverage options
COLORTERM= epytest --override-ini="addopts="
}

@ -1,8 +1,10 @@
DIST boto3-1.26.54.gh.tar.gz 592401 BLAKE2B 7fd5bb10cda2b27fc43a7efa65c4651d95c8ddb7c94b424847f21010f9d748398a9efc47118ed7d2d90369664dddd4903fb8c4e7bc3ba3f70643a565b426023f SHA512 86d315eba84d783d327d19b41a593f193d9b356a205f29a1589e43e43519aa6eedefc26e7b23234dade6ab0bbb309d8039b011d0ba766757be8eb7a57c22f49b
DIST boto3-1.26.59.gh.tar.gz 594565 BLAKE2B 90c5fe950da7fabc46a4c34e0a77997cfc643273f6b3c1afed6caad3415486b25a6610c8fb9d3f3450b4f3b73e45cfec5d6b1f02666dbd2608944e2db81a955b SHA512 e4dff5978e41a9f4c29ef131d7b8c1f0ec625d9fc77a8cff9ce3c6d5a00d68e75b62da34b418252ddfeedf6302332edd8a30d88401ea393d0de3add64ab5cc40
DIST boto3-1.26.63.gh.tar.gz 597618 BLAKE2B f48de0f51694efa0a4fa6afa25ad7475fb7e304cf9291d6dcd275d4dd64ee3f29665afd1fb64f5883513c4224e03240a8e225e41765409822d33e95078e1a9ac SHA512 5f781ce615202fa84e321982699877376b2cb3692cf52f2b157eea6800d160ccf6da38b3c545d62cbce029b59f492d5ef67a31d06dc33b6f6bffd1e1b40c5d85
DIST boto3-1.26.64.gh.tar.gz 597913 BLAKE2B f3dc63388cf4055c58610eaf980c10ff4d297c6f00f89fe0b46e6b764fba502b7fd85b71421a9d21f1930b668f95aaf2fa174389e5067901d749babf582a8033 SHA512 17ed0e655706f29ed34e1d60a9913d74ab0098ba8085ea76bafb5fcd1bfde91c2efd95d2f3f3e6bcd1b6ef7bed85f9001ba484c01a0251219ea879543a8f2b47
EBUILD boto3-1.26.54.ebuild 1580 BLAKE2B 6c2b0aa540898e7461c165b8cb755ceec1cf0b94ba8cf4e2183bcd3a7a242b1e78f4c9a61bcb0c01230f625735a59ce3cd437098b19620d87c76fa022327af45 SHA512 f792df64912dbb7af89eac9c95518624a26c37387e16b96f46db928912c01ce20503cf8f9685de1b314ca7120e353c5fb26c900962f8c05e2c275b3bcd297555
EBUILD boto3-1.26.59.ebuild 1587 BLAKE2B db535a9938316c0564a32f4e05e74349251daef0db47afee54fe6907409d11ba1d660027cf059e2d4889c580ab8fe2fd6b252dd25a9c1906c878df6cb52e49d2 SHA512 8f2d0fdfbe2fa3916821a5d884cf579d55f97c21853c2f0990402e9ebbe4f1b0d21fda262f6e0ed997890b0cfe1e7ac42b1b6832a683c6b27f4aa2b6d4697469
EBUILD boto3-1.26.63.ebuild 1587 BLAKE2B db535a9938316c0564a32f4e05e74349251daef0db47afee54fe6907409d11ba1d660027cf059e2d4889c580ab8fe2fd6b252dd25a9c1906c878df6cb52e49d2 SHA512 8f2d0fdfbe2fa3916821a5d884cf579d55f97c21853c2f0990402e9ebbe4f1b0d21fda262f6e0ed997890b0cfe1e7ac42b1b6832a683c6b27f4aa2b6d4697469
EBUILD boto3-1.26.64.ebuild 1587 BLAKE2B db535a9938316c0564a32f4e05e74349251daef0db47afee54fe6907409d11ba1d660027cf059e2d4889c580ab8fe2fd6b252dd25a9c1906c878df6cb52e49d2 SHA512 8f2d0fdfbe2fa3916821a5d884cf579d55f97c21853c2f0990402e9ebbe4f1b0d21fda262f6e0ed997890b0cfe1e7ac42b1b6832a683c6b27f4aa2b6d4697469
EBUILD boto3-9999.ebuild 1586 BLAKE2B 44b7d2804e4a484ed5fb864ca2c60348f4e4eb2265c1ba946adf27b31052dd9041f148c1ec935af0bdcabc66109ad3b479dac167613c679a2d9e42f689182734 SHA512 bf11d1114aaff8762b6162a7ba94223e2eb180868e8395aafd1f466c48683514a3ae755baac40d7e0e1afb26ab49e14d30f39266382661b01e8f7ec53d71f145
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd

@ -0,0 +1,68 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1 multiprocessing
DESCRIPTION="The AWS SDK for Python"
HOMEPAGE="
https://github.com/boto/boto3/
https://pypi.org/project/boto3/
"
LICENSE="Apache-2.0"
SLOT="0"
if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/boto/boto3"
inherit git-r3
BOTOCORE_PV=${PV}
else
SRC_URI="
https://github.com/boto/boto3/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
# botocore is x.(y+3).z
BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
fi
RDEPEND="
>=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
>=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
>=dev-python/s3transfer-0.6.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_sphinx docs/source \
'dev-python/guzzle_sphinx_theme'
distutils_enable_tests pytest
python_prepare_all() {
# don't lock versions to narrow ranges
sed -e '/botocore/ d' \
-e '/jmespath/ d' \
-e '/s3transfer/ d' \
-i setup.py || die
# do not rely on bundled deps in botocore (sic!)
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
distutils-r1_python_prepare_all
}
python_test() {
epytest tests/{functional,unit} -n "$(makeopts_jobs)"
}

@ -1,8 +1,10 @@
DIST botocore-1.29.54.gh.tar.gz 11127081 BLAKE2B 7c2d11d968ca6a4d3b23b12c44cb8f050ac1848f75280c44bbb2f3567860204ed8615bd1596e02b8d0222f4d54c22a8559114365ec6a69e4a01a166a821d8c8a SHA512 4ba58c9b881ff95149ba1a5805453885208cdb68f197cc9a6c13cc9ca075e988ae33e4809f2970d9c48fa426e26c06d83686b8bbf4ff69d4a7cfe26ef3f903bf
DIST botocore-1.29.59.gh.tar.gz 11131182 BLAKE2B fa85e1f8dc3c366f7a7fb3e9b06dd298b1ad62be882891df3414289aa9e88bff72753690a1438e6040aefb7cafa1718a70c940e8cd2b4e743df44013b5748ef6 SHA512 9a4811b44c67652cacc899d1d84d4db1305cb60e73dd47d7f543b85ec37f921cab00a51d67b48ab6a215be8f7543e30c54585e0fb337085e1b75774b053c4bf3
DIST botocore-1.29.63.gh.tar.gz 11139461 BLAKE2B b05f6d52f55df9e456e80e9b701e2498c5fcdd2c65720719095e2c44b87acf854712a6cbc19e20a53b58b8075c8f20952605f60ed58cb1f99a6a771c61dac4d1 SHA512 7005db01c04d0eb2d94760ff1b7b89d28d956b310736dc5601b9e0bfd4b7ffeac6042a596f4f731b600e669a3fc74a7eededbe2bc0ef70d7d3a68f1d14149f9c
DIST botocore-1.29.64.gh.tar.gz 11141125 BLAKE2B 955c7ac0630bd8df8004a0a3d0ec64a7491aee7d68e63a65c62c9fe7a4362aed7bd74ca967cd8550ead458e42a858a428f0db8922a337c83cd680fcd1d1b62c3 SHA512 bb8e177f335e600389123f26788711f4a94c4943a4d80c6195db03bb3cf9489b2a8b0e42d429635c6c8c501df6c27b4177e9ef71e748b0c63874e6682bf2e8e9
EBUILD botocore-1.29.54.ebuild 1899 BLAKE2B 94938a1edb8da9279816e2302442deef5adc1edef43deb21369c8dfc62c569eb34d4198cf55dc6acdad0c718eba5ddce0040b6f269e866e6eff95bc36fd41be3 SHA512 a0d875a4dec85116eaae0a20182832dedeb84e6a8946093473b99a1746ed5ff8b49ef7e7a4ad5b70afdfbb1098fabc5ddbbc40b895c2b7e0559e3d10cd02e0bd
EBUILD botocore-1.29.59.ebuild 1906 BLAKE2B 0502a7409355212185525e104ab8763d13886570efdb9cbdc01425e1cd36e81b0381d7eccd4de0ade28ab9ddce3d39e24760157a3544602969369e98bcf1ffcd SHA512 eee3fbf350bf335637a962a1cd061141b4b2db43d3cd19c95cc9d6e29bc44092c26477994c260f6df56ad626a537758c177567d38feadbb0b0be4626ec63276a
EBUILD botocore-1.29.63.ebuild 1906 BLAKE2B 0502a7409355212185525e104ab8763d13886570efdb9cbdc01425e1cd36e81b0381d7eccd4de0ade28ab9ddce3d39e24760157a3544602969369e98bcf1ffcd SHA512 eee3fbf350bf335637a962a1cd061141b4b2db43d3cd19c95cc9d6e29bc44092c26477994c260f6df56ad626a537758c177567d38feadbb0b0be4626ec63276a
EBUILD botocore-1.29.64.ebuild 1906 BLAKE2B 0502a7409355212185525e104ab8763d13886570efdb9cbdc01425e1cd36e81b0381d7eccd4de0ade28ab9ddce3d39e24760157a3544602969369e98bcf1ffcd SHA512 eee3fbf350bf335637a962a1cd061141b4b2db43d3cd19c95cc9d6e29bc44092c26477994c260f6df56ad626a537758c177567d38feadbb0b0be4626ec63276a
EBUILD botocore-9999.ebuild 1808 BLAKE2B c88307d04e9daf86db23c54e39fb14931a6e60ab83593db191859652e67c90cfac45263f60c0211f81bfa10fe755b9023924713f2855324c929322d557b4ec17 SHA512 16e3144cef752302fa7ad350f5bb86301d41c0223f9ea41ed784083f2475d48efae095d82da95f93f77fadc86dea96b6aad1f1bce96bd926be01ef2d519fe230
MISC metadata.xml 499 BLAKE2B e5aaa7da26f200c09adfdf38b68f656bbccbec627cb5d966b280ac2165334e7eec659c89075bcace748f58e2ec3e7d2998e54a688d56ecea2d30653c67dfd35a SHA512 103c554d5dbd967bf9b6e418b3913d9235e7e910d012160909ce0715134ed2e37b06e6a345395f9d16ce08d1cf51f3ce458bce93c6a978fd3dca6610f2acdbd0

@ -0,0 +1,74 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..11} )
inherit distutils-r1 multiprocessing
DESCRIPTION="Low-level, data-driven core of boto 3"
HOMEPAGE="
https://github.com/boto/botocore/
https://pypi.org/project/botocore/
"
LICENSE="Apache-2.0"
SLOT="0"
if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://github.com/boto/botocore"
inherit git-r3
else
SRC_URI="
https://github.com/boto/botocore/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
fi
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
<dev-python/jmespath-2[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
>=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
distutils_enable_sphinx docs/source \
'dev-python/guzzle_sphinx_theme'
distutils_enable_tests pytest
src_prepare() {
# unpin deps
sed -i -e "s:>=.*':':" setup.py || die
# unbundle deps
rm -r botocore/vendored || die
find -name '*.py' -exec sed -i \
-e 's:from botocore[.]vendored import:import:' \
-e 's:from botocore[.]vendored[.]:from :' \
{} + || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# rely on bundled six
tests/functional/test_six_imports.py::test_no_bare_six_imports
tests/functional/test_six_threading.py::test_six_thread_safety
# fails on unrelated warnings
tests/unit/test_client.py::TestAutoGeneratedClient::test_BOTO_DISABLE_COMMONNAME
tests/unit/test_client.py::TestClientErrors::test_BOTO_DISABLE_COMMONNAME
# TODO
tests/functional/test_credentials.py::SSOSessionTest::test_token_chosen_from_provider
)
epytest tests/{functional,unit} -n "$(makeopts_jobs)"
}

@ -1,3 +1,4 @@
DIST llvm-project-08c915fa76ef91efa16df0676ed69e4fb360989f.tar.gz 179571827 BLAKE2B 856ea5787f5b3a0b3e8816ccc1a7016a5a7140da6a61544a9829625255dc7036b321b43421f4b3a21e4f0cd8a36745e5d26cb828a41c49a690ebefdff88a744c SHA512 a83121dfaad3e93bad072557715ff857eb8b912273e3a36ea13c2f6a706aa4a9233398ac56074f2cfb5de49982fb5df5e2893eddbe2fd580a51aa08a03c95e34
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@ -13,4 +14,5 @@ EBUILD clang-python-16.0.0_pre20230107.ebuild 1181 BLAKE2B 2628ec06a37f501d0fbe2
EBUILD clang-python-16.0.0_pre20230127.ebuild 1181 BLAKE2B 2628ec06a37f501d0fbe285ec294050a999816997028b0813cd68cabab97139abb229688fcdd9d496a4c045fb55907ffbe9f9861ec5cc34d41bba64f8affee89 SHA512 4df861292429fe4bdce21f387db7051172950ece21607fda3a2b11504ae93f7b301a526b2bf44c38e092d046fd6c6542a4169f641731d6197d15b45198d51089
EBUILD clang-python-16.0.0_rc1.ebuild 1181 BLAKE2B 2628ec06a37f501d0fbe285ec294050a999816997028b0813cd68cabab97139abb229688fcdd9d496a4c045fb55907ffbe9f9861ec5cc34d41bba64f8affee89 SHA512 4df861292429fe4bdce21f387db7051172950ece21607fda3a2b11504ae93f7b301a526b2bf44c38e092d046fd6c6542a4169f641731d6197d15b45198d51089
EBUILD clang-python-17.0.0.9999.ebuild 1181 BLAKE2B 2628ec06a37f501d0fbe285ec294050a999816997028b0813cd68cabab97139abb229688fcdd9d496a4c045fb55907ffbe9f9861ec5cc34d41bba64f8affee89 SHA512 4df861292429fe4bdce21f387db7051172950ece21607fda3a2b11504ae93f7b301a526b2bf44c38e092d046fd6c6542a4169f641731d6197d15b45198d51089
EBUILD clang-python-17.0.0_pre20230203.ebuild 1181 BLAKE2B 2628ec06a37f501d0fbe285ec294050a999816997028b0813cd68cabab97139abb229688fcdd9d496a4c045fb55907ffbe9f9861ec5cc34d41bba64f8affee89 SHA512 4df861292429fe4bdce21f387db7051172950ece21607fda3a2b11504ae93f7b301a526b2bf44c38e092d046fd6c6542a4169f641731d6197d15b45198d51089
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685

@ -0,0 +1,54 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit llvm.org python-r1
DESCRIPTION="Python bindings for sys-devel/clang"
HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
KEYWORDS=""
IUSE="test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# The module is opening libclang.so directly, and doing some blasphemy
# on top of it.
DEPEND="
>=sys-devel/clang-${PV}:*
!sys-devel/llvm:0[clang(-),python(-)]
!sys-devel/clang:0[python(-)]
"
RDEPEND="
${DEPEND}
${PYTHON_DEPS}
"
BDEPEND="
${PYTHON_DEPS}
test? (
sys-devel/clang:${LLVM_MAJOR}
)
"
LLVM_COMPONENTS=( clang/bindings/python )
llvm.org_set_globals
python_test() {
# tests rely on results from a specific clang version, so override
# the search path
local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
local -x CLANG_NO_DEFAULT_CONFIG=1
"${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
}
src_test() {
python_foreach_impl python_test
}
src_install() {
python_foreach_impl python_domodule clang
}

@ -1,7 +1,9 @@
DIST fakeredis-py-2.4.0.gh.tar.gz 132163 BLAKE2B fc3858eb364c63d776c81d715cbfb218dc0e763d568c97b0d1dafb0716aaf87e928f9b81bd49d28fcc235f4285277446945595d42ff1d440e5c8491b78abb6c3 SHA512 5fba3e84d0506b52e1561f750e045b6227ea21387ddb3a89b8a61e9698fc0e9ec80c4a7048d9426fb0d8e9f2acd808e7e07fcb11d14d6852d9b057fec86d6e6a
DIST fakeredis-py-2.5.0.gh.tar.gz 139911 BLAKE2B 4e9c616b0066012e1ed681d06e73390fb670969c15fa57689244147a0175dbb14ff1c312066ffdc6eb2c647f884c351a98eebfb2c1ba0e6c1bbe1e6c3553808a SHA512 aff5a8679763d4cf1717f790c7c384aa8e5056e5f175c306626f3a1671fe27aa3caf24368831033c9cf5bffa2e3e6be1104b183f3912eadf34fd6f37ea0c63e8
DIST fakeredis-py-2.6.0.gh.tar.gz 151925 BLAKE2B 60538efa5de93436177aa019908f02affb9df9b2aaf1349e933da6f066f98aaa255bbdb3297645ad1dc3b67a57a61bb8081e476f451799b512719f5779c1218d SHA512 19a23be7a182f962e66686f3c4ec3a5b9fbc847d97e48f19fde11ae268f4a70de567ff2ca302a9fe0e7080de2215698cf5b2ff2febda5eef6748f3ec8d601720
DIST fakeredis-py-2.7.0.gh.tar.gz 162784 BLAKE2B acb218c375785ad4b8419f08f9c328f33f97eedb0f13ae09b760b6c87849b3f8a4b9210fe6aea59d763b27909bff8297a009757a1f5fd9b58c1936e6705e0833 SHA512 fc11f3b59971ae50f59e9d1684827a8f4d1127813f7d55641b43b1edbb1e4c75c76aa0734ad55c98cca404c7e343a02f72644f05aceb72849ef6f18dc2418890
EBUILD fakeredis-2.4.0.ebuild 2080 BLAKE2B 8a72bc144e8edf9b1f8d55b65776364084f319b5522935665739984552f1e7622f34e15f9c1e0f9d3b7387d8f1408120bdf616fc3175c9d136cdc89270a75e3f SHA512 6e2da686bf464f1c67cfa63888c233908b27bf2d6ce84d8e99d4de23c134d456b397aec24fb235673173fae0e48e6ef0d3f156f9f02aebf2647c58e02f61e167
EBUILD fakeredis-2.5.0.ebuild 2084 BLAKE2B 4591f6e8d91b0327225bfc6a2c792eab83298682c4f713786204e570bdca3b166d37616e7729e15f8bcbaf46b2a241ebcf25ce4f3146bdba451750941d6c461f SHA512 fab3b715ef33a7ca5fed697032c74237e52c23e1ca741e03109849a992d397f58705d36f476f0d8873fe47138781d84e29a62d180b9e8715044c72f1b432303c
EBUILD fakeredis-2.6.0.ebuild 2084 BLAKE2B 4591f6e8d91b0327225bfc6a2c792eab83298682c4f713786204e570bdca3b166d37616e7729e15f8bcbaf46b2a241ebcf25ce4f3146bdba451750941d6c461f SHA512 fab3b715ef33a7ca5fed697032c74237e52c23e1ca741e03109849a992d397f58705d36f476f0d8873fe47138781d84e29a62d180b9e8715044c72f1b432303c
EBUILD fakeredis-2.7.0.ebuild 2084 BLAKE2B 4591f6e8d91b0327225bfc6a2c792eab83298682c4f713786204e570bdca3b166d37616e7729e15f8bcbaf46b2a241ebcf25ce4f3146bdba451750941d6c461f SHA512 fab3b715ef33a7ca5fed697032c74237e52c23e1ca741e03109849a992d397f58705d36f476f0d8873fe47138781d84e29a62d180b9e8715044c72f1b432303c
MISC metadata.xml 373 BLAKE2B 1de33db59658e6190cd0346be58208cae6c9143a52f49dc289e68aaa0d860b5bd68dfb54f2e0b005f60a67f5caa430e2ce94fc69e64bd27e1bbebb07ad29e602 SHA512 24bfcf4919363fef45c182b6de66221e580ee0e9e99ce46e91b767655dc0b6f8a9fa6c3512ba84d1040698c43a0b6a853ad8d63c1ee5fbc00a1d192defb24db5

@ -0,0 +1,88 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
PYTHON_COMPAT=( pypy3 python3_{9..11} )
inherit distutils-r1
MY_P=fakeredis-py-${PV}
DESCRIPTION="Fake implementation of redis API for testing purposes"
HOMEPAGE="
https://github.com/cunla/fakeredis-py/
https://pypi.org/project/fakeredis/
"
SRC_URI="
https://github.com/cunla/fakeredis-py/archive/v${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
>=dev-python/redis-py-4.2[${PYTHON_USEDEP}]
<dev-python/redis-py-4.5[${PYTHON_USEDEP}]
>=dev-python/sortedcontainers-2.4.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-db/redis
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_prepare() {
# unpin redis
sed -i -e '/redis/s:<[0-9.]*:*:' pyproject.toml || die
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# also lupa
test/test_aioredis2.py::test_failed_script_error
# TODO
"test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
"test/test_fakeredis.py::test_lpop_count[StrictRedis]"
"test/test_fakeredis.py::test_rpop_count[StrictRedis]"
"test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
"test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
)
local EPYTEST_IGNORE=(
# these tests fail a lot...
test/test_hypothesis.py
)
local args=(
# tests requiring lupa (lua support)
-k 'not test_eval and not test_lua and not test_script'
)
epytest "${args[@]}"
}
src_test() {
local redis_pid="${T}"/redis.pid
local redis_port=6379
einfo "Spawning Redis"
einfo "NOTE: Port ${redis_port} must be free"
"${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
daemonize yes
pidfile ${redis_pid}
port ${redis_port}
bind 127.0.0.1
EOF
# Run the tests
distutils-r1_src_test
# Clean up afterwards
kill "$(<"${redis_pid}")" || die
}

@ -5,6 +5,7 @@ DIST hypothesis-6.65.0.gh.tar.gz 9347619 BLAKE2B 5e67e4659d883209aefe3a459620a2d
DIST hypothesis-6.65.1.gh.tar.gz 9347804 BLAKE2B 555b8eb742b35cffbc0985394b7b830fbff0c601c031b270ffb50c8e1e8437b99c4f827b92cfc74f5239aac43b34e70520b3674129c70338ad010b289552b14b SHA512 faa1330477a5932b47af5c0b70742a81455aba85f5ba19e355a1678a23e62612a8972e510f3bd0f133491fdd5c2f293a4ea2f75e181dedaa3304d789e3bc90cc
DIST hypothesis-6.65.2.gh.tar.gz 9349189 BLAKE2B 4a36cde376a56c9eee7645c76606777e8c40144f0495a1a6f2d2d840262be26f52e077f932e90790214decfbc3fbb9b3f64add1830e451bb8e56b8c9c5ba5f34 SHA512 0955e95d9d97f44170dfc937c3ea6b43f6c4ac74dbb48e16a4998e735310f72448083382f6628b4bb9620ac0d21d6c749a5464c6a7caee24cdb7af8cd0c01dcb
DIST hypothesis-6.66.0.gh.tar.gz 9349578 BLAKE2B 3dcdd9bcca00849d68a4bf1368784099bf69e25634b7d1dae13b40be2ac67959151c1b9cdf233349197de1a0f100d57baebbeb9a691ce56ec2d81d21c9f48989 SHA512 a73648ba0b4e3a0621e843ad3ea32f3f692374b82881b096c86a9609f4f7d1a277dd5265a4104863c648c6d5ee4dbccdb1d80ffe62bcc303f837cea26f7d40f2
DIST hypothesis-6.66.1.gh.tar.gz 9349822 BLAKE2B 728b6e1cb2a28a07cae066bb2e2f8099f21f9a27dbbcc27db1c4f97f6541f60464d90344630df75eb5cea9a65e865a296dbd8b5e20bcbbc17840c92d8f269ac7 SHA512 58ddb6c2bb77064d25ace1740bc5a9ba4d4b6c311da065aa065854c19d4920ec9d70b83935e1b9d057eb10c96c4fdfb445d17c6f321578cbde449df3c5edf704
EBUILD hypothesis-6.62.1.ebuild 2132 BLAKE2B be04a23a6cc71d17c7585c98d1df3e8bf9a32c84897a5328fba61561c756d8bbcbfdcf778debfa99d3555f430f697720a1bcf083e3422d55116f5649e901ae44 SHA512 61d1b1390b920c328bbafd1b80c7f1c934f5483972bfaba692ed95cd5478bbaa62bc65438665037b6bc10b0050477c02597f2fdc9536963d6769f23cdcd5f721
EBUILD hypothesis-6.63.0.ebuild 2140 BLAKE2B 2f30425aa0adf1a75d387919c79d317184887d591f26317945b877349a9ae6e3b6305dc4fbb6734954125e704c2709859e3ea558b21326ac715947df8bc989e1 SHA512 84b885785fd94b11d69783af8a4b119bc434adbae1612687841cac5c627954c0e83480d66ec4b5e129350310a807db73f43e914b6412e4ead6808c22c40fd990
EBUILD hypothesis-6.64.0.ebuild 2140 BLAKE2B 2f30425aa0adf1a75d387919c79d317184887d591f26317945b877349a9ae6e3b6305dc4fbb6734954125e704c2709859e3ea558b21326ac715947df8bc989e1 SHA512 84b885785fd94b11d69783af8a4b119bc434adbae1612687841cac5c627954c0e83480d66ec4b5e129350310a807db73f43e914b6412e4ead6808c22c40fd990
@ -12,4 +13,5 @@ EBUILD hypothesis-6.65.0.ebuild 2140 BLAKE2B 2f30425aa0adf1a75d387919c79d3171848
EBUILD hypothesis-6.65.1.ebuild 2140 BLAKE2B 2f30425aa0adf1a75d387919c79d317184887d591f26317945b877349a9ae6e3b6305dc4fbb6734954125e704c2709859e3ea558b21326ac715947df8bc989e1 SHA512 84b885785fd94b11d69783af8a4b119bc434adbae1612687841cac5c627954c0e83480d66ec4b5e129350310a807db73f43e914b6412e4ead6808c22c40fd990
EBUILD hypothesis-6.65.2.ebuild 2140 BLAKE2B 2f30425aa0adf1a75d387919c79d317184887d591f26317945b877349a9ae6e3b6305dc4fbb6734954125e704c2709859e3ea558b21326ac715947df8bc989e1 SHA512 84b885785fd94b11d69783af8a4b119bc434adbae1612687841cac5c627954c0e83480d66ec4b5e129350310a807db73f43e914b6412e4ead6808c22c40fd990
EBUILD hypothesis-6.66.0.ebuild 2140 BLAKE2B 2f30425aa0adf1a75d387919c79d317184887d591f26317945b877349a9ae6e3b6305dc4fbb6734954125e704c2709859e3ea558b21326ac715947df8bc989e1 SHA512 84b885785fd94b11d69783af8a4b119bc434adbae1612687841cac5c627954c0e83480d66ec4b5e129350310a807db73f43e914b6412e4ead6808c22c40fd990
EBUILD hypothesis-6.66.1.ebuild 2140 BLAKE2B 2f30425aa0adf1a75d387919c79d317184887d591f26317945b877349a9ae6e3b6305dc4fbb6734954125e704c2709859e3ea558b21326ac715947df8bc989e1 SHA512 84b885785fd94b11d69783af8a4b119bc434adbae1612687841cac5c627954c0e83480d66ec4b5e129350310a807db73f43e914b6412e4ead6808c22c40fd990
MISC metadata.xml 492 BLAKE2B c9e9bbd59af55d1f47e5b7a86933c02b47f832122d03eaca56bd3ec9476cf260d91d4fd2da5068845d4525b7cc9f702b515e8d6a0dffa7923f5898cfd44e12a1 SHA512 166b33d6ac887f52d54fb9d556102038c00650a597d2de1c3aad3f8b5e136e9b6b7db31f05f3379435e4c5f943156d5839d78fc95461af411037a3162ea6705e

@ -0,0 +1,77 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
CLI_COMPAT=( python3_{9..10} )
PYTHON_COMPAT=( "${CLI_COMPAT[@]}" python3_11 pypy3 )
PYTHON_REQ_USE="threads(+),sqlite"
inherit distutils-r1 multiprocessing optfeature
TAG=hypothesis-python-${PV}
MY_P=hypothesis-${TAG}
DESCRIPTION="A library for property based testing"
HOMEPAGE="
https://github.com/HypothesisWorks/hypothesis/
https://pypi.org/project/hypothesis/
"
SRC_URI="
https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
-> ${P}.gh.tar.gz
"
S="${WORKDIR}/${MY_P}/hypothesis-python"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="cli"
RDEPEND="
>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
>=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
' 3.8 3.9 3.10)
cli? (
$(python_gen_cond_dep '
dev-python/black[${PYTHON_USEDEP}]
dev-python/click[${PYTHON_USEDEP}]
' "${CLI_COMPAT[@]}")
)
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
dev-python/pytest-xdist[${PYTHON_USEDEP}]
!!<dev-python/requests-toolbelt-0.10.1
)
"
distutils_enable_tests pytest
python_test() {
# subtests are broken by warnings from random plugins
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTEST_PLUGINS=xdist.plugin,pytest_forked,_hypothesis_pytestplugin
epytest tests/cover tests/pytest tests/quality -n "$(makeopts_jobs)"
}
python_install() {
distutils-r1_python_install
if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
fi
}
pkg_postinst() {
optfeature "datetime support" dev-python/pytz
optfeature "dateutil support" dev-python/python-dateutil
optfeature "numpy support" dev-python/numpy
optfeature "django support" dev-python/django dev-python/pytz
optfeature "pandas support" dev-python/pandas
optfeature "pytest support" dev-python/pytest
}

@ -1,8 +1,6 @@
AUX 2.1.0-substitute-files.patch 1017 BLAKE2B 70577eb950a18345804a2a4b750bd233dc6a0b6bbdb524dfc66e0f4a7c69b0eeb2d35efb9d1845d567a11d1afa7881068b4757e42b9baf24dc01ba3026608a38 SHA512 fc4c9e12267ac5f04a2e16ad27334a093638538b8149ff380099fcbeb674a276ab9eb624a508010e37f82c05d5f7ab527a80e386b3e7b61c123ecb8effd9d542
DIST ipython-8.7.0.tar.gz 5329857 BLAKE2B 876ed4e16377f2a4d1c0aa83a7e2e0dfda64100de97ff349911d10b07acf351329b0bff75bcf6085f9fadf773fa6762ed88586e1132cabf6479790a38a0bc4e6 SHA512 4652d06d1a0cf33a2b55f640d6bcc3fd9f1f644c848e869bc3807da8f4166060798ea5629fa80cc98a4a79b8ea1cde6013507eae859354a5db270b7fb3cca6bf
DIST ipython-8.8.0.tar.gz 5341086 BLAKE2B 6cab547c693494aed85c750ae566947c8035018213839c36ec906cf11c80e93269c4b861a5a4d72994bc4e5fc8f2787fd7674fdb836dad22c8c04c33d8f37de3 SHA512 18e8eaa285fe6278a27ffd2edcf4eccf629e05a8718faa721013d0433822ff8b850a2060135f26b5254a96b7ae0139e2ff4338676c08d3271a12c1b91532d7d1
DIST ipython-8.9.0.tar.gz 5454595 BLAKE2B bb091bf9c2d9571ded5e1007d9fe60d34b9b0010747759ccceee3368822e3e190766439e3dd9b26df2dbb136ed2b81bc0d89d9b8857baae6e4d86a3524c07972 SHA512 2a9df79ff26bb34866dc523e75ba8e8d8de25d510fc273cbbf762b3011e53ff5331869f1d6fc8c44df6c9a8b5745a0545fe301a556b7f20e3a3dfca994316735
EBUILD ipython-8.7.0.ebuild 4297 BLAKE2B 3e9de4b15720ee409c5dddc301acf5163799d1ce195fceca087f196412d2ba94b80ba7ad776bdbaaf2843cf56c8295c45c979e9d88045243cc4dbcf05f3b6eb1 SHA512 392ba36343857fb5022517b8fd71f820721fe6da42b5a4a086595a9bee419134d490113f6a5387bc861cb07098eeeff54be60b3ad1d06ca2f6851dbafece8a4e
EBUILD ipython-8.8.0.ebuild 4305 BLAKE2B 343245d9af78f3d203f40e896a80bf7fa5859159483e44ad169f5418081cf00cae295d499631aad39f3bfb0e248bc5a110619612272acc472f8dff4d6975b68d SHA512 01e55532a5bcfbf63d11258c683af12746ac577b6b122ae7f85347440ebd8e02745c0782604d98f92af2ae65785cc32b1785c9089ffc710c9cdc23908cea1ba9
EBUILD ipython-8.8.0.ebuild 4297 BLAKE2B 3e9de4b15720ee409c5dddc301acf5163799d1ce195fceca087f196412d2ba94b80ba7ad776bdbaaf2843cf56c8295c45c979e9d88045243cc4dbcf05f3b6eb1 SHA512 392ba36343857fb5022517b8fd71f820721fe6da42b5a4a086595a9bee419134d490113f6a5387bc861cb07098eeeff54be60b3ad1d06ca2f6851dbafece8a4e
EBUILD ipython-8.9.0.ebuild 4310 BLAKE2B 854d6548b6a63ffa85302141ec3aa6cf699253574854f1e27dc3e60b5f6d361cc05a20236927e4c0428c6b214fdc21d4fc504b7dd3b193aedda41666c052c680 SHA512 5761a8c5de0ec8076539753cfd7e06f1b65b9dca98b5d8393bd811d613fdc704af3b4137f4db17c67e84ecea6850a3b905be01fe4b584214d8d619d2640c4c58
MISC metadata.xml 2886 BLAKE2B 88c80f5eef5c89c8939e60c1944be4c63a5a318e55a3490b38bf864e7919debf8e3c3a32f1fa0a43766ceec6462fb20fd4d943194fe2c08208f0839783c20916 SHA512 f4ed7c1898930ade11983fb0666dc25dce7907f017145e1ad903651dcd95ead2734893d55b4548c4ae23425388485a86bffc9d885eae17d12ae1ac2c0058aac2

@ -1,156 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
PYTHON_REQ_USE='readline,sqlite,threads(+)'
inherit distutils-r1 optfeature virtualx
DESCRIPTION="Advanced interactive shell for Python"
HOMEPAGE="
https://ipython.org/
https://github.com/ipython/ipython/
https://pypi.org/project/ipython/
"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-python/backcall[${PYTHON_USEDEP}]
dev-python/decorator[${PYTHON_USEDEP}]
>=dev-python/jedi-0.16[${PYTHON_USEDEP}]
dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/matplotlib-inline[${PYTHON_USEDEP}]
>=dev-python/pexpect-4.3[${PYTHON_USEDEP}]
dev-python/pickleshare[${PYTHON_USEDEP}]
>=dev-python/prompt_toolkit-2[${PYTHON_USEDEP}]
<dev-python/prompt_toolkit-3.1[${PYTHON_USEDEP}]
>=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/stack_data[${PYTHON_USEDEP}]
>=dev-python/traitlets-5.0[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
app-text/dvipng[truetype]
>=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
dev-python/matplotlib-inline[${PYTHON_USEDEP}]
dev-python/nbformat[${PYTHON_USEDEP}]
>=dev-python/numpy-1.20[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/testpath[${PYTHON_USEDEP}]
)
doc? (
>=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/sphinx-2[${PYTHON_USEDEP}]
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
RDEPEND+="
nbconvert? (
dev-python/nbconvert[${PYTHON_USEDEP}]
)
"
PDEPEND="
notebook? (
dev-python/notebook[${PYTHON_USEDEP}]
dev-python/ipywidgets[${PYTHON_USEDEP}]
dev-python/widgetsnbextension[${PYTHON_USEDEP}]
)
qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
smp? (
>=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
>=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
)
"
PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch )
python_prepare_all() {
# Remove out of date insource files
#rm IPython/extensions/cythonmagic.py || die
#rm IPython/extensions/rmagic.py || die
# Prevent un-needed download during build
if use doc; then
sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die
fi
# Rename the test directory to reduce sys.path pollution
# https://github.com/ipython/ipython/issues/12892
mv IPython/extensions/{,ipython_}tests || die
distutils-r1_python_prepare_all
}
python_compile_all() {
if use doc; then
emake -C docs html_noapi
HTML_DOCS=( docs/build/html/. )
fi
}
src_test() {
virtx distutils-r1_src_test
}
python_test() {
local -x IPYTHON_TESTING_TIMEOUT_SCALE=20
local EPYTEST_DESELECT=(
# TODO: looks to be a regression due to a newer dep
IPython/core/tests/test_oinspect.py::test_class_signature
IPython/core/tests/test_oinspect.py::test_render_signature_long
)
# nonfatal implied by virtx
nonfatal epytest || die "Tests failed with ${EPYTHON}"
}
python_install() {
distutils-r1_python_install
# Create ipythonX.Y symlinks.
# TODO:
# 1. do we want them for pypy? No. pypy has no numpy
# 2. handle it in the eclass instead (use _python_ln_rel).
# With pypy not an option the dosym becomes unconditional
dosym ../lib/python-exec/${EPYTHON}/ipython \
/usr/bin/ipython${EPYTHON#python}
}
python_install_all() {
distutils-r1_python_install_all
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
}
pkg_postinst() {
optfeature "code formatting" dev-python/black
optfeature "sympyprinting" dev-python/sympy
optfeature "cythonmagic" dev-python/cython
optfeature "%lprun magic command" dev-python/line_profiler
optfeature "%mprun magic command" dev-python/memory_profiler
if use nbconvert; then
if ! has_version app-text/pandoc ; then
einfo "Node.js will be used to convert notebooks to other formats"
einfo "like HTML. Support for that is still experimental. If you"
einfo "encounter any problems, please use app-text/pandoc instead."
fi
fi
}

@ -19,7 +19,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test"
RESTRICT="!test? ( test )"

@ -1,3 +1,4 @@
DIST llvm-project-08c915fa76ef91efa16df0676ed69e4fb360989f.tar.gz 179571827 BLAKE2B 856ea5787f5b3a0b3e8816ccc1a7016a5a7140da6a61544a9829625255dc7036b321b43421f4b3a21e4f0cd8a36745e5d26cb828a41c49a690ebefdff88a744c SHA512 a83121dfaad3e93bad072557715ff857eb8b912273e3a36ea13c2f6a706aa4a9233398ac56074f2cfb5de49982fb5df5e2893eddbe2fd580a51aa08a03c95e34
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@ -13,4 +14,5 @@ EBUILD lit-16.0.0_pre20230107.ebuild 877 BLAKE2B e0fb3eb26a481420f154c6c7306824e
EBUILD lit-16.0.0_pre20230127.ebuild 871 BLAKE2B cfd84e2b4e947055d576f1970754ba57228622c3a77d9c599392547b8bb3fb48165a69befde4e8e451cabb92b44917627f15bff46df91aa8825c2ac2c3289daf SHA512 13a9fe1650882edc1439217e401a5b2f0ca0886e44880d7cfcd1b7efda9b29441256a21e5cf0c65af719b0417f7612db0246e76cefe6c41b2442389f7c71b9cf
EBUILD lit-16.0.0_rc1.ebuild 877 BLAKE2B e0fb3eb26a481420f154c6c7306824e929cbea060ec0e28c28991c39f86f756ee5d004abf6c76775975e053a588df73b2fd121a55617621c8a179899adecb41d SHA512 9799e40aa5ad07879a049777666963e225ffc97618fdae22869e8c8a648b0e33554859c525fad2307e23b96616bf24847c1ad7aa3e69353927c03f975b3bcbb8
EBUILD lit-17.0.0.9999.ebuild 871 BLAKE2B cfd84e2b4e947055d576f1970754ba57228622c3a77d9c599392547b8bb3fb48165a69befde4e8e451cabb92b44917627f15bff46df91aa8825c2ac2c3289daf SHA512 13a9fe1650882edc1439217e401a5b2f0ca0886e44880d7cfcd1b7efda9b29441256a21e5cf0c65af719b0417f7612db0246e76cefe6c41b2442389f7c71b9cf
EBUILD lit-17.0.0_pre20230203.ebuild 871 BLAKE2B cfd84e2b4e947055d576f1970754ba57228622c3a77d9c599392547b8bb3fb48165a69befde4e8e451cabb92b44917627f15bff46df91aa8825c2ac2c3289daf SHA512 13a9fe1650882edc1439217e401a5b2f0ca0886e44880d7cfcd1b7efda9b29441256a21e5cf0c65af719b0417f7612db0246e76cefe6c41b2442389f7c71b9cf
MISC metadata.xml 340 BLAKE2B c9ca851e49b4ab48c015686e983ec988f60c34ed0af77abd7bc03d046002f79f74b9b463ecb97db89f2230c1593af7acdaf6651fc51fed4aa92a459d07aabf18 SHA512 3fe8262ce6b971364162fbdbac3b02bf02f0a64896c8a2564e2a2998bd6e6bc74463bf9104e3f4ffaa9f5c1a16c877fc864b8a4f056ca0022f741799bc00f217

@ -0,0 +1,42 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1 llvm.org
DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
KEYWORDS=""
IUSE="test"
RESTRICT="!test? ( test )"
# Tests require 'FileCheck' and 'not' utilities (from llvm)
BDEPEND="
test? (
dev-python/psutil[${PYTHON_USEDEP}]
sys-devel/llvm
)
"
LLVM_COMPONENTS=( llvm/utils/lit )
llvm.org_set_globals
# TODO: move the manpage generation here (from sys-devel/llvm)
src_prepare() {
cd "${WORKDIR}" || die
distutils-r1_src_prepare
}
python_test() {
local -x LIT_PRESERVES_TMP=1
local litflags=$(get_lit_flags)
./lit.py ${litflags//;/ } tests || die
}

@ -1,5 +1,3 @@
DIST python-neutronclient-8.2.0.tar.gz 305020 BLAKE2B dd09015fcc91028300c4185f208a7d532734c3b4ce1a616855eda6a25afb73be620548301ba7e42144a9ce33983c7966818f43f5cbbfbb8695b61c837d89831f SHA512 b8ff0b143bd4f8d99c5e8778e6669a80231f81dc353674a1d9964df53db9b49a0347d613f9d9c13b8e8ac355d2b50795cc27712cab2d798963ae0e8d5e4a5564
DIST python-neutronclient-8.2.1.tar.gz 305119 BLAKE2B 75c75594a9050f7d78921eb72a85ab216862c2c00ce622c5392cc089b9611aa7ce48650eabfe71ea14a8329c10cc4922b8de982e79f238663d8f315c7b0e99cb SHA512 dc5e0e0a0d16ece56993b316db5fe93c8c5c9c50407229900fb4f21cd049e1d7d7ddd01f04b5a7b2e9d0c4623c94079a7fa8568068b30768ac3e2a51464a20a5
EBUILD python-neutronclient-8.2.0.ebuild 2283 BLAKE2B 0f63e5309aefa60e3c95669bb9f6ae8a6aeb8e0b211b38a557aefd1be0956fd727970299a8d51452f5f87b07d7069a6a5e442ff25556f65c5ede6cbfe996b498 SHA512 ba23bcc2895d93f4a33ab7403d377bbf565632aefb6e55aefb1e1dff647ea394237c62081f967298b5f2eec0ad5f358f2100e8df85bfeee2e4a6778276d1cd85
EBUILD python-neutronclient-8.2.1.ebuild 2285 BLAKE2B c8d963f90d64a2a31c5270f2072f515b111fe95f53ace5c84dd07ae46683b37b272645fb1acdcf65f19e423a123564550d4ad63958bed1d49bc9a84f775d1882 SHA512 4819c1f57bd7a65062a7c7055558a66d2a53712b93fa3374d791ff98ec2bc07d5db05c34ccfd6e8f5d6e1af42be215c569163abd385d6b31178ccb46da2b1151
EBUILD python-neutronclient-8.2.1.ebuild 2283 BLAKE2B 0f63e5309aefa60e3c95669bb9f6ae8a6aeb8e0b211b38a557aefd1be0956fd727970299a8d51452f5f87b07d7069a6a5e442ff25556f65c5ede6cbfe996b498 SHA512 ba23bcc2895d93f4a33ab7403d377bbf565632aefb6e55aefb1e1dff647ea394237c62081f967298b5f2eec0ad5f358f2100e8df85bfeee2e4a6778276d1cd85
MISC metadata.xml 645 BLAKE2B 7c6f6fa18789cbd9334a7d611b47f5d2b9b0110a2c15cfcd50b95a4be593e8d5c7fa5d53a2db8a82c68c6e9f75db668cef4b4dfa7aa446f4cada0db80a669acb SHA512 035c9734f11c8b8d1edad8991c527d51060f58a171dbacd26c62a37cf8b061df318fad31ca352c17116e77e7e2338a85cfd8ee8550b10a2f93eb7ca3be3fd192

@ -1,73 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{9..10} )
inherit distutils-r1
DESCRIPTION="A client for the OpenStack Quantum API"
HOMEPAGE="https://launchpad.net/neutron"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
>=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
>=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
>=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
>=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
>=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
>=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
>dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
>=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
>=dev-python/keystoneauth-3.8.0[${PYTHON_USEDEP}]
>=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
>=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
>=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
"
BDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
test? (
dev-python/bandit[${PYTHON_USEDEP}]
dev-python/fixtures[${PYTHON_USEDEP}]
dev-python/oslotest[${PYTHON_USEDEP}]
dev-python/python-openstackclient[${PYTHON_USEDEP}]
dev-python/subunit[${PYTHON_USEDEP}]
dev-python/requests-mock[${PYTHON_USEDEP}]
dev-python/testtools[${PYTHON_USEDEP}]
dev-python/testscenarios[${PYTHON_USEDEP}]
dev-python/tempest[${PYTHON_USEDEP}]
)
"
distutils_enable_tests unittest
src_prepare() {
# Needs osprofile
rm neutronclient/tests/unit/test_http.py || die
distutils-r1_src_prepare
}
python_test() {
# functional tests require cloud instance access
eunittest -b neutronclient.tests.unit
}
python_install() {
distutils-r1_python_install
# stupid stupid stupid
local SITEDIR="${D}$(python_get_sitedir)" || die
cd "${SITEDIR}" || die
local egg=( python_neutronclient*.dist-info )
[[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
ln -s neutronclient quantumclient || die
ln -s neutron quantumclient/quantum || die
}

@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
RDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]

Binary file not shown.

@ -1,3 +1,5 @@
DIST acts_as_list-1.0.4.gem 40448 BLAKE2B ac0d9e29006c052b1f421fc734d19390942fcb1eb68d33ed67944bf9bcf1dc8b73c813a2ee8ae6b358f74e019bf36d200e6fe44e01391dff68041d5263b907b1 SHA512 45cc3a2ddc3bdf245819bfe62c39cea5e9b96bf63b3e817adae2acadcf7b51f47379ae9bf1c2c1cfd6a1dc70d7279f44e0a932c838fa93fa4a0c3b9dcbcd46ea
DIST acts_as_list-1.1.0.gem 41984 BLAKE2B abeb0325795276294451b4cb86e20dab6871003c72679ce28f9326cd844234ad56457a03d9b9ecd81b8c143deeefc25dd15df88a38ebdd1324a953b2399465e7 SHA512 bdcaf07bc4ad3854d68c8d95e666e86c2500474ffa212c315b6b4abd321341ac782c0e301f2c859c12b80ecfdd1cc743ccf8a7bdbdb36e30fafcd98d4928a00a
EBUILD acts_as_list-1.0.4.ebuild 905 BLAKE2B 87aaed0b79f37ca049380f15e133c811741efb65d51a16512a8ff71043139b6ba69b1276ee4d895bafe6f8bf8b902eaf5501791a3f5e58638590e80cf82e5be7 SHA512 bf0af82c1ca30cfe0e473a68e92ab9056ed21a1833fc9adee8a912a97340ace545ec2a147fc54cd2fe6963617608406e0cffae4c2e47156d0b91fa8c2da605e0
MISC metadata.xml 348 BLAKE2B 25ff642ea63d5e8510ab121b0ca9a8fde0fd03d2281238dc4ed2b95111fa370e42ca59c43a64aeb8d1e3fee08e6305c71dce2a874d0d6fdab34ac5aae3572cc0 SHA512 755674a197b6b9a21683586098d059e82e3640b03ab5f0d11322c9bee68e2b2a2b843c8136638f36f2f4a8e98ab4594e1e8e9390b975fb6f7b17134a1fdf960f
EBUILD acts_as_list-1.1.0.ebuild 904 BLAKE2B 20e22824ff06f1a3f9ca37ab8330c31dcd62a1eaa1bdc4a870cdc6bef68b84e0160f1a82cc580c54cf792bc0132a7c41d10ebdf063257e2114f7707cfc38a073 SHA512 a3f18da56beff465dbb3970e7c59d1a113a8c88ffcd965c0a73710ca87fd7fe5ae9e8de6e7a68f1855ee98c4533cbf3c5a77db6775867667fe0dfe13960530fa
MISC metadata.xml 347 BLAKE2B 2d2ba105cf2f5b444977deadbfe99bc236c4a5a2ee227ebc72215161b9cd9dc0decb036f71205ced7560adffcb55c7bba220163d4a24b6113f8e54241615d7d3 SHA512 64a245beb42b2c7e87ba21faa689a45ea32b2222f675b0b3e72cf666bec981a74d62e60cd1090a304309bbc6d516cc4170b70dd71137bf0fa4b0e59211d60665

@ -0,0 +1,38 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby27 ruby30 ruby31"
inherit ruby-fakegem
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
RUBY_FAKEGEM_EXTRAINSTALL="init.rb"
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
DESCRIPTION="Capabilities for sorting and reordering a number of objects in a list"
HOMEPAGE="https://github.com/brendon/acts_as_list"
LICENSE="MIT"
SLOT="3"
KEYWORDS="~amd64"
IUSE=""
ruby_add_rdepend ">=dev-ruby/activerecord-4.2:*"
ruby_add_bdepend "
test? (
dev-ruby/mocha
dev-ruby/test-unit:2
dev-ruby/timecop
dev-ruby/activerecord[sqlite]
)"
all_ruby_prepare() {
rm Gemfile || die
sed -i -e '/[Bb]undler/d' Rakefile || die
sed -i -e '/bundler/,/^end/ s:^:#:' test/helper.rb || die
sed -i -e '/git ls/d' ${RUBY_FAKEGEM_GEMSPEC} || die
sed -i -e '/github_changelog/,$ s:^:#:' Rakefile || die
}

@ -6,6 +6,6 @@
<name>Gentoo Ruby Project</name>
</maintainer>
<upstream>
<remote-id type="github">swanandp/acts_as_list</remote-id>
<remote-id type="github">brendon/acts_as_list</remote-id>
</upstream>
</pkgmetadata>

@ -1,7 +1,9 @@
DIST commonmarker-0.23.5.tar.gz 165248 BLAKE2B 2d29a0ece01b5000bbb7192133e6abd0bf50281e90ae1d7036ffc49d8576bf378845c782d65b462274b4586b99ee3f46b7312cd0d0ac71456de9a4dacdccb8c3 SHA512 ccc76f0a2eb40d547e604cb4d10b922eceab40a0d0e07f00c60a5b307f3dcb74984274b231c38fe3ba97c892dea54fd325486ba20aa2b0087e99d6bca3e3845c
DIST commonmarker-0.23.6.tar.gz 165548 BLAKE2B b580390211986e60cd682efb8fe39cea82fb50f76299675a068e37749635383a6d1d6391a093a9f399664ebeeff2e2b456f85752157c632e338ab52e64e18659 SHA512 540bb1831c19ea0924372c9f4be506828e057d4df1a2eb351e44437b45cd9cedd7df9014b09e34108663a31677ef14a4128b5ac9f8a34137bd1842e07654dedc
DIST commonmarker-0.23.7.tar.gz 171255 BLAKE2B d6d5e90aeed955d4305bc2aef9a3db9e540a35690cf90e2ef1cd7ba1f829043e139cd3c8819858e56accda6de3088e9a38394676a6248bb1d9642d41282b61c9 SHA512 c15db5904c449a01d7e4a417d431a2f12722ca5524fad019d6bddb75dd59323174973d8d30920f4783163739570ddf81abb06246f3fed0635dea4ce4625a0679
DIST commonmarker-0.23.8.tar.gz 171412 BLAKE2B 95f5fa8314af31dfe97bb8bad9eb6c57dc2e02f1b710c7f50e4500e3cad978b0b44e7a1104386d0cf0742e2d896208ced2a8f205c30ffbf4e444b991586b5ab8 SHA512 3e73ef5505804cbeb8190472f3ca8dc7f199de0ca410df35ab5e9948e94ade59670130f829218f6f2d39c3a6f41a9cb149f9aefc6c8f72443441ec66e642cd1e
EBUILD commonmarker-0.23.5.ebuild 1157 BLAKE2B de1de03bd0529b0cc93391aeb1add65200ba98c2fbec468fd13d86c2758c8f8e0e3e6fc51381b12317d56980969b1a0d349917319f8cb98e2d2ee93a4d88ad50 SHA512 239dcb336b78f5ec1ffb4c9af908cb7b07fc8e1ac17d0b39500e78625a93e31717f619a89947035a59baa717661a43b524f8ce7553fb5df0380b4630ea12bad9
EBUILD commonmarker-0.23.6.ebuild 1157 BLAKE2B de1de03bd0529b0cc93391aeb1add65200ba98c2fbec468fd13d86c2758c8f8e0e3e6fc51381b12317d56980969b1a0d349917319f8cb98e2d2ee93a4d88ad50 SHA512 239dcb336b78f5ec1ffb4c9af908cb7b07fc8e1ac17d0b39500e78625a93e31717f619a89947035a59baa717661a43b524f8ce7553fb5df0380b4630ea12bad9
EBUILD commonmarker-0.23.7.ebuild 1157 BLAKE2B 2f5de5ded7e6b72f687595ad4a0cbda63832f592a9c8a6c82949442571a77ebe13cab399b5e80c53af1989b0ce9374140d568ccfd0e8ce0198b7b0bec3b4ad71 SHA512 256d6501847d8c80be32e1a75b91856bade8e72b22cad8cfbc8e5083fcdd7ed9fdd8425f3e24071f8c8ce0d9468d3d4256c84ea6fee8b361f9185b1b416e75cb
EBUILD commonmarker-0.23.8.ebuild 1157 BLAKE2B 2f5de5ded7e6b72f687595ad4a0cbda63832f592a9c8a6c82949442571a77ebe13cab399b5e80c53af1989b0ce9374140d568ccfd0e8ce0198b7b0bec3b4ad71 SHA512 256d6501847d8c80be32e1a75b91856bade8e72b22cad8cfbc8e5083fcdd7ed9fdd8425f3e24071f8c8ce0d9468d3d4256c84ea6fee8b361f9185b1b416e75cb
MISC metadata.xml 340 BLAKE2B 3536acbd013ad07c27f5c6ccdada3ffffb5f259aedaeb4ee5a89ec1921f49939177a7162165c2b90336a87393d08f49cb62857cfa3ab551d12a37843863b56e0 SHA512 5f5eab450ffbdbee075545d8a97a2b3bcc6ed997aad9bf7e1b3c31e6368a7c5383704bdce32eea086b027b7c3e27accd3e2d3329977f357570e8eb767a043526

@ -0,0 +1,41 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
USE_RUBY="ruby27 ruby30 ruby31"
RUBY_FAKEGEM_EXTENSIONS=(ext/commonmarker/extconf.rb)
RUBY_FAKEGEM_EXTENSION_LIBDIR="lib/commonmarker"
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
RUBY_FAKEGEM_GEMSPEC="commonmarker.gemspec"
inherit ruby-fakegem
DESCRIPTION="A fast, safe, extensible parser for CommonMark, wrapping the libcmark library"
HOMEPAGE="https://github.com/gjtorikian/commonmarker"
SRC_URI="https://github.com/gjtorikian/commonmarker/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="$(ver_cut 1)"
KEYWORDS="~amd64"
IUSE=""
# app-text/cmark is bundled in a modified way and integrated with the gem code
all_ruby_prepare() {
sed -i -e '/focus/ s:^:#:' test/test_helper.rb || die
# Avoid tests depending on unbundled cmark specification files
rm -f test/test_{spec,smartpunct}.rb || die
}
each_ruby_prepare() {
# Use current ruby version
sed -i -e '/make_bin/,/end/ s:ruby:'${RUBY}':' test/test_helper.rb || die
}
each_ruby_test() {
${RUBY} -Ilib:test:. -e 'Dir["test/test_*.rb"].each {|f| require f}' || die
}

@ -1,5 +1,7 @@
DIST concurrent-ruby-1.1.10.tar.gz 6013684 BLAKE2B d271579a49ab52c9c41a7a0a31451775e1cba8ce19486b52a9eb3df7abbc66f7610d31284fc02747a8ee5f429983d8283b6fe92f22b911dcda5bc515da58b48f SHA512 cfb67ce806d1f2a5bae509806247bfefb05c56794741cedcaa7ab6ff708085e374d150e8f46ff8e04dcb0918fde8ab5a593c60550da9ff6dc00af116e123f064
DIST concurrent-ruby-1.1.9.tar.gz 4923746 BLAKE2B 2bfea989db31f17c69ee479091135516e2aeef7ac74234ccea91b2e4b3626395683a7b2ebba1d13cb527903d3d83c51e873bdb859f0ff1983062fea4fa90a1e4 SHA512 243fc20795bcd7399bdf77a9b0db9b0bccb1b05edacf4fbc8f5515f59502300b4033a2a59bfb6adea9befdb20759c9f58bbf0e7744e934c85738085bef714ea6
DIST concurrent-ruby-1.2.0.tar.gz 1160662 BLAKE2B e05df20596930d46781d718ebcd90c8326d78993ad15a7b7c804e0852bdfb66a955314769c8abdef9bc59c6fb249d81c6f48058751537a399da5846ded97dcbc SHA512 c6dc1a84ac4b176644481c2431d67b2b7e0a47fcb9e3fc3fa0b4ddd102ef65d1d02d5aff2784bb55a194f01a4a5294fc26944da16dea550934a6950caee54a31
EBUILD concurrent-ruby-1.1.10.ebuild 1396 BLAKE2B 15974663f6284c0f4e430be9b3e87cfdc9b77b8edf8a0f1a4e163a774ad2f343f8a8b2d62067fe34ee34c0172be70b3cc6881574c1c09ebadd05ea37be6ee034 SHA512 9d67ecbbc1a06dbbfd3c68cefb87a002182fdb2e242c07f999d8043dcf3e990a1488c0640e544a03676cd3ab5308f3b35e3f5547cbdfc7d0e5982cf915bda18c
EBUILD concurrent-ruby-1.1.9.ebuild 1369 BLAKE2B d8cf99b8b1d9111d543188ebd016aa609ade7127cff9fa5ff09d3d4937d3fd49a1b0a3b512199c8b8e855b0a003072283bf58bd2e22c3520ac1b4ec9433ee2c4 SHA512 57b2a1eaf4ac68757cde40e68cb445dcdd56c6ecdac76cfc4174a063565ac91366568a7e9b38d8904a0caf922ae638d6c66bddfac24479a9816e95e4eb3d40d6
EBUILD concurrent-ruby-1.2.0.ebuild 1400 BLAKE2B aaeb752d5eb915a31daf1f25e332efbadc63ec439a1a0960eea2be438adf33966cdf1c36a305f14c99d522c92175954a3de1fcea1e19fd72c6b0fcee2d999bb3 SHA512 7f4053e5f869f80caf23ae909e27f715ec98ef31a05a8a0ef90cbdbb05816d98b710f9c59bb195a2ba56be85eeaf3c8532780fec0d78bb102ba4491be8367c00
MISC metadata.xml 359 BLAKE2B 2db8e9c1e575575ead6e6f86d5c883e356dbd84d3def08d6d2b9473e8cb10951268bd85208f56b14047b6bf57388e025f4ad626555d001d266bb0a87db954f45 SHA512 39f31f985f90fb6514f2c282c01a0d38e325371ec18671dda808372891caa83eb28a6eaf0a3090999a0427e5ca6cf3ba5f75b59e86b0e8713dc85ff3a6eacb68

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save