Sync with portage [Thu Aug 25 13:00:00 MSK 2022].

master
root 2 years ago
parent cf2ceee113
commit 43ea05ab46

@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
MANIFEST Manifest.files.gz 29579 BLAKE2B cda7567b66f9e8d89d9a62d6866e638c523872f15794127b4c02ef5cdfdfe0ac96e2d3fb28ad9948beb27a5fed80f240f25bc2edd91e06555620896fd9083fd6 SHA512 c121fbdd408f68e6c049c115ef6ea7a446ce83539623d3defdb4a664331679bc371a89c3bd9d23ca8464134bc1f39925660a2f223704f9d061b687f6486ccd8d
TIMESTAMP 2022-08-24T13:09:55Z
MANIFEST Manifest.files.gz 29555 BLAKE2B 30a8e03702ff6d133a6e2d8d082cffaf1fb41af203b9fcfc8023c2e25050c7b4234e0f4b447ac637040843d2136ce8494884af62d0754b3113c75154875723ee SHA512 1ee860952b597726ad9a62a301288fc4c44eafff39fecff00ffcf4edb1dfdaa32f6daf80953123eb2878bbefd4bcd06dcafa74122186270e682e676ee00f437f
TIMESTAMP 2022-08-25T09:10:01Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmMGIyNfFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmMHPGlfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klCc9w/+LBiE5ABkN/JxemkJDk7emolE4YVa/GMZ8ScOAHxph1yDBQOCkgf1VucL
Uf1KkgL7tIxrGf+HuEnuXruTHGEh5TITeHNm4uZJ4EZa8ywP6UJJDIyqgwOGro5P
rUJvC23nXsD0leuM1DblwMmnZpK3UKrxlRePpI9OZUniZeTOzpGkUQFIu8N4mIvk
5tBKp+fHPrRtx86CQFwSmOh/zI2LYlO+vO/MXSpF7Ox8zY8I8tGN0vd/nPBp4abR
bZK8yiqMs0JaMtRwbqWLg+j7cud200zlmlOrJfU7inVYY7ZeHineDWeGEio37DHY
9wvRQyasJcDdntyJJCbAkQ/dtWgnFDSztENmME26lkn8BdZDrSXZvbK60XNlAvSw
5441zzAgLXt4w8YiQZoHLOoIrvNaBIvMpnvTkjTd88fAL/pKAlNt4OchpdvYLwck
S3xmkRyRV2RKezOZr/bGNDd+BhO6FIJ5p3ULvxGIpvwl4z8soIlmqqjxMm9XGc66
FM3craI+5BNMZpoYpoQ89Rit4or90ZibUa/6KhSu8x2X8F6dFMzdUWnvDDEx9gre
yCa1hM4d/GBjaExbYqCz80ek2fQScRmbDlFc2mrBFf1NqHH/7Yw+09KdRHC49Pmn
vXXhgUVDm7S2gDIAydLWEBGg7yuKVhXX8zVC0MFyk0D4irsCJQk=
=A9+B
klBAixAAnkaYZJI/xPEKX/eiHbC6w0AY6ahg6vJwUOakVshdaEnjB8++Lwkl/BZZ
ERaf1BdunNIpsfs5fwJTqRs/ClOWwD7LP3K/A2qApRug5L+v6wEKJTkLo0i0R4nB
bJHRMCtaLvqa0fAy1wUhaGmy+lWYv/rT73Vc22IKgKvGdOneLDMiPGsiVdGSLBbp
dQj9aXbiIdWfvHk3qcJ6bHQa9l2uH9avINsQBNSfjTLzGMe0hi/YDHGsCFrknSbj
iYn0A4goIovXE5yZfw0uJAxJRjj13pV0SADId7+X9z5BVYQWC3TQPDpKG32JLQJC
Ypf/a0dY022TLXeA3Q2FJlcV027JYYYwWLpSbvnnLZ0Yyox/jaezyHSCbLm0LA8s
mgDdRnUcLNv59C3ePzNK0d00i+ms+Q8qYI3ixj607+fnmzgrDD/zuzx85yguNoUS
3XkALr0AVIk7T6FrprUeTIt93fiKvB9y1codOKxVxcP+t/AqLeGQCl2zG4X2tfnX
zDH04pGNqn8N1t4yER/qRzCL5iqe3aQzAGXjWqzVvKLeSMGmwpxymFSFmahZCdCf
IJk66Ce3TAKVTmGulAanb1ss4cLjHrSNU1h24q/9Jj3MjgL73mcGhXyJQYhq6ExN
o0L1q2GjNfn+9Do7w+DjPQPI9EQU7AdYf3s40+Not6bh+mH6HJk=
=Gnyw
-----END PGP SIGNATURE-----

Binary file not shown.

Binary file not shown.

@ -11,6 +11,7 @@ DIST aws-cli-1.25.54.gh.tar.gz 2252442 BLAKE2B 7f3f55af39f52be60daa039c42cd494a8
DIST aws-cli-1.25.55.gh.tar.gz 2250376 BLAKE2B 21a61086d4eb737229990fbcacdde652e8bd94e146a027dbdcc8fcc8ab005f6dcd4525625276df196408da3d11e0c215c602df4cf298fea3f12f6bd923f7f191 SHA512 e53997ae7475fb125e08bab90ac63b49723abd7ff66312d15145ca452c806986237f8e20fc6cb467d4654087a288b0835fcec48f7be6ec8795e90345a0983ef5
DIST aws-cli-1.25.56.gh.tar.gz 2252989 BLAKE2B a082d42bd9ebaa858a3464bf885ba86a6f0f1b75d6ec89f9d6f1ab04dc753cf13cc6f7ced64cca35f8ddc460d589b44caa483c9d94bccb5b028c921fe7b970c0 SHA512 3a0fcd505b8a0c4fb322d2d39cc0ec3add977eb7ede14d7ff9fa3dd25b92e0e0d97128b73b6c32588d7e48344283c8c3eac293ea6cd470ea4feda1d1bf124e1b
DIST aws-cli-1.25.57.gh.tar.gz 2255779 BLAKE2B dddfd580d8af048111001151f3a28470d41026e21d4e9d3ec04972cc2d865c1670e306070114017911949ee8044a2a7840aa25374992721fc77fb045eb2cb9b0 SHA512 2b477f760ddba30a1d0f40dfc289ed84a96cf25a989cf5bc06a6e6432399f202f4418d8554f5892123e2b8a406f99ed2a5137204ba5f65d438a451badf0188be
DIST aws-cli-1.25.58.gh.tar.gz 2256521 BLAKE2B 752581d8e6cf82fa5a77f8b530d1d267f55888f0843affb580420267393d81e259e945bd527441be0a5973abeee29dfdd544750c9571b3ea9cd1caa0e4cfe72b SHA512 28a041e2c703723de972763965c25ad639a03eaa72c3e487d75c9471386eb35baa16eea775f623adc74675784830f9d1acdb060800e4eafd1be0c317bcca99b5
EBUILD awscli-1.25.36.ebuild 1834 BLAKE2B 8dd7abd62571c499386dcc73967b693b028c094797cb10c43b7719b7ad2af01e683c056e9888e6ab6119204362dd2e61b6a465d3d115045130075d54c16295aa SHA512 84785cb46646fc3c97a504a712db51fc68d92739732fe696c1d5e198b99fc5665776629400cb99cb17fcebc47f6a426cc3678c827ebf28912854b8f9b5960906
EBUILD awscli-1.25.41.ebuild 1836 BLAKE2B dae7d5415e625d711cf8b71492dfe80e2ffe77da7c538f4a7b04e2777c942973ad985fdb2f65a96511ce7486c3a4e78daed6110194672b19651191f7db2f484a SHA512 8454d269cfbca202e068c39704fdf48b9e21985e6ee1e825399620585707d315c867ef26f9726c2d8b8f55054980bd5f8e88ffaa0ed8cf45a4eedb5c410325d2
EBUILD awscli-1.25.46.ebuild 1836 BLAKE2B dae7d5415e625d711cf8b71492dfe80e2ffe77da7c538f4a7b04e2777c942973ad985fdb2f65a96511ce7486c3a4e78daed6110194672b19651191f7db2f484a SHA512 8454d269cfbca202e068c39704fdf48b9e21985e6ee1e825399620585707d315c867ef26f9726c2d8b8f55054980bd5f8e88ffaa0ed8cf45a4eedb5c410325d2
@ -24,4 +25,5 @@ EBUILD awscli-1.25.54.ebuild 1836 BLAKE2B dae7d5415e625d711cf8b71492dfe80e2ffe77
EBUILD awscli-1.25.55.ebuild 1836 BLAKE2B dae7d5415e625d711cf8b71492dfe80e2ffe77da7c538f4a7b04e2777c942973ad985fdb2f65a96511ce7486c3a4e78daed6110194672b19651191f7db2f484a SHA512 8454d269cfbca202e068c39704fdf48b9e21985e6ee1e825399620585707d315c867ef26f9726c2d8b8f55054980bd5f8e88ffaa0ed8cf45a4eedb5c410325d2
EBUILD awscli-1.25.56.ebuild 1836 BLAKE2B dae7d5415e625d711cf8b71492dfe80e2ffe77da7c538f4a7b04e2777c942973ad985fdb2f65a96511ce7486c3a4e78daed6110194672b19651191f7db2f484a SHA512 8454d269cfbca202e068c39704fdf48b9e21985e6ee1e825399620585707d315c867ef26f9726c2d8b8f55054980bd5f8e88ffaa0ed8cf45a4eedb5c410325d2
EBUILD awscli-1.25.57.ebuild 1836 BLAKE2B dae7d5415e625d711cf8b71492dfe80e2ffe77da7c538f4a7b04e2777c942973ad985fdb2f65a96511ce7486c3a4e78daed6110194672b19651191f7db2f484a SHA512 8454d269cfbca202e068c39704fdf48b9e21985e6ee1e825399620585707d315c867ef26f9726c2d8b8f55054980bd5f8e88ffaa0ed8cf45a4eedb5c410325d2
EBUILD awscli-1.25.58.ebuild 1836 BLAKE2B dae7d5415e625d711cf8b71492dfe80e2ffe77da7c538f4a7b04e2777c942973ad985fdb2f65a96511ce7486c3a4e78daed6110194672b19651191f7db2f484a SHA512 8454d269cfbca202e068c39704fdf48b9e21985e6ee1e825399620585707d315c867ef26f9726c2d8b8f55054980bd5f8e88ffaa0ed8cf45a4eedb5c410325d2
MISC metadata.xml 334 BLAKE2B 84c9f50e6c0d015aad36a7f625cddf90cf1137a8c2d445cc641cd4890d64261187c10fde59ee1a6c19b98cfdb6ff534c66ae7a7a48a00ec62d6984c9a1891750 SHA512 a845de531df2cd75abf23cdbfa613e586855b95ac4e96566ef193708d7ecf2ec7f7db72fd31b8af0ac4ccd57e51da9c6d129d426bfdc6c4feb57d7df8647f160

@ -0,0 +1,72 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..10} )
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 ~arm64 ~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() {
# 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
}

@ -1,5 +1,5 @@
AUX pwgen.rc 389 BLAKE2B d8a3af8df9be2a78e18aaddd7d17269ecb0c61a4c77252a77bb2d492edfe5b8c31279de616c4b0bf92ef6ec4763235b18931edc333121c543cae3e839927bedc SHA512 5d2bdf0dfbaf8fc31cd8217495fccccfefb383779c8a03faedcfaa830851b3bbdccb63fdf8d1bf8aa8a96759ea90a31da6b7a4e0cf5368e62ed10b8db8b0382d
DIST pwgen-2.08.tar.gz 54884 BLAKE2B 43bb6176d9408558b362bd84839c190c4bcf5d8f71b46fcbbe0b00c390d957683fd9403ff697e96cef2e4de27776c841e12032d3589965629e8e2d29bf202583 SHA512 4a930dc7d4c58a4434209db30c54629d76fce57d0fd5767cd7894168bb1a5b85eaae6734a982b0f4e0640540c366ce27ad84860ff2c406dea3f5902b5bb54255
EBUILD pwgen-2.08-r1.ebuild 605 BLAKE2B dfe73f7019eced27b88b3b6af4f4a15436ca0b56bfe7ab3079b9aae6d98a9bafb55ed6db73cf9bdf0db0345cebd83705826ca44d0a8f196a3b457b18dfd05602 SHA512 ce2bd5050c8baa2f96e0f3d0051bf216102c03c9f2342cd045041d77c2b627fc9a8fa7132393c4380b9bf7399d5aeceb0ed6670aa9f407a3c7a701ade6605055
EBUILD pwgen-2.08-r1.ebuild 604 BLAKE2B d0237353ec58ffc880c21caf8a9d08374e1baf35d738c3c6b05bc235631072d542940621a1c228c502222d85b925a0e1306a649122e3de88359ad2d762a64cfb SHA512 478060426a35d080769428e285576642f92ea6f938ba3a9aa45f51feb0dc4696847f65a9701aa36e4d92456cbb9730f181d01099ba12cf36cd7b513182ff8d7f
EBUILD pwgen-2.08.ebuild 597 BLAKE2B 3ddd679af075d48ad52db3c370fc3dbe33cc45f5d315bc803ad860c921ef231d7279e399d257b391baea63d0351cb787d2ee5ba5c6ae55b85d90c184be521431 SHA512 d9edc8ecc0873444a53632d1faf7cda6e72661f91a8eedbda33253a172cb0f180548664d3e236a82c302cae6317c7f081ad81fa42a91fdc6bb684bd6e583ce5a
MISC metadata.xml 801 BLAKE2B dd9ac9712fcbfc2a681587ca84aa40ac7e2c96474dd6b89ba4f16b40be44c7ea441bf44dd4008397aa99ad08ae2ab07a535ce5375940b6f3991dc6e8e9f5f75a SHA512 15ab62126db1bb0211d39963ff8102e31cfb8791a496c660d6a63666c0c440ab1d6f04ad490e0455aa39f9c69bb69035e0c33c02107b9940e45a0a788b2f9ce9

