summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-01-29 10:39:28 +0100
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-01-29 10:41:23 +0100
commit61c25a3e98e73fed146874d62db5809e770a3669 (patch)
treef32fdc052151f9b9c3236381551105e88e362f64
parentapp-office/impressive: enable py3.11 (diff)
downloadgentoo-61c25a3e.tar.gz
gentoo-61c25a3e.tar.bz2
gentoo-61c25a3e.zip
dev-python/aesara: add 2.8.10
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r--dev-python/aesara/Manifest1
-rw-r--r--dev-python/aesara/aesara-2.8.10.ebuild122
-rw-r--r--dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch19
3 files changed, 142 insertions, 0 deletions
diff --git a/dev-python/aesara/Manifest b/dev-python/aesara/Manifest
index 48291baf84e1..74ef92d59b9f 100644
--- a/dev-python/aesara/Manifest
+++ b/dev-python/aesara/Manifest
@@ -1 +1,2 @@
+DIST aesara-rel-2.8.10.gh.tar.gz 4342183 BLAKE2B 3e6dcb362d613ce9fb621408d3d7c6f6d3f30e52fe39f484fbe6c9d834d59b428e736b13275d99b204774c719cc532fc42e877685b0639b344fa5b2965dfe602 SHA512 360419a79eb0571d431bb146e5fcf2d63a9c8b40e3ee0a31d7d38aeeceaa47da10ab3f640a4b4011f0a9b28438f20a0feb3ea64d07289d0e9513cb32d066820b
DIST aesara-rel-2.8.9.gh.tar.gz 4351952 BLAKE2B ffdc3d33caba5cf5edd3dd15e62cd295dd23f944ac6d76461e9e43717a4126669391dadfee51c6117911dc4236e8787d3e9ab712a0fcbd1dcb137e64f9f994c4 SHA512 3fb4374899ab71366961a07c750f594505467cdab01b6851b36d1dd924b816117ebe488a6cae548650df393c8447de69e21ce2cf6eafe34e951b98f27c3a4f6c
diff --git a/dev-python/aesara/aesara-2.8.10.ebuild b/dev-python/aesara/aesara-2.8.10.ebuild
new file mode 100644
index 000000000000..4b8039b62529
--- /dev/null
+++ b/dev-python/aesara/aesara-2.8.10.ebuild
@@ -0,0 +1,122 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# A whole bunch of test failures with 3.11
+PYTHON_COMPAT=( python3_{9..10} )
+
+inherit distutils-r1 multiprocessing optfeature
+
+MY_P=aesara-rel-${PV}
+DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
+HOMEPAGE="
+ https://github.com/aesara-devs/aesara/
+ https://pypi.org/project/aesara/
+"
+SRC_URI="
+ https://github.com/aesara-devs/aesara/archive/rel-${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+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-vcs/git
+ dev-python/setuptools_scm[${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_sphinx doc 'dev-python/sphinx_rtd_theme'
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not claim "bin" package (sic!)
+ rm bin/__init__.py || die
+ # setuptools_scm wants to read PV from git
+ touch setup.cfg || die
+ git init -q || die
+ git config --global user.email "larry@gentoo.org" || die
+ git config --global user.name "Larry the Cow" || die
+ git add . || die
+ git commit -qm "init" || die
+ git tag -a "rel-${PV}" -m "rel-${PV}" || 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
+}
diff --git a/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch b/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch
new file mode 100644
index 000000000000..7eb537d54286
--- /dev/null
+++ b/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch
@@ -0,0 +1,19 @@
+diff --git a/aesara/tensor/nnet/corr.py b/aesara/tensor/nnet/corr.py
+index e89054d..77ed344 100644
+--- a/aesara/tensor/nnet/corr.py
++++ b/aesara/tensor/nnet/corr.py
+@@ -692,12 +692,12 @@ class CorrMM(BaseCorrMM):
+ if kern.type.ndim != 4:
+ raise TypeError("kern must be 4D tensor")
+
+- out_shape = tuple(
++ out_shape = tuple([
+ 1 if img.type.shape[0] == 1 else None,
+ 1 if kern.type.shape[0] == 1 else None,
+ None,
+ None,
+- )
++ ])
+ dtype = img.type.dtype
+ return Apply(self, [img, kern], [TensorType(dtype, shape=out_shape)()])
+