summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2023-05-11 18:04:38 +0200
committerMichał Górny <mgorny@gentoo.org>2023-05-11 19:58:02 +0200
commit6df28d1b9ede2b415db5d80f323feb429bfb0779 (patch)
tree0711696cbe077ecec9d78ae3a83855f0f4426c2e /dev-python/aesara/aesara-2.9.0.ebuild
parentdev-python/mypy: Bump to 1.3.0 (diff)
downloadgentoo-6df28d1b9ede2b415db5d80f323feb429bfb0779.tar.gz
gentoo-6df28d1b9ede2b415db5d80f323feb429bfb0779.tar.bz2
gentoo-6df28d1b9ede2b415db5d80f323feb429bfb0779.zip
dev-python/aesara: Bump to 2.9.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/aesara/aesara-2.9.0.ebuild')
-rw-r--r--dev-python/aesara/aesara-2.9.0.ebuild105
1 files changed, 105 insertions, 0 deletions
diff --git a/dev-python/aesara/aesara-2.9.0.ebuild b/dev-python/aesara/aesara-2.9.0.ebuild
new file mode 100644
index 000000000000..39e0ded3a685
--- /dev/null
+++ b/dev-python/aesara/aesara-2.9.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1 multiprocessing optfeature pypi
+
+DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
+HOMEPAGE="
+ https://github.com/aesara-devs/aesara/
+ https://pypi.org/project/aesara/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/cons[${PYTHON_USEDEP}]
+ dev-python/etuples[${PYTHON_USEDEP}]
+ dev-python/logical-unification[${PYTHON_USEDEP}]
+ dev-python/minikanren[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/aesara-2.6.5-compiledir-tid.patch
+ "${FILESDIR}"/aesara-2.8.10-fix-tuple.patch
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not claim "bin" package (sic!)
+ rm bin/__init__.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # speed tests are unreliable
+ tests/scan/test_basic.py::test_speed
+ tests/scan/test_basic.py::test_speed_rnn
+ tests/scan/test_basic.py::test_speed_batchrnn
+ tests/link/test_vm.py::test_speed
+ tests/link/test_vm.py::test_speed_lazy
+ tests/tensor/test_gc.py::test_merge_opt_runtime
+
+ # rounding problem?
+ # https://github.com/aesara-devs/aesara/issues/477
+ tests/tensor/test_math_scipy.py::TestGammaUBroadcast::test_good
+ tests/tensor/test_math_scipy.py::TestGammaUInplaceBroadcast::test_good
+
+ # Deprecation warning causes unexpected additional output
+ tests/tensor/test_basic.py::TestLongTensor::test_fit_int64
+
+ # dunno
+ tests/tensor/test_elemwise.py::TestDimShuffle::test_memory_leak
+ tests/tensor/signal/test_pool.py::TestDownsampleFactorMax::test_DownsampleFactorMaxGradGrad_grad
+
+ # TODO
+ tests/link/c/test_op.py::test_ExternalCOp_c_code_cache_version
+ tests/sparse/sandbox/test_sp.py::TestSP::test_multilayer_conv
+ tests/sparse/sandbox/test_sp.py::TestSP::test_maxpool
+
+ # TODO: Package pytest-benchmark
+ tests/scan/test_basic.py::TestExamples::test_reordering
+ tests/scan/test_basic.py::TestExamples::test_scan_as_tensor_on_gradients
+ tests/scan/test_basic.py::TestExamples::test_multiple_outs_taps
+ tests/scan/test_rewriting.py::TestPushOutAddScan::test_pregreedy_optimizer
+ tests/scan/test_rewriting.py::TestSaveMem::test_savemem_opt
+ tests/scan/test_basic.py::test_cython_performance
+ )
+ local EPYTEST_IGNORE=(
+ # we do not package jax or numba
+ tests/link/jax
+ tests/link/numba
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x AESARA_FLAGS="cxx=${CXX}"
+ AESARA_FLAGS+=",config.gcc__cxxflags=\"${CXXFLAGS}\""
+ AESARA_FLAGS+=',compiledir_format="compiledir_%(thread_id)s"'
+
+ epytest -p xdist.plugin -n "$(makeopts_jobs)"
+ # clean up the compiledir, as it can grow pretty large
+ rm -r "${HOME}"/.aesara || die
+}
+
+pkg_postinst() {
+ optfeature "GPU code generation/execution on NVIDIA gpus" dev-util/nvidia-cuda-toolkit
+ optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
+}