@ -9,7 +9,7 @@ SRC_URI="mirror://sourceforge/pwgen/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="livecd"
src_configure() {

Binary file not shown.

@ -2,6 +2,6 @@ AUX 1.0.9-linker.patch 1799 BLAKE2B b082af9af7eb8df80bf86717e9b9511952e77afd649d
DIST brotli-1.0.9.tar.gz 486984 BLAKE2B 8b9939d5224396ef33b43e019250ba4bc8949903583615e8dc02c85340fc0a1e2d1632161e00b0ee7355d77f05529ac772f482e05d2089afd71a0bf71e803904 SHA512 b8e2df955e8796ac1f022eb4ebad29532cb7e3aa6a4b6aee91dbd2c7d637eee84d9a144d3e878895bb5e62800875c2c01c8f737a1261020c54feacf9f676b5f5
DIST brotli-1.0.9.testdata.tar.xz 3771536 BLAKE2B e22a7e926a68b64cf3ddcf90d2381201d0bac6486f28c3a675c83a2a685108491011195faf48df9abd478a011e874df560ae81988348f7605197805cc3be20dd SHA512 d98c48dbc7772959a9cf276b638cf773a05a896c9daf4f6235f7d7fd625490b3f538e0690afcd6968ff81ad3745c7d78419850c2518048c44d73b470bcd08c97
EBUILD brotli-1.0.9-r3.ebuild 1780 BLAKE2B 571c95c541b3def87351a232b69bd291dc0d50b9676a08a7a2a0a757d5fc993bad72efab1dc29c37302b2126370b5356d1571b232c9b520c43ea176247bbfc9b SHA512 e159729140a4e9046ec5a850dd7fb1d3f22c32adfc6b54748512abcf7aac0a266852a769814aea9a0219b2076c35cfa7b3b0dd33c6dfc1a0b05dbbb315f69ef9
EBUILD brotli-1.0.9-r4.ebuild 1824 BLAKE2B f7d32683b5a0eb543e70ee63635b8bf23193b83cae6c0817676e26d2602236b2df523640dd64b1a6281cd139819bfc7c2fb8a64703077289d450487a0f322e26 SHA512 d09035c96481d6011e659af2ad5536223f4dd5056c060b335f7dd555cd110b08e31d1a95f6c0d9ee0d5eaf76ce50d60d68e8ae7fe9f91771a9e033e432aced71
EBUILD brotli-9999.ebuild 1824 BLAKE2B f7d32683b5a0eb543e70ee63635b8bf23193b83cae6c0817676e26d2602236b2df523640dd64b1a6281cd139819bfc7c2fb8a64703077289d450487a0f322e26 SHA512 d09035c96481d6011e659af2ad5536223f4dd5056c060b335f7dd555cd110b08e31d1a95f6c0d9ee0d5eaf76ce50d60d68e8ae7fe9f91771a9e033e432aced71
EBUILD brotli-1.0.9-r5.ebuild 1957 BLAKE2B 19739b25c1c80b731078ba6b7151b5222c678e346ff90b1207c322533142f820b27415e1c37a4715b47427fbe3bd744c2175db9629af284f92a1f6209c1ed62f SHA512 4d55c8cace3f8de9d87b045773aa6a58c8192fd81227c8479a8740c24f2c5285bcd572244a9f9edc4d6464a2feb4bbb11aba60875b12b65958c78b7658bad2f4
EBUILD brotli-9999.ebuild 1957 BLAKE2B 19739b25c1c80b731078ba6b7151b5222c678e346ff90b1207c322533142f820b27415e1c37a4715b47427fbe3bd744c2175db9629af284f92a1f6209c1ed62f SHA512 4d55c8cace3f8de9d87b045773aa6a58c8192fd81227c8479a8740c24f2c5285bcd572244a9f9edc4d6464a2feb4bbb11aba60875b12b65958c78b7658bad2f4
MISC metadata.xml 770 BLAKE2B 6e73f34b47e5edbb8007e253191dbc0dd399d1d3f9f1817df851fa6f56bb6e71c90ffed925e5251041a479d0ff6e8084734c45a0d8c56a914a890992c121fedc SHA512 5b43dbaadb8a7c53ec111335ffc57682ade5f30beba4e98cb53a64244fb835baaf3394ffa210763ed36b0abe6c444263117499d4046c4138d644e924683d931a

@ -84,4 +84,11 @@ multilib_src_install() {
multilib_src_install_all() {
use python && distutils-r1_src_install
doman docs/brotli.1
local page
for page in constants decode encode types ; do
newman docs/${page}.h.3 ${PN}_${page}.h.3
done
}

@ -84,4 +84,11 @@ multilib_src_install() {
multilib_src_install_all() {
use python && distutils-r1_src_install
doman docs/brotli.1
local page
for page in constants decode encode types ; do
newman docs/${page}.h.3 ${PN}_${page}.h.3
done
}

@ -4,5 +4,7 @@ AUX unzip-6.0-natspec.patch 14304 BLAKE2B 87f724fcdb0960bfa17d609dbb764f3469b1dd
AUX unzip-6.0-no-exec-stack.patch 381 BLAKE2B c298afe0df1c903c0894bf55e55b3f4f0d616662e3fa706bcb9813707af3f2bfebff1a2b4290d943718ca35aa2ce098f20b5d370a624c1a16b81d4e921a3bdeb SHA512 a00ba3c805aa64bebeb3194cd75093c1e7c951366d40bba4852837dcb355eedf1ca6a6e648ea007fcb71124e778e54b5168a7b38a7b7268bc3983d87594633a5
DIST unzip60.tar.gz 1376845 BLAKE2B 5016d300b4452018a391f4ebc03c6960c068df400a0407c0c60bd7bb5ec5012031f916d8b204a6149ba291c2c35beba40d9b43c76fc093026e79471329ab0e47 SHA512 0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d
DIST unzip_6.0-26.debian.tar.xz 23708 BLAKE2B 7655396df2f8c4443bbd37a2fab590f1e66b3b8531871a6d95f281ac702e64a0e602f2412a58ff2addf4ce9cae8d146af650a18b02919d120c9db6c49df480b5 SHA512 9a56e400ad0984f87c7ee0548429349be549e35a3cae4c9acb88a8fb97a1d1fbd116cfa3292622ad8b2c67ffe79ae268861ddec1269993ba98f1a6a411b7611f
DIST unzip_6.0-27.debian.tar.xz 24980 BLAKE2B e53a96f12af0cf5227600c73a35003484fca5de138cd37991eb1eb25b97b80371c3a566d989feeb04deb1a93acd9444253b091cd7e920b23520c87c5f5a94eeb SHA512 e1e605f023c7b314a6c5b2857a3bd630350df2d7e4bf6bb38ab8594f967336384666b4db8afad931251b85261ee4e2c38d78641c74ac7e5fd02523f26e92ddb2
EBUILD unzip-6.0_p26.ebuild 2816 BLAKE2B 35b6b47a5700352e3755d1b58ccf7db9dfec22f66d13241b2442102895513a81e291bcfe95c2139146c3fb67309df5cea9dbce90ccd5383378e14cd9d7d0bb71 SHA512 669885c0afcbf3ae574bc37791be3da75659fd756f225e53b93bc724321458724f81c5962f995a4570738d3b803c8acc72140e6c64af7f8c7b7b823094380a39
EBUILD unzip-6.0_p27.ebuild 2814 BLAKE2B 98fc6c254161be3de03272319c0a0bd318e0ba5836f196e6b2b7d13938a560c7bd6170fdd4a4afc82c3c7889c6c963b8a51f48157297fa48e0f7b7319768a248 SHA512 6a8d1631a94c70f8e25be1d74c3c3ac6fa5d124a86354d961dddc462aafc7447feace34aac813c3e730f28312a8a0c45d606b700a5c83f5955a992be97eda487
MISC metadata.xml 587 BLAKE2B c2190274c146c5587ac7d6adf786fd98db897aa5a62433afdde4953d3a7ae4a6022837ee6b06f3e216633f5710ab89cccd2000504481094b5871b79300424957 SHA512 75b014ae98951f4484eaa909af92eac9ee955bf5f4ba6795a4bb40a5e40036ba4909a42471ccd2916dd4c9a33a500054590faec39faf9d4049f9c74201884c56

@ -0,0 +1,93 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic multilib toolchain-funcs
MY_PV="${PV//.}"
MY_PV="${MY_PV%_p*}"
MY_P="${PN}${MY_PV}"
DESCRIPTION="unzipper for pkzip-compressed files"
HOMEPAGE="http://www.info-zip.org/"
SRC_URI="mirror://sourceforge/infozip/${MY_P}.tar.gz
mirror://debian/pool/main/u/${PN}/${PN}_${PV/_p/-}.debian.tar.xz"
LICENSE="Info-ZIP"
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"
IUSE="bzip2 natspec unicode"
DEPEND="bzip2? ( app-arch/bzip2 )
natspec? ( dev-libs/libnatspec )"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${WORKDIR}"/debian/patches
"${FILESDIR}"/${PN}-6.0-no-exec-stack.patch
"${FILESDIR}"/${PN}-6.0-format-security.patch
"${FILESDIR}"/${PN}-6.0-fix-false-overlap-detection-on-32bit-systems.patch
)
src_prepare() {
# bug #275244
use natspec && PATCHES+=( "${FILESDIR}"/${PN}-6.0-natspec.patch )
rm "${WORKDIR}"/debian/patches/02-this-is-debian-unzip.patch || die
default
sed -i -r \
-e '/^CFLAGS/d' \
-e '/CFLAGS/s:-O[0-9]?:$(CFLAGS) $(CPPFLAGS):' \
-e '/^STRIP/s:=.*:=true:' \
-e "s:\<CC *= *\"?g?cc2?\"?\>:CC=\"$(tc-getCC)\":" \
-e "s:\<LD *= *\"?(g?cc2?|ld)\"?\>:LD=\"$(tc-getCC)\":" \
-e "s:\<AS *= *\"?(g?cc2?|as)\"?\>:AS=\"$(tc-getCC)\":" \
-e 's:LF2 = -s:LF2 = :' \
-e 's:LF = :LF = $(LDFLAGS) :' \
-e 's:SL = :SL = $(LDFLAGS) :' \
-e 's:FL = :FL = $(LDFLAGS) :' \
-e "/^#L_BZ2/s:^$(use bzip2 && echo .)::" \
-e 's:$(AS) :$(AS) $(ASFLAGS) :g' \
unix/Makefile \
|| die "sed unix/Makefile failed"
# Delete bundled code to make sure we don't use it.
rm -r bzip2 || die
}
src_configure() {
case ${CHOST} in
i?86*-*linux*) TARGET="linux_asm" ;;
*linux*) TARGET="linux_noasm" ;;
i?86*-*bsd* | \
i?86*-dragonfly*) TARGET="freebsd" ;; # mislabelled bsd with x86 asm
*bsd* | *dragonfly*) TARGET="bsd" ;;
*-darwin*) TARGET="macosx" ;;
*-solaris*) TARGET="generic" ;;
*-cygwin*) TARGET="generic" ;;
*) die "Unknown target; please update the ebuild to handle ${CHOST} " ;;
esac
[[ ${CHOST} == *linux* ]] && append-cppflags -DNO_LCHMOD
use bzip2 && append-cppflags -DUSE_BZIP2
use unicode && append-cppflags -DUNICODE_SUPPORT -DUNICODE_WCHAR -DUTF8_MAYBE_NATIVE -DUSE_ICONV_MAPPING
# bug #281473
append-cppflags -DLARGE_FILE_SUPPORT
}
src_compile() {
ASFLAGS="${ASFLAGS} $(get_abi_CFLAGS)" emake -f unix/Makefile ${TARGET}
}
src_install() {
dobin unzip funzip unzipsfx unix/zipgrep
dosym unzip /usr/bin/zipinfo
doman man/*.1
dodoc BUGS History* README ToDo WHERE
}

Binary file not shown.

@ -6,6 +6,8 @@ DIST gnupg-2.2.35.tar.bz2 7262687 BLAKE2B 18b5965151ded3b3f28d139824e14d7a6f1673
DIST gnupg-2.2.35.tar.bz2.sig 119 BLAKE2B d95323703c12c9474b21fa91ddb70d4d4d464c794223e21f6ae5d4de955f07a5cabde50612e977168ea6071c4b12be3262cbafe9bcaa8e9a0b009318c0ff6718 SHA512 9043894730520e974e7bc17e0f95419c319fbcd514f102faf644e2f5580e238719cecb8b5e778ecf20f9212ee2554206eb0686e8b5fce7f8c556146657660fe2
DIST gnupg-2.2.36.tar.bz2 7273805 BLAKE2B 82f26f48380632ddffedacb5e7cff653aec7bea2cf90d88184e0ddeb4053bd2b0ed1ee7addeceb684ffcbf07ccc2cba699172d78e5ab023af2e3d777fbb702b0 SHA512 2d14000a0e8b36688d5e89372a1ef5f8a526b2724715377323d1f9abd23122aa9d0ab2c0988063c397f969afefbf205aedb7205915fd751c539336e680d8462a
DIST gnupg-2.2.36.tar.bz2.sig 119 BLAKE2B ad6dc03c34f6c0d13080ef0bdea2db152c12ea4f129783ba1b0b7f237965b8eeec22b2e79fcf42657dafdd20cae558d781b07378bed78386979a0b4c4ef4a49b SHA512 4ad3f9041aa1fbffaab3cc4aa0df038a67dc8eb200492cdd96259dcf1e0005cb39d6e6245280f1a2a8d4db9f686381e2b0f5bb80c412edbdbcb3fc11dca044c5
DIST gnupg-2.2.37.tar.bz2 7285172 BLAKE2B 40606f996aea3d26e28989466861bf486b8bf95e38d23377c0745b85f4817988f794fa07cbb1d5b8b7ae1da3c8bd5fcee5fabb1998b2fc1aa0b0e3ea4351575b SHA512 b56c47002948fd28fc9d5c23b46f5522e4210ed61c17f491c3b3fab5fab8893da33b1f8ff55a3bbef6367ff92b10c141c1f24d8350c37a0e756d2bdfbe86d7be
DIST gnupg-2.2.37.tar.bz2.sig 119 BLAKE2B b5166f574a35223eeadf056d6bc3e8bcbd02fad766713afba28e20d4d431fcf123b5566527274923fede092c1e48efefd32b825644583f016bf3db119af03209 SHA512 8a1c34a5cd6afa3a263669922bc43217274f796634dc14b54558e1361f5e38680c6897e402a5289ccbe08c91efa3647bccd741fa09f3259174b8dabf86ecbc6f
DIST gnupg-2.3.6.tar.bz2 7604761 BLAKE2B 6cbc749156c50b6633c126cde621271c6c9682a04efea51fbc5a2e92ee56493e8348814391ee0c337adcb4de4dd23293b9592db78998626905038c859ac4af6e SHA512 4540e8d2be836b491918f4987ba301a73fcdc4539b1f9abf6112a74c2d39c0e5dc3f17511212bac1dd7fd0594feecd91f95ecf78d4b2c1e70e818342a1802b85
DIST gnupg-2.3.6.tar.bz2.sig 119 BLAKE2B c7d4cdc81580b8b1e56c7bc83236d65c9d2c1bab2d210d14a0d3c58f635d656c9b449ef9596b9601027cb891bd437cc8f2a63eb3c17742c288531511984fba7f SHA512 85d155f9809c8d0f38723d8622c085e421531c016d19fcce2ae34dc9a4aeac0bc1895f7a094ee9cdf69a15b426fb0d72ee53319fe0a05665c92caa0e950c1797
DIST gnupg-2.3.7.tar.bz2 7599853 BLAKE2B 3e9e33c8357222f42cc0e2af538e9f1f1f0453f35d790aaadf47ce9df24229efa91457b6014b34f19084448a3a6603c82e7d07714b89a68c6a84a08af6fa0e02 SHA512 c7fe169050ef17051cdaac9ad476e7ea792483baad1208fc359d568fa9e138d920ecaa2cd9cae73b20f5472a7d8ca6540a62062ff7a06055cc656b0eb4b917b9
@ -13,6 +15,7 @@ DIST gnupg-2.3.7.tar.bz2.sig 119 BLAKE2B c2652adf203bc828ed0aaf778542e990028156c
EBUILD gnupg-2.2.35-r1.ebuild 5105 BLAKE2B c5f9f11ae2d4488df2063e68b133d502a3ced5741e604140087320e5dcfda6e50c8aa20f69f59ef60df7226c9d550e5f6485f232eecf3db7923b67191314f452 SHA512 1ba4641d151a503ee82f2081f6967391312e486e52264dd9abefd06be8665180dcc1e8228f1704d9ea71e81053eadf57c00060ea7590a9054e873f08aa21f2b6
EBUILD gnupg-2.2.35.ebuild 5055 BLAKE2B b5be9e19cafb6e6a65aa219df93d818e0d298da4bcb961ca45edb5208df23cdac21cd8b11da22ba822ea31f4ac66157a32ddc7fb65a1cc82e2ebbd488d7be38c SHA512 25099e0c5880d46d1b89bb387a28cef5f70311ca89c7b78a155cc08dc9ef4107ba70de87d49d26a3dea1a9b67f6dcdae7a8dd7478d250277389c9520e77a3fc7
EBUILD gnupg-2.2.36.ebuild 5063 BLAKE2B 05e91116a94f2fc3f7540a3f57a6c08fb5e29998903ca64431a9fb173f3b5b01504506e3c8ba87917f5029daa7c57c5a734ebcea4012343d28ff8883169a5110 SHA512 9bd19ba34eedfb4a8273b41834322bfd745b339fb4ce7aab60bfee047c76cbe148380d8f494fc2f43bd1e68c8bd8f7d5b65aed2423755937448d5f36577017ed
EBUILD gnupg-2.2.37.ebuild 5063 BLAKE2B 05e91116a94f2fc3f7540a3f57a6c08fb5e29998903ca64431a9fb173f3b5b01504506e3c8ba87917f5029daa7c57c5a734ebcea4012343d28ff8883169a5110 SHA512 9bd19ba34eedfb4a8273b41834322bfd745b339fb4ce7aab60bfee047c76cbe148380d8f494fc2f43bd1e68c8bd8f7d5b65aed2423755937448d5f36577017ed
EBUILD gnupg-2.3.6-r1.ebuild 5282 BLAKE2B 349733f8f10abd11c1daeb66eb01b948e81d61adb1f03da525db00e9150b985bff22f57ad3c94e67e23b1fcf5efae54f634a3d48149611cdb0809eb51c9faf06 SHA512 8fa60fca7896fb2e04ef841572c567dbc16b7da4ba4c3643826f140351dfe47806fdc08af197aeb2fe06ddd935cf2a41594f960e2e0db57131176a3540a869c2
EBUILD gnupg-2.3.6.ebuild 5232 BLAKE2B 0d5a372da5867eef0a78cb46050281e7d1ed5385b6bdfd0a4df9ba5cefabf92f5cd7c363b1f5bebe7919e0114b258833be39a41f3c8b0f6b370239123d0ae3f2 SHA512 eb8b033a34b9cb2509213cb03f1c1c47a823e3009ff334ec294037fd7236ccc0a90eb035849ba7e03feb7c562997c12edf805d83be08d93616c299953009e93f
EBUILD gnupg-2.3.7-r1.ebuild 5281 BLAKE2B 9cb14f821923b65c297b52744c518cab90b34257b931473363ea505fcd050237d36b180eb8f0090c4f382fd83b517f41a3b846321cd60c92bc9f7d7b62c3f662 SHA512 1813774ef7e7f5fff6274cdd4ce555e5030dcca97ae79a0dafc41698c82c8a04befd9f04e46eac18d5a44eb1782dc286bb709f6b298b629baf08bfbf7761762a

@ -0,0 +1,159 @@
# Copyright 1999-2022 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/gnupg.asc
inherit flag-o-matic systemd toolchain-funcs verify-sig
MY_P="${P/_/-}"
DESCRIPTION="The GNU Privacy Guard, a GPL OpenPGP implementation"
HOMEPAGE="https://gnupg.org/"
SRC_URI="mirror://gnupg/gnupg/${MY_P}.tar.bz2"
SRC_URI+=" verify-sig? ( mirror://gnupg/gnupg/${P}.tar.bz2.sig )"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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="bzip2 doc ldap nls readline selinux +smartcard ssl test tofu tools usb user-socket wks-server"
RESTRICT="!test? ( test )"
# Existence of executables is checked during configuration.
# Note: On each bump, update dep bounds on each version from configure.ac!
DEPEND=">=dev-libs/libassuan-2.5.0
>=dev-libs/libgcrypt-1.8.0:=
>=dev-libs/libgpg-error-1.29
>=dev-libs/libksba-1.3.5
>=dev-libs/npth-1.2
>=net-misc/curl-7.10
sys-libs/zlib
bzip2? ( app-arch/bzip2 )
ldap? ( net-nds/openldap:= )
readline? ( sys-libs/readline:0= )
smartcard? ( usb? ( virtual/libusb:1 ) )
ssl? ( >=net-libs/gnutls-3.0:0= )
tofu? ( >=dev-db/sqlite-3.7 )"
RDEPEND="${DEPEND}
app-crypt/pinentry
nls? ( virtual/libintl )
selinux? ( sec-policy/selinux-gpg )
wks-server? ( virtual/mta )"
BDEPEND="virtual/pkgconfig
doc? ( sys-apps/texinfo )
nls? ( sys-devel/gettext )
verify-sig? ( sec-keys/openpgp-keys-gnupg )"
DOCS=(
ChangeLog NEWS README THANKS TODO VERSION
doc/FAQ doc/DETAILS doc/HACKING doc/TRANSLATE doc/OpenPGP doc/KEYSERVER
)
PATCHES=(
"${FILESDIR}"/${PN}-2.1.20-gpgscm-Use-shorter-socket-path-lengts-to-improve-tes.patch
)
src_prepare() {
default
# Inject SSH_AUTH_SOCK into user's sessions after enabling gpg-agent-ssh.socket in systemctl --user mode,
# idea borrowed from libdbus, see
# https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/bus/systemd-user/dbus.socket.in#L6
#
# This cannot be upstreamed, as it requires determining the exact prefix of 'systemctl',
# which in turn requires discovery in Autoconf, something that upstream deeply resents.
sed -e "/DirectoryMode=/a ExecStartPost=-${EPREFIX}/bin/systemctl --user set-environment SSH_AUTH_SOCK=%t/gnupg/S.gpg-agent.ssh" \
-i doc/examples/systemd-user/gpg-agent-ssh.socket || die
}
src_configure() {
local myconf=(
$(use_enable bzip2)
$(use_enable nls)
$(use_enable smartcard scdaemon)
$(use_enable ssl gnutls)
$(use_enable test all-tests)
$(use_enable test tests)
$(use_enable tofu)
$(use smartcard && use_enable usb ccid-driver || echo '--disable-ccid-driver')
$(use_enable wks-server wks-tools)
$(use_with ldap)
$(use_with readline)
--with-mailprog=/usr/libexec/sendmail
--disable-ntbtls
--enable-gpg
--enable-gpgsm
--enable-large-secmem
CC_FOR_BUILD="$(tc-getBUILD_CC)"
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
KSBA_CONFIG="${ESYSROOT}/usr/bin/ksba-config"
LIBASSUAN_CONFIG="${ESYSROOT}/usr/bin/libassuan-config"
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
NPTH_CONFIG="${ESYSROOT}/usr/bin/npth-config"
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
)
if use prefix && use usb; then
# bug #649598
append-cppflags -I"${EPREFIX}/usr/include/libusb-1.0"
fi
# bug #663142
if use user-socket; then
myconf+=( --enable-run-gnupg-user-socket )
fi
# glib fails and picks up clang's internal stdint.h causing weird errors
tc-is-clang && export gl_cv_absolute_stdint_h="${ESYSROOT}"/usr/include/stdint.h
# Hardcode mailprog to /usr/libexec/sendmail even if it does not exist.
# As of GnuPG 2.3, the mailprog substitution is used for the binary called
# by wks-client & wks-server; and if it's autodetected but not not exist at
# build time, then then 'gpg-wks-client --send' functionality will not
# work. This has an unwanted side-effect in stage3 builds: there was a
# [R]DEPEND on virtual/mta, which also brought in virtual/logger, bloating
# the build where the install guide previously make the user chose the
# logger & mta early in the install.
econf "${myconf[@]}"
}
src_compile() {
default
use doc && emake -C doc html
}
src_test() {
# bug #638574
use tofu && export TESTFLAGS=--parallel
default
}
src_install() {
default
use tools &&
dobin \
tools/{convert-from-106,gpg-check-pattern} \
tools/{gpg-zip,gpgconf,gpgsplit,lspgpot,mail-signed-keys} \
tools/make-dns-cert
dosym gpg /usr/bin/gpg2
dosym gpgv /usr/bin/gpgv2
echo ".so man1/gpg.1" > "${ED}"/usr/share/man/man1/gpg2.1 || die
echo ".so man1/gpgv.1" > "${ED}"/usr/share/man/man1/gpgv2.1 || die
dodir /etc/env.d
echo "CONFIG_PROTECT=/usr/share/gnupg/qualified.txt" >> "${ED}"/etc/env.d/30gnupg || die
use doc && dodoc doc/gnupg.html/* doc/*.png
systemd_douserunit doc/examples/systemd-user/*.{service,socket}
}

@ -2,6 +2,9 @@ AUX pinentry-0.8.2-ncurses.patch 824 BLAKE2B 922bb9a7079d4a3bc307a441f3f884f764f
AUX pinentry-1.0.0-AR.patch 326 BLAKE2B 2a05565287d2a3ff9423db1365af6ac1d2d0e0e5b3b7db49ee927eacd480cfbd29abd2313d84eb764e9d7eccd4654e2173fbf8be4508dd88f14bf12f0f9dab39 SHA512 3a8b13ddaa2af8c793586cd73e44b59828e769c3861b2d328273bac991e7e171c8714e2098674a9ae8a77c9a68098012d217e67dde8872df154a1e499837de52
AUX pinentry-1.0.0-make-icon-work-under-Plasma-Wayland.patch 1606 BLAKE2B bebea23f44a0512dad873f693a8343a47684c983ca37faba908bee62a7f87d1eaf2a097672df45fcfabb28911b55bc3b02177f910137f50d9c97a6939a1f7047 SHA512 15e6b86015bbf9f199bfa9e68f2a1b9f3fc14105313e1dbfb303d76b1949092ec2671b8d2a90fa8b05e0196da81e9f20875656dc11fdd96b48a14d79e4becdf7
DIST pinentry-1.2.0.tar.bz2 498390 BLAKE2B 6e97b55fe39e9c17f8a87fa669d23fca56c1095c2533a9eebe459fafc95a3fcb0a5ea502077aae5480b5259a3096c5f85e05d4872c0b19ad33f3d9084a220cc7 SHA512 19cea79aa3982d1f0d75220c8e24ca38d6c49475c6f4c5aa7101151b4690db23ed316096a4a411136e716ba4eb471f48f9b09556e5c9837533c2356b9b384b63
DIST pinentry-1.2.1.tar.bz2 547698 BLAKE2B aa47612aa3a6f74c3676bf4018780356cb22ed4078792c1f466f9e0465199428c151c0e20dfbe6c784ef93c2b42b673daff0b6adc74c8c98fed9921e65ed42ea SHA512 a665315628f4dcf07e16a22db3f3be15d7e7e93b3deec0546c7275b71b0e3bd65535a08af5e12d6339fd6595132df86529401d9d12bd17c428a3466e8dfafab6
DIST pinentry-1.2.1.tar.bz2.sig 119 BLAKE2B 6a9fc12a09b5122bf531e875977f63fa7caa75d39afcb4e9a9a957df87ba0a6f6156ad9799cdde8625debe0b7c3cb9482616b0ab57c133ffd2f9120ddf47815f SHA512 b14525f6ace3d1fc3dc9e1173de8821fa2a960b870876beb10b98f41222378c1e3f4f79481f3f3854c1753e8dc9a7eb92862ffa583c7be0788ec25045a4e1176
EBUILD pinentry-1.2.0-r1.ebuild 2239 BLAKE2B 79e38d3ae2d23c3a395bdb7a96efbf34ec878dd1903b3aba45105387f3ab025251430232950547502cd8837eb7dfd83342f946d221de66243d802c4af051704c SHA512 908514da6e595944c7f9d23a32e7f298981072b20e034a32351a9b337d8bc0d8afe845d8b21df3cf9bbb63155997bdf19b00dee8d22dea4c6be74401058f8064
EBUILD pinentry-1.2.0.ebuild 2221 BLAKE2B 5f7e6fce95850c1fef610f6264d3017cdb3dcb0c1aa757e9ed03ef38e0cdd98fc043ad3ecc4f1642a8a008101b8abcd84d8510d0046006e5a87830c83d05aaab SHA512 a48d09a21fb76e60db0d65ef351c93b0e842b937f33433ddad3b662420f5a43dba4641dfa061719b5651d7be7de01133ef39e700ea0205098841260527da8ced
EBUILD pinentry-1.2.1.ebuild 2332 BLAKE2B d02441be1ea92de775503c08c6649bc51ff3fdaa2fb4da7fe59e0f781982236d506c776784846cdf096a39590930f217d133c21fe64d040e3b8584b57a6deef6 SHA512 8fdb2f28b28a54a11fd5e1410c882a22f92ee2b1385978f7e04e29e686d01f9d8accac1dd71588ad02109b7c4fcb3c9a6d99f09dff43ce57ccfac553ababd301
MISC metadata.xml 452 BLAKE2B a2aef88d14b75ddb8f8cced6ee2dc1d0d66ac52ac5c686bd8d230bd9291146fa3fc0411682488e0a45c05b20640cf8b4093ee71a0ec60e02fe507dda2910c5fa SHA512 0517e56cd5cb905f4951205f4f7db6d01a14d28e1578612f91bfaee5dfc93a56eff4896201cf3c02f9ca02329b8597d6469187f60f429f7c5f6995fa0023aaf7

@ -0,0 +1,98 @@
# Copyright 1999-2022 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/gnupg.asc
inherit autotools qmake-utils verify-sig
DESCRIPTION="Simple passphrase entry dialogs which utilize the Assuan protocol"
HOMEPAGE="https://gnupg.org/aegypten2"
SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
SRC_URI+=" verify-sig? ( mirror://gnupg/${PN}/${P}.tar.bz2.sig )"
LICENSE="GPL-2"
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"
IUSE="caps efl emacs gnome-keyring gtk ncurses qt5"
DEPEND="
>=dev-libs/libassuan-2.1
>=dev-libs/libgcrypt-1.6.3
>=dev-libs/libgpg-error-1.17
efl? ( dev-libs/efl[X] )
gnome-keyring? ( app-crypt/libsecret )
ncurses? ( sys-libs/ncurses:= )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
)
"
RDEPEND="
${DEPEND}
gtk? ( app-crypt/gcr[gtk] )
"
BDEPEND="
sys-devel/gettext
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-gnupg )
"
IDEPEND=">=app-eselect/eselect-pinentry-0.7.2"
DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
PATCHES=(
"${FILESDIR}/${PN}-1.0.0-AR.patch"
)
src_prepare() {
default
unset FLTK_CONFIG
eautoreconf
}
src_configure() {
export PATH="$(qt5_get_bindir):${PATH}"
export QTLIB="$(qt5_get_libdir)"
local myeconfargs=(
$(use_enable efl pinentry-efl)
$(use_enable emacs pinentry-emacs)
$(use_enable gnome-keyring libsecret)
$(use_enable gtk pinentry-gnome3)
$(use_enable ncurses fallback-curses)
$(use_enable ncurses pinentry-curses)
$(use_enable qt5 pinentry-qt)
--enable-pinentry-tty
--disable-pinentry-fltk
--disable-pinentry-gtk2
MOC="$(qt5_get_bindir)"/moc
GPG_ERROR_CONFIG="${ESYSROOT}"/usr/bin/${CHOST}-gpg-error-config
LIBASSUAN_CONFIG="${ESYSROOT}"/usr/bin/libassuan-config
$("${S}/configure" --help | grep -- '--without-.*-prefix' | sed -e 's/^ *\([^ ]*\) .*/\1/g')
)
econf "${myeconfargs[@]}"
}
src_install() {
default
rm "${ED}"/usr/bin/pinentry || die
use qt5 && dosym pinentry-qt /usr/bin/pinentry-qt5
}
pkg_postinst() {
eselect pinentry update ifunset
}
pkg_postrm() {
eselect pinentry update ifunset
}

@ -1,5 +1,6 @@
DIST yubikey-manager-4.0.8.tar.gz 147076 BLAKE2B efdefb15c3939bfb2171766aec195fb776668894d4439565840587d14387999e052aee6eb225b9332662f1ebdbf1db24fceb606393e23d591ff61b91c1ee96f5 SHA512 87352bbb133eead48d1588df2db5420687278a9f76ceb283a53af8eab3d29e30c86e01a588a6da2884e6dac6af192ad355a28745f2f8505ef6cd0e96dea3e9c7
DIST yubikey-manager-4.0.9.gh.tar.gz 145952 BLAKE2B e7a5488be1163e3f3f82c049b7c068c4be82debfccab1d6a60c1f9bdebcab4df94f257082e9c83d6bb0ea037bdab4b47b924d27890537d066205e2fbc28d2066 SHA512 bbffbdf9437d0f2de0b7713fe577a342c8da95e9d9512cb5118374b63637dbde6ee95e516dbb47bbea3af5b2e5edd495882c7e4adcbec1fd3eb750471a50add5
DIST yubikey-manager-4.0.9.gh.tar.gz.sig 310 BLAKE2B 7519032073c94c8aef3552bec3b2288993606ace9e6774fe0c1d2ae90b46a084d85cbf607fe060fbaa8c8edb0ef8e6cb07c22e94d215b18715d7845345f4b775 SHA512 b27e9725e9e1b28f405476c443d4c0bc70fc954f7302c6d2e35f2ad78d9fc6696ff5b011fc8df4226f740079ca6b4dadf754f48dd7862a68f18fa167395b0b9d
EBUILD yubikey-manager-4.0.8.ebuild 1095 BLAKE2B 0779e3f2db841ecc0c2026bd4dadc71fc038d2460d69bd2174ac0c5122e45e9967d0f4b884a6a34eb48fba50569dac9e0ff305a6de22790aa11cb327481356f5 SHA512 2561181f6e3682be5b50c9339555f16e17925d2b6c3e138a31a6ffbb386e0a78b385faba5fc4cb02ae1f3d1e9058049f566d5e6dee6a45e2818a575162e25cd6
EBUILD yubikey-manager-4.0.9.ebuild 1310 BLAKE2B 13e91d00bbddbec0af1e1054b33f83b54b6198c2575846e856050cdbf3a3e448bc8f2876680e02e11dcc6705b3acc24332ca496336558c92cf23d369c8bbd7b3 SHA512 e1bc92d50660945fb5f87f4a8fbcbff093ee10665e0d51f53afc2b86e2bf6458f48f49ce33d6a4deec360ceaced1f5e7343b28085cebc0cf0e9b3c6bfa3af93d
EBUILD yubikey-manager-4.0.9.ebuild 1564 BLAKE2B 0eadef48086e4286926318ea40ea20e5f1d542f714186499defd43b9e1df5bf267bb846442e0fd5abad9d55c59616d97b06b5dd7e276687627a94cccdd5f8690 SHA512 e80a2b162e43f5c955364b681a51beef41d7495165e1b941bb18d1d72fa27bafd8e244fb3da6a1955c7b400ffada6fdcba94f348242698675359d16ebad10a6f
MISC metadata.xml 534 BLAKE2B 1dc91b31fae812c9abf38e762d18db228cf07cb29dc41f5c7928ef417002826acaaabaa3b1374433f9fdfc251b5f5fbabbc43e66e3b94cc6df3174d3ae5aa059 SHA512 cf47e3400679f7f4feb73ef3b8282d3f4dae6b6d0e5034cbc22935fd0196be0784946bf9ac93dea7fb36a16347f867d092845c1ce3528a00c704de9657ad3821

