# Template file for 'sagemath' pkgname=sagemath version=10.5 revision=2 _pypi_version=${version/.beta/b} _pypi_version=${_pypi_version/.rc/rc} build_style=python3-pep517 hostmakedepends="pkg-config python3-Cython python3-Jinja2 python3-pkgconfig python3-setuptools python3-wheel python3-gmpy2 python3-memory_allocator python3-numpy ecl python3-cypari2 python3-cysignals python3-devel" makedepends="boost-devel brial-devel cliquer-devel ecl eclib-devel ecm-devel fflas-ffpack flintlib-devel gap-devel gd-devel giac-devel glpk-devel gsl-devel iml-devel lcalc-devel libbraiding-devel libhomfly-devel libmpc-devel libpng-devel linbox-devel m4ri-devel m4rie-devel mpfi-devel mpfr-devel ntl-devel openblas-devel pari-devel planarity-devel python3-cypari2 python3-cysignals python3-devel python3-gmpy2 python3-memory_allocator python3-numpy rankwidth-devel singular symmetrica-devel" depends="eclib-devel fflas-ffpack flintlib-devel gcc-fortran meson gd-devel gfan giac gsl-devel gzip libpng-devel linbox-devel m4ri-devel maxima-ecl mpfr-devel nauty ntl-devel palp pari-devel pari-elldata-small pari-galdata pari-galpol-small pari-seadata-small pkg-config python3-Cython python3-cypari2 python3-cysignals python3-devel python3-fpylll python3-ipython python3-lrcalc python3-ipython_ipykernel python3-jupyter_ipywidgets python3-matplotlib python3-memory_allocator python3-networkx python3-pip python3-pkgconfig python3-pplpy python3-primecountpy python3-requests python3-scipy python3-sympy python3-traitlets sage-data-combinatorial_designs python3-conway-polynomials sage-data-elliptic_curves sage-data-graphs sage-data-polytopes_db sympow tachyon threejs-sage python3-six python3-gmpy2 python3-numpy python3-pexpect python3-Sphinx python3-Pillow python3-mpmath python3-jupyter_client python3-ptyprocess" checkdepends="$depends python3-pytest pythran python3-Sphinx gdb" short_desc="Open source mathematics software" maintainer="Gonzalo TornarĂ­a " license="GPL-2.0-or-later" homepage="https://www.sagemath.org/" changelog="https://github.com/sagemath/sage/releases" distfiles="${PYPI_SITE}/s/sagemath-standard/sagemath_standard-${_pypi_version}.tar.gz" checksum=fa0e91cc12754db3cbdf843dbe30252b4378c030825530bc6858ddbcac701096 nocross="due to ntl (eclib, singular), fflas-ffpack, givaro, linbox, sympow, maxima" # main repo `.../src/sage/` is `.../sage/` here patch_args=-Np2 # parallel build export SAGE_NUM_THREADS="$XBPS_MAKEJOBS" post_install() { # move scripts to /usr/libexec vmkdir usr/libexec mv -T ${DESTDIR}/usr/bin ${DESTDIR}/usr/libexec/sagemath # copy configuration vinstall ${FILESDIR}/sage-env-config 644 usr/libexec/sagemath # symlink main binary vmkdir usr/bin ln -s /usr/libexec/sagemath/sage ${DESTDIR}/usr/bin } do_check() { local testdir="${wrksrc}/.xbps-testdir/$(date +%s)" python3 -m installer -d "${testdir}" dist/*.whl # this makes for nicer (shorter) relative paths in output cd ${testdir}/${py3_sitelib} if [ -f ${XBPS_DISTDIR}/sagemath-check ] ; then _sed='s|#.*||;/^\s*$/d;s|^\s*\([^ ]*/\)\?sage/|sage/|g' \ _test_files=$(sed -e "$_sed" ${XBPS_DISTDIR}/sagemath-check) fi if [ -z "$_test_files" ]; then _test_files=--all fi cp ${FILESDIR}/timings2.json . _test_args="--stats_path=timings2.json" if [ "$XBPS_CHECK_PKGS" = full ]; then _test_args+=" --long --warn-long 30.0" else _test_args+=" --warn-long 10.0" fi if [ "$XBPS_BUILD_ENVIRONMENT" = "void-packages-ci" ]; then # for CI use a predictable random seed _test_args+=" --random-seed=0" fi PATH="${testdir}/usr/bin:${PATH}" PYTHONPATH="${testdir}/${py3_sitelib}" \ sage -tp ${XBPS_MAKEJOBS} ${_test_args} ${_test_files} }