summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-admin/awscli/Manifest1
-rw-r--r--app-admin/awscli/awscli-1.19.102.ebuild58
-rw-r--r--dev-python/apispec/Manifest1
-rw-r--r--dev-python/apispec/apispec-4.7.0.ebuild41
-rw-r--r--dev-python/awxkit/Manifest1
-rw-r--r--dev-python/awxkit/awxkit-19.2.2.ebuild29
-rw-r--r--dev-python/boto3/Manifest1
-rw-r--r--dev-python/boto3/boto3-1.17.102.ebuild56
-rw-r--r--dev-python/botocore/Manifest1
-rw-r--r--dev-python/botocore/botocore-1.20.102.ebuild59
-rw-r--r--dev-python/confuse/Manifest1
-rw-r--r--dev-python/confuse/confuse-1.5.0.ebuild24
-rw-r--r--dev-python/confuse/metadata.xml4
-rw-r--r--dev-python/gast/Manifest1
-rw-r--r--dev-python/gast/gast-0.5.0.ebuild20
-rw-r--r--dev-python/pyrsistent/Manifest1
-rw-r--r--dev-python/pyrsistent/pyrsistent-0.18.0.ebuild23
-rw-r--r--dev-python/python-debian/Manifest1
-rw-r--r--dev-python/python-debian/python-debian-0.1.40.ebuild36
-rw-r--r--dev-python/sqlalchemy/Manifest1
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.20.ebuild66
-rw-r--r--eclass/distutils-r1.eclass43
-rw-r--r--eclass/python-utils-r1.eclass40
-rw-r--r--profiles/features/selinux/use.force4
-rw-r--r--sci-libs/lapack/Manifest1
-rw-r--r--sci-libs/lapack/lapack-3.10.0.ebuild101
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
+}