@ -6,21 +6,22 @@ EAPI=8
PYTHON_COMPAT=( python3_{8..11} )
DISTUTILS_USE_PEP517=poetry
inherit distutils-r1
inherit distutils-r1 verify-sig
DESCRIPTION="Python library and command line tool for configuring a YubiKey"
HOMEPAGE="https://developers.yubico.com/yubikey-manager/"
# Per https://github.com/Yubico/yubikey-manager/issues/217, Yubico is
# the official source for tarballs, not Github.
# Unfortunately in spite of having been mentioned on the Release Notes
# page since mid-July, as of mid-August 2022 there is still no trace
# of an official 4.0.9 tarball.
SRC_URI="https://github.com/Yubico/yubikey-manager/releases/download/${PV}/${P}.tar.gz -> ${P}.gh.tar.gz"
# According to https://github.com/Yubico/yubikey-manager/issues/518 the release
# tarballs on Yubico Web site and on GitHub should be identical, and at least
# for recent releases the latter are signed as well. Only the automatically
# generated "Source code (tar.gz)" tarballs should not be used.
SRC_URI="https://github.com/Yubico/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.gh.tar.gz
verify-sig? ( https://github.com/Yubico/${PN}/releases/download/${PV}/${P}.tar.gz.sig -> ${P}.gh.tar.gz.sig )"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="ssl"
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/yubico.com.asc"
# app-crypt/ccid required for
# - 'ykman oath'
@ -34,7 +35,8 @@ RDEPEND="
dev-python/pyscard[${PYTHON_USEDEP}]
ssl? ( >=dev-python/pyopenssl-0.15.1[${PYTHON_USEDEP}] )"
BDEPEND="
test? ( dev-python/makefun[${PYTHON_USEDEP}] )"
test? ( dev-python/makefun[${PYTHON_USEDEP}] )
verify-sig? ( >=sec-keys/openpgp-keys-yubico-20220824 )"
distutils_enable_tests pytest

Binary file not shown.

@ -1,8 +1,10 @@
DIST eclass-manpages-20220417.tar.xz 403944 BLAKE2B db0607e65f5e87d566bd632b4fa6e48522593907f8fb76f598a552fb23bf53ced466b467b45fc07154edc0e757dc92b9387484003dd847bdd63ea3a6f6635459 SHA512 ad9bcc55f9b7df7565d4d309d37e59553871a7116b3f00b87f6e29648bf4b235ec64a036348f76167ca1ce4d2b899b70176d1844d6e8bb325154e1d1a1dc951f
DIST eclass-manpages-20220716.tar.xz 409748 BLAKE2B 8e9c9ffc2d7d72647578cb876f0cb4e4a6c72cfe2236c435a7c232dc14638bd3ff98d085d06faec3c353e7d3263ee057736e6f8b5dff53d9890fa82d43d26002 SHA512 b4a45356a7441c258524c18a916df4b06d9317bc6ecb8e521d2cc43bcd7938e94ef266724c570456692e9f089332e0fb23e6d2d625a72424cfb479497b34f78d
DIST eclass-manpages-20220725.tar.xz 409300 BLAKE2B 740890c627577baa218f92edd4d3f4ee53232fc01fae3b42246ce1c14b9a382e009ebebd9ed692b480e47106b104f7cd4f4d7c0dd5a51f104365399ae64b2485 SHA512 e753cebde92c7f2d11cd548780e8f0d900cc1946b71c538805511296f8c754fb4bac49ae31bfce3e58ac581b975c29704fe4b98295b466dd35b020b42a89484e
DIST eclass-manpages-20220824.tar.xz 407700 BLAKE2B 7384e2d9100cdb8dca50bc5156b7f55f5ae52279d6c6563b0da3f6f11d49fcd24bfc7ae452587768a33489ddf83171f4f65433da3450e08ffb0125d2b3404d3c SHA512 ddac3f75ef6d228fd59ea323c94f6e7d725e41ecb7a7b49946e15ebc1c0fb97ebb9bbd464aef991944f1e5ef42198f0cb85a7ad6c5a96eb0524b191485c6421e
EBUILD eclass-manpages-20220417.ebuild 633 BLAKE2B ccf30c2f024773a88d9a97aa9de9c47137490c62e06433221f0751e1b2db94c3dea740e799d385f4d695c4eb65161faf8861a6a0f1d4fc0fd759b63f3b48f467 SHA512 38cb7e3a6692e5114375aebdf8c3193f84a6976412779ec4c56286f1c8bdb83b92dae42d344234b9d69cf778f347ba9bb3d8a4ab466131c65fabf2728728cacf
EBUILD eclass-manpages-20220716.ebuild 1316 BLAKE2B 366e8c00bad697ebbd2939161cacf75e65cf2391ecf8d5ca21ae8c20241871153abd1082c50df923afb0c9a267cc7e82c0480cccceb17e58d10056d333123ac5 SHA512 ad4c3fba297d4285b9f520489f4b8ec1003079feb0abf98cd91a13d324bbf4d1dc06fe2af3bd3b0e16841da17a9c7622cbf01ece8fd63259abf4a98580f14193
EBUILD eclass-manpages-20220725.ebuild 755 BLAKE2B bb25cdbfc8204240def4f2e53c56f0fc737f3c2ec40abcd48cd8b93065444d2b4030806447bda9a9e3349b98b62c51f367327d565a80a0ad349e27c0def53c95 SHA512 caefbf3ca97e57b27f17ff28aa08d7c5fefed95d6284033f7851ac23b819016362c0b8d301b1fa5a938bb8bd6b32e333aca6703c7971140fb55a35d2fecfe6a8
EBUILD eclass-manpages-20220824.ebuild 773 BLAKE2B bd6503ce3bb955d5770c6162899b000563071c2dfb7e00081fbe633d4a16105dfb58dd67eafb20f55eea829b8089d25fafe6c8391508bef2bff573f95bc57a0e SHA512 f6f2f75b54b6af44982a2a317270990428ffba37bc6907676a5fd765828f459703c2ad698961fe451c8bcdefa9991ec2da7143d52d736139388c822fee49e254
EBUILD eclass-manpages-99999999.ebuild 717 BLAKE2B 1d9700bd6322b953647e55141b9418c941a6ed523fd791684d797a9d2362e9e6ad60de57111648c7bdf90aaa7b653c914b25f50ba296223c5b3c7526809e5ab6 SHA512 0e26de5b3ccb0797fc01a61e73dac71fff9dc4f8bc79ffd8cbcec5d006a94ab1dd7f0abe33421ebd4697b780380e9e2683fbf32130eb5196259cb33f8adb32c1
MISC metadata.xml 457 BLAKE2B c9db5f0a28c7362c8e659468eaa3c7e0f248ecab7cff3377c2a17a96361a29fbbf2bea81b847f518696bf54b84bfae9814bed90e5a8722d3662af06e558cd376 SHA512 66269ed186bbf2267f5ecd088e27ed5bdec7c5584a088ac94ba30fb283ea4a460fd58dce3083192e8873c340bd95d7b4377017e7489e0594852380cdbfa66ab3

@ -0,0 +1,24 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Instructions to make a dist tarball:
# git clone https://github.com/mgorny/eclass-to-manpage.git
# cd eclass-to-manpage
# make dist ECLASSDIR=~/g/eclass/
DESCRIPTION="Collection of Gentoo eclass manpages"
HOMEPAGE="https://github.com/mgorny/eclass-to-manpage"
SRC_URI="https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
# Keep the keywords stable. No need to change to ~arch.
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-solaris"
BDEPEND="sys-apps/gawk"
src_install() {
emake install DESTDIR="${D}" PREFIX="${EPREFIX}/usr"
}

Binary file not shown.

@ -1,5 +1,7 @@
AUX 50dashboard-gentoo.el 130 BLAKE2B e6bbe3301308c1f6676a08586bb50f50f41bdc8e6dcace0b18d27ff6a43517a855c33283d13b5220f05c85bdb843cd6987718b60a58105bc722ce9b4d27eed0c SHA512 64fd0f460b8735de0c833e38e86a22401397cc017e99df22afe11037b0096b871b0fc8423706465478e0bcda8ce34d815f2de47c8ecdacf70ece9f0336b5e217
AUX dashboard-dashboard-widgets.el-banners.patch 352 BLAKE2B cb6b45429bffe3534e5ed218eb5f69fc4e29587ceadfb665d7385b0169c9aaa6b6ec5acf3fa219f0e08285cb835ae35f92c38a6b9df24ecab62e8e3bb6590068 SHA512 c35592d938afcf6996259a4e0d9043afdfa51af67cea588b119eba669413117ecd88087fc5c9ca268087a2d5d6668d27e06f54995ca62c67f48dfb2996fa72e4
DIST dashboard-1.8.0_pre20220406.tar.gz 191442 BLAKE2B 8b105d8ed9b31e7439cc55b85c9e0bb46739fcb26f9e1e605492a552cbcfe9799794be6239b6c622bfbfc2f850d20f2944f759010eb502bcb75edb570ae7e5b8 SHA512 b3b714bbee034fecbf1172dccd5eebc38373c11a510c532a7b9ba31cac79daafe7e9ccf7c5e622abbdb44817c966f100ec4f7a447e8b0370f9d7e66ff55e45ca
DIST dashboard-1.8.0_pre20220809.tar.gz 192857 BLAKE2B 22a7be748b3308282deb7e0500269a0aa809c2c6a5e57e984e83ca13803b7e55364e2f5619380444a7daf320c1bc6da26daeb0451efc3c20fc82148e55fa7f3a SHA512 10e2cdd724731b0c5ae195f8a8b3c9ba83a4c6a0d5fba00e7ecc224b22673296ca522642d179449e68d852b06789665e2c5bbfef84dea5e878110ee9e3b23dce
EBUILD dashboard-1.8.0_pre20220406.ebuild 953 BLAKE2B 1d572847f8e3432a4f30949ed4cd739a16b60e7622c30e1f025f355299b3dacb71399b37a8ea5be953d76585acb729f587cabc0306bf6fd5a7cc96acff8f5484 SHA512 c6654c6b5dd0815c272ebf0909b44c2bb32d13b9d20f5d3750ed7ed3cd350835010dc0e2cb48041209ac21ee16c1d0b3c8cce7332f20c0a3867d6e3cecc7b808
EBUILD dashboard-1.8.0_pre20220809.ebuild 953 BLAKE2B 31eeff4f3b8d2b47204408e08b981b5750ba02d93d9e4b80e41574643505678f100eb315225f5725726c121de036dc20b30d84a7aab930cd31eed0b49fce2945 SHA512 066730ce045f4a7c1d92b50f90c2592931d668c9414ab5df8f5e7a661dfa0c2fb5d0eccaae5e87eb58e6c56e75b4dca6b2f6c3e92805d35c78991721ebe5a98f
MISC metadata.xml 564 BLAKE2B fd3eea99e99ad926d6600df608f5b04f3a44a690a10ffa74a32314838360c637fb618bda7d600236d6ce2eec59a11cac37231941334da756e893e9561acfc933 SHA512 56071ea793b85ba75b1139f4f3f43b69a418fad2ed5b2c23469f281deb47c2b09a1beefa3c13281ee2a001999823d955f600e29100885747f55544ce5af63ee9

@ -0,0 +1,38 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
H=49e5603cac7d028bfc4c679161a20ca40327956c
NEED_EMACS=26.1
inherit elisp
DESCRIPTION="Extensible Emacs dashboard, with sections for bookmarks, projects, agenda and more"
HOMEPAGE="https://github.com/emacs-dashboard/emacs-dashboard/"
SRC_URI="https://github.com/emacs-dashboard/emacs-${PN}/archive/${H}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/emacs-${PN}-${H}
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="test" # tests not in the repository, require "Eask"
DOCS=( CHANGELOG.md README.org etc )
PATCHES=( "${FILESDIR}"/${PN}-dashboard-widgets.el-banners.patch )
ELISP_REMOVE=( .dir-locals.el )
SITEFILE="50${PN}-gentoo.el"
src_prepare() {
elisp_src_prepare
sed "s|@SITEETC@|${EPREFIX}${SITEETC}/${PN}|" -i dashboard-widgets.el || die
}
src_install() {
elisp_src_install
insinto "${SITEETC}"/${PN}
doins -r banners
}

Binary file not shown.

@ -4,6 +4,6 @@ DIST virt-manager-4.0.0.tar.gz 3096236 BLAKE2B cf6ae282c6a351aab832a06387bf9daf9
DIST virt-manager-4.1.0.tar.gz 3151412 BLAKE2B 1b4203be81bd7b82251225d691a4d9068f268e610f049bcadb96de5b539e964ca0b001f22f06ddd8266b58b079f60046f6d11942a1e4eadbc43f0607c46bbddd SHA512 725cb5bcbaebaafae417f95deffb4243ccdad769668cba6e1235f4607e2b29dbd099d2a9a3885981158f53ea854dd71cc29ed9d7557b2791161c13d34f2ef883
EBUILD virt-manager-3.2.0-r1.ebuild 2566 BLAKE2B 9fdea4cfaa4d6cbe5f9b9000695ebd02c8e2c4d9d4ed0222a90690f977f72de63f997187295b13c110242b016003bf693ac032e2edc59eea2b3ea6fd81436336 SHA512 72f75dd06013f473c8620e726a49dde64b20137d1020f7bab0933c3b79ec515eeeae50b592661eba25a0ad57995b06c780dde7b49fe0407141e8cc8a1c0f25e7
EBUILD virt-manager-4.0.0.ebuild 2607 BLAKE2B 52cebf620855872635d2b0dbbe971093ccb6faa575c42c005dc272f1755c060ff92eea9b120dcc89a603314f8c31be43b544e1456590c6a98371c11e2063eee6 SHA512 531e2c6014f6267b300c47c44aac89c8dcab39eb6244d1e86fa7ca47d37a3a8e869badc481a407e0662a129b96e3b12cce6624e5b510e9271d3f31e1c42cbc44
EBUILD virt-manager-4.1.0.ebuild 2642 BLAKE2B 7db78a0d314e205b6460383643e4997ae0de26a998b5d41dc7346dd35490622669afc5cb3c2ef86ca7cb27c7ea4707dc071213ffb5777e68ae7df77b18fb6759 SHA512 3b7427b36cbf9c7b6237734fbac63852cbe85afb0e6c738db48aa25fe7b1854065979c88e991f15b66b0b13cb7a0b25ab59a39c4a9bb9dfcdff5246d6f09fc40
EBUILD virt-manager-4.1.0.ebuild 2712 BLAKE2B 115493bef4008786ea8f54e3c1f07b8179b114fbca8d6963a6d4b7aa2b90b80cc8fb8bc1da288cd4bc677233e3aa8aa5705ff5f7d22d98a1a01c38b2458f1fc8 SHA512 fa5f54a84cf174c85c58e3799a38ecb53b9f0dd67f89f44dc2f460b62b835658872f4b3c45fe0026f72512196a48ea255bfb4b87bc6c7c7a45b4dc8335f8834a
EBUILD virt-manager-9999.ebuild 2642 BLAKE2B 7db78a0d314e205b6460383643e4997ae0de26a998b5d41dc7346dd35490622669afc5cb3c2ef86ca7cb27c7ea4707dc071213ffb5777e68ae7df77b18fb6759 SHA512 3b7427b36cbf9c7b6237734fbac63852cbe85afb0e6c738db48aa25fe7b1854065979c88e991f15b66b0b13cb7a0b25ab59a39c4a9bb9dfcdff5246d6f09fc40
MISC metadata.xml 717 BLAKE2B 931cc0f16850272e3d61e4c3421768bd01fd98891d1049d540c36dfcc1cd3872c158796edf33479005fdf07fe449d251ef55562a832db8827e757202ed1b046e SHA512 e40d93e6febcbb48ea6178986736721a5c45bc92073a9108179fd437bb303ba1b6bf0adb6053e36f877b660c413404ef877aefe4d3ef2ec124d6b6cc808a411d

@ -102,4 +102,5 @@ pkg_postinst() {
optfeature "SSH_ASKPASS program implementation" lxqt-base/lxqt-openssh-askpass net-misc/ssh-askpass-fullscreen net-misc/x11-ssh-askpass
optfeature "QEMU host support" app-emulation/qemu[usbredir,spice]
optfeature "virt-install --location ISO support" dev-libs/libisoburn
}

Binary file not shown.

@ -8,5 +8,5 @@ AUX jq-1.7_pre20201109-no-git-bdep.patch 540 BLAKE2B 745496f01bbc19ede3f5c17be4a
DIST jq-1.6.tar.gz 1750584 BLAKE2B c9be1314e9d027247de63492ee362e996ef85faf45a47ee421cad95ebde9188bff8d3fc7db64e717ab922e1052f3b1c1500f5589fc5b2199ab66effb000e442d SHA512 5da71f53c325257f1f546a2520fe47828b495c953270df25ea0e37741463fdda72f0ba4d5b05b25114ec30f27a559344c2b024bacabf610759f4e3e9efadb480
DIST jq-1.7_pre20201109.tar.gz 1181867 BLAKE2B 9db187ab927b635c43fbc6191aeffa00451b12253ae023bbabe6fba5fdf8fb393f8450ee2011ef58cb93e2f27994d454fac967984a721439aaac93259c02f7f1 SHA512 f2997d70edb36d0a23b71a7d933a763cedd7c74ffa3129c2a6cb7189aaff1c5095cdc51062b7cd119324ec2c83ebae6ff0b7da3941315303b7a31146b9eb285a
EBUILD jq-1.6-r3.ebuild 2000 BLAKE2B e3d647a6c444db493d291f586d2accd96c34df232dcffc6137e66bbd7cbf7d164dac43d5d783e2666e6ff1135f9583dd2b1a48826808058295abf7c1ff2a311c SHA512 746bbeff6451adbd25916d5c0aad6630a5c2728841731d918b29bf7e4ea679b36b0b61489c8e5aa5bdd8e0a093b117fe04788a4046bbfc39039cb5c510e7cd69
EBUILD jq-1.7_pre20201109.ebuild 2372 BLAKE2B c965fc39eed0d793b082116bb239e0dc1e940596d8ccbf193fe337bfdbe2d9fce24488517e7351aa33250edfeebb2a75e96a9873d3800815c954b27db3565d73 SHA512 58cd179ae5b474781611f9602956518c355932c1b158721ce5926ec4c98a1d2259c7802f9bddf496cb3749fd956c00d961c4a803635c19cec94f7ecb81b03082
EBUILD jq-1.7_pre20201109.ebuild 2379 BLAKE2B 0745f1cb7d163845251d5c413d188a07e214b58474be66a30d10ff9af8eb3d521efd154136bb5921e3074f7dbd884b1a6749615d887813a946e0ae85083f1642 SHA512 5727657759ac7e3172caafb3e9c3d0a3990de4054994197b60db6dbc7c1d645cec99bb531ea66927dbd51fa396018605e14f097f3fdf9a01d6dc69ff829eb01a
MISC metadata.xml 610 BLAKE2B a2f6477d9b1697c37acb9610492a5eb318c545e49cdc0bde29699cdd7a5c02712af1de5302ea5a92de62d4e8dafc535d7a719608fa025b5cae1f051e515e58aa SHA512 ff32a63e3fb9878ea75ebb1e381751fd158c17e615bac802edffaea83746e92dfd4b270a3ce3a44133ed765ef0e810b8b663a040830855b4df8cbf457a34fde2

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -15,7 +15,7 @@ S="${WORKDIR}/${PN}-${COMMIT_HASH}"
LICENSE="MIT CC-BY-3.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
IUSE="+oniguruma static-libs test"
ONIGURUMA_MINPV='>=dev-libs/oniguruma-6.1.3' # Keep this in sync with bundled modules/oniguruma/

Binary file not shown.

@ -1,3 +1,5 @@
DIST mythes-1.2.4.tar.gz 4910303 BLAKE2B aa091344aebd117618d90aa574ec5e68594782511e1aa85a2d46740ecc4ff2cdf1d9f9f6de9dfd454cc0056076bdb9a21ad14d2935e39e4fdbd7753930fda605 SHA512 a04da39812bcfb1391a2cba7de73e955eafe141679ec03ed6657d03bebf360b432480d0037dff9ed72a1dfda5a70d77d44ac2bb14cdb109fd8e2a38376feee21
DIST mythes-1.2.5.tar.xz 2891852 BLAKE2B e292e49187a9b225fdcfccb467afed0b8ce90769bbefe331d7d7f026f2dd6686543b14f3666af5b1693198467206c53da0bbd030420d87c94315f9da769f45a6 SHA512 304fd05619e0ae02c9c29d92a6ada8f4a85f41f331b87b8820728c1919f3dd9c5cd951dbef9a27e649466f94dc5daa19350c9fd09c90d49b198b73b1f9eb770e
EBUILD mythes-1.2.4-r1.ebuild 576 BLAKE2B 7a09e21daea240a26729d9bb44d060ed3ac1b6f04facbabfdf5b27153d948143db79fa363058757b9f711912d29eefdb011b532b4f6425af1d2a8b2971859076 SHA512 12521d07ce02e0604b14d3064a41a19e80f798b40dd9de999615db4bdb4ebfbdd89e3bedec0fec3588b3a5a497ec2fddcad56005f20198cbfce98352a641b414
EBUILD mythes-1.2.5.ebuild 646 BLAKE2B 261fc3b3fd1ba096fbde79f17fa642855b0e7335d009e519f6208e925b4dfa68bd60f3508e5d18bcdd74aa3ba373b3dc728caaec3e9305d43424618c0060e436 SHA512 be6fa5fd7dd47dad03258a411a37aa90fb8aa46fb7bd70d409376bb5d466740170edf8e09182e53acac758998b65b9bbc61a1dd02f402fcd9af17aa289c2154a
MISC metadata.xml 334 BLAKE2B 3a21f7641aa43f9511100ee4a5e64ebd87a30146c27c5b60dc0dd12c3f3fc609a32b5c57f1efcd724731b5ac86a38ffff20f323bfbbcf4793c1586e8e5b9943a SHA512 ef0d056d5b5840698bda3ad0ebc3cc5aa74b51b726c838a3720db45bba8efdd78ef3c0d46d3f6b929390a3204de566d3beed15aa1c32566b75866b338ba50ccb

@ -0,0 +1,28 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Simple thesaurus for LibreOffice"
HOMEPAGE="https://github.com/hunspell/mythes"
SRC_URI="https://github.com/hunspell/${PN}/releases/download/v${PV}/${P}.tar.xz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="debug"
RDEPEND="app-text/hunspell:="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_configure() {
econf \
--disable-werror \
$(use_enable debug)
}
src_install() {
default
find "${ED}" -type f -name '*.la' -delete || die
}

Binary file not shown.

@ -3,6 +3,5 @@ DIST avrdude-7.0.tar.gz 2354082 BLAKE2B 44cc6cb82abd4e44f9e7f72901cd9b2a13c9e763
DIST avrdude-doc-6.3.pdf 255521 BLAKE2B 3b6a3485b996f0923c00c54970e86c3ab9f40e8a5bd962f5d3e4f87c23c90b61f002b46af9766cc0f117583a54d519c5d8739cb5f8bca0776320243679989716 SHA512 f33b15f6a9247f6646ba8a861f1e86f5d43b1b44438fb95bd53764a73f0c450f669dcb43b6b587390ddbc22dafa02758ddc330a7aab1651ccca7c8da8e00b755
DIST avrdude-doc-6.3.tar.gz 39823 BLAKE2B 170ad1eab743435eb414a2d6547be6c86e4d75aed83836eb29285a8d11a43f7eb878104b3b7a70b528522a415a96a841686d07e82b151fc6f726c1f56d54e801 SHA512 b7abd9d0068d2933a1907655832930c455093b4ffbdc2b6fb2405a821cad0ba1c4de3aa5fa0ea7c9b53d06cfa6d5b5658d30a18a4f5c3884d0e15c171a097b29
EBUILD avrdude-6.3-r1.ebuild 1604 BLAKE2B ee08eb332a7c39e4c6fe962b385feed5194ce7ccbf3fee00735e71525f9034de3cb501cb2073ceb27cdfc9c6e1bd8d0d33971f0b126cf336e304d353ab460230 SHA512 cff807fb969f08f298692ca01d62420f76c59a36b986c58c951e0625384077857f6ce7e3516b6a4622709f2c0655302a378f92ba4fcfde01844eb172ed8ada0e
EBUILD avrdude-7.0.ebuild 1774 BLAKE2B 760745080df899d433b3a33ce17d256f7c897ead5d2d8c4c34cc2f1af7cc07fcd1ef4ed615a1c2563b7f7f3b91c7d7b8ec98ba19fa100382fe35472fb4c4b1c3 SHA512 327f700f8354ef2858a3306c93731e936f85a4cd18139b0c7773edc8fd5818ba066e741f75bbb340f80c37aecef1eae9e3d16dbadcaa9f5f81b04d389da2de5d
EBUILD avrdude-9999.ebuild 1609 BLAKE2B 155fc4a9215f1e17f2ce9543a039a551caa918137b318d0f2d5ffd10ff86563df51b2bb729b0a49b28bf4fd425baaaf8b5f5f73e6762286ca2cd4df6d44dd02d SHA512 cb02fd8b464d8a2bf4f2e2696c2aed1e4e334a668a53db79d268a13d193041929b00c09bfbcfd839b16c89a1f155df7fd98d062cc29be0afdddb84cf5e1d71f4
EBUILD avrdude-7.0.ebuild 1776 BLAKE2B eb689999f60386ab4fe6e4446d82f05487847ba83ae403bb4cf2886194cbc55e7f849741d11f03e49ee825f4d819761711fe1e1a446ea4c41854b168cf9cd621 SHA512 d22b05b2e624654c71acd795abd359bc80e5f6f301f3a912a072ddd5f06cf1c2f04e7c00bb2d4398bb20cdf2949c8edc42c97d7bb0ebac1834df4a55282557c9
MISC metadata.xml 445 BLAKE2B 022417895def5659b262f5b522881b7c3cd9d45129e3adb8bfe598b8301591f6367595ec529ad812c3d814e801939a0f7b41d7dedf101cdd487741f43a2d5a72 SHA512 2d68e3db08f4a8d74b03cdac07ad45c00fe37794fd7cdaeb8ccd0a9dd0972fb0a60e37c8f37f4801b657ee415f4966d591854fc7176a4e274e9ad60b3cbba012

@ -11,7 +11,7 @@ SRC_URI="https://github.com/avrdudes/avrdude/archive/refs/tags/v${PV}.tar.gz ->
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64"
KEYWORDS="~amd64 arm ppc ppc64 ~x86"
IUSE="ftdi readline"
RDEPEND="

@ -1,73 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit toolchain-funcs
MY_DOC_PV=6.3
DESCRIPTION="AVR Downloader/UploaDEr"
HOMEPAGE="https://savannah.nongnu.org/projects/avrdude"
if [[ ${PV} == *9999* ]] ; then
ESVN_REPO_URI="svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude"
inherit autotools subversion
else
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
fi
SRC_URI+=" doc? (
mirror://nongnu/${PN}/${PN}-doc-${MY_DOC_PV}.tar.gz
mirror://nongnu/${PN}/${PN}-doc-${MY_DOC_PV}.pdf
)"
LICENSE="GPL-2"
SLOT="0"
IUSE="doc ftdi ncurses readline"
RDEPEND="
virtual/libelf
virtual/libusb:1
virtual/libusb:0
ftdi? ( dev-embedded/libftdi:= )
ncurses? ( sys-libs/ncurses:0= )
readline? ( sys-libs/readline:0= )
"
DEPEND="${RDEPEND}"
src_prepare() {
default
[[ ${PV} == *9999* ]] && eautoreconf
}
src_configure() {
# somehow this doesnt get set when cross-compiling and breaks build
tc-export AR
export ac_cv_lib_ftdi_ftdi_usb_get_strings=$(usex ftdi)
export ac_cv_lib_ncurses_tputs=$(usex ncurses)
export ac_cv_lib_readline_readline=$(usex readline)
econf --disable-static
}
src_compile() {
# The automake target for these files does not use tempfiles or create
# these atomically, confusing a parallel build. So we force them first.
emake lexer.c config_gram.c config_gram.h
emake
}
src_install() {
default
if use doc ; then
newdoc "${DISTDIR}/${PN}-doc-${MY_DOC_PV}.pdf" avrdude.pdf
dodoc -r "${WORKDIR}/avrdude-html/"
fi
find "${ED}" -name '*.la' -delete || die
}

@ -1,4 +1,5 @@
DIST libjaylink-0.2.0.tar.bz2 59078 BLAKE2B 7928875248972bc00ec46511861e160491f7a53f729e0fbfe3a6d08335532fffc9e285e8a354a390037bebe696b6740bdc422164238947baf5e0fcf8f55c0dd5 SHA512 5a8c458982fdea2025aa3ce774d41cc58a283824dcd90a94531ee5e6ca50d9961b0ebb40a6dd3a97fdfcb44625437d685151560185449c3161fe399e0651da44
EBUILD libjaylink-0.2.0.ebuild 822 BLAKE2B 613a8b4110a901d1beaaffd55bba733f3d2542497c871eab5f9a2ada0e2e791472e02bf5b5c88e333a67e742b33894e90163025f403d3f08c0e9d711011d827c SHA512 1b087146f2991ace370f6aadc2b010ef6152d3ed0f5722aa39d6b5b851d1964d4c38bebc6a618e06cda9eed072e9ef7745ac7470c83aa496cbc72eab379c1246
EBUILD libjaylink-9999.ebuild 790 BLAKE2B 72c7377905e1b424d249bf18e7b1d46b09707e41bb70099d5811b7fc7ae72177e8eeb9d61827ee5653df64cc80eee20747e0bc5a9893d11f09406f77e3d8091d SHA512 68f0b0d7e3b8c06e88195bb008eadc710c193be68d8bea41c009c98dbb50e406e7c8493937699936433ee3f6cc6417c0ff823929b3290babbc8bec0dc8934870
DIST libjaylink-0.3.0.tar.bz2 61075 BLAKE2B 84946fbe0a061117f92b8011c0b5eeb30f8f74817128a5fd6a6d519c7a0f07f447d87d0fe72d7a47d17ab2fa33cdc3820e0c556f75c5dedad30faf5e6cf5739d SHA512 714de9297fb59eccee7eb461f37b20459991bffd31aac8eb20014f00716bb94ff4cda96a3d1746419c7722b6b7d97e7a42df9fb3b5c4f83a3f1ac79647159426
EBUILD libjaylink-0.2.0.ebuild 823 BLAKE2B c388faf02a0292265ff13db4ded9aca6d912de9952cd7b7fe043eea361ce334c07f663a67901525af24afc60b4b7c72057fd092ad2b93aaeb908ca959dd62913 SHA512 c55fcab380cbc8c0e1442c959d60180dbd972857e369ad19d7ce68ef6d03364fb53d6410b525f164b2ca8059b4745b3c361a77792ab5e9a9637863b5f9595068
EBUILD libjaylink-0.3.0.ebuild 819 BLAKE2B 6a17f87c8067b5e99cef4c66ed60d1c587a82d2a9ff8ca560e098f9c180b4f3f62484a20cb4707b665fb2cb3a141b8bbca14a99aab760bd36d5634d35cbb7f21 SHA512 872cf96a5c017ef2fcdfaf97f81e0f98026e787af1664353b7d9e85fb9f9863193b2391ad43b115ee9d6d661ff93fa7d748b107371f50bb7cfdd6abfd34315fe
MISC metadata.xml 248 BLAKE2B 9858a97a2186d5b06e272fe28021e0e668897630d8b99023000e8e58e852e80e16b399d8f864b9dff6c9fda25e1519ac8b4331792a4b441be23922707c4ad6a9 SHA512 a1e8f757e473af3ab0ccf695f849dc91e1be877dd505d339bdd26e35a2cf7fb5ffd8f5bf34e933873a462023aecb0edbddefbbda455289279182059cd6c1b0e5

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.zapb.de/libjaylink/libjaylink"
SRC_URI="https://gitlab.zapb.de/libjaylink/libjaylink/-/archive/${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 arm ~riscv x86"
IUSE="static-libs"

@ -0,0 +1,45 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools udev
DESCRIPTION="Library to access J-Link devices"
HOMEPAGE="https://gitlab.zapb.de/libjaylink/libjaylink"
SRC_URI="https://gitlab.zapb.de/libjaylink/libjaylink/-/archive/${PV}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~riscv ~x86"
DEPEND="virtual/libusb:1"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
default
# Remove -Werror from CFLAGS.
sed -i '/^JAYLINK_CFLAGS=/s/ -Werror//' configure.ac || die
eautoreconf
}
src_configure() {
econf --disable-static
}
src_install() {
default
udev_dorules contrib/99-${PN}.rules
find "${D}" -type f -name '*.la' -delete || die
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}

@ -1,36 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
EGIT_REPO_URI="https://gitlab.zapb.de/libjaylink/libjaylink.git"
inherit git-r3 autotools multilib-minimal
DESCRIPTION="Library to access J-Link devices"
HOMEPAGE="https://gitlab.zapb.de/libjaylink/libjaylink"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE="static-libs"
DEPEND="virtual/libusb:1[${MULTILIB_USEDEP}]"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
sed -i -e "/^JAYLINK_CFLAGS=/ s/ -Werror / /" configure.ac || die
eapply_user
eautoreconf
multilib_copy_sources
}
multilib_src_configure() {
econf $(use_enable static-libs static)
}
multilib_src_install_all() {
einstalldocs
use static-libs || find "${D}" -name '*.la' -delete || die
}

