diff options
| author | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-03-11 13:39:45 +0000 |
|---|---|---|
| committer | Liguros - Gitlab CI/CD [develop] <gitlab@liguros.net> | 2022-03-11 13:39:45 +0000 |
| commit | 9c2bd2b2fc4b912cc60e3e8cd954bb25ae607a44 (patch) | |
| tree | 1c1914b568387394774324fa9d802e6c7f8c2d25 /dev-python | |
| parent | 1c3ce0a8107cda7182ca651f381928da1d774d3b (diff) | |
| download | baldeagleos-repo-9c2bd2b2fc4b912cc60e3e8cd954bb25ae607a44.tar.gz baldeagleos-repo-9c2bd2b2fc4b912cc60e3e8cd954bb25ae607a44.tar.xz baldeagleos-repo-9c2bd2b2fc4b912cc60e3e8cd954bb25ae607a44.zip | |
Adding metadata
Diffstat (limited to 'dev-python')
| -rw-r--r-- | dev-python/ipython/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/ipython/ipython-8.1.1.ebuild | 157 | ||||
| -rw-r--r-- | dev-python/nbclient/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/nbclient/nbclient-0.5.13.ebuild | 39 | ||||
| -rw-r--r-- | dev-python/numpy/Manifest | 4 | ||||
| -rw-r--r-- | dev-python/numpy/numpy-1.22.3.ebuild | 170 |
6 files changed, 372 insertions, 0 deletions
diff --git a/dev-python/ipython/Manifest b/dev-python/ipython/Manifest index 557c4aaa65ad..0ea0cca4c161 100644 --- a/dev-python/ipython/Manifest +++ b/dev-python/ipython/Manifest @@ -1,3 +1,4 @@ DIST ipython-7.31.1.tar.gz 5156314 BLAKE2B e6528c9d3920078918180c4c2fae5d0ac20cd377e012691fee4c0cfa6c3056c739efc1ab9cc6231f55034d70619e501ff30e31b929bd5f1f623c89075abfb02d SHA512 7bd1378f7b2bd2146d8c2cf15c958b08f286b0163ca3e267bcd92c3f988d2d20cf48fd6e3c185eed6d30baceb195aeb0170280900e587c898d0812c4ffdee3a0 DIST ipython-8.0.1.tar.gz 5306811 BLAKE2B 9088faf779e2783ce97c6a45f0baa3c7163e12f63546aa65eb961de2b2fbacaac8ba1cf0c3c705bc326b4c999fe3ce672f31e3abaa7168d912504880ad8d3c2f SHA512 c4f3cf6e4aa7dab1e4e8cec2d669e5fe4ea3eeac9063132a38544596fafbaaed0f287bbdce12e8bc3d7613766c51b0e1ff8c7c86fdbd53e387caade6bbcdb828 DIST ipython-8.1.0.tar.gz 5312523 BLAKE2B 9a44555dcb91655c5d483a7ba5d99074b9c2c4af3ec272d0adabc345352359b061ea4fd92198c3910945139edb80c8837afe1ae3c34b0bddb517d226584f28a1 SHA512 847ddab96ecfe06e46921b081fe3a51910c3fde1fa440c9955e374614b1ae6a7d20fc2e78d286178366893d342126a01a160a4efb0aa7be0b2234229638e95bc +DIST ipython-8.1.1.tar.gz 5313998 BLAKE2B 0972b2f4a8072c5775f5cc4637aeb8e684b342d097d77e2d9d0a3e659d7a10f94f741bafc7f33595cbb205d8dbbc72e88b820e5407cb9ab506189d44e8c19cf0 SHA512 ce93d4d0839f32256461ff53c510f694db6ec0358a487a6af016d41f811e1b78b3244f1c67097e14afd32635ae392b4bff5d6eb2fc823c299c699335dc43bdc0 diff --git a/dev-python/ipython/ipython-8.1.1.ebuild b/dev-python/ipython/ipython-8.1.1.ebuild new file mode 100644 index 000000000000..fb15fd67647e --- /dev/null +++ b/dev-python/ipython/ipython-8.1.1.ebuild @@ -0,0 +1,157 @@ +# 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_{7,8,9,10} ) +PYTHON_REQ_USE='readline,sqlite,threads(+)' + +inherit distutils-r1 optfeature virtualx + +DESCRIPTION="Advanced interactive shell for Python" +HOMEPAGE="https://ipython.org/ https://github.com/ipython/ipython/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~riscv ~sparc" +IUSE="doc examples matplotlib notebook nbconvert qt5 +smp test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-python/backcall[${PYTHON_USEDEP}] + dev-python/decorator[${PYTHON_USEDEP}] + >=dev-python/jedi-0.16[${PYTHON_USEDEP}] + dev-python/matplotlib-inline[${PYTHON_USEDEP}] + >=dev-python/pexpect-4.3[${PYTHON_USEDEP}] + dev-python/pickleshare[${PYTHON_USEDEP}] + >=dev-python/prompt_toolkit-2[${PYTHON_USEDEP}] + <dev-python/prompt_toolkit-3.1[${PYTHON_USEDEP}] + >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/stack_data[${PYTHON_USEDEP}] + >=dev-python/traitlets-5.0[${PYTHON_USEDEP}] + matplotlib? ( + dev-python/matplotlib[${PYTHON_USEDEP}] + ) +" + +BDEPEND=" + test? ( + app-text/dvipng[truetype] + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}] + dev-python/matplotlib-inline[${PYTHON_USEDEP}] + dev-python/nbformat[${PYTHON_USEDEP}] + >=dev-python/numpy-1.19[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/testpath[${PYTHON_USEDEP}] + ) + doc? ( + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + >=dev-python/sphinx-2[${PYTHON_USEDEP}] + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}] + )" + +distutils_enable_tests pytest + +RDEPEND+=" + nbconvert? ( + dev-python/nbconvert[${PYTHON_USEDEP}] + )" +PDEPEND=" + notebook? ( + dev-python/notebook[${PYTHON_USEDEP}] + dev-python/ipywidgets[${PYTHON_USEDEP}] + dev-python/widgetsnbextension[${PYTHON_USEDEP}] + ) + qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] ) + smp? ( + >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}] + >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}] + )" + +PATCHES=( "${FILESDIR}"/2.1.0-substitute-files.patch ) + +python_prepare_all() { + # Remove out of date insource files + #rm IPython/extensions/cythonmagic.py || die + #rm IPython/extensions/rmagic.py || die + + # Prevent un-needed download during build + if use doc; then + sed -e "/^ 'sphinx.ext.intersphinx',/d" -i docs/source/conf.py || die + fi + + # Rename the test directory to reduce sys.path pollution + # https://github.com/ipython/ipython/issues/12892 + mv IPython/extensions/{,ipython_}tests || die + + distutils-r1_python_prepare_all +} + +python_compile_all() { + if use doc; then + emake -C docs html_noapi + HTML_DOCS=( docs/build/html/. ) + fi +} + +src_test() { + virtx distutils-r1_src_test +} + +python_test() { + local -x IPYTHON_TESTING_TIMEOUT_SCALE=20 + local EPYTEST_DESELECT=( + # Internet + IPython/core/display.py::IPython.core.display.Image.__init__ + # TODO: looks to be a regression due to a newer dep + IPython/core/tests/test_oinspect.py::test_class_signature + IPython/core/tests/test_oinspect.py::test_render_signature_long + ) + [[ ${EPYTHON} == python3.10 ]] && EPYTEST_DESELECT+=( + # TODO + IPython/core/tests/test_completer.py::TestCompleter::test_all_completions_dups + IPython/core/tests/test_completer.py::TestCompleter::test_deduplicate_completions + ) + epytest || die "Tests failed with ${EPYTHON}" +} + +python_install() { + distutils-r1_python_install + + # Create ipythonX.Y symlinks. + # TODO: + # 1. do we want them for pypy? No. pypy has no numpy + # 2. handle it in the eclass instead (use _python_ln_rel). + # With pypy not an option the dosym becomes unconditional + dosym ../lib/python-exec/${EPYTHON}/ipython \ + /usr/bin/ipython${EPYTHON#python} +} + +python_install_all() { + distutils-r1_python_install_all + + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} + +pkg_postinst() { + optfeature "code formatting" dev-python/black + optfeature "sympyprinting" dev-python/sympy + optfeature "cythonmagic" dev-python/cython + optfeature "%lprun magic command" dev-python/line_profiler + optfeature "%mprun magic command" dev-python/memory_profiler + + if use nbconvert; then + if ! has_version app-text/pandoc ; then + einfo "Node.js will be used to convert notebooks to other formats" + einfo "like HTML. Support for that is still experimental. If you" + einfo "encounter any problems, please use app-text/pandoc instead." + fi + fi +} diff --git a/dev-python/nbclient/Manifest b/dev-python/nbclient/Manifest index 3adc08ec7be3..e019e92ef920 100644 --- a/dev-python/nbclient/Manifest +++ b/dev-python/nbclient/Manifest @@ -1,2 +1,3 @@ DIST nbclient-0.5.11.gh.tar.gz 75556 BLAKE2B 5c9e44ea1efc05457427ba6fb9bbb319efd5eb314ca4964e0df4b842faa3341f4f51ef74565434ddaf0dcf56c9e2a83ce7bd36ab6c50cc1d0349ecc50af75b51 SHA512 e4142dd28e21be7803651b8b7ed646e168a302edc2ec806b58fdd79454059fea3fedf270e1aaec6152433a15c2280bd38e4dfb0d740091a2ab2987530dbe3c6a +DIST nbclient-0.5.13.gh.tar.gz 75335 BLAKE2B 02a1d7d84b51c3af81f4d511e3a68a94d28478d09241a174309d9338a10be9c2e7cc48601bfb844dcad979eca867890e96df47d0e2aa6d7f7881a2e899b79ab5 SHA512 cebb9c4216d4c1668908a0b332a32d63825e7c3cfcf78b3e918df16364a04a12c396646f4e0b215a9bbc40d1be907a361f90aff3721e299d17c852f8acec0d04 DIST nbclient-0.5.5.gh.tar.gz 72661 BLAKE2B b2be54c03c12a2cdc641e329946bae37a7b8c1c4aee8ac686c6e3350f27cf7a0a2e64653afb8acac7e373f5cbbab05feba3c1c4d7e8856974621f0d1c96005df SHA512 3066f847c175ac26ab6918b71e84a8f87bc922f624011b707f8b0a6d872c123d7979a5ffec24a933b6f98a7f83bf530926ecccb5a1c6f24bd84b3fbda07fdf48 diff --git a/dev-python/nbclient/nbclient-0.5.13.ebuild b/dev-python/nbclient/nbclient-0.5.13.ebuild new file mode 100644 index 000000000000..dc4ea5d975b5 --- /dev/null +++ b/dev-python/nbclient/nbclient-0.5.13.ebuild @@ -0,0 +1,39 @@ +# Copyright 2020-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{7,8,9,10} ) + +inherit distutils-r1 + +DESCRIPTION="A client library for executing Jupyter notebooks" +HOMEPAGE=" + https://nbclient.readthedocs.io/en/latest/ + https://github.com/jupyter/nbclient/ + https://pypi.org/project/nbclient/" +SRC_URI=" + https://github.com/jupyter/nbclient/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/jupyter_client-6.1.5[${PYTHON_USEDEP}] + >=dev-python/nbformat-5.0[${PYTHON_USEDEP}] + dev-python/nest_asyncio[${PYTHON_USEDEP}] + >=dev-python/traitlets-5.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/ipython[${PYTHON_USEDEP}] + dev-python/ipykernel[${PYTHON_USEDEP}] + dev-python/ipywidgets[${PYTHON_USEDEP}] + dev-python/xmltodict[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest index 67f1d3ac4f45..49a0f527082f 100644 --- a/dev-python/numpy/Manifest +++ b/dev-python/numpy/Manifest @@ -2,15 +2,19 @@ DIST numpy-1.21.5.zip 10652289 BLAKE2B c5bded91e5d06670ea3ace51560411c61985dd89f DIST numpy-1.22.0.zip 11291139 BLAKE2B 91cd2188aaa59d7be18761b74865295f400e309e34bf79067493221c5f0eb875a5c726dd8e322db84fa9714800347954b6a9896aadf914e87872497f7e65527c SHA512 dcea1a6cd257f6353caccc30b2adb1cf2e9d52191ec9f968839c85b1f776ebf8c5ac8bbf0751c2c6f292ae671e4006d26eb06691ca1504e4d65baf4cec3f9803 DIST numpy-1.22.1.zip 11443674 BLAKE2B 3f2e5fbd449c078fd97670be14e87fd9bccc8418dc37f87199557642f0f951f5fd21b89eff938c30171eda3174c526db91e470e9e9cdc297b8abd9b4fe364ad5 SHA512 0d8b5ffb6f8377b3d6d6cb62fd7eef083f8a3b787542b7887e0d214c6fa78b63b6f726302bca554c0c11c57e4611926c8d8ff4abf5dd59842b8b58086391434d DIST numpy-1.22.2.zip 11447735 BLAKE2B 43dee4d06139822b1eec8280591ddbf6629bc8b92c5c279bf2c5e2f5b0afb4c30c2af2e783002a836280dc6affb60f51a49a37821dcf647563aa19b77aa489c8 SHA512 4ad584527d4395404c2d5d8fe5eb1aae1defac39361a987bdaa4d1f133c03fdc32c3d554c0edb544b55946f46fb3121c98526ebc1ee06e174087c727bf9b88d7 +DIST numpy-1.22.3.zip 11451867 BLAKE2B 0212cf2882410f9d9083fe40b3630733d0e407cab32c7aa10affc138e6305fdcba119a7a2d1b6c3dd5b99765d9204afa5ac8e389369ca933e779e5a647271605 SHA512 fdeefd0ffad798a078376fe16ad840551309d3bbf551eca09d92a35048ee75c3739ab0becedb23448d82999da148827e69ded8842201c3dda72b46b4eb9be93f DIST numpy-html-1.21.0.zip 24270531 BLAKE2B 8a7a531afa559aebeb7a7b7ef94b2248df60a60fdfc190ca002dda625003df8b432fed393d6dd0c0c00fafbeb5064a61e3d99bba1a6c41e1e6e34ce091a43c89 SHA512 a165b95729a13806a03464cf39c20a0e18cfcf7701f05cd7777cd115bfaf0972f7155d201c7bd8d4177c5761f8800c982b3e3c29729a5e9ed356059842a44dcc DIST numpy-html-1.21.5.zip 24270531 BLAKE2B 8a7a531afa559aebeb7a7b7ef94b2248df60a60fdfc190ca002dda625003df8b432fed393d6dd0c0c00fafbeb5064a61e3d99bba1a6c41e1e6e34ce091a43c89 SHA512 a165b95729a13806a03464cf39c20a0e18cfcf7701f05cd7777cd115bfaf0972f7155d201c7bd8d4177c5761f8800c982b3e3c29729a5e9ed356059842a44dcc DIST numpy-html-1.22.1.zip 23724824 BLAKE2B 44ea3da0a703a024a629c8413dfffaf760458b185d19452da0e7e23c819e19833291e10ebd07bdda794077574b8852a368036dda8335c2753cd481740497502a SHA512 4077d9974bfd7f2c189025c3740350652e6f8e0b5727fbc9711a1c0118c1e4ecc281d4876baf1c6a5dc802d20178d6b04a2922f14e9c321cd3b68228b1e295c3 DIST numpy-html-1.22.2.zip 23724824 BLAKE2B 44ea3da0a703a024a629c8413dfffaf760458b185d19452da0e7e23c819e19833291e10ebd07bdda794077574b8852a368036dda8335c2753cd481740497502a SHA512 4077d9974bfd7f2c189025c3740350652e6f8e0b5727fbc9711a1c0118c1e4ecc281d4876baf1c6a5dc802d20178d6b04a2922f14e9c321cd3b68228b1e295c3 +DIST numpy-html-1.22.3.zip 23724824 BLAKE2B 44ea3da0a703a024a629c8413dfffaf760458b185d19452da0e7e23c819e19833291e10ebd07bdda794077574b8852a368036dda8335c2753cd481740497502a SHA512 4077d9974bfd7f2c189025c3740350652e6f8e0b5727fbc9711a1c0118c1e4ecc281d4876baf1c6a5dc802d20178d6b04a2922f14e9c321cd3b68228b1e295c3 DIST numpy-ref-1.21.0.pdf 7326979 BLAKE2B 3c1130a576c46e0705ca1f12e7a3345beb1acdd23de2a81448e4e9755636dec313e277a0d3167dc3b211332b3fc415ac0d96e7c99e859b51a16a589426814182 SHA512 5dd37ca03f1f098fffce80aa6a1a6eb8ec66df4322da1c620bd1f507e89ee2ceb222de32c9b7974f085ddf146f0a789ea8eb27d792a13c1aa8a893c00f94f75f DIST numpy-ref-1.21.5.pdf 7326979 BLAKE2B 3c1130a576c46e0705ca1f12e7a3345beb1acdd23de2a81448e4e9755636dec313e277a0d3167dc3b211332b3fc415ac0d96e7c99e859b51a16a589426814182 SHA512 5dd37ca03f1f098fffce80aa6a1a6eb8ec66df4322da1c620bd1f507e89ee2ceb222de32c9b7974f085ddf146f0a789ea8eb27d792a13c1aa8a893c00f94f75f DIST numpy-ref-1.22.1.pdf 7537013 BLAKE2B 702398fddde349901f9303f4788a3ae3cc4bb78b4d310e169fcc6193fd62b33947c89ede45ba9aaea55e74f6a6abc755d3d94428adce9a8163678c6718aec2da SHA512 c1617817f94ccdfe2bbdebdc9c6869beefa1369d5ab0897c1573d8fb5cb3de153f90d5588aae84a0f498fba57ad6bc5c0c5c2c3aefb119e2913e4ddf007cc8e1 DIST numpy-ref-1.22.2.pdf 7537013 BLAKE2B 702398fddde349901f9303f4788a3ae3cc4bb78b4d310e169fcc6193fd62b33947c89ede45ba9aaea55e74f6a6abc755d3d94428adce9a8163678c6718aec2da SHA512 c1617817f94ccdfe2bbdebdc9c6869beefa1369d5ab0897c1573d8fb5cb3de153f90d5588aae84a0f498fba57ad6bc5c0c5c2c3aefb119e2913e4ddf007cc8e1 +DIST numpy-ref-1.22.3.pdf 7537013 BLAKE2B 702398fddde349901f9303f4788a3ae3cc4bb78b4d310e169fcc6193fd62b33947c89ede45ba9aaea55e74f6a6abc755d3d94428adce9a8163678c6718aec2da SHA512 c1617817f94ccdfe2bbdebdc9c6869beefa1369d5ab0897c1573d8fb5cb3de153f90d5588aae84a0f498fba57ad6bc5c0c5c2c3aefb119e2913e4ddf007cc8e1 DIST numpy-user-1.21.0.pdf 5142404 BLAKE2B d670f1eb0f060599a640c52bdeba53b1758007fc2090a5b8fb6e135e71114149a0085811e4bc21396eabb1123ffb9edd39f8192d0165ab42dd066a9747eb3a3f SHA512 dde264abff1787efd50e913b6facf83522b3344ed88fd15d6fe73ecd44c6a3db1e4ce4251c9674bbcb122f72ab86c64142b2f4f992a6449405041f8e1f5f1ace DIST numpy-user-1.21.5.pdf 5142404 BLAKE2B d670f1eb0f060599a640c52bdeba53b1758007fc2090a5b8fb6e135e71114149a0085811e4bc21396eabb1123ffb9edd39f8192d0165ab42dd066a9747eb3a3f SHA512 dde264abff1787efd50e913b6facf83522b3344ed88fd15d6fe73ecd44c6a3db1e4ce4251c9674bbcb122f72ab86c64142b2f4f992a6449405041f8e1f5f1ace DIST numpy-user-1.22.1.pdf 3978348 BLAKE2B 87cc73cb1c406446eb9d86ea6cbaeac6ba13c7d2b2ffd47524483af1698c3efdfaafe61e987624c5ce01939494861413b271e9a96f49abbbe69d634b9be55c95 SHA512 8e04c0c90255038471de6ef0f8f4ed9e356d646b028bb16f667f3c59170eddaa0d86d48226462c5c17b8123b2a28a09982764979e9e76658b4e26cd0a976f3a1 DIST numpy-user-1.22.2.pdf 3978348 BLAKE2B 87cc73cb1c406446eb9d86ea6cbaeac6ba13c7d2b2ffd47524483af1698c3efdfaafe61e987624c5ce01939494861413b271e9a96f49abbbe69d634b9be55c95 SHA512 8e04c0c90255038471de6ef0f8f4ed9e356d646b028bb16f667f3c59170eddaa0d86d48226462c5c17b8123b2a28a09982764979e9e76658b4e26cd0a976f3a1 +DIST numpy-user-1.22.3.pdf 3978348 BLAKE2B 87cc73cb1c406446eb9d86ea6cbaeac6ba13c7d2b2ffd47524483af1698c3efdfaafe61e987624c5ce01939494861413b271e9a96f49abbbe69d634b9be55c95 SHA512 8e04c0c90255038471de6ef0f8f4ed9e356d646b028bb16f667f3c59170eddaa0d86d48226462c5c17b8123b2a28a09982764979e9e76658b4e26cd0a976f3a1 diff --git a/dev-python/numpy/numpy-1.22.3.ebuild b/dev-python/numpy/numpy-1.22.3.ebuild new file mode 100644 index 000000000000..baa69f4cd265 --- /dev/null +++ b/dev-python/numpy/numpy-1.22.3.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{7,8,9,10} ) +PYTHON_REQ_USE="threads(+)" + +FORTRAN_NEEDED=lapack + +inherit distutils-r1 flag-o-matic fortran-2 toolchain-funcs + +DOC_PV=${PV} +# For when docs aren't ready yet, set to last version +#DOC_PV=1.22.0 +DESCRIPTION="Fast array and numerical python library" +HOMEPAGE="https://numpy.org/" +SRC_URI=" + mirror://pypi/${PN:0:1}/${PN}/${P}.zip + doc? ( + https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-html.zip -> numpy-html-${DOC_PV}.zip + https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-ref.pdf -> numpy-ref-${DOC_PV}.pdf + https://numpy.org/doc/$(ver_cut 1-2 ${DOC_PV})/numpy-user.pdf -> numpy-user-${DOC_PV}.pdf + )" +LICENSE="BSD" +SLOT="0" +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 ~x64-solaris ~x86-solaris" +IUSE="doc lapack" + +RDEPEND=" + lapack? ( + >=virtual/cblas-3.8 + >=virtual/lapack-3.8 + ) +" +BDEPEND=" + ${RDEPEND} + app-arch/unzip + >=dev-python/cython-0.29.24[${PYTHON_USEDEP}] + lapack? ( virtual/pkgconfig ) + test? ( + >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2019.3[${PYTHON_USEDEP}] + >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}] + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.22.0-no-hardcode-blasv2.patch +) + +distutils_enable_tests pytest + +src_unpack() { + default + if use doc; then + unzip -qo "${DISTDIR}"/numpy-html-${DOC_PV}.zip -d html || die + fi +} + +python_prepare_all() { + # Allow use with setuptools 60.x + # See numpy-1.22.1-revert-setuptools-upper-bound.patch for details + export SETUPTOOLS_USE_DISTUTILS=stdlib + + if use lapack; then + local incdir="${EPREFIX}"/usr/include + local libdir="${EPREFIX}"/usr/$(get_libdir) + cat >> site.cfg <<-EOF || die + [blas] + include_dirs = ${incdir} + library_dirs = ${libdir} + blas_libs = cblas,blas + [lapack] + library_dirs = ${libdir} + lapack_libs = lapack + EOF + else + export {ATLAS,PTATLAS,BLAS,LAPACK,MKL}=None + fi + + export CC="$(tc-getCC) ${CFLAGS}" + + append-flags -fno-strict-aliasing + + # See progress in http://projects.scipy.org/scipy/numpy/ticket/573 + # with the subtle difference that we don't want to break Darwin where + # -shared is not a valid linker argument + if [[ ${CHOST} != *-darwin* ]]; then + append-ldflags -shared + fi + + # only one fortran to link with: + # linking with cblas and lapack library will force + # autodetecting and linking to all available fortran compilers + append-fflags -fPIC + if use lapack; then + NUMPY_FCONFIG="config_fc --noopt --noarch" + # workaround bug 335908 + [[ $(tc-getFC) == *gfortran* ]] && NUMPY_FCONFIG+=" --fcompiler=gnu95" + fi + + # don't version f2py, we will handle it. + sed -i -e '/f2py_exe/s: + os\.path.*$::' numpy/f2py/setup.py || die + + distutils-r1_python_prepare_all +} + +python_compile() { + export MAKEOPTS=-j1 #660754 + + distutils-r1_python_compile ${NUMPY_FCONFIG} +} + +python_test() { + local EPYTEST_DESELECT=( + # very disk- and memory-hungry + numpy/lib/tests/test_io.py::test_large_zip + + # precision problems + numpy/core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals + + # runs the whole test suite recursively, that's just crazy + numpy/core/tests/test_mem_policy.py::test_new_policy + + # very slow, unlikely to be practically useful + numpy/typing/tests/test_typing.py + ) + + if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then + # Degenerate case. arm32 chroot on arm64. + # bug #774108 + EPYTEST_DESELECT+=( + numpy/core/tests/test_cpu_features.py::Test_ARM_Features::test_features + ) + fi + + if use x86 ; then + EPYTEST_DESELECT+=( + # https://github.com/numpy/numpy/issues/18388 + numpy/core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow + # https://github.com/numpy/numpy/issues/18387 + numpy/random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto + ) + fi + + distutils_install_for_testing --single-version-externally-managed \ + --record "${TMPDIR}/record.txt" ${NUMPY_FCONFIG} + + cd "${TEST_DIR}/lib" || die + epytest -k "not _fuzz" +} + +python_install() { + # https://github.com/numpy/numpy/issues/16005 + local mydistutilsargs=( build_src ) + distutils-r1_python_install ${NUMPY_FCONFIG} + python_optimize +} + +python_install_all() { + local DOCS=( LICENSE.txt README.md THANKS.txt ) + + if use doc; then + local HTML_DOCS=( "${WORKDIR}"/html/. ) + DOCS+=( "${DISTDIR}"/${PN}-{user,ref}-${DOC_PV}.pdf ) + fi + + distutils-r1_python_install_all +} |
