diff options
26 files changed, 562 insertions, 53 deletions
diff --git a/app-admin/awscli/Manifest b/app-admin/awscli/Manifest index fad8ebc00b1b..60fd1951d614 100644 --- a/app-admin/awscli/Manifest +++ b/app-admin/awscli/Manifest @@ -1,5 +1,6 @@ DIST awscli-1.19.100.tar.gz 2022522 BLAKE2B 0af348e5e01cc9f3ab421ebdb0bcfe7578bd7578355130951d58ec5b842499527a175c1cb7fae2381f35faab47e7183315c020fcc1d87c29658d45a84c2178f0 SHA512 10a7edf826982e0f1978fe5bb3bb83c1960c1baa353c94533da8877bfb35b022b8a7aae307db9cf526dbc3a80a5f88d16d4f864d3c858d28114afa73e518fcec DIST awscli-1.19.101.tar.gz 2022752 BLAKE2B 7565ab5185dd08d02d1f626bdeac2fee1576f0afbe796f5f522d72e4705177e631e0606d49ccbb3f0cfa9fc2b6345c7c5d77eb1689249c7bf78d377839d6d972 SHA512 09821c79dc2fe4d3d0792fe2f2b2c4963d51e31efdd2b70182438373eb811458c1a1e564e94172f50b2b448ee6a4a74e046590ed5907778356d432f84e87ad4b +DIST awscli-1.19.102.tar.gz 2023841 BLAKE2B 1960557f4dce8b1929dd98f307036e9e802ecb79ca3f74547b44598a523dddc20bfb4c917a0515d6bc896902be49c06c8c0790175fd791d0bdc0b90e6e075903 SHA512 09bbf2fe3812e035ecef35c183bcdcb9007595992bd1f87359e4fab7060631d25de686daec970e5f40fc55974185ed688efb72b29fd018cc6f6c1654b002ea4d DIST awscli-1.19.47.tar.gz 1990843 BLAKE2B c894aaf84d5fe7cb8998fcd682783a1f2e75dd9273a2aa22babe4d57175a1716aefccda50edb96a1203f010dbb2af29cd47d43b5d5f94adfdee1730ab98345af SHA512 7d51022e13609f5f5ab3155e3ac09670c7e49508d67eca8cb477e556e4b06b7643e86bdfe5fa8db59360f6d73e5774b433cb7093c25d6b688f98847b502872b7 DIST awscli-1.19.78.tar.gz 2006020 BLAKE2B 6def90848e033413136865b0176c8d435fb70465f700a82673e9b20378be3792c8e3e59715466a93199358d698c9b58daaa88d6c2e921474460fdef0a214fdba SHA512 ff48f06158d401bf27e2f63c86ade91009dd9a48edf20156d3511ec2685a2dc93e8129a766eb0cc979e81121804dff9f18524e72f8ac1cffc43c4d3ed3595c83 DIST awscli-1.19.79.tar.gz 2006413 BLAKE2B 40b806b7987dcbb83f0d5f7411dd36c5acfddf3927bff00d396724ed178dd114b91a6852fce9f1f1dea44644c3be26c2d1b63f114b5a9eb9b1832cc2f7e5c69e SHA512 1255b2439ba5061987af7f7b418e564c8bccd6d837614405512628a259c2f89acee3a41386b2507c596d9f52b432fa34c615d06ad15787a131bd06397a3b2aab diff --git a/app-admin/awscli/awscli-1.19.102.ebuild b/app-admin/awscli/awscli-1.19.102.ebuild new file mode 100644 index 000000000000..ff429f8d3a3e --- /dev/null +++ b/app-admin/awscli/awscli-1.19.102.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit bash-completion-r1 distutils-r1 + +DESCRIPTION="Universal Command Line Environment for AWS" +HOMEPAGE="https://pypi.org/project/awscli/" +#SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" +SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/aws-cli-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# botocore is x.(y+1).z +BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 1)).$(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.4.0[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests --install nose + +PATCHES=( + "${FILESDIR}"/awscli-1.19.47-py39.patch +) + +python_test() { + distutils_install_for_testing + # integration tests require AWS credentials and Internet access + nosetests -v tests/{functional,unit} || + die "Tests failed for ${EPYTHON}" +} + +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 +} diff --git a/dev-python/apispec/Manifest b/dev-python/apispec/Manifest index ab26684b9e7f..0de235be6db8 100644 --- a/dev-python/apispec/Manifest +++ b/dev-python/apispec/Manifest @@ -2,3 +2,4 @@ DIST apispec-4.4.1.tar.gz 64424 BLAKE2B b46390659334f5ce5aa83fd15207f5d1ad6d0e9c DIST apispec-4.4.2.tar.gz 64660 BLAKE2B 1e53d4b3f8856e76565690773085dfcbaaab4e1771186eb8ea35f469d7c65b8d5bd6319af0ee32539de96ce5ff1889a15d74ac764d7bb9d0b415648af87d28db SHA512 8f8070ec1a084e5c5dda02d30103ff25a2fe096839aa2b1a75858297377e312e29a2d1cf4d373a53b7bffcbe9108489c2a2516e0e053c2de12ef90044b6b7e17 DIST apispec-4.5.0.tar.gz 65423 BLAKE2B ce6cc6f466d274db6aa5f8b27c3a9340daff7934b9293c501b5305b4a6ccbd22e8b12a163e20e5e02d571a8177adb6d5b3196ffa46ae68f2931b6c3ced2b4d0c SHA512 0abb186182513a6d7e4aeeeb80cd8976eebe7c40932ca7c53cd8be149e65a768235436382bab2006a79bcdf345cde55fd69eb3f28f8d14cde5fe064f7c7a76ad DIST apispec-4.6.0.tar.gz 66147 BLAKE2B 98127cb2bf938cc1928e13e1169804eea174351a0f4eeaabc801da711d0861bc35a9761e9f1bc478a44d6a85989a1aba1840b3e472599064240a880fda8e45b4 SHA512 b030e5400a9abce06576406f83befb298814617e06729f29c2ee70517cf456901b67e60880b3b4baec096717a91341e8268bcd8e01fd566b7c6e03709afd7c3b +DIST apispec-4.7.0.tar.gz 66274 BLAKE2B dbb14dd831eddeb9f086643b6182ccc3e529e22ad7e31d1d4dd2dce54edf76c6cf01a74438383df5ccec18cf863334d5cdbd45214791c01632d7f7efa63f7aa3 SHA512 53c0a1e6db81439a7c3f8e933cac28003dd84444e65986a29aef8a6ec761999c84417902448288d69c5873d12dded2156e79bedc5bd4bd0fd472ea014e65a6c7 diff --git a/dev-python/apispec/apispec-4.7.0.ebuild b/dev-python/apispec/apispec-4.7.0.ebuild new file mode 100644 index 000000000000..f2d86714d340 --- /dev/null +++ b/dev-python/apispec/apispec-4.7.0.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) + +inherit distutils-r1 + +DESCRIPTION="A pluggable API specification generator." +HOMEPAGE="https://github.com/marshmallow-code/apispec/" +SRC_URI="https://github.com/marshmallow-code/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}] +" +BDEPEND="${RDEPEND} + test? ( + dev-python/bottle[${PYTHON_USEDEP}] + dev-python/mock[${PYTHON_USEDEP}] + dev-python/marshmallow[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest +distutils_enable_sphinx docs \ + dev-python/sphinx-issues \ + dev-python/sphinx_rtd_theme + +python_test() { + local deselect=( + # requires unpackaged prance + tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v2 + tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v3 + ) + + epytest ${deselect[@]/#/--deselect } +} diff --git a/dev-python/awxkit/Manifest b/dev-python/awxkit/Manifest index 6e59adaba604..70d4526a442a 100644 --- a/dev-python/awxkit/Manifest +++ b/dev-python/awxkit/Manifest @@ -2,3 +2,4 @@ DIST awxkit-19.0.0.tar.gz 95820 BLAKE2B eadb3ffbfd5a1bf2835e4a7df788e06676cd7c81 DIST awxkit-19.1.0.tar.gz 94839 BLAKE2B 751084164581dd772c4f99b14d3e3526effd758bffda0820be56f0d963903314458c0037df33606bf0329009186ef86df1fa0c41f9ecd377b8c2d2de15bcd9e0 SHA512 a4be398f81f370e62b60605c0add70775eebf78bbd21080a65caa64c5b9f9daf33315516cd3771d434ff86d2bb9ec089545adbc174bd19ef5e52ae69e6cb79db DIST awxkit-19.2.0.tar.gz 94870 BLAKE2B becd8819e5d7f495d73a16302389af802db9fc3d9e24e09f93f0e5a730552e676a2f6514a07ea6d90436837c78a32e6a7be9ba541942aae6e8437c30aa4fb2c5 SHA512 3bcae70da26170a8b9cfc49c3ea3391f4fc03c868286499b5d3303da3559927c1fd2c0aeae282831412825e34fb83d8324fe2e58ba11d60598bbbbb26ff661a3 DIST awxkit-19.2.1.tar.gz 95129 BLAKE2B b68b98da71e835132993395f50b2b2a9dc344dec3534977da8468bd76c9d401bbf1d931878d79e2123e4d9cae1553d08c7132dd3041ed32d6282b778bce65098 SHA512 be46963515877b11f75e63c606de1900e244617480ebe90f4c5057e4b22c9687d6b371581beeb311c9e7bed94173b88d74838256024055b2fd5f1c5be1c4bda3 +DIST awxkit-19.2.2.tar.gz 95096 BLAKE2B dce95f819f2bbbaa60e09a8f25685a0f75b112f9fc27023f8d27acf4230a29477e14020dc838633a9fb20c65928857806c8a672c0666308798a78d2213ff15a0 SHA512 bab28be15011e9be3bd3f0d22ed5d5e67f0c19db08672ee4404ddd49a2686a2d7de790b4d06d8544b30a6b827def3a6974b0ee2960d9959d4c165afef4202995 diff --git a/dev-python/awxkit/awxkit-19.2.2.ebuild b/dev-python/awxkit/awxkit-19.2.2.ebuild new file mode 100644 index 000000000000..6a4107d47a51 --- /dev/null +++ b/dev-python/awxkit/awxkit-19.2.2.ebuild @@ -0,0 +1,29 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="Command line interface for Ansible AWX" +HOMEPAGE="https://github.com/ansible/awx" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +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}]" + +distutils_enable_tests pytest + +python_prepare_all() { + sed -e 's|websocket-client==[[:digit:]\.]*|websocket-client|' \ + -i setup.py || die + distutils-r1_python_prepare_all +} diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest index 1c841be2984d..5b1067251450 100644 --- a/dev-python/boto3/Manifest +++ b/dev-python/boto3/Manifest @@ -1,5 +1,6 @@ DIST boto3-1.17.100.tar.gz 385310 BLAKE2B fef5fb0cf4862819c05efa3eb793cf2c9756c003aa4de2c8288a0b46d2f6f2cace53ba09429761437073fac366ad73cc1e816b480a22d42f1d3b9c5160fc3a07 SHA512 2d137d2dc6265a784af961b4e61faddf2a9b9493fc281da9764fd1ef8e855777d48daeaef7380e9d83408c6358e33c2898ad60c95e685bc04a9821cb0b2cfc3b DIST boto3-1.17.101.tar.gz 385690 BLAKE2B 7b98615588eb09513eba33f1fd1019631c862def949f9c8314cc8b8506e83be3b3bfe88c08d97166e9f669db2724b02a247769db7f4262c7b4d306afdb3bf2e6 SHA512 cda7c5c42ef809397002d64f04e23bfac271086b4601595b635dacbab4592cab401b6238291ae2fa898d2419b4a0f2d3d0bc7828c0a7de2442ad0026a5565d56 +DIST boto3-1.17.102.tar.gz 386456 BLAKE2B 25b18f086f8881a237a953c85cecc403fdd1b047f990ae289c16695ca1c1faf50da3cd7363e72d1655d7a887c8f5c0729bb25121fa0066db5d393f5b6cd3d4a6 SHA512 42cbd01626bd11f774466dc718086648eb7a4b73a50226a04485e934010271b0f20c030c300ada074fb0b3bf3eac8f6fa113dee86d0f1cf3f12f12230778c2e5 DIST boto3-1.17.54.tar.gz 362224 BLAKE2B d67ea9a2833d4cf6ec50fc4eab9c194f813f92ef00fa0d1638e0dca0bf03a92fa5208707b3ceda70759231aa69c35bf83028eada42d04209a55d05daf37ce764 SHA512 795a78807e8aad9ba53b196ac6b3547e23d2f7cc962a34121280fe47dfa8f99eac19765c87817918c6ee36dfb7e2b647e5646b7da27eb67900f29430bfe2fb5c DIST boto3-1.17.74.tar.gz 371719 BLAKE2B f6d44206a14cdf395c8963be048e81391ecbf6817b1c00e1cd081abf111df8bd85c05fa1c04b013de7e6d916835e4876cc961891c8d52d8a32e41713080ed96e SHA512 a79012072238286561ab43ca7bb9f24236e858e0bf550be9a074517145445d0d520cc207683d99f6f704416f617b5f89468c87357223db9564e4310a2a2676f1 DIST boto3-1.17.78.tar.gz 374487 BLAKE2B 8a83cb32db8336351454251a3cf78efad6197885a66c10a4e3f9e13770d92d7cd9e9b51bfc7c4bfdb2f5183c5246872d7f3075d55b5129606ad9d977ecbf9891 SHA512 8ab9f13360f63342219d7b0278e2ca5613f8d051d006ef26da14307e83fcaaf1a546c566cb4b8ba012fa5e8e6b5e409722228da0989e56f50e40df4a733602de diff --git a/dev-python/boto3/boto3-1.17.102.ebuild b/dev-python/boto3/boto3-1.17.102.ebuild new file mode 100644 index 000000000000..75afb4bcf865 --- /dev/null +++ b/dev-python/boto3/boto3-1.17.102.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="The AWS SDK for Python" +HOMEPAGE="https://github.com/boto/boto3" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/boto3" + inherit git-r3 + BOTOCORE_PV=${PV} +else + SRC_URI="https://github.com/boto/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" + + # botocore is x.(y+3).z + BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)" +fi + +RDEPEND=" + >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}] + >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}] + >=dev-python/s3transfer-0.3.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs/source \ + 'dev-python/guzzle_sphinx_theme' +distutils_enable_tests nose + +python_prepare_all() { + # don't lock versions to narrow ranges + sed -e '/botocore/ d' \ + -e '/jmespath/ d' \ + -e '/s3transfer/ d' \ + -i setup.py || die + + # prevent an infinite loop + rm tests/functional/docs/test_smoke.py || die + + distutils-r1_python_prepare_all +} + +python_test() { + nosetests -v tests/unit/ tests/functional/ || die "test failed under ${EPYTHON}" +} diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest index 05658383dd6b..fb60f77ddb5e 100644 --- a/dev-python/botocore/Manifest +++ b/dev-python/botocore/Manifest @@ -1,5 +1,6 @@ DIST botocore-1.20.100.tar.gz 7870739 BLAKE2B 0af8337b44f78f0d66062c3e351e6c2805ab4e205e1404a698bad7240abf37f4fd47206c9b3f9a302053c933ab774e8842edefa38979b09d5b111b836137119f SHA512 af20cf638e48375b0adbadac5329aa62008def72e158159acbcdc200b250c0ac27e0ea568cd216ad8e81772b42491efed5a271f186d9caf0dc7e3bbf0197b7c6 DIST botocore-1.20.101.tar.gz 7872329 BLAKE2B 417f92e0747d32e9238e318af1f4063c86aca6364c63f312755efea6135df9415dd37dfa754896e78573329da0bb9e5f5609cbd836fd771e4ef185d691b1f5f3 SHA512 6641f14bbe9385acc764377be27b8d50f8eb0044330bc7248adc27c7605d4bcb489203f3953cd3ef17ec0f3e49d1df4e84f6ebce2c7d5b2b54d98406d836b49a +DIST botocore-1.20.102.tar.gz 7881122 BLAKE2B 51d2acb780766a02a2b58bab10c22557614711e944c58fdbd78479a59e1139446a642da7a8192f2d37c22fa8fa60d27024fca68737601d143018a17669f8df4c SHA512 ee756829454bca50e872cc8cb3caa66ff9ff3cc1075a1afdf693d39e4e9f3c7953b1c69c13c78be594aee572752eb89700369985dfc57e7ebc772b444f8d8c91 DIST botocore-1.20.54.tar.gz 7650344 BLAKE2B 2dd0a3f8c7c5665e849cf74b663a88e63416f1dea8ca3ee7dbdf10cf35239d466919f2ae4b3c9a639b9e25a23d982b723b24f32ece43715d40283e96e3bf10f6 SHA512 77cdaf68378836205c94c7dfd8424f9ca44ac822fd418d323df30639157bb38e5534fcfbc5bb6cdd7695bec62e24a1d52b81a0be54b0f69f16d20c5182db004b DIST botocore-1.20.74.tar.gz 7729804 BLAKE2B 0693da2be219ee140c5c00a540756d31651d3e4c78976a7f766705123e9fba23e98d73e551b86a6b661530c20abb560b0e36fea8e1c13600303894b3163d2274 SHA512 51bcf78c6804b4a8cddd57eeff96d7ecb65731dfbd87eb665de1356c1daedb4317323b3a0d905e3d459800d800ce6d6ffd8fd1239b26ecf56884bee37159f2b7 DIST botocore-1.20.78.tar.gz 7758829 BLAKE2B af13d6c1aa918e2c49c6dc931c9a78e1899c83e62657c063e20ba2a5544c48e4946018628e47d6a56db456a3a8d43fe3b577824bd76bbc339abaef375459932e SHA512 fc96ed8b6b4af05404654e470a4f83419b885fa32d9dc704727f4ffb3d5deeefa752d235b37fd81448b7f3b101bc0f8e7ea09ae8641f8961566f77f6a039cef9 diff --git a/dev-python/botocore/botocore-1.20.102.ebuild b/dev-python/botocore/botocore-1.20.102.ebuild new file mode 100644 index 000000000000..30e0988848ad --- /dev/null +++ b/dev-python/botocore/botocore-1.20.102.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="Low-level, data-driven core of boto 3" +HOMEPAGE="https://github.com/boto/botocore" +LICENSE="Apache-2.0" +SLOT="0" + +if [[ "${PV}" == "9999" ]]; then + EGIT_REPO_URI="https://github.com/boto/botocore" + inherit git-r3 +else + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] + dev-python/jmespath[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}/1.8.6-tests-pass-all-env-vars-to-cmd-runner.patch" +) + +distutils_enable_sphinx docs/source \ + 'dev-python/guzzle_sphinx_theme' +distutils_enable_tests nose + +src_prepare() { + # unpin deps + sed -i -e "s:>=.*':':" setup.py || die + # very unstable + sed -i -e 's:test_stress_test_token_bucket:_&:' \ + tests/functional/retries/test_bucket.py || die + distutils-r1_src_prepare +} + +python_test() { + # note: suites need to be run separately as one of the unit tests + # seems to be leaking mocks and breaking a few functional tests + nosetests -v tests/unit || + die "unit tests failed under ${EPYTHON}" + nosetests -v tests/functional || + die "functional tests failed under ${EPYTHON}" +} diff --git a/dev-python/confuse/Manifest b/dev-python/confuse/Manifest index 0251d32e73b0..0e8b75802fdc 100644 --- a/dev-python/confuse/Manifest +++ b/dev-python/confuse/Manifest @@ -1,2 +1,3 @@ DIST confuse-1.0.0.tar.gz 34790 BLAKE2B efa23f59e6d450160af279042ed3d77b3b26bd1fe2fffd90b0ce1c87821b5540048b45644bfff1a8420007cf2a705d388965daa20034bb8f846085dd92b49186 SHA512 f436a400b9b84db1a20409c70d64fdde44903ffba6c3618917fd297e04ecf3dda806e315972f7cf1f786c93639b10b0652a622a579a2cfa47703386a43433c8d DIST confuse-1.4.0.tar.gz 36020 BLAKE2B a11becf564c84177f919b4c6936dc9452a2821d9dec190167d8eefc141c424323a2cf1934e608028ac07c7290eb4e139a9051904b13fc4ea00594185db10ec2c SHA512 4a06568f3369d08f177e9f639f59511c565961b15b6a8bc3a7fd244396b47c19c163aa05abab96cce5078b962a98763fc0c5739ff8bbd98a5976696ad6240c2d +DIST confuse-1.5.0.tar.gz 44193 BLAKE2B 8af065c061c786cf1389a81e10263fe999523e038e41e4403f49a1eeb5ba138c76da745a9be3290f7b8e82d6ec88d18920904c979b5be5dcb4a0bb02f32387c7 SHA512 aed651c7980b0df75f211d9a498b56473c3d23b316569bfafc3008aebb77f86de38912e41a2c073c99c752bfd46092e7ea06ff31281fb79ed3c20c59f5dbcc9c diff --git a/dev-python/confuse/confuse-1.5.0.ebuild b/dev-python/confuse/confuse-1.5.0.ebuild new file mode 100644 index 000000000000..b55f3d873523 --- /dev/null +++ b/dev-python/confuse/confuse-1.5.0.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} pypy3 ) +DISTUTILS_USE_SETUPTOOLS=pyproject.toml +inherit distutils-r1 + +DESCRIPTION="Confuse is a configuration library for Python that uses YAML" +HOMEPAGE="https://github.com/beetbox/confuse" +SRC_URI="https://github.com/beetbox/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +RDEPEND=" + dev-python/pyyaml[${PYTHON_USEDEP}] +" + +distutils_enable_tests unittest +distutils_enable_sphinx docs \ + 'dev-python/sphinx_rtd_theme' diff --git a/dev-python/confuse/metadata.xml b/dev-python/confuse/metadata.xml index f084faa2ef82..9906d568c276 100644 --- a/dev-python/confuse/metadata.xml +++ b/dev-python/confuse/metadata.xml @@ -9,6 +9,10 @@ <email>proxy-maint@gentoo.org</email> <name>Proxy Maintainers</name> </maintainer> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> <longdescription lang="en"> Confuse is a configuration library for Python that uses YAML. It takes care of defaults, overrides, type checking, command-line integration, diff --git a/dev-python/gast/Manifest b/dev-python/gast/Manifest index 356ccb83e1a3..cbafc21e6ff0 100644 --- a/dev-python/gast/Manifest +++ b/dev-python/gast/Manifest @@ -1,2 +1,3 @@ DIST gast-0.3.3.tar.gz 13760 BLAKE2B 0298ea81d3d133f8305fc6a7cf020213a75c2dbcb09c9648e533b8c2c58cf3e3f363448f905c8295bd34db0023be6dea00de0d901bffb1d55650773f7acc0135 SHA512 36869a5e0976223a5a82be8bf25a01654896f4de70affe0fec5252104ea6d1fea3eb8c5153530fcac8addc47b51535b02e3920a0e82aad11ba1ca8350cd11341 DIST gast-0.4.0.tar.gz 13804 BLAKE2B 9f614dbf5e7f635f2179481d933f9da53224e1d623548c14a0df4302e47d7c08237e46d13e73e62402bfd060ba002179c0592094f5c47612051973cafd0f3d2e SHA512 d132884c51f7172db9b807095619b2cf3ef92acea18aa1de65f6a338b381b7d3fb3f79ff0c1f9ef9388ef885700b7e58309bd95ccebce46bd3173cc484c9c4f5 +DIST gast-0.5.0.tar.gz 14933 BLAKE2B 5d70d832d69185227e574a4bf88752e1dff43ef0e3e78a1de8ac7ab96218530d37a6dd0a3e6e4bf1fe8e11afe98b8d87722bfc2d6c8b68d8ac4905f335c2b85a SHA512 31c204587b3abcde61ce7343bef8439fab7e36c46de17eb2e02138e3d709f8f70e24c2c5d045044ef06e42119a50566c881d293c1c815743655354e72304701d diff --git a/dev-python/gast/gast-0.5.0.ebuild b/dev-python/gast/gast-0.5.0.ebuild new file mode 100644 index 000000000000..f25219967d31 --- /dev/null +++ b/dev-python/gast/gast-0.5.0.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="A generic AST to represent Python2 and Python3's Abstract Syntax Tree (AST)" +HOMEPAGE="https://pypi.org/project/gast/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +BDEPEND=" + test? ( dev-python/astunparse[${PYTHON_USEDEP}] )" + +distutils_enable_tests unittest diff --git a/dev-python/pyrsistent/Manifest b/dev-python/pyrsistent/Manifest index 592f507f629e..dc72eb3fee46 100644 --- a/dev-python/pyrsistent/Manifest +++ b/dev-python/pyrsistent/Manifest @@ -1 +1,2 @@ DIST pyrsistent-0.17.3.tar.gz 106911 BLAKE2B 90a05617ad1e32801286d3da834bf52b4ea864e7463a0789904e4a3bbfda2f7b987e13ea93e16980f2cf3b5d999e6040b7c5980a81b516999175b4e5f2ed392e SHA512 2d18e1d4cfe9a0a576fd363f466ba920094af0b1cbbb49aec11b32df6c23e59f6552235a496838dab00928cc7f6dad2a4a8aaa0b52cb6a38eba6faedd12846c8 +DIST pyrsistent-0.18.0.tar.gz 104215 BLAKE2B 028c26a6b4bcaa8c3e3e1ad1748a6b45f664355c66f0f97c70e4d26c66946a55b346d0340c2e697e9890039692580c03032055cab7c198c39530e5561be83801 SHA512 f56062430f914a884a9317ecf5278ccc09d98f1d6867716f89173db47996b8d4c1ef4f5c0121c955d81fc4fe8aba7d30f38679baea6208168c3952846064cfeb diff --git a/dev-python/pyrsistent/pyrsistent-0.18.0.ebuild b/dev-python/pyrsistent/pyrsistent-0.18.0.ebuild new file mode 100644 index 000000000000..2fdd1872803e --- /dev/null +++ b/dev-python/pyrsistent/pyrsistent-0.18.0.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Persistent/Functional/Immutable data structures" +HOMEPAGE="https://github.com/tobgu/pyrsistent/ https://pypi.org/project/pyrsistent/" +SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest diff --git a/dev-python/python-debian/Manifest b/dev-python/python-debian/Manifest index 722f036b9979..ef60d287df96 100644 --- a/dev-python/python-debian/Manifest +++ b/dev-python/python-debian/Manifest @@ -1 +1,2 @@ DIST python-debian_0.1.39.tar.xz 319020 BLAKE2B de38ddc6e4878404f9685a264e1198e513cb57f7bfea064e4512ee00049d007b6007ee7fea42e18bd2f12dc8132582fbea2235694b5f908c9ae5cbc830cfe98a SHA512 de29ef224a17b149dde8cf6bb4b9fe77aa1fdfc040463163fb97f7e4ed283f16af43422e26c352183fd74e9e0ff6b41a91ee18c63b5534d5c9de2ef663c8f4df +DIST python-debian_0.1.40.tar.xz 319952 BLAKE2B 4d5c2d3202ef09fc8eba4e0c4f9a5861d0662f288768cb9026e1ab43309a57fb21c0b8e87734c9310f39646e071947b31b17bd48b71510e7d783af9f337c3ed1 SHA512 73ed735a3c7bb43208aa26ea9fd64fc658e111dc201ae8c1947a4e5835ebd675e37b78d2895d72bd5ed2b6afa491e77b50bd5f10d62ea8299fbdda6c0b9e5095 diff --git a/dev-python/python-debian/python-debian-0.1.40.ebuild b/dev-python/python-debian/python-debian-0.1.40.ebuild new file mode 100644 index 000000000000..dfab437931aa --- /dev/null +++ b/dev-python/python-debian/python-debian-0.1.40.ebuild @@ -0,0 +1,36 @@ +# Copyright 2011-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit distutils-r1 + +DESCRIPTION="Python modules to work with Debian-related data formats" +HOMEPAGE="https://salsa.debian.org/python-debian-team/python-debian" +SRC_URI="mirror://debian/pool/main/${P:0:1}/${PN}/${PN}_${PV}.tar.xz" + +LICENSE="GPL-2 GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" + +RDEPEND=" + dev-python/chardet[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" + +BDEPEND=" + test? ( app-arch/dpkg ) +" + +distutils_enable_tests unittest + +PATCHES=( "${FILESDIR}/0.1.39-disable-apt-pkg.patch" ) + +python_compile_all() { + ${EPYTHON} lib/debian/doc-debtags > README.debtags || die +} + +python_test() { + eunittest lib +} diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest index e22163866b09..d27b868ffd55 100644 --- a/dev-python/sqlalchemy/Manifest +++ b/dev-python/sqlalchemy/Manifest @@ -2,3 +2,4 @@ DIST SQLAlchemy-1.3.24.tar.gz 6353598 BLAKE2B 6eb92b20fa3412a1f1398e18e902e33383 DIST SQLAlchemy-1.4.15.tar.gz 7621840 BLAKE2B 74299b92e8ae9d6017c961c44281cc43921f8505e9b141c75cc19899f693a2276b2849daef6dbe35f0d62179354740c76adc318b6b37d551679cc8ba3c47681f SHA512 b9a640ccfb7caabb88c4891748699442073db2bea6d1e5a33eb508863616c94ddbf162b3ecd5e502daf20d798d20b8ef5b4b29ed679af9161e117a23862327c2 DIST SQLAlchemy-1.4.18.tar.gz 7643090 BLAKE2B 8046bb9f9aa459eec95af57e597540552f6cd79ca3c393abf66d7370754e8433d743e739803929aaf0e2788b0c0419c022ddda1517d38da6580f3afeee1bc4d4 SHA512 06110bf727fd6d83404da2e031a27163c06059bf9eae4cc5b79ce047b5bab67b54432890091fa03abd9644156b92569001ae78c48c22799ab3bec220d4bbe1a0 DIST SQLAlchemy-1.4.19.tar.gz 7675110 BLAKE2B 61afe9e8937cc1eca9a6c10eef03959422a6dc73e562b47c820b01fbeb61099113d1d30e4de0448ae07abc064db190a9a0b9550d4f8c324a73d277c2c9e7958b SHA512 656e5fd2c1e5c5f9979ad3e38b0f927e8756423d5c988ccb5247cde2f8d354b4623cb57af24c7226758878e429514ae828047fad623ee332ae524b714ab3f18f +DIST SQLAlchemy-1.4.20.tar.gz 7682074 BLAKE2B 7921bbab0c7fcaccb232121625dcd9acc162cb21e747b889fa032863435b6a922b9ad21c7ba136b94617710d3aa6ec331941b11b0fd87a8d543b633d3d605c36 SHA512 cb9ec5c74b27c93824b7d46844d2a122c719e358d917563039f3dd96a44d057d4daa239b2820893db42348f46546efc469a202999be2c722027abbb6eed50063 diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.20.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.20.ebuild new file mode 100644 index 000000000000..144d57d9ca1b --- /dev/null +++ b/dev-python/sqlalchemy/sqlalchemy-1.4.20.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( pypy3 python3_{8..10} ) +PYTHON_REQ_USE="sqlite?" + +inherit distutils-r1 multiprocessing optfeature + +MY_PN="SQLAlchemy" +MY_P="${MY_PN}-${PV/_beta/b}" + +DESCRIPTION="Python SQL toolkit and Object Relational Mapper" +HOMEPAGE="https://www.sqlalchemy.org/ https://pypi.org/project/SQLAlchemy/" +SRC_URI="mirror://pypi/${MY_P:0:1}/${MY_PN}/${MY_P}.tar.gz" +S="${WORKDIR}/${MY_P}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="examples +sqlite test" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/importlib_metadata[${PYTHON_USEDEP}] + ' pypy3) +" +# Use pytest-xdist to speed up tests +BDEPEND=" + test? ( + $(python_gen_impl_dep sqlite) + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + # remove optional/partial dep on greenlet, greenlet is not very portable + sed -i -e '/greenlet/d' setup.cfg || die + + distutils-r1_src_prepare +} + +python_test() { + # Disable tests hardcoding function call counts specific to Python versions. + epytest --ignore test/aaa_profiling \ + -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" +} + +python_install_all() { + if use examples; then + docompress -x "/usr/share/doc/${PF}/examples" + dodoc -r examples + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + optfeature "MySQL support" dev-python/mysqlclient dev-python/pymysql \ + dev-python/mysql-connector-python + optfeature "mssql support" dev-python/pymssql + optfeature "postgresql support" dev-python/psycopg:2 +} diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index 238ba033c5d8..344aa46b2f94 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -616,6 +616,20 @@ _distutils-r1_handle_pyproject_toml() { fi } +# @FUNCTION: _distutils-r1_check_all_phase_mismatch +# @DESCRIPTION: +# Verify whether *_all phase impls is not called from from non-*_all +# subphase. +_distutils-r1_check_all_phase_mismatch() { + if has "python_${EBUILD_PHASE}" "${FUNCNAME[@]}"; then + eqawarn "QA Notice: distutils-r1_python_${EBUILD_PHASE}_all called" + eqawarn "from python_${EBUILD_PHASE}. Did you mean to use" + eqawarn "python_${EBUILD_PHASE}_all()?" + [[ ${EAPI} != [67] ]] && + die "distutils-r1_python_${EBUILD_PHASE}_all called from python_${EBUILD_PHASE}." + fi +} + # @FUNCTION: distutils-r1_python_prepare_all # @DESCRIPTION: # The default python_prepare_all(). It applies the patches from PATCHES @@ -626,6 +640,7 @@ _distutils-r1_handle_pyproject_toml() { # distutils patches and/or quirks. distutils-r1_python_prepare_all() { debug-print-function ${FUNCNAME} "${@}" + _distutils-r1_check_all_phase_mismatch if [[ ! ${DISTUTILS_OPTIONAL} ]]; then default @@ -740,24 +755,23 @@ distutils-r1_python_compile() { } # @FUNCTION: _distutils-r1_wrap_scripts -# @USAGE: <path> <bindir> +# @USAGE: <bindir> # @INTERNAL # @DESCRIPTION: # Moves and wraps all installed scripts/executables as necessary. _distutils-r1_wrap_scripts() { debug-print-function ${FUNCNAME} "${@}" - [[ ${#} -eq 2 ]] || die "usage: ${FUNCNAME} <path> <bindir>" - local path=${1} - local bindir=${2} + [[ ${#} -eq 1 ]] || die "usage: ${FUNCNAME} <bindir>" + local bindir=${1} local scriptdir=$(python_get_scriptdir) local f python_files=() non_python_files=() - if [[ -d ${path}${scriptdir} ]]; then - for f in "${path}${scriptdir}"/*; do + if [[ -d ${D%/}${scriptdir} ]]; then + for f in "${D%/}${scriptdir}"/*; do [[ -d ${f} ]] && die "Unexpected directory: ${f}" - debug-print "${FUNCNAME}: found executable at ${f#${path}/}" + debug-print "${FUNCNAME}: found executable at ${f#${D%/}/}" local shebang read -r shebang < "${f}" @@ -769,22 +783,24 @@ _distutils-r1_wrap_scripts() { non_python_files+=( "${f}" ) fi - mkdir -p "${path}${bindir}" || die + mkdir -p "${D%/}${bindir}" || die done for f in "${python_files[@]}"; do local basename=${f##*/} debug-print "${FUNCNAME}: installing wrapper at ${bindir}/${basename}" - _python_ln_rel "${path}${EPREFIX}"/usr/lib/python-exec/python-exec2 \ - "${path}${bindir}/${basename}" || die + local dosym=dosym + [[ ${EAPI} == [67] ]] && dosym=dosym8 + "${dosym}" -r /usr/lib/python-exec/python-exec2 \ + "${bindir#${EPREFIX}}/${basename}" done for f in "${non_python_files[@]}"; do local basename=${f##*/} - debug-print "${FUNCNAME}: moving ${f#${path}/} to ${bindir}/${basename}" - mv "${f}" "${path}${bindir}/${basename}" || die + debug-print "${FUNCNAME}: moving ${f#${D%/}/} to ${bindir}/${basename}" + mv "${f}" "${D%/}${bindir}/${basename}" || die done fi } @@ -921,8 +937,8 @@ distutils-r1_python_install() { fi if [[ ! ${DISTUTILS_SINGLE_IMPL} ]]; then - _distutils-r1_wrap_scripts "${root}" "${scriptdir}" multibuild_merge_root "${root}" "${D%/}" + _distutils-r1_wrap_scripts "${scriptdir}" fi } @@ -931,6 +947,7 @@ distutils-r1_python_install() { # The default python_install_all(). It installs the documentation. distutils-r1_python_install_all() { debug-print-function ${FUNCNAME} "${@}" + _distutils-r1_check_all_phase_mismatch einstalldocs } diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index 7022d3b7d88a..7488802332f6 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -549,46 +549,6 @@ python_get_scriptdir() { echo "${PYTHON_SCRIPTDIR}" } -# @FUNCTION: _python_ln_rel -# @USAGE: <from> <to> -# @INTERNAL -# @DESCRIPTION: -# Create a relative symlink. -_python_ln_rel() { - debug-print-function ${FUNCNAME} "${@}" - - local target=${1} - local symname=${2} - - local tgpath=${target%/*}/ - local sympath=${symname%/*}/ - local rel_target= - - while [[ ${sympath} ]]; do - local tgseg= symseg= - - while [[ ! ${tgseg} && ${tgpath} ]]; do - tgseg=${tgpath%%/*} - tgpath=${tgpath#${tgseg}/} - done - - while [[ ! ${symseg} && ${sympath} ]]; do - symseg=${sympath%%/*} - sympath=${sympath#${symseg}/} - done - - if [[ ${tgseg} != ${symseg} ]]; then - rel_target=../${rel_target}${tgseg:+${tgseg}/} - fi - done - rel_target+=${tgpath}${target##*/} - - debug-print "${FUNCNAME}: ${symname} -> ${target}" - debug-print "${FUNCNAME}: rel_target = ${rel_target}" - - ln -fs "${rel_target}" "${symname}" -} - # @FUNCTION: python_optimize # @USAGE: [<directory>...] # @DESCRIPTION: diff --git a/profiles/features/selinux/use.force b/profiles/features/selinux/use.force index a651b206dcf2..012958f56cf3 100644 --- a/profiles/features/selinux/use.force +++ b/profiles/features/selinux/use.force @@ -1 +1,5 @@ +# Needed for various SELinux tooling +audit +# Allows us to avoid suid +caps selinux diff --git a/sci-libs/lapack/Manifest b/sci-libs/lapack/Manifest index 91b589d6e02d..1d88a37baad9 100644 --- a/sci-libs/lapack/Manifest +++ b/sci-libs/lapack/Manifest @@ -1,2 +1,3 @@ +DIST lapack-3.10.0.tar.gz 7630775 BLAKE2B fd2f920dd3f69eab471aa8c20d1b8178fb5c6e80337a2ed6948aba3ec639a816f8d368bb59ff6fb513b2f5cda9e61c2a547182f22fbc84a8c34191acefc3406a SHA512 56055000c241bab8f318ebd79249ea012c33be0c4c3eca6a78e247f35ad9e8088f46605a0ba52fd5ad3e7898be3b7bc6c50ceb3af327c4986a266b06fe768cbf DIST lapack-3.8.0.tar.gz 7426094 BLAKE2B 27cd75eea498250382b2df6f5d7dc95fdee8d37b1a0faba5296ca0145ec40a1165a4ecc727aa1647086be6783b50cf475f79cea0f30f541da789051db99b2f37 SHA512 17786cb7306fccdc9b4a242de7f64fc261ebe6a10b6ec55f519deb4cb673cb137e8742aa5698fd2dc52f1cd56d3bd116af3f593a01dcf6770c4dcc86c50b2a7f DIST lapack-3.9.0.tar.gz 7534567 BLAKE2B 408013a11a72e0262d144adfdf6db28a6efa3bb5446f9ff959bb88fe10459dfa621149ed0144630a55e73e3b5be3c704269a716eb195f6db7b39d345b4db8270 SHA512 424956ad941a60a4b71e0d451ad48db12a692f8a71a90f3ca7f71d6ecc1922f392746ea84df1c47a46577ed2db32e9e47ec44ad248207c5ac7da179becb712ef diff --git a/sci-libs/lapack/lapack-3.10.0.ebuild b/sci-libs/lapack/lapack-3.10.0.ebuild new file mode 100644 index 000000000000..baa91f484123 --- /dev/null +++ b/sci-libs/lapack/lapack-3.10.0.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake + +DESCRIPTION="BLAS,CBLAS,LAPACK,LAPACKE reference implementations" +HOMEPAGE="https://www.netlib.org/lapack/" +SRC_URI="https://github.com/Reference-LAPACK/lapack/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos" +# TODO: static-libs 64bit-index +IUSE="lapacke deprecated doc eselect-ldso test" +RESTRICT="!test? ( test )" + +BDEPEND="virtual/pkgconfig" +RDEPEND=" + !app-eselect/eselect-cblas + virtual/fortran + eselect-ldso? ( + >=app-eselect/eselect-blas-0.2 + >=app-eselect/eselect-lapack-0.2 + ) + doc? ( app-doc/blas-docs )" +DEPEND="${RDEPEND}" + +PATCHES=( + #"${FILESDIR}"/${PN}-3.9.0-build-tests.patch +) + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCBLAS=ON + -DLAPACKE=$(usex lapacke) + -DBUILD_DEPRECATED=$(usex deprecated) + -DBUILD_SHARED_LIBS=ON + -DBUILD_TESTING=$(usex test) + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + use eselect-ldso || return + # Create private lib directory for eselect::blas (ld.so.conf) + dodir /usr/$(get_libdir)/blas/reference + dosym ../../libblas.so usr/$(get_libdir)/blas/reference/libblas.so + dosym ../../libblas.so.3 usr/$(get_libdir)/blas/reference/libblas.so.3 + dosym ../../libcblas.so usr/$(get_libdir)/blas/reference/libcblas.so + dosym ../../libcblas.so.3 usr/$(get_libdir)/blas/reference/libcblas.so.3 + + # Create private lib directory for eselect::lapack (ld.so.conf) + dodir /usr/$(get_libdir)/lapack/reference + dosym ../../liblapack.so usr/$(get_libdir)/lapack/reference/liblapack.so + dosym ../../liblapack.so.3 usr/$(get_libdir)/lapack/reference/liblapack.so.3 +} + +pkg_postinst() { + use eselect-ldso || return + + local me=reference libdir=$(get_libdir) + # check eselect-blas + eselect blas add ${libdir} "${EROOT}"/usr/${libdir}/blas/${me} ${me} + local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2) + if [[ ${current_blas} == ${me} || -z ${current_blas} ]]; then + eselect blas set ${libdir} ${me} + elog "Current eselect: BLAS ($libdir) -> [${current_blas}]." + else + elog "Current eselect: BLAS ($libdir) -> [${current_blas}]." + elog "To use blas [${me}] implementation, you have to issue (as root):" + elog "\t eselect blas set ${libdir} ${me}" + fi + + # check eselect-lapack + eselect lapack add ${libdir} "${EROOT}"/usr/${libdir}/lapack/${me} ${me} + local current_lapack=$(eselect lapack show ${libdir} | cut -d' ' -f2) + if [[ ${current_lapack} == ${me} || -z ${current_lapack} ]]; then + eselect lapack set ${libdir} ${me} + elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." + else + elog "Current eselect: LAPACK ($libdir) -> [${current_lapack}]." + elog "To use lapack [${me}] implementation, you have to issue (as root):" + elog "\t eselect lapack set ${libdir} ${me}" + fi +} + +pkg_postrm() { + use eselect-ldso || return + + eselect blas validate + eselect lapack validate +} |