@ -0,0 +1,4 @@
DIST pico-sdk-1.4.0.tar.gz 959068 BLAKE2B 95c5e61c4d66c345daa4b8aff8e9e2cd90bcc722289ac67c1a18ce00dfa02ef7fb07512a0fdc7558f989746c215cff31979f1ad8a582e20ff2d151fdd109914f SHA512 4be28cf41e5b808a504b4c949f6c3e9fbc425beb4f838a7898bfd78925cc54e0390ff56c036bc7f60a26efac0d6c1bd811b27f7b60a1c8d7bb4750f3fa37690e
DIST picotool-1.1.0.tar.gz 43994 BLAKE2B 2b8536540be912418be1f0f0d93bb59b9cd4832ce46854478fb0bfbcb4463b49e4806068897a1d665b73ea7a764bf0d96f0a56cde01ef6503c74e1eadc4ed9c2 SHA512 5c13a88e90baed28cf435c7641a84c1c814fc473d57f2502ebb594d84c71bbe82632bf0d24b7755ebfec270d85f4588c488917a224b68c93f40573e956026efc
EBUILD picotool-1.1.0.ebuild 772 BLAKE2B fae9ed8a76e8486b58097e4a654205cc0cb4bc52b4b437218fe675f0e50cb6bbd5dc82ca8a91540a3bb3ac2dfe3031a461a5504eb598aeaf42c6982b412e2e7e SHA512 a3276b1f33ea36043eaa9c59d599fc039bab4db41a22c4e85ba005e0f42bc067395f59cb06b7f8fd47645d59c7ae7414a1e932a2cc6d078cc46815397974bdb5
MISC metadata.xml 334 BLAKE2B a4ef9732d149b900ea9297b86aad7f177641715182dfbf8207325ab729a959ff4565f1c2a5bf493a587541be30f35fa98851799bf8c229e10c8d1047b4bc782c SHA512 bcfc16ad40c8668ce3ef74c62e5afc76620038605ae8ab7615382ceead47591631af194adcde959a70b9cc62f0fca4fa28f1e62c8f1ae3cdaafdb5f3aa52f0d3

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
<upstream>
<remote-id type="github">raspberrypi/picotool</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,35 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
SDK_PV=1.4.0
SDK_PN=pico-sdk
SDK_P=${SDK_PN}-${SDK_PV}
DESCRIPTION="tool for interacting with rp2040 devices and binaries"
HOMEPAGE="https://github.com/raspberrypi/picotool"
SRC_URI="
https://github.com/raspberrypi/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/raspberrypi/${SDK_PN}/archive/refs/tags/${SDK_PV}.tar.gz -> ${SDK_P}.tar.gz
"
# picotool (BSD)
# |- clipp (MIT)
# |- pico-sdk (BSD)
LICENSE="BSD MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="virtual/libusb:1"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_configure() {
local mycmakeargs=(
-DPICO_SDK_PATH="${WORKDIR}"/${SDK_P}
)
cmake_src_configure
}

Binary file not shown.

@ -0,0 +1,4 @@
DIST go-critic-0.6.4-deps.tar.xz 26894844 BLAKE2B 4e78028cd4631ae263f9d696832a80d9cc3e580eacd6671021704f0a0cef4181c5f3f680efe4480eb0b791bf0b84d0ebe96976cc255ff10e540b1b50823d9b8f SHA512 3b0d4a3eae243ce5f8eded69f493155c76b9d6f97cec62268fc9916b17fffb676286a0c69ca5f707b6ce64a6fdcbf10a5864716a422d9f4fbfde69786f669c5c
DIST go-critic-0.6.4.tar.gz 176888 BLAKE2B 18b8877a800c5ee6d955e94f5258b994fb830f82696dc137c403d5b9f833dd2667ae2b9f952f71f34d6475b3d05b37f2afa711ef60717eda1cb668ab2624c61e SHA512 041df9446fb16e55d06887d8cbe0e8c32ef3bb9fb088d45d2c9dde58062fa3a8d326a3003ca238df56c14a33b7037315de59a1fb0b988e842cf0360fec851ee2
EBUILD go-critic-0.6.4.ebuild 569 BLAKE2B ec8ccac08a65659a7205f91915ecaafe5a70bc753faf7146e0aba45e475833d56fa824ee46c35c3b141a4f9ad9ec805923c879a3fe6a1789c1e2c93401969e5c SHA512 ddef612698da52a6f4ae37c41a45e92c2aec4363a9b5f1df84ce7b1404511d40cf418a7bbe1ff9403fb4ea90bb7870e23612870c3afc63c6b9da8ffb54c3c7f3
MISC metadata.xml 333 BLAKE2B 7c1af2e0f28a5eca92d10d9a32914dc8c73a3d4e08f90cae09446a1523ed5ac25eb19c068dfe10c42f7fe9caf5cb417b0e906f51736dcfe758b4083271ecf672 SHA512 b838a98c07a8ab342dc1ee6c9128ad736197e0047bea0c479890ab0853e92306a153346f5e20a4ce72acbfa44e77f551c015f066160b2e29aa0d67826b97b756

@ -0,0 +1,25 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module
DESCRIPTION="The most opinionated Go source code linter for code audit"
HOMEPAGE="https://github.com/go-critic/go-critic"
SRC_URI="https://github.com/go-critic/go-critic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
# tests fail
RESTRICT="test"
src_compile() {
emake GOCRITIC_VERSION=v${PV} build-release
}
src_install() {
dobin bin/*
}

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>williamh@gentoo.org</email>
<name>William Hubbs</name>
</maintainer>
<upstream>
<remote-id type="github">go-critic/go-critic</remote-id>
</upstream>
</pkgmetadata>

@ -1,3 +1,3 @@
DIST go-md2man-2.0.0.tar.gz 52021 BLAKE2B d3df2300a28d972b6b7269172a734dda7a60df5c25d8b4a4d9a45a2c636f08286eea4873c32d22a9533ba4e333660e4ec2deabe8fbdb9af3db96c07884278d04 SHA512 22a6c950ca7e386246fadb15f05d0a60437a249df48a7c5f905bc4bd05034cede6318e1158bd2113e97b4fd2d1e838776680a00c6141ac2b3c8795aeee15a39d
EBUILD go-md2man-2.0.0.ebuild 755 BLAKE2B ee560a9b6f775f662ffa96142acf84ecf8f2f06012d74eeca0a804168718219c7c086adc3ceb4aacc3139ba62be797a381d261ad04a507e11a968057092000a8 SHA512 a4e3ddcf933c4ce9609ae9f78efe2afd6f632737753480683ab2828d7ab69b7ad49d0f4fb82767da0e7b7d064da63bb0fd0d01edf185988a26049244a1feb304
EBUILD go-md2man-2.0.0.ebuild 762 BLAKE2B d6ee24b7b007d93e6c28feb661d92dd88370d6a8409f13266edce58b01846cbd046c64e0ba1769ff35b9ac369ae453f8f4985d1562488feb710f95e2871b4915 SHA512 ff5a1d8bccd89e94cefe35436a0d52e8fecddecd2c2f840b856fb40fee4214a3d2dd9fd5b486b142612536350e8cd734b7f12ea2981abddb046b6e5c11481e47
MISC metadata.xml 332 BLAKE2B 42f4eb1e29091b8232cd71a38ba515180ac9287c06c357c042854e678973176760ecc6921cbd486bbd112ac056f18f900c6680ba6e2dc27990520459305f783a SHA512 09f145af286d702f22d73e47f8a25df4b3080c5a986a9a2a51bbe2df7a839082732d5bd5d552c22cda0a67a5c9177cada5c7b79714eabb5d3b28d53751e4a078

@ -1,4 +1,4 @@
# Copyright 1999-2021 Gentoo Authors
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@ -10,7 +10,7 @@ HOMEPAGE="https://github.com/cpuguy83/go-md2man"
LICENSE="BSD-2 MIT"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ppc64 ~riscv ~x86"
KEYWORDS="amd64 ~arm arm64 ~loong ppc64 ~riscv ~x86"
# restrict tests because they need network-sandbox disabled
# bug https://bugs.gentoo.org/715028

Binary file not shown.

@ -8,6 +8,6 @@ DIST jffi-1.3.6.tar.gz 3187269 BLAKE2B 87a98c752440e336948923e73e2756cb0f88cbb11
DIST jffi-1.3.9.tar.gz 3193992 BLAKE2B bcd2dba3f9528c293aebb13a8fbd0b2fd7afcbae0cc5fa231f7e8ab190b834adc9e3f40bfc1211d0019a34a9edbaf8810f44b88f3c44b1e3b8065b2b80ccc6dc SHA512 21bf6997c64c0764c1fe86c9ab9b854037241489789f443a3337253ecc95100c94723a57165c85eed7a6c3837b8c04751af4a1fb5873a9c9fcd9a4535b68fc10
EBUILD jffi-1.2.9-r1.ebuild 3008 BLAKE2B 1a6a1edc45678bdc3f8593a09fe1083988248f1b254b420bc1bed913b49626d6fff2023dbbe3481d7ac572b7bd73132593b9b3e0ef714821f2aaa22de537a0a6 SHA512 b7921f24dec2f0b18a44dbd57eef94deb4cd55d759d62b45f6d3a42004b3e7b82d4531f3a98a983936738d8576451a21ea4f849bcdaf46d945d6bf0747786a41
EBUILD jffi-1.3.6.ebuild 2454 BLAKE2B 0e988a67b31d18e96b6c0d8f550770c14bcefe22732ad989e567fa39bfc96e06f07d00771fc6228f3d3f0e122c1c06a4ea3d2a5ec45b74ab0b79ba3800ea24f0 SHA512 5314575e00a311389ccd290b20fe73852dd46769777de3278c748d2ec39c79ded428f157b36339273220d503e7ca810c15dfa3661b9ef778550c747a549847fb
EBUILD jffi-1.3.9-r1.ebuild 2477 BLAKE2B 887823eef8eefdf96c419b6bdbcb33bce439add9bc95587f1f7a3acbb6ef45942a92161abd0516e4dfe623df3be487ffdc887ef63f5a747f9371c1fc4c4c6ce5 SHA512 f68927d11ee66c4ad2586b6a8d579c42dcfcc053a6f758dc9f80bab32cbb3a8313c92b502bc3ee9a7cabad8767b86e0ba05304fbdd06750876d03f4bc74c79db
EBUILD jffi-1.3.9-r1.ebuild 2476 BLAKE2B ec1250878aa248ec5553cbcbe9d3136a85d2e26fdf46530ef691400b573b8fba55ad190e13d9d87aa9c7076e43da039ad78f9dcbeb9f807ce80614617a63ee08 SHA512 b56176b99e06410d97fbccac17b668c5b8e960d85a9dec141af78fc0ac4df5fd05aaeaf2d865dbc8656e867c4ff28b75792151d447d8102bd046b4456e8797e3
EBUILD jffi-1.3.9.ebuild 2417 BLAKE2B c8bacff9935a8e6b44a857486c3b605a4c0a3210c50a0e309161593707654a930e68dbce87fe190bd2678c0576ae6e24078ed0f0af501c95c9ea446650705a3a SHA512 8b6ce9c691dd7f99c33a37999c9d12de082d3d64c1239cae7bf0f16308ec9a9dd4c014e8e203fc4c74dfc694f2b84d389d8cb34c3a634bc6d53b0ef4dcfafaf6
MISC metadata.xml 320 BLAKE2B 4b1ac90322eb9faf01b397b7b4eea9167648abf3a89693a3bb28b27f5015b03c20c3b1b7843509686c8a827be8d4ea37f40fdf6ddaae418eec2dfa3b1797ffae SHA512 0daa4f9c85c906fdbd2fb652257c4d8ff52d88738e8e37e6bed49fdee6bb8aecefcd06e39fbe1262a3a0af73d2e1f4cfc8d0fc56b109bc686975ed41e54a68c9

@ -18,7 +18,7 @@ SRC_URI="https://github.com/jnr/${PN}/archive/refs/tags/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="1.3"
KEYWORDS="amd64 arm64 ppc64 ~x86"
KEYWORDS="amd64 arm64 ppc64 x86"
DEPEND=">=virtual/jdk-1.8:*
>=dev-libs/libffi-3.4.2-r2:="

@ -3,5 +3,5 @@ AUX jnr-posix_maven-build.xml 11760 BLAKE2B ec75beb884ccb81dc28c38db22e64953a6f5
DIST jnr-posix-3.0.10.tar.gz 85912 BLAKE2B b87ff78ccf10718bd1faf9e308421ba3ab5e90dee5e244fb1b7f53592da8ad98973cc50e6469bcea59e1202ee82b3f77522eb95e23584ff70cc66099ef1c4266 SHA512 a282c164b0b9ace8aba508a48d08d53beb0ddcd4baf5389412941a1e1430d75df9bdd35935a6982d4bb1910c0fdad55910ba028b1b5388c55e19a6c4ed2ba6a1
DIST jnr-posix-3.1.15.tar.gz 120573 BLAKE2B 8035308440e444876d8d955ec3dd0b9d41f770436b53f964795a183ed7bd676dda8787c37425c488af2aa0accc948b86d1773e7e97ee5bcdaf209383dfda24a6 SHA512 6c8cd6d43c509ef7c16901d02983b823464b3437019233021398b2a9dfc85923db87c585e2f8248f080447a990e308feff25bbbf2a7261019dcae66c22e14a91
EBUILD jnr-posix-3.0.10-r1.ebuild 1295 BLAKE2B f9ad7d57774afd7dfba2f22a774d2539332e474a85ffb0f601ba734127fb99644ea1e1912f245707d9b5d5e432d46d241d175f4fde7e9b168dc2f74b21aa52f8 SHA512 1ac23f843d6a1d3c5520fa464f6284573403e8b361eddb29647a81a938cc22e602508c1f04dc2a887042f99f0b0f8d21c1c4776c3dc14fcc25b306cfee296494
EBUILD jnr-posix-3.1.15.ebuild 1925 BLAKE2B f628e12409417907e9151f2b1f0f13e1b86377d37bdafabe8cb93d318bc8dcb3a00da31944d22f0257f23627d0e7f24dc98c4e07122eaa89e4ff55bb2aaa31fb SHA512 38ed70a57b2fd9fd3673968e8508e4a7f902faebe543ae3a086dc2a67d0c6058ab4c369143e6565f7b4a5eff00399a3f0864de90069fa7d5ef29973f09f83c1c
EBUILD jnr-posix-3.1.15.ebuild 2249 BLAKE2B d6b4768a08780c6f37bb9610a98d9ff11266fbc04f9088cb744706cef7b7e578453738d65249a48882080e1192e55aeda2de1d0d0ef6656252ddbdd2fbad90e0 SHA512 735e0abfbc4e8ef1f94bb6e8708c9a0d87a55a39541d71849d6e1ad2c0e1e2bdf228163da76b61341b02c4a71a11f454c70accbde6cd756e1dac817f4f47ba31
MISC metadata.xml 325 BLAKE2B f40ca825a92205c1ef0e0be2e72c859b680593c0f852aec73c3d84356a9927f5f536ffcec7b7a365353ac56489677d7881f9f27431abc56cdf9cc24550493097 SHA512 ff2bae0526d5ae082ad290411e7d3cd95a197918e4d834a531cab016ff9a718197a27fb2c7a4f7426bb44a5b295e164a72dd36f5fac800bc20388fde0f52e0a4

@ -18,7 +18,7 @@ SRC_URI="https://github.com/jnr/${PN}/archive/${P}.tar.gz"
LICENSE="EPL-2.0 GPL-2 LGPL-2.1"
SLOT="3.0"
KEYWORDS="amd64 arm64 ~ppc64 x86"
KEYWORDS="amd64 arm64 ppc64 x86"
CP_DEPEND="
>=dev-java/jnr-ffi-2.2.12:2
@ -39,6 +39,16 @@ JAVA_TEST_GENTOO_CLASSPATH="junit-4"
JAVA_TEST_SRC_DIR="src/test/java"
src_test() {
if use ppc64; then
# Ignore testMessageHdrMultipleControl
# https://bugs.gentoo.org/866199
# https://github.com/jnr/jnr-posix/issues/178
sed \
-e '/testMessageHdrMultipleControl/i @Ignore' \
-e '/import org.junit.Test/a import org.junit.Ignore;' \
-i src/test/java/jnr/posix/LinuxPOSIXTest.java || die
fi
JAVA_TEST_EXCLUDES=(
# https://github.com/jnr/jnr-posix/blob/jnr-posix-3.1.15/pom.xml#L185
# <exclude>**/windows/*Test.java</exclude>

Binary file not shown.

@ -11,15 +11,9 @@ AUX lua.pc 658 BLAKE2B 580504c8162c9cbde35b4a817c688b955cad1a35b1c21ed527488eda6
DIST lua-5.1.5.tar.gz 221213 BLAKE2B 915eb8e8c9d7e460eacf1d7a59309c60dfc0f5d9d3d76fbc9764e7cae85920b95096db1c27b69ac53378a145c29efde403e88166a1332a67150d9d3a897aba02 SHA512 0142fefcbd13afcd9b201403592aa60620011cc8e8559d4d2db2f92739d18186860989f48caa45830ff4f99bfc7483287fd3ff3a16d4dec928e2767ce4d542a9
DIST lua-5.3.4-tests.tar.gz 103438 BLAKE2B ac82708022e7729039111c3df4fe24302c8d0efb224afb4828871ac085a3d64c41d674a6f9369035de01ed1f7f75a3d2ce16917f37e774e923216aac0be03e09 SHA512 79575d100a2efabc8243f55b55d912443e09ef7e8b0219cb93541d85c2ba802fb9538015e1228703f09ca57bdb28a640a8f1fa0735716ba1e4bca2179c712dfb
DIST lua-5.3.6.tar.gz 303770 BLAKE2B 07c37c56f43095a4f6ca8eb8b3adf19afd53107c02b62b2bcb3619565cb2100d5f823493eef93092d5e312b30fc28885a6d9e8f0ba5a23b5bed86dc4515a5d61 SHA512 ccc380d5e114d54504de0bfb0321ca25ec325d6ff1bfee44b11870b660762d1a9bf120490c027a0088128b58bb6b5271bbc648400cab84d2dc22b512c4841681
DIST lua-5.4.2-tests.tar.gz 128901 BLAKE2B 10e4f0e8760f9cbd4761fa26665008ae7412539f79a6a7687029808f08f0ae4a24721e787e2e87e5080c16e9dcce8577a7a39ddc6d3e483a3cfe11756139594e SHA512 1516c59deca211c38444bbf97b18e988e939209b03915d3691d756eeed31b52e8d3a1f05b71ac0b561965274c7b6f3afc4244cd2e9069995696e737e2d9dd40b
DIST lua-5.4.2.tar.gz 353472 BLAKE2B 7e0e642684df635ed1c48db45989e86a2638024e30a170addf700b0c7d32276f1eaef80898539c671039c20cb0bed4861b12c58f4b8211653a17e89bad278d87 SHA512 9454a6ffd973598f2f4a2399834c31c4d5090bd12e716776e3189aa57760319d114ee64a8338bbc2ef5e08150bf0adc2ad94a1b2677f38538a43359969d4d920
DIST lua-5.4.4-tests.tar.gz 134094 BLAKE2B 63f5888a506f504f849fb2000cf551960df8eca3107601dcc8243e8ea5a1b13a70bff7dea4aebe3ab35b7e9df58c2ca44a7a27aa4de82240877eb8d7a017642e SHA512 08b3d764b3f362a2cddf5a23e71b16eea96a234a970fa0048bab358ebbd77f99d9bd132af12254383c5bb5426516e1ce2107e529e88d3963869255f5a41198ef
DIST lua-5.4.4.tar.gz 360876 BLAKE2B 8747ef5c83bd4c54b73eeaad6991ab5fccc54ee000973afd9cf3367b8945f03c54e843ec88c48043003cd9d3b42281c593cb485b7165add2744cfea06d8b7668 SHA512 af0c35d5ba00fecbb2dd617bd7b825edf7418a16a73076e04f2a0df58cdbf098dc3ff4402e974afd789eb5d86d2e12ec6df9c84b99b23656ea694a85f83bcd21
EBUILD lua-5.1.5-r106.ebuild 4034 BLAKE2B 854878c2829b16de02a0cf011b1b35b22f130095c2e671e755a1a23153a27a612a8c9ec5443b97c550e98396d9845e49245832e8ce655334692a6ec77495dc88 SHA512 294a4daad1aaafbdbaf841a9f9e6ba1d0bbb0892138ce065188e2b4e7cfb7a85ca4a88b069862d0f339617ff0b7ce97d119db06736ea4609ea2801cb57f2967e
EBUILD lua-5.1.5-r107.ebuild 4237 BLAKE2B bb46179ee88b6a45134a4c780be31c41b6faf981b80500ddb8a0e9c56f21d7c6e05115b6ee3213e77292a6b8b8e7cb7226be41cb33edd3576f636266fb1e84d6 SHA512 6be82f201a99c331d750b9fcb7c50529bdcb6af25b58668699498a5c3e52e9b095b439d32a7d5bbffd2b4475749a1f4f6e84f49a9df47d02fcdf4ea449fdaf07
EBUILD lua-5.3.6-r2.ebuild 5752 BLAKE2B 88d746cbe0643295ebacca48b1343acf3c1ddce29b9249df65e498cac970221adb15841b978d7ed16b78a503f107d307f3a6e6b1dec5f2ab7f0a086a65d8054e SHA512 eb9a993fd34799b95ae6fe7d9ee6cc2b05f8298ed0c91546561cd4683a4c57c9c74786ce0950f4b82cd96c4e7d663400bacda9b8734bd440abbc3d312891c428
EBUILD lua-5.3.6-r3.ebuild 5955 BLAKE2B e06a1edc5866a35ea3c73f64517448b77ea56d2469e920cb7e825f9d46ce0955e9b00e0136d8313a40a586a54ba9bfab1fa11f2cd4b7b9c02f2aabd1fe454657 SHA512 da17cee0836f28f08c3dc0d241d87fe5aa343ddb6f8b90964247da7d69d232aca52d8d31aaf13ed39a46441680ab63eea049c632b7548b9d9f7fcf0fea633f62
EBUILD lua-5.4.2-r1.ebuild 5698 BLAKE2B 389a70fdbbea2c66d3c4c45471e67775c106bffbbf622cbddeb6803fef6b88da5debecc3c2107b23e4b33c417eec4649388b6c7f575f7b8926b5947edc284479 SHA512 eeafbd5447750b6ee1f32f11edaff20365dcfba88ab21d19c14e3049b896cb9f44c826e4e59a969e244b53cc3f8a3dfff7aea8adcfdb7124c2b4168bd57b2336
EBUILD lua-5.4.2-r2.ebuild 5905 BLAKE2B 427d512b784ab7d9e7e2c4711f2493e36390c5921d95d387403ab9cc7896da56588ab5b7f0aa9cf32b8be514bc7822bc55567dbcd48a11821adf9f46247b8eac SHA512 963a014a6e1906f7ef94fefee1f1a9414b997a653d20611604a175b61ebb0f30ff06cade839f43e0059425c07af185738bd43ae3b8b29de64942ee69cbdd7195
EBUILD lua-5.4.4.ebuild 5904 BLAKE2B f7ac0aa7e2351b96172853b7d7eb2fd64f16732df9a6ccea1c48771d217435933da15fcebb6bd44c5165e81b5b1a6bfe664ba942395265afa2823e86ea09847a SHA512 f0fc11115af1fd606baa7612938d7cbc264ca08b065f8b6821cfb0ccda773341da314bdad93b87ca0ac8a8646c390a754c406f5354748c06493fd3f97700e279
EBUILD lua-5.1.5-r107.ebuild 4229 BLAKE2B de634ec37a5c960cc9a179f6dd74dff771d41e59f417da9576b4a643ae3987de2b67e5a318c10fedc0e59ae1d1420060c9f79472cbd04916445d71bca7490cdb SHA512 936d8ee0b7ca8d90ede57a8d8425e2c8fea635817a936865cc504e50d6c616a3d569c15a32dba3884dc9b9de48a2dcd722eadd117cebb09e211744d2ac0885f0
EBUILD lua-5.3.6-r3.ebuild 5947 BLAKE2B 6a8fbe4b1bc089b182980cd93a649ada7409508dcf938d4849125b141295ed5b4a25d74c0159dede2c4f98f001a31a9c78adada30440b0f60f6a83b3aaba7a2f SHA512 efca3e1c8e79e1c2ca1c9b544bb34e1d3bb96acd7db61ca1a2e390e220129db9b77bfb1cb5bde09a90f1c5690a41a47faa6305168b1e8b8addfb4c64aa299b00
EBUILD lua-5.4.4.ebuild 5896 BLAKE2B cb16d7a7c476e828f19e394ff07ae072a11a829171e743f597c62df501ca070d2c3b2f47c0f18b6221e5982b0f11a07d9f24a017858130812672aa4418cd2ce5 SHA512 5e4b151a76a08413f106c7602052d4675df523f40b311e86394e08570f155b5a8734c6b5c8aff1bffeb81a5678d19a5188e94b2531d9363616698d38c237f563
MISC metadata.xml 525 BLAKE2B cd450b981b7ae039f32a0c6484548c59eff8d9c032975c84ef9b5530219413f7ff7a95d66593da6252c08808189cc61f02fbef88efe36f71dc64d9aec3c0e90e SHA512 4f127caf48df93a75b562f516e3a522ae3edcc601f434b2d034d76b106cbfd96848e6898bdc850acf757101843696e44da9ab1f42292e96bd294c30b631ccaa8

@ -1,151 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"
SRC_URI="https://www.lua.org/ftp/${P}.tar.gz"
LICENSE="MIT"
SLOT="5.1"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+deprecated readline"
COMMON_DEPEND="
>=app-eselect/eselect-lua-3
readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )
!dev-lang/lua:0"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
BDEPEND="sys-devel/libtool"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
src_prepare() {
PATCHES=(
"${FILESDIR}/lua-5.1.5-make.patch"
"${FILESDIR}/${PN}-$(ver_cut 1-2)-module_paths.patch"
)
if ! use deprecated ; then
# patches from 5.1.4 still apply
PATCHES+=(
"${FILESDIR}"/${PN}-5.1.4-deprecated.patch
"${FILESDIR}"/${PN}-5.1.4-test.patch
)
fi
if ! use readline ; then
PATCHES+=(
"${FILESDIR}"/${PN}-$(ver_cut 1-2)-readline.patch
)
fi
default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \
Makefile src/Makefile || die
fi
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html
# Using dynamic linked lua is not recommended for performance
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
# Mainly, this is of concern if your arch is poor with GPRs, like x86
# Note that this only affects the interpreter binary (named lua), not the lua
# compiler (built statically) nor the lua libraries.
# A slotted Lua uses different directories for headers & names for
# libraries, and pkgconfig should reflect that.
sed -r -i \
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
-e "/^includedir=/s,(/include)$,\1/lua${SLOT}," \
-e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \
"${S}"/etc/lua.pc
# custom Makefiles
multilib_copy_sources
}
multilib_src_configure() {
# We want packages to find our things...
sed -i \
-e 's:/usr/local:'${EPREFIX}'/usr:' \
-e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \
etc/lua.pc src/luaconf.h || die
}
multilib_src_compile() {
tc-export CC
myflags=
# what to link to liblua
liblibs="-lm"
liblibs="${liblibs} $(dlopen_lib)"
# what to link to the executables
mylibs=
if use readline; then
mylibs="-lreadline"
fi
cd src
emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
V=$(ver_cut 1-2) \
gentoo_all
mv lua_test ../test/lua.static
}
multilib_src_install() {
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
V=${SLOT} gentoo_install
insinto /usr/$(get_libdir)/pkgconfig
newins etc/lua.pc lua${SLOT}.pc
}
multilib_src_install_all() {
DOCS="HISTORY README"
HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
find "${ED}" -name '*.la' -delete || die
find "${ED}" -name 'liblua*.a' -delete || die
}
multilib_src_test() {
local positive="bisect cf echo env factorial fib fibfor hello printf sieve
sort trace-calls trace-globals"
local negative="readonly"
local test
cd "${BUILD_DIR}" || die
for test in ${positive}; do
test/lua.static test/${test}.lua || die "test $test failed"
done
for test in ${negative}; do
test/lua.static test/${test}.lua && die "test $test failed"
done
}
pkg_postinst() {
eselect lua set --if-unset "${PN}${SLOT}"
if has_version "app-editor/emacs"; then
if ! has_version "app-emacs/lua-mode"; then
einfo "Install app-emacs/lua-mode for lua support for emacs"
fi
fi
}

@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib multilib-minimal portability toolchain-funcs
inherit multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"

@ -1,200 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"
TEST_PV="5.3.4"
TEST_P="${PN}-${TEST_PV}-tests"
SRC_URI="
https://www.lua.org/ftp/${P}.tar.gz
test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )"
LICENSE="MIT"
SLOT="5.3"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+deprecated readline test test-complete"
COMMON_DEPEND="
>=app-eselect/eselect-lua-3
readline? ( sys-libs/readline:0= )
!dev-lang/lua:0"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
BDEPEND="sys-devel/libtool"
RESTRICT="!test? ( test )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
PATCHES=(
"${FILESDIR}/lua-5.3.6-make.patch"
)
src_prepare() {
default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
Makefile src/Makefile || die
fi
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
if ! use readline ; then
sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die
fi
# Using dynamic linked lua is not recommended for performance
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
# Mainly, this is of concern if your arch is poor with GPRs, like x86
# Note that this only affects the interpreter binary (named lua), not the lua
# compiler (built statically) nor the lua libraries.
# upstream does not use libtool, but we do (see bug #336167)
cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
eautoreconf
# custom Makefiles
multilib_copy_sources
}
multilib_src_configure() {
sed -i \
-e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
-e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
src/luaconf.h \
|| die "failed patching luaconf.h"
econf
}
multilib_src_compile() {
tc-export CC
# what to link to liblua
liblibs="-lm"
liblibs="${liblibs} $(dlopen_lib)"
# what to link to the executables
mylibs=
use readline && mylibs="-lreadline"
cd src
local myCFLAGS=""
use deprecated && myCFLAGS="-DLUA_COMPAT_5_1 -DLUA_COMPAT_5_2"
case "${CHOST}" in
*-mingw*) : ;;
*) myCFLAGS+=" -DLUA_USE_LINUX" ;;
esac
emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
SYSLDFLAGS="${LDFLAGS}" \
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
V=$(ver_cut 1-2) \
gentoo_all
}
multilib_src_install() {
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
V=${SLOT} gentoo_install
case $SLOT in
0)
LIBNAME="lua"
INCLUDEDIR_SUFFIX=''
;;
*) LIBNAME="lua${SLOT}"
INCLUDEDIR_SUFFIX="/lua${SLOT}"
;;
esac
# We want packages to find our things...
# A slotted Lua uses different directories for headers & names for
# libraries, and pkgconfig should reflect that.
local PATCH_PV=$(ver_cut 1-2)
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
sed -r -i \
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
-e "s:^prefix= :prefix= ${EPREFIX}:" \
-e "s:^V=.*:V= ${PATCH_PV}:" \
-e "s:^R=.*:R= ${PV}:" \
-e "s:/,lib,:/$(get_libdir):g" \
-e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
-e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
"${WORKDIR}/lua.pc" || die
insinto "/usr/$(get_libdir)/pkgconfig"
newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
# Copy Debian's symlink support:
# https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
# FreeBSD calls the pkgconfig 'lua-5.3.pc'
# Older systems called it 'lua53.pc'
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
}
multilib_src_install_all() {
DOCS="README"
HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
find "${ED}" -name '*.la' -delete || die
find "${ED}" -name 'liblua*.a' -delete || die
}
# Makefile contains a dummy target that doesn't do tests
# but causes issues with slotted lua (bug #510360)
src_test() {
debug-print-function ${FUNCNAME} "$@"
cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
# https://www.lua.org/tests/
# There are two sets:
# basic
# complete.
#
# The basic subset is selected by passing -e'_U=true'
# The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
# attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
TEST_OPTS="$(usex test-complete '' '-e_U=true')"
TEST_MARKER="${T}/test.failed"
rm -f "${TEST_MARKER}"
# If we are failing, set the marker file, and only check it after done all ABIs
abi_src_test() {
debug-print-function ${FUNCNAME} "$@"
TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
return 0
}
multilib_foreach_abi abi_src_test
if [ -e "${TEST_MARKER}" ]; then
cat "${TEST_MARKER}"
die "Tests failed"
fi
}
pkg_postinst() {
eselect lua set --if-unset "${PN}${SLOT}"
if has_version "app-editor/emacs"; then
if ! has_version "app-emacs/lua-mode"; then
einfo "Install app-emacs/lua-mode for lua support for emacs"
fi
fi
}

@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib multilib-minimal portability toolchain-funcs
inherit autotools multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"

@ -1,197 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"
TEST_PV="5.4.2"
TEST_P="${PN}-${TEST_PV}-tests"
SRC_URI="
https://www.lua.org/ftp/${P}.tar.gz
test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )"
LICENSE="MIT"
SLOT="5.4"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+deprecated readline test test-complete"
COMMON_DEPEND="
>=app-eselect/eselect-lua-3
readline? ( sys-libs/readline:0= )
!dev-lang/lua:0"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}"
BDEPEND="sys-devel/libtool"
RESTRICT="!test? ( test )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
PATCHES=(
"${FILESDIR}"/lua-5.4.2-make.patch
)
src_prepare() {
default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
Makefile src/Makefile || die
fi
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
# Using dynamic linked lua is not recommended for performance
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
# Mainly, this is of concern if your arch is poor with GPRs, like x86
# Note that this only affects the interpreter binary (named lua), not the lua
# compiler (built statically) nor the lua libraries.
# upstream does not use libtool, but we do (see bug #336167)
cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
eautoreconf
# custom Makefiles
multilib_copy_sources
}
multilib_src_configure() {
sed -i \
-e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
-e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
src/luaconf.h \
|| die "failed patching luaconf.h"
econf
}
multilib_src_compile() {
tc-export CC
# what to link to liblua
liblibs="-lm"
liblibs="${liblibs} $(dlopen_lib)"
# what to link to the executables
mylibs=
use readline && mylibs="-lreadline"
cd src
local myCFLAGS=""
use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 "
use readline && myCFLAGS+="-DLUA_USE_READLINE "
case "${CHOST}" in
*-mingw*) : ;;
*) myCFLAGS+="-DLUA_USE_LINUX " ;;
esac
emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
SYSLDFLAGS="${LDFLAGS}" \
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
V=$(ver_cut 1-2) \
gentoo_all
}
multilib_src_install() {
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
V=${SLOT} gentoo_install
case $SLOT in
0)
LIBNAME="lua"
INCLUDEDIR_SUFFIX=''
;;
*) LIBNAME="lua${SLOT}"
INCLUDEDIR_SUFFIX="/lua${SLOT}"
;;
esac
# We want packages to find our things...
# A slotted Lua uses different directories for headers & names for
# libraries, and pkgconfig should reflect that.
local PATCH_PV=$(ver_cut 1-2)
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
sed -r -i \
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
-e "s:^prefix= :prefix= ${EPREFIX}:" \
-e "s:^V=.*:V= ${PATCH_PV}:" \
-e "s:^R=.*:R= ${PV}:" \
-e "s:/,lib,:/$(get_libdir):g" \
-e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
-e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
"${WORKDIR}/lua.pc" || die
insinto "/usr/$(get_libdir)/pkgconfig"
newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
# Copy Debian's symlink support:
# https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
# FreeBSD calls the pkgconfig 'lua-5.3.pc'
# Older systems called it 'lua53.pc'
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
}
multilib_src_install_all() {
DOCS="README"
HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
find "${ED}" -name '*.la' -delete || die
find "${ED}" -name 'liblua*.a' -delete || die
}
# Makefile contains a dummy target that doesn't do tests
# but causes issues with slotted lua (bug #510360)
src_test() {
debug-print-function ${FUNCNAME} "$@"
cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
# https://www.lua.org/tests/
# There are two sets:
# basic
# complete.
#
# The basic subset is selected by passing -e'_U=true'
# The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
# attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
TEST_OPTS="$(usex test-complete '' '-e_U=true')"
TEST_MARKER="${T}/test.failed"
rm -f "${TEST_MARKER}"
# If we are failing, set the marker file, and only check it after done all ABIs
abi_src_test() {
debug-print-function ${FUNCNAME} "$@"
TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
return 0
}
multilib_foreach_abi abi_src_test
if [ -e "${TEST_MARKER}" ]; then
cat "${TEST_MARKER}"
die "Tests failed"
fi
}
pkg_postinst() {
eselect lua set --if-unset "${PN}${SLOT}"
if has_version "app-editor/emacs"; then
if ! has_version "app-emacs/lua-mode"; then
einfo "Install app-emacs/lua-mode for lua support for emacs"
fi
fi
}

@ -1,203 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"
TEST_PV="5.4.2"
TEST_P="${PN}-${TEST_PV}-tests"
SRC_URI="
https://www.lua.org/ftp/${P}.tar.gz
test? ( https://www.lua.org/tests/${TEST_P}.tar.gz )"
LICENSE="MIT"
SLOT="5.4"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="+deprecated readline test test-complete"
COMMON_DEPEND="
>=app-eselect/eselect-lua-3
readline? ( sys-libs/readline:0= )
!dev-lang/lua:0"
# Cross-compiling note:
# Must use libtool from the target system (DEPEND) because
# libtool from the build system (BDEPEND) is for building
# native binaries.
DEPEND="
${COMMON_DEPEND}
sys-devel/libtool"
RDEPEND="${COMMON_DEPEND}"
RESTRICT="!test? ( test )"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/lua${SLOT}/luaconf.h
)
PATCHES=(
"${FILESDIR}"/lua-5.4.2-r2-make.patch
)
src_prepare() {
default
# use glibtool on Darwin (versus Apple libtool)
if [[ ${CHOST} == *-darwin* ]] ; then
sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
Makefile src/Makefile || die
fi
# correct lua versioning
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
# Using dynamic linked lua is not recommended for performance
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
# Mainly, this is of concern if your arch is poor with GPRs, like x86
# Note that this only affects the interpreter binary (named lua), not the lua
# compiler (built statically) nor the lua libraries.
# upstream does not use libtool, but we do (see bug #336167)
cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
eautoreconf
# custom Makefiles
multilib_copy_sources
}
multilib_src_configure() {
sed -i \
-e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
-e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
src/luaconf.h \
|| die "failed patching luaconf.h"
econf
}
multilib_src_compile() {
tc-export CC
# what to link to liblua
liblibs="-lm"
liblibs="${liblibs} $(dlopen_lib)"
# what to link to the executables
mylibs=
use readline && mylibs="-lreadline"
cd src
local myCFLAGS=""
use deprecated && myCFLAGS+="-DLUA_COMPAT_5_3 "
use readline && myCFLAGS+="-DLUA_USE_READLINE "
case "${CHOST}" in
*-mingw*) : ;;
*) myCFLAGS+="-DLUA_USE_LINUX " ;;
esac
emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
SYSLDFLAGS="${LDFLAGS}" \
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
LUA_LIBS="${mylibs}" \
LIB_LIBS="${liblibs}" \
V=$(ver_cut 1-2) \
LIBTOOL="${ESYSROOT}/usr/bin/libtool" \
gentoo_all
}
multilib_src_install() {
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
V=${SLOT} gentoo_install
case $SLOT in
0)
LIBNAME="lua"
INCLUDEDIR_SUFFIX=''
;;
*) LIBNAME="lua${SLOT}"
INCLUDEDIR_SUFFIX="/lua${SLOT}"
;;
esac
# We want packages to find our things...
# A slotted Lua uses different directories for headers & names for
# libraries, and pkgconfig should reflect that.
local PATCH_PV=$(ver_cut 1-2)
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
sed -r -i \
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
-e "s:^prefix= :prefix= ${EPREFIX}:" \
-e "s:^V=.*:V= ${PATCH_PV}:" \
-e "s:^R=.*:R= ${PV}:" \
-e "s:/,lib,:/$(get_libdir):g" \
-e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
-e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
"${WORKDIR}/lua.pc" || die
insinto "/usr/$(get_libdir)/pkgconfig"
newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
# Copy Debian's symlink support:
# https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
# FreeBSD calls the pkgconfig 'lua-5.3.pc'
# Older systems called it 'lua53.pc'
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
}
multilib_src_install_all() {
DOCS="README"
HTML_DOCS="doc/*.html doc/*.png doc/*.css doc/*.gif"
einstalldocs
newman doc/lua.1 lua${SLOT}.1
newman doc/luac.1 luac${SLOT}.1
find "${ED}" -name '*.la' -delete || die
find "${ED}" -name 'liblua*.a' -delete || die
}
# Makefile contains a dummy target that doesn't do tests
# but causes issues with slotted lua (bug #510360)
src_test() {
debug-print-function ${FUNCNAME} "$@"
cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
# https://www.lua.org/tests/
# There are two sets:
# basic
# complete.
#
# The basic subset is selected by passing -e'_U=true'
# The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
# attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
TEST_OPTS="$(usex test-complete '' '-e_U=true')"
TEST_MARKER="${T}/test.failed"
rm -f "${TEST_MARKER}"
# If we are failing, set the marker file, and only check it after done all ABIs
abi_src_test() {
debug-print-function ${FUNCNAME} "$@"
TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
return 0
}
multilib_foreach_abi abi_src_test
if [ -e "${TEST_MARKER}" ]; then
cat "${TEST_MARKER}"
die "Tests failed"
fi
}
pkg_postinst() {
eselect lua set --if-unset "${PN}${SLOT}"
if has_version "app-editor/emacs"; then
if ! has_version "app-emacs/lua-mode"; then
einfo "Install app-emacs/lua-mode for lua support for emacs"
fi
fi
}

@ -2,7 +2,8 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib multilib-minimal portability toolchain-funcs
inherit autotools multilib-minimal portability toolchain-funcs
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
HOMEPAGE="https://www.lua.org/"

@ -2,14 +2,8 @@ AUX pydoc.conf 169 BLAKE2B ce40bb3d5f858bd7a8d9ef5bf215a8ab592568a724f0e08aea219
AUX pydoc.init 600 BLAKE2B fb8775a6663483e5112ec283627610b746020d88494e772b92bb718a9493a52606e565c6c2fa4917a5cb963f166283d09883bd26903f2f3ced6c240d4e292a7f SHA512 9e71ad53486b6882a8441b24225c602195ee33d29dd1b60df27febbc6b752e79929be356152a489f893dcfb11f9c066b999787bc27a8ac61062c86e67a69e87a
DIST Python-2.7.18.tar.xz 12854736 BLAKE2B 060a621c91dd8e3d321aec99d44c17aa67381998256a1a002d316b38288349884d5960de35c49352d03129ed0bae599e641ec2225898158ebce50a7a2fd74d2c SHA512 a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c
DIST Python-2.7.18.tar.xz.asc 833 BLAKE2B 1d98770e46171971fb99994508d238c01d2755281d2f94353314014d9e83e0ec5f0b3e3950ea1fdf5fce9ba6b8f55312355845c2a3fc4291c27ee56fe6215448 SHA512 c2a5f5a52f47dec52460ad3275758d4e5de6e7075c3def4353c988d74d563a39b42cae2d5eb24e2a23a6247cef69100f91620b11a49c2359fbf99b203c9cbda8
DIST Python-3.10.5.tar.xz 19361320 BLAKE2B 7f3629f8a16faeb0311947b7d5162bc45d9ed6b2c051f776027d01ebbbdd42e4849efd67921fa57975f68ec67dc34f3135345ce216f2d3f02bfcfa4245d266f1 SHA512 aa7f58a9b31de9824185b3e7bfa7da0dcf64ae9e89840664eae9d98d9048a650fa012cd5b873a62ff44b65b856db86f095c4003117406ec5e9583ec5f7e78e90
DIST Python-3.10.5.tar.xz.asc 833 BLAKE2B 36da2d557a5c38cfc473b2138412f9bc011d19c8538475e623bf41d81eb2c8f8e977945a3065a48c5b234d2b2c7d0dd5e83112c948591628cec344651dc9055c SHA512 72d0ab09900e2a10b85ccac804efd5536251152798e7347576e0e28bff4ab4a84b08d646329b225f9949047586686f9f4e7f05652526657a0948951b739c14e0
DIST Python-3.10.6.tar.xz 19600672 BLAKE2B b21398f68e13cf8464077aa2c7f08d9044198cc3d2e2829d12239d420c1c922cbad8427f3e0fae3fe62a4b8ebb7db7eff441266eff82f0c78d7a98a62d8e64c3 SHA512 f2bf424bf4f4caa524ee1248b431e8e06d0745c3fc3ba457710d75f3698e653733feb4b059cd124f1de2a9e851c30d847f567aa47abef12898c9dc8a6507b476
DIST Python-3.10.6.tar.xz.asc 833 BLAKE2B ea6546c01a4fbfe3f3e56b2f980da53f0692d9c638534bd25fb96a0f657424f979b6a82a01c77c05ddfded30441b4a0348cc407d5b29290ffc653a508ca32ec8 SHA512 9288e2f62f2e8c8208ad176372261545a64e675d737bb616403bcd888bc91177909257632e4cc0b5d688d612bea38a274030ec6989dc7d56c03064e32ad9903e
DIST Python-3.11.0b4.tar.xz 19573532 BLAKE2B d28b85c4af39ea8c8b1448857698a7018c9d115f0f861ff1649101e4c9d3ebbea14e1f5da8158b1734bf8743d96ed3683a8192e07ff06c0ccd964ec7ddee3832 SHA512 1530f4dcba6325ac8e9bb955604fc504a4306e3291b667d1d8490b78e1c50924d81ff8ab50d08c736e70d3e42788aabaa162179a77c03860ee8064f17f93bb09
DIST Python-3.11.0b4.tar.xz.asc 833 BLAKE2B eaedd106d3599c7ee6974ff9eee33899b119fdb45ab5b760f5f02e51e12ba58b3161f6853464a32638385fd596ddd350097c28dde55e3efeacc6719f16275d84 SHA512 8f6c633911755767d351fc86e031df6cedd6091ca5ec0ef55331ac65d2ad532c71e568c173513a2bbb2235e5e3fc9dd77e1b7ed230df1f0d8bd6e23da470b1e2
DIST Python-3.11.0b5.tar.xz 19792136 BLAKE2B 574ed58b2d063b954931c39c1154e776f5d233fe6e3f0803e5a93b68f48aacef1d9df60a2839df952b631d8988d6c44fee073dae5486420b808866944a3025d5 SHA512 b1013e449c9a0e9b61df5a266b5f05458d284b3524c6c44d44d8a5007bcb95ff754f21296cd695f353111575c7cce71f8a2808a9adf8c573512bf97f691d2200
DIST Python-3.11.0b5.tar.xz.asc 833 BLAKE2B 80594608751a141a6e5ded035c4de1a73716d72442228fa2dfcffc10d1ccb9928b864591fad4b5fb3a55e20629a22ad92fcc4a40d8e294858a85088b26d545af SHA512 6f658c7623e7750c0c8c18b4a2fe86d6a2414f3b411487ca4d2dd9840165ae3e6eea8b3468b1376862181b7b58d3fe99681a00d290172a6986f0f2ead5d6c3bd
DIST Python-3.11.0rc1.tar.xz 19815524 BLAKE2B 7dae240dbed052667b46927ccbb483a717b0fe0ba199721d526354d1b89a6dd2842ab0f6c3b078385e4acb7557d06f252d61aacb07d70c7f5598ed91567d2053 SHA512 2a72ea59277f8115e418ced671969fc0d5ba271c7740f70c665a4b450a59d7752278d061bd59f136dacfa608ed167f983c6589b214a973b1b63ea2115ea298bb
DIST Python-3.11.0rc1.tar.xz.asc 833 BLAKE2B da46a0ab62ef3f2b7a7921294a0d775ca6ab254e3229338232b3d11107aa1d74adc21911678f08f44cc1cd9184beada00d4b60dde60722ef91a247367b13e191 SHA512 d4cffc90c2ed7b8ea7228a21f7ac902a92f27003f1420ad751b1691de950974ea174cb0471b6e19ed1548dc5382012fa9ad5fcf83c34646c7ea2d73c88799e38
DIST Python-3.8.13.tar.xz 19023016 BLAKE2B d3cb8624496e56d93d34f2aa5082746869a99210197529bc19e6a9d265f4ce246e0e83a3528a7602a28aac8855bf84e6bf6495b85e9202fcf04ef90600cb5e43 SHA512 5c732b5d21b189b99a0e9ccd3ae59466bed60a930d5d3f437a262d38f0797b776cecbf12a1852eaebcfb638a6f2e28e471cc2ebf94237cc728144be21842cb81
@ -17,35 +11,13 @@ DIST Python-3.8.13.tar.xz.asc 833 BLAKE2B 918894777e1a783f2a7c7958a808610631cb7a
DIST Python-3.9.13.tar.xz 19754368 BLAKE2B 4f583f66c28b791e19cd6d79695fe9eb815fd333542be22aec8bd73d1f4d3f17f2c4e9de198e7b16c1ca6362a613a8a02fb965c7dc7db3e510fd31de15ba2d19 SHA512 e9664e7f908092df11236b22465d217531d6f0378e88d889108d19fe77f28f46ffb629b8733f84b41409e255367321893a2b1bd64518930d9d8cae5d1b774d23
DIST Python-3.9.13.tar.xz.asc 833 BLAKE2B db01c01be9d56cd15f9ab4a9e2cfa800faf4ebecb92b01c133865d3b3134bc910258a33b766306c3d01f98e35bbf9c03c7cba697760b7095999cbd63ed6c276c SHA512 9367afe8ec32195adbb64fa32eb9e3881cfdbbb38efcb5e0804a15486232aecbc81ed20a8ffed652f06a881744f3efd2c2df3cc652d70671c94d6668a17a391e
DIST python-gentoo-patches-2.7.18_p15.tar.xz 34956 BLAKE2B d173f276dd9c0ce31004dcc55a0d18e9ce25a47683c2df3c4dd62e967dfbbb35be59a2f08cf20f30a19475a8a2344dd95b17400eafa88b5fdbe9270a12ccbf32 SHA512 d9386808265f978808e5c0ffd384cefe54fb0e05aeccfd394167d5227d9cd66e25c8e93c54914762b2cfc3c2dd851b26a7a84d62634c6aa8a0798aacbb7ac25f
DIST python-gentoo-patches-3.10.5.tar.xz 8584 BLAKE2B d4a812a33e485b1eae5629e519dca4dc6625b743b07c7f7bbc62562f345d87723ba499893702310b1e96e443d2946e27a8d4971f32ca1125d4827d0d594ccaa6 SHA512 77f0478f7d0491e103857a83a97d6e04a9ec68740a7f9357cbbdd316462e7d98ea8236bd05a30e7556457ece5fbcfa4a7a78a25d4eb12779455ce2bb5b6f30d0
DIST python-gentoo-patches-3.10.6.tar.xz 8580 BLAKE2B 4ff3839be2f6bf172acdca22bbded702804809d6334e088190cee4ae4c61e25580a3bdc105bfe27b7f3c3b5f219d363cdca21ef895a3e91f13515afb348a77a0 SHA512 c58a85f7c48a4e822527411a6e0618be5408e1a82fe72b21a254dac77b4e5d4b01ac24cf70dc277cd16ccdc8499a9fa53b7cebae3b9f8facc9c978adcc8a2876
DIST python-gentoo-patches-3.10.6_p1.tar.xz 10592 BLAKE2B 0b0f54faf93e3b6a3ba5ae5fef01ff4adbb1560e3d5c0c8e7d69d80e2e10b15e7fc7f5471f82d5322c86a1eec762f10cda6e8ea650c993481342cda06a47a863 SHA512 c4a2ff7d16042729f5a23222d154bc0832f51b7ab5b1dafe4a6c6bd40b037c85a6d40d07516c1207cd0bc9a233865700d7cca4b01ed27a1f21516392992bc6eb
DIST python-gentoo-patches-3.10.6_p2.tar.xz 12040 BLAKE2B 75c93fab19137a966b3775308bc20142f4d3648bbb9364e82c4eaffae93beda54011192881c52b85d2e2493a06cfe2a90f50675609908c3d5ebdb0103fe41644 SHA512 7e451a8a18a62592c2cd7b2db71065b77256960f43e172a0d7856b22b69138dcb1552f53b39bec14585a761cfe729c81613551c1b616fe1ec8d2b59856b11453
DIST python-gentoo-patches-3.11.0b4.tar.xz 4388 BLAKE2B 16b112f1ecdce86022ed64d7c7007fb323b7bd4497b5802a48bb0a86667c282d1a9150d744f44cefbe9321af4916d35941707c1259a0cf175c0161c8e1b17e97 SHA512 f9c8c7180da20e839a0862571b9077b2702dbee8a1acd55ebb11329912cf9f81862ba615be484b92d39461c3eb6c38890f8d58bcbce2c4722418a967faedc1f5
DIST python-gentoo-patches-3.11.0b5.tar.xz 4384 BLAKE2B b036e9103f8315d6e2bb6e85a2db12ec60f8e05ccff083183f24c0b4ba16c807a2eb1fa43b88f8d7a253d5bbeef0880b31d60e13b449f7de992156319753ef33 SHA512 af6315f97b0f2463d6c0f18a99a5ff5f96c3d18567ae0d73461f0fc82ca2173a8f6c3fedc2fada2b9460547a457d4264bc2acb90f1906599229afe85bcc2afde
DIST python-gentoo-patches-3.11.0rc1.tar.xz 4384 BLAKE2B 31bcdc055bfaf3434dbb02543aaf66910eaccd01808d9a0e57bf7cb3b097fc0046c00ac44737d9c37e3b6d074c524f4dd3ab439a741e66d74a0425889ecaead5 SHA512 05b044e2d8f881c471528600ee300bfd9cf5160609dfb3d7cbdb8e43f47b681542582a85de97e28e6a3b89a3fb6c8d7398e029d31e20cea9c5a2a71700382d4e
DIST python-gentoo-patches-3.8.13_p2.tar.xz 18816 BLAKE2B 8612ca33e5569319c5d1a5a3fb1a81e860bd515bfde656b79f087ccf7020923fbd06b315178bef8630e4c36bb22c27299fe439aadc6a161f1ec93be8778314ee SHA512 be5668a0a4be0a03e61466436973125a3be4f33a61524e4a5c8d86745727cfcae59e5048477887c9f6bfc09727f3aef3652ad47a13a6bf0f1452d3172f1c34dc
DIST python-gentoo-patches-3.8.13_p4.tar.xz 23084 BLAKE2B 44be6b19275189bd04c9dcd3c4be4f4b8f92a0003710a12a12d60c0ab182942993a76d8d7f26b289cd0a4226eeeb9a39723822dfb896307fd6e75d6980c3898e SHA512 b78a39a15d361aed4ce887b4726c7967c09c0ee3add614f1dbca24b6f301bd20660fe074c03a58b325f8720ad853c109b334e41102de0b6cc362c467fb669feb
DIST python-gentoo-patches-3.8.13_p5.tar.xz 26620 BLAKE2B 24d05e3f46acf339d2e1d0d86efdb6b61719c09aba08879397df6ed40ce41a5bae892f3677bbafe694b4ced5b469a81c27c4002c1de271565a6cd413e627ae7c SHA512 d18d4e6a5fc10990e9ce1cdda311016e9486d6aa90ad73bcd6e306ffe89ca180ae81a905b3b8d94569e0834103e77d5fffea34238b7aeaec8aeeeaf04fb2f72b
DIST python-gentoo-patches-3.8.13_p6.tar.xz 27968 BLAKE2B 0cafbdfed47e0d58a9798c1e090abb17428472f769ebe4125cf1210218b90bcfd2ad8790fafbfdc1daccc51078a6bf5e068157f05151c2283eb80d5fe128d85c SHA512 b23d51478cc126a6f7f3d1d6d2302a13f3e873a3fac19c7b2b86b79f4b25bd421b60e5ecbe9bb606ee0eedc0e6871d20c0befd1b6596b525bf6ef79a19230ae2
DIST python-gentoo-patches-3.9.13.tar.xz 12836 BLAKE2B ba687a3d6e00baf4d9640ab78a29c3e21bf1872b5019198991521cf37bb0780f592db742ee4fdfe6bfb1cab1c1f6587889dfdb024cae72766b6c83c2ffe319be SHA512 e393992ff92625771c6ffeb500637862f0163c689c685fd245a6e5bbdd3128154ce439ecab56eaf1359e67ea0d173dfb19f65a4098ea2266922bfb43aba517dc
DIST python-gentoo-patches-3.9.13_p1.tar.xz 17036 BLAKE2B baf534d002c610426f9f183f53b935d83a4cf084834d3946986baa5d983e8197719b1d3e8568cc7f78a6aaa95b084dd8796e8539169415e19f2d9eb8f296242a SHA512 c7eb503defcc5e91d5de39eed84aeba748f96ef28f0d9ae3b3a98f111543d09311f51ae4fe321ec5f397c5f46dc8c715ecc401124f4e4a94c9fe8e2a6db9e052
DIST python-gentoo-patches-3.9.13_p2.tar.xz 20708 BLAKE2B e86a80405683228211ea763523e71aa130f716a19d4e343ec46d1d428804cd59d07cdad0efea09b09d92139bdec93f40f7667db20240b89ed3a7a6bb46b0981f SHA512 1e9f84d0cde9a251e191b3784ec551a307572e779350e7d20ace0164f6cbc47b883632ebc32638a8f5f16f9c0d618a13d9105ef471657a9745bc6a09bf1d13d9
DIST python-gentoo-patches-3.9.13_p4.tar.xz 22072 BLAKE2B a0e084eff35d075d2255b139d0db114d282cb6c9c0c2ea51a8ecb7f5f1dc8096d6578ae5f804b7583a2b7842152b5723ad802ca816d46813c40aaa756118afc8 SHA512 cdf8d43fd5263c4956be234f36c0767215ab2495705d4f2a060b32ecbfbe159e618e31693b0538a1b970f7b27ebe4953063f585930d074dcaf59f2f61486e6b6
EBUILD python-2.7.18_p15.ebuild 9827 BLAKE2B 77ebeacfa236e518ec0c0a791e0da60f8158d369e870c88ce69d1eef25cdc99e658903abf313452b849254e97b4c9f583e0edb75ec845faf5b47fb2fc3173ce4 SHA512 19219cd43391d8d53838c9b0e15b30f8ccb5d5a23503a213cc961ff2fa545cd17a5ecc6ce253e2a01534db3bc931be212969c40885c2e99f203c23a5ecb689a1
EBUILD python-3.10.5.ebuild 11701 BLAKE2B e83015ffd3bdcbceab4271ed82f6ee54d8b79494458a51ff46221ecfd1f39319fd00ad4d27471c73ef2fab3a3468b587138f9dd3d431ebf8192f31789c9d58f0 SHA512 fe2a00f53699a0ea809d891b66e0c1973402e8a504dc45bb67f57d1549b3809c2f894cb27264d8d8f35071c5fc967cb43c6250382e2627ec4197635d7f91a023
EBUILD python-3.10.6.ebuild 11189 BLAKE2B b50f71bbb9b5a72724f52193aa114fc7ec4ceef3559649964899f9aec4911726503ab24ec4c07b53d2f15ba498844913d3618832763e9b3728d8f9303a97a3ea SHA512 2a09997fa8f451ab873bd039f47a7f4c1a146befb43c8b56467ea9fd93f61e7d55a90ef289804aa6d15c9e5ebc5fded62879eec8dccd528ab25e4df8d39e63a8
EBUILD python-3.10.6_p1.ebuild 11189 BLAKE2B b50f71bbb9b5a72724f52193aa114fc7ec4ceef3559649964899f9aec4911726503ab24ec4c07b53d2f15ba498844913d3618832763e9b3728d8f9303a97a3ea SHA512 2a09997fa8f451ab873bd039f47a7f4c1a146befb43c8b56467ea9fd93f61e7d55a90ef289804aa6d15c9e5ebc5fded62879eec8dccd528ab25e4df8d39e63a8
EBUILD python-3.10.6_p2.ebuild 11182 BLAKE2B 20c9e9a94dff4236aaf50fab239a08aeaec40417aa51d82af13f70fd7d4b52043c098d1f91f3c73ab6865d0f5270d1b3d9e23dd0aca20bbf7246d8b1597f97f0 SHA512 780b1521b7a7b74a95587ad7b5a83d331ecf69e2e7747c4c20c10ec772ab80ca215731845d86e249acb958b19868db41d4ab2c8ac43d33836e47c95a915d5b4a
EBUILD python-3.11.0_beta4-r2.ebuild 13637 BLAKE2B 230701d089c7e42f80b0666a1ac6c5d48ff6fe8a5b7822ee3d4cd41adfe6e50143ecde143e228416f97cc0886910b22bc0fbb83ffad3ad19006aebcc382516fc SHA512 ec7a302106654abefb0672e25e1f189506d35111be4a983ae5b51281bd195a452fe1fb7170b77f8048c880563664f8b9b3624c434594a4f3b36306a203e299e9
EBUILD python-3.11.0_beta5-r1.ebuild 13385 BLAKE2B 00d7c1d17bd8ad3acebfde6907fc27f77abc91a25f3d3e576bb6895c46f7cae88a8cd6dcf883dc3d91d0fba36349f3b209a512fff70cf4ff950a7f52d3e7d548 SHA512 56442b0cd0b7789c30d180b07e2e77b3203720e66084340cc85923410d54ca2ff40ce9096af844cde217f44bbd4e95ed4f8e69f192130de45bf14883d5127982
EBUILD python-3.10.6_p2.ebuild 11181 BLAKE2B f8180bd07e43dffedafd7d912bcb9a002e93c1514c72055b24c65f36b7ef477e748bb777fa02da4c6d2c6391a1eaa9f59266b09fafb2e7ca8a67a96efd6f423c SHA512 4613ab1e7336e38a91877d4b1c5558e5221a770d8171d92fff319c6a4f64127bd9cb6dd8c56d84e70558de8ac647a315d740336834cdfa1ad3b86b184408c54b
EBUILD python-3.11.0_rc1.ebuild 13384 BLAKE2B 7ac3f74190fafd1321f2ae9b478cb1b7381f13ce88d1839bbe2eea12a9abb0f14286f3e6036ca65c2d37ca6b07b62c14f557a7af080f6f05f119e7bbd77764cc SHA512 3b94a9e45017c0ec3d2bb2ca346d423a0e31d3b1f2c1fa098aa2c4f0af58e49f3626688dacde9740b2c1f44c63f143bf43ec305d0ce69c3e68de3ff6ae0a88c3
EBUILD python-3.8.13_p2.ebuild 10219 BLAKE2B c736d7417d2f7c8f8a6ee61182e1b2b9e22873343594a3779c83fc1af03103ae71f440f856d7dae7a661dc7190e70afa7c478dd7d8531d28637897c1ebd4106f SHA512 89f482e716b308565f41c4c6ce1db32f9a4023a41570070ddad4ac9d156f802d79f8ad7d2971b9ed02487482c50d8e4de64d212df092dd907d2c94838e6af921
EBUILD python-3.8.13_p4.ebuild 9739 BLAKE2B 7baa8adde29baaea89a9f126a3090fba2186bcb2734ca737705c97d1b3f8d3036341ab2b626dc6e4cd5ab7630e386ef7f3444bb5847b79abf41806e2607715a6 SHA512 80ee67adf3b1c7461edb6b3ba60f5f825d93d89cc68f4a11b1de2bf84f4cb428718cee8079e68b074044a8e7f00d2423c97fc0cc3bfaa0848b6154b9abc3d6c7
EBUILD python-3.8.13_p5.ebuild 9739 BLAKE2B 7baa8adde29baaea89a9f126a3090fba2186bcb2734ca737705c97d1b3f8d3036341ab2b626dc6e4cd5ab7630e386ef7f3444bb5847b79abf41806e2607715a6 SHA512 80ee67adf3b1c7461edb6b3ba60f5f825d93d89cc68f4a11b1de2bf84f4cb428718cee8079e68b074044a8e7f00d2423c97fc0cc3bfaa0848b6154b9abc3d6c7
EBUILD python-3.8.13_p6.ebuild 9731 BLAKE2B 0660743997da89023e3192c16bee0c1a14289ddc2f3fa43e19f105d208359eed8155a8345f29c214322ada0aa5c7e5eb50a564546f506abc3ea2204f44d1217c SHA512 b47a01911ed23390ef2091b1f09edf16d2398178ba0d9ec792f8afd06fcf1fb472c020a908af3a6b7c20396f8c6049767d2f11cfe9d15afa4df135b2cc0ee046
EBUILD python-3.9.13.ebuild 11462 BLAKE2B cfa217f58ee03528ce5dd467daa9023c67f89d4673def5a183eb7a0c2db6fe40527a78067803f7edcdcf32eef5dc72179b9be9d9a04f5766258945a4a16e3991 SHA512 4a7fbd6f6e7ae1fc1726a170879e26a6f7e74fe4fc2b52efacf5608350bd967ee52d63df4fb8d52aebe881bc003285e29d55fca5aedf74182cdb5f8b120ca8c4
EBUILD python-3.9.13_p1.ebuild 10992 BLAKE2B 95d62e2bb7b6c3005020827484360929c7782563a545a914c61d0f54257525856bd5298273a39f73280036e738f532bba28abf6e9116f6c18a49725fd3f97d7a SHA512 fac82f66b21097cb564fc943a09bb61a834b4e51255bd5b2c8850b209eb5c20bdabad5028ee262fb0508672d1cc711394c217d48e0c2bb7427ffa670a25aa4d9
EBUILD python-3.9.13_p2.ebuild 10992 BLAKE2B 95d62e2bb7b6c3005020827484360929c7782563a545a914c61d0f54257525856bd5298273a39f73280036e738f532bba28abf6e9116f6c18a49725fd3f97d7a SHA512 fac82f66b21097cb564fc943a09bb61a834b4e51255bd5b2c8850b209eb5c20bdabad5028ee262fb0508672d1cc711394c217d48e0c2bb7427ffa670a25aa4d9
EBUILD python-3.9.13_p4.ebuild 10985 BLAKE2B bab57634a5babbfaf0570e2217d20d97bdbd3d0a942f477d7ad1391267ce1ffa2f083f1884fc9352333226ad34713461f0055e5981d2b33a81058693ff5884cd SHA512 ba4c783755c288c43d08b5d9bc01f92dfd6d6fb44fdb38f8415c842db0740111ea73a88efe1fd3be13467271907f77b0b3f4e2440dde2e6f3ca5575b2e7aa705
EBUILD python-3.9.13_p4.ebuild 10984 BLAKE2B 8743da1a832eb69289727f94f19a9ca7c9e42156847d25168adb1bee66cbc980d28f2969260baf5ddca124c01498f085bb9fd50c5e80083609a5d987337429b4 SHA512 d8cf0aae2e36445efb4a0d0df4a028ab7d990f017196a18127973b7d88dc4979585901102106c32d8281f640334b079a8efedea8f45fca75a13c2453cff4b64c
MISC metadata.xml 1068 BLAKE2B 3c3511739ae8251d11bde32aa3a21225fd3468f2b1f31c459de956c5bb7dbc2de4103a288dd29b26d1023e40bac62631fa953d1515513e934f5c3962d9c715a7 SHA512 0f7d3f9305cc539619568aea7e54cdb9a3319579e811108cf03d7c66290e4f21080a87ca02f1a62264d4ecd41a243c91f0a639e6c064ccf2b24b460508c848b8

@ -1,408 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_10(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? (
!libedit? ( >=sys-libs/readline-4.1:= )
libedit? ( dev-libs/libedit:= )
)
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
!!<sys-apps/sandbox-2.21
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat || die
rm -fr Modules/_ctypes/libffi* || die
rm -fr Modules/zlib || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
# force correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
tc-export CXX
# Fix implicit declarations on cross and prefix builds. Bug #674070.
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network"
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
PROFILE_TASK+=" -x test_distutils"
fi
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--without-static-libpython
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
$(use_with lto)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.10/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="gdb"
if use sparc ; then
# bug #788022
skipped_tests+=" multiprocessing_fork"
skipped_tests+=" multiprocessing_forkserver"
fi
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
# workaround https://bugs.gentoo.org/775416
addwrite /usr/lib/python3.10/site-packages
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
local -x EPYTHON=python${PYVER}
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
cat > python.wrap <<-EOF || die
#!/bin/sh
export LD_LIBRARY_PATH=\${PWD}\${LD_LIBRARY_PATH+:\${LD_LIBRARY_PATH}}
exec ./python "\${@}"
EOF
chmod +x python.wrap || die
local -x PYTHON=./python.wrap
else
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
fi
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${PYVER%.*}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" \
"${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" \
"${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" \
"${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" \
"${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" \
"${scriptdir}/idle" || die
fi
}

@ -1,408 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened libedit lto
+ncurses pgo +readline +sqlite +ssl test tk +xml
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_10(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? (
!libedit? ( >=sys-libs/readline-4.1:= )
libedit? ( dev-libs/libedit:= )
)
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
!!<sys-apps/sandbox-2.21
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force the correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs)
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
local disable
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
-x test_gdb
-u-network
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
-x test_asyncio
-x test_httpservers
-x test_logging
-x test_multiprocessing_fork
-x test_socket
-x test_xmlrpc
)
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
profile_task_flags+=(
-x test_distutils
)
fi
local -x PROFILE_TASK="${profile_task_flags[*]}"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--without-static-libpython
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
$(use_with lto)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.10/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
local test_opts=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
# workaround https://bugs.gentoo.org/775416
addwrite /usr/lib/python3.10/site-packages
emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use ensurepip; then
rm -r "${libdir}"/ensurepip || die
fi
if ! use sqlite; then
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
fi
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}

@ -1,408 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened libedit lto
+ncurses pgo +readline +sqlite +ssl test tk +xml
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_10(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? (
!libedit? ( >=sys-libs/readline-4.1:= )
libedit? ( dev-libs/libedit:= )
)
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
!!<sys-apps/sandbox-2.21
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force the correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs)
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
local disable
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
-x test_gdb
-u-network
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
-x test_asyncio
-x test_httpservers
-x test_logging
-x test_multiprocessing_fork
-x test_socket
-x test_xmlrpc
)
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
profile_task_flags+=(
-x test_distutils
)
fi
local -x PROFILE_TASK="${profile_task_flags[*]}"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--without-static-libpython
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
$(use_with lto)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.10/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
local test_opts=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
# workaround https://bugs.gentoo.org/775416
addwrite /usr/lib/python3.10/site-packages
emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use ensurepip; then
rm -r "${libdir}"/ensurepip || die
fi
if ! use sqlite; then
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
fi
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}

@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened libedit lto
+ncurses pgo +readline +sqlite +ssl test tk +xml

@ -1,475 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_beta/b}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="bluetooth build examples gdbm hardened libedit lto +ncurses pgo +readline +sqlite +ssl test tk wininst"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
app-crypt/libb2
>=dev-libs/expat-2.1:=
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? (
!libedit? ( >=sys-libs/readline-4.1:= )
libedit? ( dev-libs/libedit:= )
)
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
!!<sys-apps/sandbox-2.21
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
if [[ ${PV} != *_alpha* ]]; then
RDEPEND+="
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
"
fi
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat || die
rm -fr Modules/_ctypes/libffi* || die
rm -fr Modules/zlib || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network"
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
PROFILE_TASK+=" -x test_distutils"
fi
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--without-static-libpython
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-platlibdir=lib
--with-pkg-config=yes
$(use_with lto)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
if tc-is-cross-compiler ; then
# We need to build our own Python on CBUILD first, and feed it in.
# bug #847910
local myeconfargs_cbuild=(
"${myeconfargs[@]}"
# As minimal as possible for the mini CBUILD Python
# we build just for cross to satisfy --with-build-python.
--without-lto
--without-readline
--disable-optimizations
)
myeconfargs+=(
# Point the imminent CHOST build to the Python we just
# built for CBUILD.
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
)
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
# Avoid as many dependencies as possible for the cross build.
cat >> Makefile <<-EOF || die
MODULE_NIS_STATE=disabled
MODULE__DBM_STATE=disabled
MODULE__GDBM_STATE=disabled
MODULE__DBM_STATE=disabled
MODULE__SQLITE3_STATE=disabled
MODULE__HASHLIB_STATE=disabled
MODULE__SSL_STATE=disabled
MODULE__CURSES_STATE=disabled
MODULE__CURSES_PANEL_STATE=disabled
MODULE_READLINE_STATE=disabled
MODULE__TKINTER_STATE=disabled
MODULE_PYEXPAT_STATE=disabled
MODULE_ZLIB_STATE=disabled
EOF
# Unfortunately, we do have to build this immediately, and
# not in src_compile, because CHOST configure for Python
# will check the existence of the --with-build-python value
# immediately.
emake
popd &> /dev/null || die
fi
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# force-disable modules we don't want built
local disable_modules=(
NIS
)
use gdbm || disable_modules+=( _GDBM _DBM )
use sqlite || disable_modules+=( _SQLITE3 )
use ssl || disable_modules+=( _HASHLIB _SSL )
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
use readline || disable_modules+=( READLINE )
use tk || disable_modules+=( _TKINTER )
local mod
for mod in "${disable_modules[@]}"; do
echo "MODULE_${mod}_STATE=disabled"
done >> Makefile || die
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
export PYTHONSTRICTEXTENSIONBUILD=1
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.11/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="gdb"
if use sparc ; then
# bug #788022
skipped_tests+=" multiprocessing_fork"
skipped_tests+=" multiprocessing_forkserver"
fi
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# Expects to find skipped tests and fails
mv "${S}"/Lib/test/test_tools/test_freeze.py "${T}" || die
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
# workaround https://bugs.gentoo.org/775416
addwrite /usr/lib/python3.11/site-packages
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
mv "${T}"/test_freeze.py "${S}"/Lib/test/test_tools/test_freeze.py || die
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
# -j1 hack for now for bug #843458
emake -j1 DESTDIR="${D}" altinstall
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
use sqlite || rm -r "${libdir}/"sqlite3 || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" \
"${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" \
"${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" \
"${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" \
"${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" \
"${scriptdir}/idle" || die
fi
}
pkg_postinst() {
local v
for v in ${REPLACING_VERSIONS}; do
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
ewarn "installed previously are no longer valid and will be regenerated"
ewarn "(or ignored) on the next import. This may cause sandbox failures"
ewarn "when installing some packages and checksum mismatches when removing"
ewarn "old versions. To actively prevent this, rebuild all packages"
ewarn "installing Python 3.11 modules, e.g. using:"
ewarn
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
fi
done
}

@ -1,482 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_beta/b}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened libedit lto
+ncurses pgo +readline +sqlite +ssl test tk
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
app-crypt/libb2
>=dev-libs/expat-2.1:=
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? (
!libedit? ( >=sys-libs/readline-4.1:= )
libedit? ( dev-libs/libedit:= )
)
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
!!<sys-apps/sandbox-2.21
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
if [[ ${PV} != *_alpha* ]]; then
RDEPEND+="
dev-lang/python-exec[python_targets_python${PYVER/./_}(-)]
"
fi
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force the correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs)
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
-x test_gdb
-u-network
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
-x test_asyncio
-x test_httpservers
-x test_logging
-x test_multiprocessing_fork
-x test_socket
-x test_xmlrpc
)
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
profile_task_flags+=(
-x test_distutils
)
fi
local -x PROFILE_TASK="${profile_task_flags[*]}"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--without-static-libpython
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-platlibdir=lib
--with-pkg-config=yes
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
$(use_with lto)
$(use_enable pgo optimizations)
$(use_with readline readline "$(usex libedit editline readline)")
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
if tc-is-cross-compiler ; then
# We need to build our own Python on CBUILD first, and feed it in.
# bug #847910
local myeconfargs_cbuild=(
"${myeconfargs[@]}"
# As minimal as possible for the mini CBUILD Python
# we build just for cross to satisfy --with-build-python.
--without-lto
--without-readline
--disable-optimizations
)
myeconfargs+=(
# Point the imminent CHOST build to the Python we just
# built for CBUILD.
--with-build-python="${WORKDIR}"/${P}-${CBUILD}/python
)
mkdir "${WORKDIR}"/${P}-${CBUILD} || die
pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die
ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}"
# Avoid as many dependencies as possible for the cross build.
cat >> Makefile <<-EOF || die
MODULE_NIS_STATE=disabled
MODULE__DBM_STATE=disabled
MODULE__GDBM_STATE=disabled
MODULE__DBM_STATE=disabled
MODULE__SQLITE3_STATE=disabled
MODULE__HASHLIB_STATE=disabled
MODULE__SSL_STATE=disabled
MODULE__CURSES_STATE=disabled
MODULE__CURSES_PANEL_STATE=disabled
MODULE_READLINE_STATE=disabled
MODULE__TKINTER_STATE=disabled
MODULE_PYEXPAT_STATE=disabled
MODULE_ZLIB_STATE=disabled
EOF
# Unfortunately, we do have to build this immediately, and
# not in src_compile, because CHOST configure for Python
# will check the existence of the --with-build-python value
# immediately.
emake
popd &> /dev/null || die
fi
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# force-disable modules we don't want built
local disable_modules=( NIS )
use gdbm || disable_modules+=( _GDBM _DBM )
use sqlite || disable_modules+=( _SQLITE3 )
use ssl || disable_modules+=( _HASHLIB _SSL )
use ncurses || disable_modules+=( _CURSES _CURSES_PANEL )
use readline || disable_modules+=( READLINE )
use tk || disable_modules+=( _TKINTER )
local mod
for mod in "${disable_modules[@]}"; do
echo "MODULE_${mod}_STATE=disabled"
done >> Makefile || die
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
export PYTHONSTRICTEXTENSIONBUILD=1
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.11/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# this just happens to skip test_support.test_freeze that is broken
# without bundled expat
# TODO: get a proper skip for it upstream
local -x LOGNAME=buildbot
local test_opts=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
# workaround https://bugs.gentoo.org/775416
addwrite /usr/lib/python3.11/site-packages
emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
# -j1 hack for now for bug #843458
emake -j1 DESTDIR="${D}" altinstall
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use ensurepip; then
rm -r "${libdir}"/ensurepip || die
fi
if ! use sqlite; then
rm -r "${libdir}/"sqlite3 || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
fi
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}
pkg_postinst() {
local v
for v in ${REPLACING_VERSIONS}; do
if ver_test "${v}" -lt 3.11.0_beta4-r2; then
ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files"
ewarn "installed previously are no longer valid and will be regenerated"
ewarn "(or ignored) on the next import. This may cause sandbox failures"
ewarn "when installing some packages and checksum mismatches when removing"
ewarn "old versions. To actively prevent this, rebuild all packages"
ewarn "installing Python 3.11 modules, e.g. using:"
ewarn
ewarn " emerge -1v /usr/lib/python3.11/site-packages"
fi
done
}

@ -1,358 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools flag-o-matic multiprocessing pax-utils \
python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="bluetooth build examples gdbm hardened +ncurses +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_8(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
QA_PKGCONFIG_VERSION=${PYVER}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat || die
rm -fr Modules/_ctypes/libffi* || die
rm -fr Modules/zlib || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
# force correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
tc-export CXX
# Fix implicit declarations on cross and prefix builds. Bug #674070.
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="gdb"
if use sparc ; then
# bug #788022
skipped_tests+=" multiprocessing_fork"
skipped_tests+=" multiprocessing_forkserver"
fi
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
local -x EPYTHON=python${PYVER}
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
cat > python.wrap <<-EOF || die
#!/bin/sh
export LD_LIBRARY_PATH=\${PWD}\${LD_LIBRARY_PATH+:\${LD_LIBRARY_PATH}}
exec ./python "\${@}"
EOF
chmod +x python.wrap || die
local -x PYTHON=./python.wrap
else
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
fi
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${PYVER%.*}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" \
"${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" \
"${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" \
"${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" \
"${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" \
"${scriptdir}/idle" || die
fi
}

@ -1,349 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened lto +ncurses pgo
+readline +sqlite +ssl test tk wininst +xml
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_8(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
QA_PKGCONFIG_VERSION=${PYVER}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force the correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs)
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
local disable
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
local test_opts=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use ensurepip; then
rm -r "${libdir}"/ensurepip || die
fi
if ! use sqlite; then
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
fi
if ! use wininst; then
rm "${libdir}/distutils/command/"wininst-*.exe || die
fi
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}

@ -1,349 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened lto +ncurses pgo
+readline +sqlite +ssl test tk wininst +xml
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_8(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
QA_PKGCONFIG_VERSION=${PYVER}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force the correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs)
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
local disable
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
local test_opts=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use ensurepip; then
rm -r "${libdir}"/ensurepip || die
fi
if ! use sqlite; then
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
fi
if ! use wininst; then
rm "${libdir}/distutils/command/"wininst-*.exe || die
fi
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}

@ -1,402 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="https://www.python.org/"
SRC_URI="
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="bluetooth build examples gdbm hardened lto +ncurses pgo +readline +sqlite +ssl test tk wininst +xml"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_9(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
BDEPEND="
virtual/awk
virtual/pkgconfig
sys-devel/autoconf-archive
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat, libffi and zlib are not used.
rm -fr Modules/expat || die
rm -fr Modules/_ctypes/libffi* || die
rm -fr Modules/zlib || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
# force correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
local disable
# disable automagic bluetooth headers detection
use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
tc-export CXX
# Fix implicit declarations on cross and prefix builds. Bug #674070.
use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
local dbmliborder
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
export PROFILE_TASK="-m test -j${jobs} --pgo-extended -x test_gdb -u-network"
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
PROFILE_TASK+=" -x test_socket -x test_asyncio -x test_httpservers -x test_logging -x test_multiprocessing_fork -x test_xmlrpc"
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
PROFILE_TASK+=" -x test_distutils"
fi
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
$(use_with lto)
$(use_enable pgo optimizations)
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.9/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
# Skip failing tests.
local skipped_tests="gdb"
if use sparc ; then
# bug #788022
skipped_tests+=" multiprocessing_fork"
skipped_tests+=" multiprocessing_forkserver"
fi
for test in ${skipped_tests}; do
mv "${S}"/Lib/test/test_${test}.py "${T}"
done
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
emake test EXTRATESTOPTS="-u-network -j${jobs}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
local result=$?
for test in ${skipped_tests}; do
mv "${T}/test_${test}.py" "${S}"/Lib/test
done
elog "The following tests have been skipped:"
for test in ${skipped_tests}; do
elog "test_${test}.py"
done
elog "If you would like to run them, you may:"
elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
elog "and run the tests separately."
if [[ ${result} -ne 0 ]]; then
die "emake test failed"
fi
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | \
emake --no-print-directory -s -f - 2>/dev/null)
newins "${S}"/Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
local -x EPYTHON=python${PYVER}
# if not using a cross-compiler, use the fresh binary
if ! tc-is-cross-compiler; then
cat > python.wrap <<-EOF || die
#!/bin/sh
export LD_LIBRARY_PATH=\${PWD}\${LD_LIBRARY_PATH+:\${LD_LIBRARY_PATH}}
exec ./python "\${@}"
EOF
chmod +x python.wrap || die
local -x PYTHON=./python.wrap
else
local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
fi
echo "EPYTHON='${EPYTHON}'" > epython.py || die
python_domodule epython.py
# python-exec wrapping support
local pymajor=${PYVER%.*}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" \
"${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" \
"${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" \
"${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" \
"${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" \
"${scriptdir}/idle" || die
fi
}

@ -1,403 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened lto +ncurses pgo
+readline +sqlite +ssl test tk +xml
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_9(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force the correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs)
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
local disable
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
-x test_gdb
-u-network
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
-x test_asyncio
-x test_httpservers
-x test_logging
-x test_multiprocessing_fork
-x test_socket
-x test_xmlrpc
)
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
profile_task_flags+=(
-x test_distutils
)
fi
local -x PROFILE_TASK="${profile_task_flags[*]}"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
$(use_with lto)
$(use_enable pgo optimizations)
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.9/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
local test_opts=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use ensurepip; then
rm -r "${libdir}"/ensurepip || die
fi
if ! use sqlite; then
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
fi
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}

@ -1,403 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WANT_LIBTOOL="none"
inherit autotools check-reqs flag-o-matic multiprocessing pax-utils
inherit python-utils-r1 toolchain-funcs verify-sig
MY_PV=${PV/_rc/rc}
MY_P="Python-${MY_PV%_p*}"
PYVER=$(ver_cut 1-2)
PATCHSET="python-gentoo-patches-${MY_PV}"
DESCRIPTION="An interpreted, interactive, object-oriented programming language"
HOMEPAGE="
https://www.python.org/
https://github.com/python/cpython/
"
SRC_URI="
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz
https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
verify-sig? (
https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc
)
"
S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened lto +ncurses pgo
+readline +sqlite +ssl test tk +xml
"
RESTRICT="!test? ( test )"
# Do not add a dependency on dev-lang/python to this ebuild.
# If you need to apply a patch which requires python for bootstrapping, please
# run the bootstrap code on your dev box and include the results in the
# patchset. See bug 447752.
RDEPEND="
app-arch/bzip2:=
app-arch/xz-utils:=
dev-lang/python-exec[python_targets_python3_9(-)]
dev-libs/libffi:=
sys-apps/util-linux:=
>=sys-libs/zlib-1.1.3:=
virtual/libcrypt:=
virtual/libintl
ensurepip? ( dev-python/ensurepip-wheels )
gdbm? ( sys-libs/gdbm:=[berkdb] )
ncurses? ( >=sys-libs/ncurses-5.2:= )
readline? ( >=sys-libs/readline-4.1:= )
sqlite? ( >=dev-db/sqlite-3.3.8:3= )
ssl? ( >=dev-libs/openssl-1.1.1:= )
tk? (
>=dev-lang/tcl-8.0:=
>=dev-lang/tk-8.0:=
dev-tcltk/blt:=
dev-tcltk/tix
)
xml? ( >=dev-libs/expat-2.1:= )
"
# bluetooth requires headers from bluez
DEPEND="
${RDEPEND}
bluetooth? ( net-wireless/bluez )
test? ( app-arch/xz-utils[extra-filters(+)] )
"
# autoconf-archive needed to eautoreconf
BDEPEND="
sys-devel/autoconf-archive
virtual/awk
virtual/pkgconfig
verify-sig? ( sec-keys/openpgp-keys-python )
!sys-devel/gcc[libffi(-)]
"
RDEPEND+="
!build? ( app-misc/mime-types )
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/python.org.asc
# large file tests involve a 2.5G file being copied (duplicated)
CHECKREQS_DISK_BUILD=5500M
QA_PKGCONFIG_VERSION=${PYVER}
pkg_pretend() {
use test && check-reqs_pkg_pretend
}
pkg_setup() {
use test && check-reqs_pkg_setup
}
src_unpack() {
if use verify-sig; then
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc}
fi
default
}
src_prepare() {
# Ensure that internal copies of expat and libffi are not used.
rm -r Modules/expat || die
rm -r Modules/_ctypes/libffi* || die
local PATCHES=(
"${WORKDIR}/${PATCHSET}"
)
default
# https://bugs.gentoo.org/850151
sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" setup.py || die
# force the correct number of jobs
# https://bugs.gentoo.org/737660
local jobs=$(makeopts_jobs)
sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
eautoreconf
}
src_configure() {
# disable automagic bluetooth headers detection
if ! use bluetooth; then
local -x ac_cv_header_bluetooth_bluetooth_h=no
fi
local disable
use gdbm || disable+=" gdbm"
use ncurses || disable+=" _curses _curses_panel"
use readline || disable+=" readline"
use sqlite || disable+=" _sqlite3"
use ssl || export PYTHON_DISABLE_SSL="1"
use tk || disable+=" _tkinter"
use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
export PYTHON_DISABLE_MODULES="${disable}"
if ! use xml; then
ewarn "You have configured Python without XML support."
ewarn "This is NOT a recommended configuration as you"
ewarn "may face problems parsing any XML documents."
fi
if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
fi
append-flags -fwrapv
filter-flags -malign-double
# https://bugs.gentoo.org/700012
if is-flagq -flto || is-flagq '-flto=*'; then
append-cflags $(test-flags-CC -ffat-lto-objects)
fi
# Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
# PKG_CONFIG needed for cross.
tc-export CXX PKG_CONFIG
# Fix implicit declarations on cross and prefix builds. Bug #674070.
if use ncurses; then
append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
fi
local dbmliborder=
if use gdbm; then
dbmliborder+="${dbmliborder:+:}gdbm"
fi
if use pgo; then
local profile_task_flags=(
-m test
"-j$(makeopts_jobs)"
--pgo-extended
-x test_gdb
-u-network
# All of these seem to occasionally hang for PGO inconsistently
# They'll even hang here but be fine in src_test sometimes.
# bug #828535 (and related: bug #788022)
-x test_asyncio
-x test_httpservers
-x test_logging
-x test_multiprocessing_fork
-x test_socket
-x test_xmlrpc
)
if has_version "app-arch/rpm" ; then
# Avoid sandbox failure (attempts to write to /var/lib/rpm)
profile_task_flags+=(
-x test_distutils
)
fi
local -x PROFILE_TASK="${profile_task_flags[*]}"
fi
local myeconfargs=(
# glibc-2.30 removes it; since we can't cleanly force-rebuild
# Python on glibc upgrade, remove it proactively to give
# a chance for users rebuilding python before glibc
ac_cv_header_stropts_h=no
--enable-shared
--enable-ipv6
--infodir='${prefix}/share/info'
--mandir='${prefix}/share/man'
--with-computed-gotos
--with-dbmliborder="${dbmliborder}"
--with-libc=
--enable-loadable-sqlite-extensions
--without-ensurepip
--with-system-expat
--with-system-ffi
--with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip
$(use_with lto)
$(use_enable pgo optimizations)
)
# disable implicit optimization/debugging flags
local -x OPT=
# pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get
# propagated to sysconfig for built extensions
local -x CFLAGS_NODIST=${CFLAGS}
local -x LDFLAGS_NODIST=${LDFLAGS}
local -x CFLAGS= LDFLAGS=
econf "${myeconfargs[@]}"
if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then
eerror "configure has detected that the sem_open function is broken."
eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777."
die "Broken sem_open function (bug 496328)"
fi
# install epython.py as part of stdlib
echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die
}
src_compile() {
# Ensure sed works as expected
# https://bugs.gentoo.org/594768
local -x LC_ALL=C
# Prevent using distutils bundled by setuptools.
# https://bugs.gentoo.org/823728
export SETUPTOOLS_USE_DISTUTILS=stdlib
# Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't
# end up writing bytecode & violating sandbox.
# bug #831897
local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE}
if use pgo ; then
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
addpredict /usr/lib/python3.9/site-packages
fi
# also need to clear the flags explicitly here or they end up
# in _sysconfigdata*
emake CPPFLAGS= CFLAGS= LDFLAGS=
# Restore saved value from above.
local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE}
# Work around bug 329499. See also bug 413751 and 457194.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E python
else
pax-mark m python
fi
}
src_test() {
# Tests will not work when cross compiling.
if tc-is-cross-compiler; then
elog "Disabling tests due to crosscompiling."
return
fi
local test_opts=(
-u-network
-j "$(makeopts_jobs)"
# fails
-x test_gdb
)
if use sparc ; then
# bug #788022
test_opts+=(
-x test_multiprocessing_fork
-x test_multiprocessing_forkserver
)
fi
# bug 660358
local -x COLUMNS=80
local -x PYTHONDONTWRITEBYTECODE=
emake test EXTRATESTOPTS="${test_opts[*]}" \
CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty || die "emake test failed"
}
src_install() {
local libdir=${ED}/usr/lib/python${PYVER}
emake DESTDIR="${D}" altinstall
# Remove static library
rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
# Fix collisions between different slots of Python.
rm "${ED}/usr/$(get_libdir)/libpython3.so" || die
# Cheap hack to get version with ABIFLAGS
local abiver=$(cd "${ED}/usr/include"; echo python*)
if [[ ${abiver} != python${PYVER} ]]; then
# Replace python3.X with a symlink to python3.Xm
rm "${ED}/usr/bin/python${PYVER}" || die
dosym "${abiver}" "/usr/bin/python${PYVER}"
# Create python3.X-config symlink
dosym "${abiver}-config" "/usr/bin/python${PYVER}-config"
# Create python-3.5m.pc symlink
dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc"
fi
# python seems to get rebuilt in src_install (bug 569908)
# Work around it for now.
if has_version dev-libs/libffi[pax-kernel]; then
pax-mark E "${ED}/usr/bin/${abiver}"
else
pax-mark m "${ED}/usr/bin/${abiver}"
fi
rm -r "${libdir}"/ensurepip/_bundled || die
if ! use ensurepip; then
rm -r "${libdir}"/ensurepip || die
fi
if ! use sqlite; then
rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
fi
if ! use tk; then
rm -r "${ED}/usr/bin/idle${PYVER}" || die
rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
fi
dodoc Misc/{ACKS,HISTORY,NEWS}
if use examples; then
docinto examples
find Tools -name __pycache__ -exec rm -fr {} + || die
dodoc -r Tools
fi
insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510
local libname=$(
printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' |
emake --no-print-directory -s -f - 2>/dev/null
)
newins Tools/gdb/libpython.py "${libname}"-gdb.py
newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER}
newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER}
sed \
-e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \
-e "s:@PYDOC@:pydoc${PYVER}:" \
-i "${ED}/etc/conf.d/pydoc-${PYVER}" \
"${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed"
# python-exec wrapping support
local pymajor=${PYVER%.*}
local EPYTHON=python${PYVER}
local scriptdir=${D}$(python_get_scriptdir)
mkdir -p "${scriptdir}" || die
# python and pythonX
ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die
ln -s "python${pymajor}" "${scriptdir}/python" || die
# python-config and pythonX-config
# note: we need to create a wrapper rather than symlinking it due
# to some random dirname(argv[0]) magic performed by python-config
cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die
#!/bin/sh
exec "${abiver}-config" "\${@}"
EOF
chmod +x "${scriptdir}/python${pymajor}-config" || die
ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die
# 2to3, pydoc
ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die
ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die
# idle
if use tk; then
ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die
fi
}

@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="
bluetooth build +ensurepip examples gdbm hardened lto +ncurses pgo
+readline +sqlite +ssl test tk +xml

Binary file not shown.

@ -1,6 +1,6 @@
AUX hidapi-0.8.0_rc1_p20140719-autoconf-2.70.patch 300 BLAKE2B f82fe6a6e2ebfda10eb9762bbff1586346ecf8945996599a3b58658c37799d85dc573f8be54bba483f95e27177db3f421d99ac713e7012130d2e2b92252ebd87 SHA512 5b29caa5f7a9b61fffb16226cff9709a5b142c6ac36017c567ab5933b21f06cb17c78a93fa19e8c92cb1443f1cbe97c3687002845965bea2b3ef39eeaef1f4a2
DIST hidapi-0.11.0.tgz 232631 BLAKE2B 770c0663b007aa36580af217d0d38be72923e0ad84cee137594ca3e174e589cebb9188003a50999e1c561b0e4e9ca68bd1af29029b89fde2b0a46020b12f9744 SHA512 0de4abc963600d159ce231416c468b9e81a8361e4d2c2202988d6eb2e58a923700e9b9be639fbddc6bc14625131848409e2e88dbc4b34a1f8a726c8fa4692d92
DIST hidapi-0.8.0_rc1_p20140719.tgz 103079 BLAKE2B f40a4c17cb8c5eed41f4eea84fac46a879ec2057f28212aa43c8fd718ceea68d760785cb4f4e2ea3bcd2a4345b65d75d0d278b93697ec61963be9270684a15cb SHA512 204934a707da4e67b834823650b0cfd9be7b413972071129cc5aeeb93465834dde2f5ee23283c55d35b56e3aed8b7ad5fe947399839081f4d895fb65c8cd3e3d
EBUILD hidapi-0.11.0.ebuild 1416 BLAKE2B a056d28c6d4312162ef59cc237e08c8877c3bea103ac5aa33c22508bc0d758d14cae860b46fc506f24b0ff5d5d6646ffb369a65e3460463b03139c2fc1748401 SHA512 718a4bb76f1913d5153325c63f269b7e6e1a648c71d23b64af872bc2132680ce68abb710ecd47e7b7cf7735c87ae80fda48137afcba43453a57624b7920f939d
EBUILD hidapi-0.11.0.ebuild 1413 BLAKE2B af3ddb3c3add5942dd9e961e7a8c60fc735f8aad1465562f84a7d3e94df4f4928aa9e6981beebe1da24cad6b94302940a44e06d0c0bc4c89a36cd1d43f31c023 SHA512 0e06b7d7c9ef2b0e2f656130313a0ef57b0a0ce043f7a8a4f5fcf47e0195551da0b988e03bf4e10207b996e6f9a4fc48f9c09051534fd6047583ee7c6f6b6fdf
EBUILD hidapi-0.8.0_rc1_p20140719-r1.ebuild 1851 BLAKE2B cdaa39c57a17a17720ba075f722339df5b6bdc84fca16e1d8e2eba26c3fdcdb749f40fb773961c40eebf13ad92f50d57fb1d0f01fe1c15c1e6f5b696bdecab09 SHA512 fb003b0a9dd3f64b2e4615bb27af95fa705e48dd62fea56a5b811e5467fd87b37cbfcc8d8be361555825bdc61c68d884bb45a3efe677db5f9dbae01a08d1f7b4
MISC metadata.xml 571 BLAKE2B 713eb7b09515bf42caa61286df10e947377a5d1c11deb35144caf0c1138da6e740d876070c4e37e8f47d05b46ba4ca5ef8d5873ab884533c8544fd1c86c2ae99 SHA512 46734233740eb28856db7c56381fd0a4cb84c6dd84ee489c00e537a5435eff4c6880b095a7341f73f606929818a88d74e197337bb441378d2705690eac0a10f6

@ -11,7 +11,7 @@ SRC_URI="https://github.com/libusb/hidapi/archive/${P}.tar.gz -> ${P}.tgz"
LICENSE="|| ( BSD GPL-3 HIDAPI )"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~riscv x86"
IUSE="doc fox"
RDEPEND="

@ -3,5 +3,5 @@ DIST libuv-1.44.1.tar.gz 1301786 BLAKE2B 34418fbf8ddffe368b4df8f8b668888ec9f3e36
DIST libuv-1.44.2.tar.gz 1309062 BLAKE2B 883a1fbffcd8f55bf28ea5a79ed18aa3e2f2fac126285e8aca2ef9370eafc62f69f95ddb8bf27d4159e038bfb0a01abafdf0dadbc4309e5d31f0e77057ee84ac SHA512 d21c890787b0b364fafa5fc0cbbff296bc2ca269e1991d2f7f35fcb37b8634da377466f5af5a4245425fcf876ae6870d100ab32b12bce64f8e0b01fd25a1bc83
EBUILD libuv-1.44.1.ebuild 1371 BLAKE2B 01fac1a7a2a09f274b628371ba1aadbc4077a17787eba8f63b92a40f462c0446a70ab5fd829d5bef53df73a78287c31f88c06414210476e84cedce5584624099 SHA512 22b1f916f13eebd76de097934033b5b2a46f9e5fa7a886a15a0fdbde0584e19b132d6c5959ca4fb914de02574a638b834cba9c382a0f6743be312afd27ae4148
EBUILD libuv-1.44.2.ebuild 1379 BLAKE2B 143b79afdc5972a057973b3d93d05384ae95498e45e409bd0867d745698f4340dea6c91f7439506bd029d42bc6a1e65209ec16aa520018609946c4e8626b8061 SHA512 953fde8d3a7289473beec07d585f5c2d0e867f348819705503f90fb1460bd39b78a0fe160ac967593c7911644967c1e43577850bb955c1ae25444220946add2d
EBUILD libuv-9999.ebuild 1379 BLAKE2B b5d2680ac99a490d6e36d481402b271fe838d4773da9ec52b09f67b62901961648f0cf5388bb720c8df2b9bfb97d3e9d9180f6b1ef38d9db37386fab9c106f09 SHA512 6a4095f50c89fdcb80a1167d0623af7b2c329ca01392fcff49272c609abeac9c278d1a649f0069a59549d0f065caffd899577ff7e4f77c910256f0deb432a2b7
EBUILD libuv-9999.ebuild 1379 BLAKE2B 143b79afdc5972a057973b3d93d05384ae95498e45e409bd0867d745698f4340dea6c91f7439506bd029d42bc6a1e65209ec16aa520018609946c4e8626b8061 SHA512 953fde8d3a7289473beec07d585f5c2d0e867f348819705503f90fb1460bd39b78a0fe160ac967593c7911644967c1e43577850bb955c1ae25444220946add2d
MISC metadata.xml 1426 BLAKE2B 79a040706bd2e88560fdf7cdd75226c51384f1b27f8f86798f3a694d1d4b02ce309edef4f1921f73e498533e37deff9051ebdaa6ae565defabe9d4546aa33bd4 SHA512 a6fa2c3217de06d7d324b37b00e0cb19e8d0b192cd10736d32f5d459c701c14a6aa296d7d4d292f7c56120953423df0068f3f71495941295c97e86c283b084d3

@ -1,7 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
EAPI=8
inherit autotools multilib-minimal

@ -5,11 +5,9 @@ AUX nss-3.68-ld-fix.patch 1059 BLAKE2B ea449bf15d603e970468f1349a32804403036300c
AUX nss-3.79-gcc-13.patch 1058 BLAKE2B d0249304f09fdea7e391732e7da63344c3e29c1856cb5ddb9e55a27305ab050077d138d9a8fdfbd6573bd7e7a345ed39f506e534464c3caaae925d1717b75edb SHA512 24dd41401b44ce86498a9b42f96068dbf58c6814ab18453db0615d49bdf327610a1ee2b0e32a2905a1c34364abd8d4c162a179f6b57cac19068babebbed229b4
DIST nss-3.68.4.tar.gz 82409303 BLAKE2B a3cf572e82ce29dbc77e9356e0db425170f7294f1468755843746539663fe486089660e1c1b379d0184003d9ccf57db6cf0b2c161d7038301c1cb5028175b16d SHA512 f97b63a9f8218f8fbd7b5d48c084b8166366d02cd50aac69a22d56324d2fea01c49d074e51430bd128f510c733085f3f43c9739ce4073a07a5666675e0ef3b15
DIST nss-3.79.1.tar.gz 84694831 BLAKE2B 209a502ba4b808bb4cb9b8775328fa26e36c55147ee5da7b8f661349129250f09685dd69919e24d7ff72cc55a2e9cbbbc9c059e543cf1b0a6a08e809be262d4c SHA512 e841efe9d0300d99b50e54c159c75df76c09c34c74bbc9b6ca007ad017b2cb91a8d33f6f4195e52bd8f3ed7be5d53f3ce7ce10825fa21abbf5dbba3db109e037
DIST nss-3.81.tar.gz 84842767 BLAKE2B 01b6bf96a1507f8f16693b11aec7897c2fd046a97109fe30dcd4dbd53f82247d9809d189d885fded1f9c89e87b4051d2c121003a30e180ba685a95c46d3232fd SHA512 206faa29ff9fc9c70f85cbb86690b55bd11003a1a5b1d49f5f3731fdd1221690f957a17d912ee5272505afb938968327f4532ae8f5d2d77e6e13370768229747
DIST nss-3.82.tar.gz 84708994 BLAKE2B 59d3ace416c725933a07c51dc911f2fa11d55b1daddc5252a01ef3ae9df3375cbb199eff92e8e2bb364b9381ad1066c74d4f93c00900847f5234591bbbb29824 SHA512 6e0f28c3f776178ab2d97c6e2436aa10d72c9c2668aea1a6695ccf49e8c3c4cd2d266168508bcb456c655f2e692dceb44eae53c80d50076d7156db3deac70057
DIST nss-cacert-class1-class3-r2.patch 21925 BLAKE2B 7627ff9a09f084c19d72d0490676865e3cab3ca7c920ae1ce4bea2db664f37fd0aa84fcda919809a516891ab2a62e2e7a43a9d6ada4c231adfe4c216525fac7d SHA512 1ce6ff9ab310aaca9005eafb461338b291df8523cc7044e096cd75774ce746c26eed19ec6bb2643c6c67f94650f2f309463492d80a90568f38ce2557f8ada2f4
EBUILD nss-3.68.4.ebuild 9328 BLAKE2B 5883d294203e24b15b927cf60dd90b5a9b4666b26d5a8591ccbf248b99bf82da2866383de792c1bb5af794cb73fc7be73ead212cb3193ef98198509e061010d3 SHA512 0bb43a21931d5a3bd8ff9146ed4c63ad1d3d76075bb27eb25ed97fd3825dbd436576fc71387a6633961ad15bf03bfd37b315094cb2551073ca331187a55572c7
EBUILD nss-3.79.1.ebuild 10480 BLAKE2B 06850337e70943128f696ad5b9709c910e2d038293ddd450e1a43576cbbf784dbbd8e81fae18518bf659e71eccc95cb2427373548e104b821ce37c81947d9d21 SHA512 8c8271924c02ee6d00ed6b7436e17c4a22763057b7101928973ab99324b603775c9d64e8e88dfc9fb27900532ea8946922b32f7d351cadb93e5f2ec14efdad0b
EBUILD nss-3.81.ebuild 10512 BLAKE2B b4fb44ac0ca7b2f325817ad9e7e1a30aacddbceea329d019ca967ecb2aec0b90976b3bb6c8898dd951184ac65482c100f07e50c4d8cabaa4722182ab5c0d4838 SHA512 2c4d21eb9d860ed4139dd72af5829d9db69a44474954e23dcfd05d76f0b8f0457f71c6a026bf60724ed3a3ef5c1cd7d72a020955a51f7263fb2a5d763e1f503b
EBUILD nss-3.82.ebuild 10512 BLAKE2B b4fb44ac0ca7b2f325817ad9e7e1a30aacddbceea329d019ca967ecb2aec0b90976b3bb6c8898dd951184ac65482c100f07e50c4d8cabaa4722182ab5c0d4838 SHA512 2c4d21eb9d860ed4139dd72af5829d9db69a44474954e23dcfd05d76f0b8f0457f71c6a026bf60724ed3a3ef5c1cd7d72a020955a51f7263fb2a5d763e1f503b
MISC metadata.xml 517 BLAKE2B 85fba14d0b8a3539c57b8dca15a0f7789bb78a92891ff39271f804fa07b1620f5f3ece89269e3305b578064a53aeae7ab298bb97cdc019f41793888d42159727 SHA512 7b1fba5488498d5499134f1b58ecaa01cb8c51af3da666d55fba3884703d34efb57b449e76461fb6e13c37687bf5125c5dbab1934a950d4d13c0cff5a3b3318e

@ -1,391 +0,0 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic multilib toolchain-funcs multilib-minimal
NSPR_VER="4.34"
RTM_NAME="NSS_${PV//./_}_RTM"
DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS"
SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
cacert? ( https://dev.gentoo.org/~whissi/dist/ca-certificates/nss-cacert-class1-class3-r2.patch )"
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
IUSE="cacert test +utils cpu_flags_ppc_altivec cpu_flags_ppc_vsx"
RESTRICT="!test? ( test )"
# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
RDEPEND="
>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
>=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
virtual/pkgconfig
"
DEPEND="${RDEPEND}"
BDEPEND="dev-lang/perl"
S="${WORKDIR}/${P}/${PN}"
MULTILIB_CHOST_TOOLS=(
/usr/bin/nss-config
)
PATCHES=(
# Custom changes for gentoo
"${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
"${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
"${FILESDIR}/${PN}-3.79-gcc-13.patch"
)
QA_PKGCONFIG_VERSION="${PV}.0"
src_prepare() {
default
if use cacert ; then
eapply -p2 "${DISTDIR}"/nss-cacert-class1-class3-r2.patch
fi
pushd coreconf >/dev/null || die
# hack nspr paths
echo 'INCLUDES += -I$(DIST)/include/dbm' \
>> headers.mk || die "failed to append include"
# modify install path
sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
-i source.mk || die
# Respect LDFLAGS
sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
popd >/dev/null || die
# Fix pkgconfig file for Prefix
sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
config/Makefile || die
# use host shlibsign if need be #436216
if tc-is-cross-compiler ; then
sed -i \
-e 's:"${2}"/shlibsign:shlibsign:' \
cmd/shlibsign/sign.sh || die
fi
# dirty hack
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
lib/ssl/config.mk || die
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
cmd/platlibs.mk || die
multilib_copy_sources
strip-flags
}
multilib_src_configure() {
# Ensure we stay multilib aware
sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
}
nssarch() {
# Most of the arches are the same as $ARCH
local t=${1:-${CHOST}}
case ${t} in
*86*-pc-solaris2*) echo "i86pc" ;;
aarch64*) echo "aarch64" ;;
hppa*) echo "parisc" ;;
i?86*) echo "i686" ;;
x86_64*) echo "x86_64" ;;
*) tc-arch ${t} ;;
esac
}
nssbits() {
local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
if [[ ${1} == BUILD_ ]]; then
cc=$(tc-getBUILD_CC)
else
cc=$(tc-getCC)
fi
echo > "${T}"/test.c || die
${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
case $(file "${T}/${1}test.o") in
*32-bit*x86-64*) echo USE_X32=1;;
*64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
*32-bit*|*ppc*|*i386*) ;;
*) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
esac
}
multilib_src_compile() {
# use ABI to determine bit'ness, or fallback if unset
local buildbits mybits
case "${ABI}" in
n32) mybits="USE_N32=1";;
x32) mybits="USE_X32=1";;
s390x|*64) mybits="USE_64=1";;
${DEFAULT_ABI})
einfo "Running compilation test to determine bit'ness"
mybits=$(nssbits)
;;
esac
# bitness of host may differ from target
if tc-is-cross-compiler; then
buildbits=$(nssbits BUILD_)
fi
local makeargs=(
CC="$(tc-getCC)"
CCC="$(tc-getCXX)"
AR="$(tc-getAR) rc \$@"
RANLIB="$(tc-getRANLIB)"
OPTIMIZER=
${mybits}
)
# Take care of nspr settings #436216
local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
unset NSPR_INCLUDE_DIR
export NSS_ALLOW_SSLKEYLOGFILE=1
export NSS_ENABLE_WERROR=0 #567158
export BUILD_OPT=1
export NSS_USE_SYSTEM_SQLITE=1
export NSDISTMODE=copy
export FREEBL_NO_DEPEND=1
export FREEBL_LOWHASH=1
export NSS_SEED_ONLY_DEV_URANDOM=1
export USE_SYSTEM_ZLIB=1
export ZLIB_LIBS=-lz
export ASFLAGS=""
# Fix build failure on arm64
export NS_USE_GCC=1
# Detect compiler type and set proper environment value
if tc-is-gcc; then
export CC_IS_GCC=1
elif tc-is-clang; then
export CC_IS_CLANG=1
fi
export NSS_DISABLE_GTESTS=$(usex !test 1 0)
# explicitly disable altivec/vsx if not requested
# https://bugs.gentoo.org/789114
case ${ARCH} in
ppc*)
use cpu_flags_ppc_altivec || export NSS_DISABLE_ALTIVEC=1
use cpu_flags_ppc_vsx || export NSS_DISABLE_CRYPTO_VSX=1
;;
esac
local d
# Build the host tools first.
LDFLAGS="${BUILD_LDFLAGS}" \
XCFLAGS="${BUILD_CFLAGS}" \
NSPR_LIB_DIR="${T}/fakedir" \
emake -C coreconf \
CC="$(tc-getBUILD_CC)" \
${buildbits-${mybits}}
makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
# Then build the target tools.
for d in . lib/dbm ; do
CPPFLAGS="${myCPPFLAGS}" \
XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
NSPR_LIB_DIR="${T}/fakedir" \
emake "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
done
}
multilib_src_test() {
einfo "Tests can take a *long* time, especially on a multilib system."
einfo "30-45+ minutes per lib configuration. Bug #852755"
# https://www.linuxfromscratch.org/blfs/view/svn/postlfs/nss.html
# https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_sources_building_testing/index.html#running_the_nss_test_suite
# https://www-archive.mozilla.org/projects/security/pki/nss/testnss_32.html (older)
export BUILD_OPT=1
export HOST="localhost"
export DOMSUF="localdomain"
export USE_IP=TRUE
export IP_ADDRESS="127.0.0.1"
NSINSTALL="${PWD}/$(find -type f -name nsinstall)"
cd "${BUILD_DIR}"/tests || die
# Hack to get current objdir (prefixed dir where built binaries are)
# Without this, at least multilib tests go wrong when building the amd64 variant
# after x86.
local objdir=$(find "${BUILD_DIR}"/dist -maxdepth 1 -iname Linux* | rev | cut -d/ -f1 | rev)
# Can tweak to a subset of tests in future if we need to, but would prefer not
OBJDIR="${objdir}" DIST="${BUILD_DIR}/dist" MOZILLA_ROOT="${BUILD_DIR}" ./all.sh || die
}
# Altering these 3 libraries breaks the CHK verification.
# All of the following cause it to break:
# - stripping
# - prelink
# - ELF signing
# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
# Either we have to NOT strip them, or we have to forcibly resign after
# stripping.
#local_libdir="$(get_libdir)"
#export STRIP_MASK="
# */${local_libdir}/libfreebl3.so*
# */${local_libdir}/libnssdbm3.so*
# */${local_libdir}/libsoftokn3.so*"
export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
generate_chk() {
local shlibsign="$1"
local libdir="$2"
einfo "Resigning core NSS libraries for FIPS validation"
shift 2
local i
for i in ${NSS_CHK_SIGN_LIBS} ; do
local libname=lib${i}.so
local chkname=lib${i}.chk
"${shlibsign}" \
-i "${libdir}"/${libname} \
-o "${libdir}"/${chkname}.tmp \
&& mv -f \
"${libdir}"/${chkname}.tmp \
"${libdir}"/${chkname} \
|| die "Failed to sign ${libname}"
done
}
cleanup_chk() {
local libdir="$1"
shift 1
local i
for i in ${NSS_CHK_SIGN_LIBS} ; do
local libfname="${libdir}/lib${i}.so"
# If the major version has changed, then we have old chk files.
[ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
&& rm -f "${libfname}.chk"
done
}
multilib_src_install() {
pushd dist >/dev/null || die
dodir /usr/$(get_libdir)
cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
local i
for i in crmf freebl nssb nssckfw ; do
cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
done
# Install nss-config and pkgconfig file
dodir /usr/bin
cp -L */bin/nss-config "${ED}"/usr/bin || die
dodir /usr/$(get_libdir)/pkgconfig
cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
# create an nss-softokn.pc from nss.pc for libfreebl and some private headers
# bug 517266
sed -e 's#Libs:#Libs: -lfreebl#' \
-e 's#Cflags:#Cflags: -I${includedir}/private#' \
*/lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
|| die "could not create nss-softokn.pc"
# all the include files
insinto /usr/include/nss
doins public/nss/*.{h,api}
insinto /usr/include/nss/private
doins private/nss/{blapi,alghmac,cmac}.h
popd >/dev/null || die
local f nssutils
# Always enabled because we need it for chk generation.
nssutils=( shlibsign )
if multilib_is_native_abi ; then
if use utils; then
# The tests we do not need to install.
#nssutils_test="bltest crmftest dbtest dertimetest
#fipstest remtest sdrtest"
# checkcert utils has been removed in nss-3.22:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
# https://hg.mozilla.org/projects/nss/rev/df1729d37870
# certcgi has been removed in nss-3.36:
# https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
nssutils+=(
addbuiltin
atob
baddbdir
btoa
certutil
cmsutil
conflict
crlutil
derdump
digest
makepqg
mangle
modutil
multinit
nonspr10
ocspclnt
oidcalc
p7content
p7env
p7sign
p7verify
pk11mode
pk12util
pp
rsaperf
selfserv
signtool
signver
ssltap
strsclnt
symkeyutil
tstclnt
vfychain
vfyserv
)
# install man-pages for utils (bug #516810)
doman doc/nroff/*.1
fi
pushd dist/*/bin >/dev/null || die
for f in ${nssutils[@]}; do
dobin ${f}
done
popd >/dev/null || die
fi
}
pkg_postinst() {
multilib_pkg_postinst() {
# We must re-sign the libraries AFTER they are stripped.
local shlibsign="${EROOT}/usr/bin/shlibsign"
# See if we can execute it (cross-compiling & such). #436216
"${shlibsign}" -h >&/dev/null
if [[ $? -gt 1 ]] ; then
shlibsign="shlibsign"
fi
generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
}
multilib_foreach_abi multilib_pkg_postinst
}
pkg_postrm() {
multilib_pkg_postrm() {
cleanup_chk "${EROOT}"/usr/$(get_libdir)
}
multilib_foreach_abi multilib_pkg_postrm
}

Binary file not shown.

@ -1,3 +1,5 @@
DIST busted-2.0.0.tar.gz 55002 BLAKE2B 39a3b7bf156911e25f94020f9e56b3f43b9f02b910a9d1c1f288dbdb83e5d53253d5b40d73df655844ed683cff7959d42c330c0d061db918385df07870e16da3 SHA512 3151694b1fba1acc52e3bcfee0231008b14934e89da5885d7e063c6f023479c42040c42a8c0aa6ff1f8303ad6b2a70f0687c8a218830de7231007ef8748457bf
EBUILD busted-2.0.0-r1.ebuild 1184 BLAKE2B 6cfedad1a93e4918b337e76e052d03746363572c719fe07a109ba99787643548ed3a4377a51b602603b5481d71ad737ae95fa4bedc3baeb68cadb1b85fc9f2da SHA512 37a8f0299093528fd5529769d35a55b79253986339bde919ae9abdc659596ae395e8eb1fc9a4e6b11b2e9491b59829455cb9bf78fe56a119b23d0167fcd12e81
DIST busted-2.1.1.tar.gz 62594 BLAKE2B 3afd49dd70b27243e32f69d5d5a0a0ee13e46fdbe46fe6921e1b854abddaa45dba098f19c5994d5656eca871beacd654cac20abe0662c21f6e7efaff19984753 SHA512 80a362094398b85f2783ca11adfae1f7ead38b9de7d11d2c2f8234f2d8f1289dc853f58c11c375b8edd6ea87807a65cc8bce01ebcf7cdf75701796ee528a75a0
EBUILD busted-2.0.0-r1.ebuild 1168 BLAKE2B 25f3ea9369b3f4c6f604204ffd8a927fcc2ab784dc19b9556555467d6492cbdbc748409a60d7f43373718af441d73c5e3d4c1efb38d81dcd8f49d8c6177a2948 SHA512 fa624d4e147ee8b684eec6e0997a999ab128739e558bc478807b1976aacb484145e02e4a5f6b72561e680f069ee8a45c92cf6413555cfb5fe05f524dc1330245
EBUILD busted-2.1.1.ebuild 1163 BLAKE2B 3d33684d832f9dab21066f231660cda1ade3494323c83408d60bc8dec313197a4706de4a58a7d1438e90bc6c71a4835f16b6a27c0b946d198c7fee32f8cd4b07 SHA512 7714c510e5926bd2b4ca9deb0f2089f2f7c6b25633f5dd9bfe365d4a5cde0fb291dcb4bc6285fb96c8707362669dda8efc93b1213a6c08362a46e5d8ccf0f2e7
MISC metadata.xml 778 BLAKE2B eaa8fb83d2207baba024dbca322175de701610881c08ace237aaddc0567861fe6b70f8461ce6c63283b8b43014c4a27c96152e5365ed9f6ece5befed59cb4c94 SHA512 55476c9f7c2028125fb3e2ffe89f586e0409343988031a49adf6ab7cee3936ecc7501fcb1abbed1704fe820cf1e9de7735b93461e04b8622d367daefab93cdfe

@ -5,7 +5,7 @@ EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
inherit lua toolchain-funcs
inherit lua
DESCRIPTION="Elegant Lua unit testing"
HOMEPAGE="http://olivinelabs.com/busted/"

@ -0,0 +1,63 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
inherit lua
DESCRIPTION="Elegant Lua unit testing"
HOMEPAGE="http://olivinelabs.com/busted/"
SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="test"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="test"
RDEPEND="
dev-lua/lua_cliargs[${LUA_USEDEP}]
dev-lua/luafilesystem[${LUA_USEDEP}]
dev-lua/luasystem[${LUA_USEDEP}]
dev-lua/dkjson[${LUA_USEDEP}]
dev-lua/say[${LUA_USEDEP}]
dev-lua/luassert[${LUA_USEDEP}]
dev-lua/lua-term[${LUA_USEDEP}]
dev-lua/penlight[${LUA_USEDEP}]
dev-lua/mediator_lua[${LUA_USEDEP}]
${LUA_DEPS}
"
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
test? (
dev-lua/busted
${RDEPEND}
)
"
lua_src_test() {
busted --lua=${ELUA} || die
}
src_test() {
lua_foreach_impl lua_src_test
}
lua_src_install() {
insinto $(lua_get_lmod_dir)
doins -r busted
}
src_install() {
dobin bin/busted
lua_foreach_impl lua_src_install
einstalldocs
}

@ -1,4 +1,6 @@
AUX luassert-1.8.0-disable-highlightcolor-test.patch 2931 BLAKE2B dcf614b08aa0e89404d18e9bdc77ac5b723d577b8f5694f7fded74275c8ace59e938ddd2ad46b19a9ba7d8a36886d36db384d6fb439a2cccee77cf370e711060 SHA512 0bf9b3877e78183d5db3d33acb977f64e1aa7934f313838ffb5ec9b759283b21f071c619020ca4b8ec8aa36d9ea4e8082e3510d59d800fbd82fef74e0d8b9895
DIST luassert-1.8.0.tar.gz 38874 BLAKE2B ebc4aab1de5dc830d0b9266726ca6bf361e03000f3a8acd27c04805a6c963373755c8e163b187714f64178acc5d755c05493d745b55c785e3254dd41aa4bef31 SHA512 18b296fececa6b0d5950b2a20c4d30da3bbf9b0932c568bbb8ca212b5c82a1047b73c52ee72b4505a41a393d41dd21321189367e038dd029152d177e11bafc93
EBUILD luassert-1.8.0-r1.ebuild 1024 BLAKE2B cc8bd0f50017a24f5bb9553d8842c4bc2000ef6707dad58d7d49996663d1bd4d394fca710fc07e6e9edba0136751d3cd25642adb70999462fa6db58d8e8117b1 SHA512 63c56717c2358670688074b4321060ba36ea98c954bc4169d8c362bc9195732aad6deddc3a7ab46916f22e85b0d2f25a2d41a1723aea4e50c9887e9c46984e6e
DIST luassert-1.9.0.tar.gz 42645 BLAKE2B 2541184bb5ee7a6a7e0c8e2fead8c4926a5d8384345dc173d60c9b52bb4cffe9f50e90980293465e1e5cadee337823abf77421d1cfc423eb32d9d73a7594a306 SHA512 267d31f0061376a4766c7e978bda9e4a2396c8bf959d4aaa347ad40bd286a3873441e38983e1e86ea07a1be7cf7c92d91248c4ba70d6dd4ec82f02c7f7638e9f
EBUILD luassert-1.8.0-r1.ebuild 1008 BLAKE2B aeea15204616df45d3dd9469f59d50481ff1be4152c25d6e2f50df45ab93175d0fafe49bc2618a7e095b086b46144b513e07415d80e5e3ca3686ebf9131ed776 SHA512 49d8e2f31ccb1cd5a3ab74d3a2aa828b566f0c23fb289413de2aef0509158ad92c0fd75c1ade7494b99bb0115779f4ed359e464e507601e3499259073f7c0228
EBUILD luassert-1.9.0.ebuild 941 BLAKE2B bf320ce8c7cd4b5d306fc6fd1df7a659004301c3f76c01c4bc98e6b4a403e132fe44c00fdc8f0f7f74729ca0b1a8bd4421c297dc43a570d5d592e565acd4bd92 SHA512 ced15e22247dab1fb37ed0877abde9b02739c4012b6670adfba37db16ae426e755d7eb1f460e712e2c0dbf260e6af8048c4a19dee6678a769efe06a74a2f7d98
MISC metadata.xml 623 BLAKE2B 314b10b15a976e5db10ce4decd9a44157dd14ee49ed61bdf3193df9317b766ef57884e1e501cd3755fba5d686d7bf2d61ee54cd0170bb5d3996e1a49b835a239 SHA512 71e94894fb184314e80af6a4e6f493712aa61f5c8a9c8aabcecd10b9b08f11dff9378d9abcbc40bd0bd9142b3777bebb3e1d896e0b05106a24aa40b83ac66d8f

@ -5,7 +5,7 @@ EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
inherit lua toolchain-funcs
inherit lua
DESCRIPTION="Assertion library for Lua"
HOMEPAGE="http://olivinelabs.com/busted/"

@ -0,0 +1,54 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-{1..4} luajit )
inherit lua
DESCRIPTION="Assertion library for Lua"
HOMEPAGE="http://olivinelabs.com/busted/"
SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="test"
REQUIRED_USE="${LUA_REQUIRED_USE}"
RESTRICT="!test? ( test )"
RDEPEND="
dev-lua/say[${LUA_USEDEP}]
${LUA_DEPS}
"
BDEPEND="
virtual/pkgconfig
test? (
dev-lua/busted[${LUA_USEDEP}]
dev-lua/lua_cliargs[${LUA_USEDEP}]
${RDEPEND}
)
"
DEPEND="${RDEPEND}"
lua_src_test() {
busted --lua=${ELUA} || die
}
src_test() {
lua_foreach_impl lua_src_test
}
lua_src_install() {
insinto $(lua_get_lmod_dir)/luassert
doins -r src/.
einstalldocs
}
src_install() {
lua_foreach_impl lua_src_install
}

Binary file not shown.

@ -1,5 +1,3 @@
DIST ansible-runner-1.4.9.tar.gz 48022 BLAKE2B 9d413a3502450ad964301fb22c280e6474794604a4d8a2d3bbbc92a1d2e7568351feabce3e9e6790916032ffb72881812c0ef9456a589e7af7cab1dea3d3182c SHA512 198091472c74ab2641dd3a72afa90fcdb4b120c0a10518b55055933f3ae9934bfe229a6a006e84646ce491ce3eec828f9ffa692e6b215398e64aa55afbcb3bae
DIST ansible-runner-2.1.0.tar.gz 158798 BLAKE2B b6a1a50c1b66210c9a29b0b52e798fc6a922a840664c5924e5234a3f5ec2cea32a137e676bae732115cb10a99155df660281233fe5bd10c10282926d0ec92abe SHA512 c96a7a122e4fdc02d6ebab79bbf3f2d9f96eb6c966789deae5c36e9b4c55aa9fede994b22309bdb18a8a4f1c9a615f9b454f01c4170c4d0c1fb5e447da52cf00
EBUILD ansible-runner-1.4.9.ebuild 921 BLAKE2B 47fae2a5335c092777f6f51db003daa0fc32e8cdd2345d32915bf75874f65340b1e0da57f182a0abc5356dadfa926f24eb3a192676ce5ab2c40967a009370132 SHA512 0adea4f2242fbc5aeb314a62fb1cdb27f1aae37f1cff783bd0fa321a3420c3d2520f80704ca2fce712a3538258ba0d8dc1c1cbb7f3c4743850f82a6d217767bc
EBUILD ansible-runner-2.1.0.ebuild 912 BLAKE2B 95ce643c727c0a5926ccb45a0009917e34ba2011d945c42520d8f11caa05bfe589b4c6db154fe2789a21fa19b3cce43bec228ca2196d7755407ef7dd3dcfefb5 SHA512 ac295a9ea095383954127673f4d5dafbfc706185ac8d69fbe91f5cc89c49d1d5fa177e6ded33bf11946af2defed09be66fcaaa97109906f33c1864d36daea039
MISC metadata.xml 919 BLAKE2B 4f08236cc9aa2a45279ec971c60e5d4f0a8f3695bc5cf4fac42d704682026b30b2ab0a6b0b408e313b3614da94de873256d146c4602598a762c59072f3c44d27 SHA512 f632561c44dfff6767bad8a8273776efe86b45feb7900ea07be4413f8779bec5c9ea1950a2ca1ebdaf7d17230f6839aafbd3c5fcc54cd6df3085b7e392605a6b

@ -1,38 +0,0 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="A tool and python library that helps when interfacing with Ansible"
HOMEPAGE="https://github.com/ansible/ansible-runner"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
dev-python/pexpect[${PYTHON_USEDEP}]
dev-python/psutil[${PYTHON_USEDEP}]
dev-python/python-daemon[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/mock[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
python_prepare_all() {
sed -e 's|find_packages()|find_packages(exclude=["test", "test.*"])|' -i setup.py || die
distutils-r1_python_prepare_all
}

@ -2,8 +2,10 @@ DIST awxkit-21.1.0.gh.tar.gz 16516204 BLAKE2B 2891244e7dcb0aef7b2053713c4479b945
DIST awxkit-21.2.0.gh.tar.gz 16531568 BLAKE2B aa6677408415b2abd6a8d0f3286e2147f0e5ad3d7650feb98dfe018c89431bf9b4fdc8c6c1c76aa9a26fe0d7c8a438cfa209fbe16b7480c7295c60352e30e21e SHA512 d2be8ffacc5b82600ecac5d909450f9eef3d205075c9783849bc50030abcc84ca6cae3682baf20de8e0efb9f651aa03374941d59cf52f9d4cb4b7892d5c0353c
DIST awxkit-21.3.0.gh.tar.gz 15808522 BLAKE2B 0c8f563601e8140af763ef88d9c69232b1c5b5de726962c210883af78d400286f7a415971311a7543b150d165c10cadbfbbd11d58ea8b9336efe9db7a7d29493 SHA512 05f2996a51aedc059041d72a50c21b3dd161c958ac869e4c9d36b45ae483e2e4c6a743e8ba336acde8108fa43d9eec0131d76a8ef3cf0dbeec1416dc8317c698
DIST awxkit-21.4.0.gh.tar.gz 16058858 BLAKE2B 215b18809bd1050c6e93a03711fd8cb1b96299c2f335d01e7c40ea54ee9aaefab652f86826914e908ff4a19a02e79a61fc13edd5533c6b619366f76aa7fcfa46 SHA512 fc4513e7adcbf75aa801dfedb1f92a08e1dbe804a0a8b18809ec5ef98dd42bdf08856c486a9781cc6d34a932a86d587a90eac28099016e956c7468078d44d3ba
DIST awxkit-21.5.0.gh.tar.gz 16077945 BLAKE2B 06e4b67fd49f9f11d65c4209ef70732e4dc33613c1875f4827421da200d2e7a7eaf8774c14a8f7713ce9227fc477103b114f6d2c170ed180e1cd101c59ca4c4a SHA512 7d90e1cc8133c3e5dca3a73e718c6449fc75e85fe7a1e1e28c971bc4883d249ed2e17124b5d1de06fd0adac358e49a3987620cc5d274bd666a78bc5cd75577fc
EBUILD awxkit-21.1.0.ebuild 960 BLAKE2B e05e602d0daf612c9b4818838600e71682202d4c87189c0c13797e80e958659b2b33c0f72bcc45bd9f961d6294597922c301ba82f27b2b10580500c4d9e5c62f SHA512 d374a109811987644fad287ddec4e83759de82e67d94435927d0d44f8b19e2f480eaaf08ac124317aaa77e6866b0f88bdbac7bb2c7123f6d510c6374f3d292f4
EBUILD awxkit-21.2.0.ebuild 960 BLAKE2B e05e602d0daf612c9b4818838600e71682202d4c87189c0c13797e80e958659b2b33c0f72bcc45bd9f961d6294597922c301ba82f27b2b10580500c4d9e5c62f SHA512 d374a109811987644fad287ddec4e83759de82e67d94435927d0d44f8b19e2f480eaaf08ac124317aaa77e6866b0f88bdbac7bb2c7123f6d510c6374f3d292f4
EBUILD awxkit-21.3.0.ebuild 960 BLAKE2B e05e602d0daf612c9b4818838600e71682202d4c87189c0c13797e80e958659b2b33c0f72bcc45bd9f961d6294597922c301ba82f27b2b10580500c4d9e5c62f SHA512 d374a109811987644fad287ddec4e83759de82e67d94435927d0d44f8b19e2f480eaaf08ac124317aaa77e6866b0f88bdbac7bb2c7123f6d510c6374f3d292f4
EBUILD awxkit-21.4.0.ebuild 996 BLAKE2B 7137e273e2cbf2b5c494d94613f4a733844f6e9b71f2756f3d83d05a6678528654cfab2ef4e3b040fc223bc76c4507ce8c812bfd81c37dbacb3c456c129f35ae SHA512 72c18b13604394614e0cc429482448ba03a90737f8a7ffe7e8158fb8156cfc2f037cf40b8fdd4442349008d3c0a87f5cb828bb3bc7521b9d51da1621aa4d15d8
EBUILD awxkit-21.5.0.ebuild 996 BLAKE2B 7137e273e2cbf2b5c494d94613f4a733844f6e9b71f2756f3d83d05a6678528654cfab2ef4e3b040fc223bc76c4507ce8c812bfd81c37dbacb3c456c129f35ae SHA512 72c18b13604394614e0cc429482448ba03a90737f8a7ffe7e8158fb8156cfc2f037cf40b8fdd4442349008d3c0a87f5cb828bb3bc7521b9d51da1621aa4d15d8
MISC metadata.xml 512 BLAKE2B be7f98bdaff6b814e03c9f6c816a0f1f59dc2e8763298f8a48107ea50b0534eddb314bb6d8b8a0f8c1d7c89c381916031544eea4a06068fb9acab4d2c8c48a57 SHA512 7322d992e1d67ea200df0cbf144d08fd387d7cd6ccb72191fc94dd605c9aeecb4b8083917760e2203296d5514fccd7ca621133aef6622658d1ef2c33171c8b7d

@ -0,0 +1,41 @@
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..10} )
inherit distutils-r1
DESCRIPTION="Command line interface for Ansible AWX"
HOMEPAGE="https://github.com/ansible/awx"
SRC_URI="https://github.com/ansible/awx/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
S="${WORKDIR}/awx-${PV}/awxkit"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]
dev-python/websocket-client[${PYTHON_USEDEP}]
dev-python/pyjwt[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]
"
distutils_enable_tests pytest
src_prepare() {
export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
sed -e 's|websocket-client==[[:digit:]\.]*|websocket-client|' \
-e "/'clean'/d" \
-i setup.py || die
distutils-r1_src_prepare
}

@ -11,6 +11,7 @@ DIST boto3-1.24.54.gh.tar.gz 528596 BLAKE2B a34f5bdd4a72aecaa40b9235696b502702c3
DIST boto3-1.24.55.gh.tar.gz 529245 BLAKE2B 02a5bdbabcabc7019728da0be14d02c3e64a28e996f656664b329499668a064a13eeb4d9504a609b0ede0ade188bbd96f2b1c758e05da4e0ab67d5b70e5408a1 SHA512 539375585f93b699032755eda36bbba99364ff68f49898656cebcddd99ebead4546a01f28b1f81473d7a7eea01196832345a0b3a99a460f20ba4d4c081768bbf
DIST boto3-1.24.56.gh.tar.gz 529533 BLAKE2B 7d41281f9cc645e8ca83a71e6eabf1d54373208488cc14bd723b32f56a4e2e1d3b4fa407ab495a9409ae9635f1dc2b7ce2fdebc9bfd1c263e0d9b29d5925daec SHA512 ffc86fbf45fa1264f26474115edcee3f62abc93e0a23fd7ca800c1995924e4cf71e84f852d28217863427061646d1ffd9e24d68d1c531d8b480d126e449f76f0
DIST boto3-1.24.57.gh.tar.gz 530363 BLAKE2B a2f3f39f0de79fc68a32da9bacbef863c705cace82ec4650e17ab89b14f73a456b3583fa3376dc6a62139986063fe0bfade5511fea21d0490c57f9fb65cae425 SHA512 5dd4f0c53f772f5d8d2519e5b1230c5918537af7a265a64670996ff2384e2f8e226d33e91ad4491ce00932d8f99d61d6819ce0d10b0f493a514cef2183ac839c
DIST boto3-1.24.58.gh.tar.gz 530450 BLAKE2B 82746de410c03fd0757d088781a5a2ab8d60e3c63bed127f617aec0ccb1eafd7064aed6087f912466db37c257e02ba7328e5408573c0e429284893c3c8605803 SHA512 1d7f5335cd7c7683224d503f9b2787d8dc4a345cc4d13a2dcfab9e709652ffe5cef8b8866d7a3e0218a7efc30d1029a24bad1d8edf9d47911dead3f2d98435af
EBUILD boto3-1.24.36.ebuild 1579 BLAKE2B 394d8a1bb7a1036ab4821bc789c9eea285f8a6a7c21e751d60c94a53d5fdd37119eab54bfd19bfe0856b7557df04340f50c7cebbe631234e8f582e7d62af13ec SHA512 beee3b634e3b1d66365beb2e97b9d09188fa795e00d9d05f2101de423128741ee1f8ad8ae4b0c35f1e6c6473ce73cc3acf47d9141029b4435d39a9803a5fe1b2
EBUILD boto3-1.24.41.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd53655fba2d87578c4e639647a45672a6fd6d7835b5df6086394e5f77aa4e4e84397391ee6b3e73b12ac30a1e345e SHA512 67c33b742f620365e096327a32c0d491104bda656d5e4beb1390a8a65e360cf4e7338d5c99e04f0792560604dd0cb5d8bf3c94e6abf0be4f5b40adb0d71288a0
EBUILD boto3-1.24.46.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd53655fba2d87578c4e639647a45672a6fd6d7835b5df6086394e5f77aa4e4e84397391ee6b3e73b12ac30a1e345e SHA512 67c33b742f620365e096327a32c0d491104bda656d5e4beb1390a8a65e360cf4e7338d5c99e04f0792560604dd0cb5d8bf3c94e6abf0be4f5b40adb0d71288a0
@ -24,5 +25,6 @@ EBUILD boto3-1.24.54.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd536
EBUILD boto3-1.24.55.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd53655fba2d87578c4e639647a45672a6fd6d7835b5df6086394e5f77aa4e4e84397391ee6b3e73b12ac30a1e345e SHA512 67c33b742f620365e096327a32c0d491104bda656d5e4beb1390a8a65e360cf4e7338d5c99e04f0792560604dd0cb5d8bf3c94e6abf0be4f5b40adb0d71288a0
EBUILD boto3-1.24.56.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd53655fba2d87578c4e639647a45672a6fd6d7835b5df6086394e5f77aa4e4e84397391ee6b3e73b12ac30a1e345e SHA512 67c33b742f620365e096327a32c0d491104bda656d5e4beb1390a8a65e360cf4e7338d5c99e04f0792560604dd0cb5d8bf3c94e6abf0be4f5b40adb0d71288a0
EBUILD boto3-1.24.57.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd53655fba2d87578c4e639647a45672a6fd6d7835b5df6086394e5f77aa4e4e84397391ee6b3e73b12ac30a1e345e SHA512 67c33b742f620365e096327a32c0d491104bda656d5e4beb1390a8a65e360cf4e7338d5c99e04f0792560604dd0cb5d8bf3c94e6abf0be4f5b40adb0d71288a0
EBUILD boto3-1.24.58.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd53655fba2d87578c4e639647a45672a6fd6d7835b5df6086394e5f77aa4e4e84397391ee6b3e73b12ac30a1e345e SHA512 67c33b742f620365e096327a32c0d491104bda656d5e4beb1390a8a65e360cf4e7338d5c99e04f0792560604dd0cb5d8bf3c94e6abf0be4f5b40adb0d71288a0
EBUILD boto3-9999.ebuild 1586 BLAKE2B e44044186aacf633782448f7e2b0f36918fd53655fba2d87578c4e639647a45672a6fd6d7835b5df6086394e5f77aa4e4e84397391ee6b3e73b12ac30a1e345e SHA512 67c33b742f620365e096327a32c0d491104bda656d5e4beb1390a8a65e360cf4e7338d5c99e04f0792560604dd0cb5d8bf3c94e6abf0be4f5b40adb0d71288a0
MISC metadata.xml 493 BLAKE2B 7d6324fc877ffe1d20c5369c2af0b09a7028f94d28f1841188913d0d8be7ea699c9d3f92c624992c4c96bd69615d3a1211a2483c76c56b7d3082492e43512523 SHA512 44420d8c03d5986f990b76369edfa8dfd7659b4952db3ad946fd05392ec594628a28745ad888d055d4f074d5214f61fcffafe6c04c4ab54109d45ac0371582bd

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

Loading…
Cancel
Save