# To build and test in the tox environment:1#2# ./sage -sh -c '(cd pkgs/sagemath-environment && tox -v -v -e sagepython-norequirements)'3#4# To test interactively:5#6# pkgs/sagemath-environment/.tox/sagepython-norequirements/bin/python7#8[tox]9envlist =10sagepython-sagewheels-nopypi-norequirements1112requires =13# Auto-provision a modern tox.14# [pkgenv] added in 4.2 - https://tox.wiki/en/latest/upgrading.html#packaging-configuration-and-inheritance15# Because of https://github.com/tox-dev/tox/issues/3238, need <4.14.116tox>=4.217tox<4.14.11819[pkgenv]20# Environment in which to build the sdist.21# https://tox.wiki/en/latest/upgrading.html#packaging-environments22passenv =23# Variables set by .homebrew-build-env24CPATH25LIBRARY_PATH26PKG_CONFIG_PATH27# Parallel build28SAGE_NUM_THREADS29SAGE_NUM_THREADS_PARALLEL30MAKEFLAGS31# SAGE_VENV only for referring to the basepython or finding the wheels32sagepython, sagewheels: SAGE_VENV33# Location of the wheels34sagewheels: SAGE_SPKG_WHEELS3536setenv =37# We supply pip options by environment variables so that they38# apply both to the installation of the dependencies and of the package39sagewheels: PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}40nopypi: PIP_NO_INDEX=true4142[testenv]43deps =44!norequirements: -rrequirements.txt4546extras = test4748passenv = {[pkgenv]passenv}4950setenv = {[pkgenv]setenv}51# Sage scripts such as sage-runtests like to use $HOME/.sage52HOME={envdir}53# Stop 'sage -t --installed' from picking up doc installed in SAGE_LOCAL54SAGE_DOC=/doesnotexist55KNOWN_TEST_FAILURES={toxinidir}/known-test-failures.json5657allowlist_externals =58bash5960commands =61# Beware of the treacherous non-src layout. "./sage/" shadows the installed sage package.62{envpython} -c 'import sys; "" in sys.path and sys.path.remove(""); from sage.features.all import all_features; print(sorted(all_features(), key=lambda x: x.name)); import sage.misc.package'6364[testenv:.tox]65# Allow access to PyPI for auto-provisioning a suitable tox version66passenv =67setenv = PIP_NO_INDEX=false6869[testenv:.pkg-sagepython]70# Environment in which to build the sdist.71# inherits from [pkgenv] - https://tox.wiki/en/latest/upgrading.html#packaging-environments72basepython = {env:SAGE_VENV}/bin/python37374[testenv:.pkg-sagepython-sagewheels-nopypi]75passenv = {[pkgenv]passenv}76SAGE_VENV77SAGE_SPKG_WHEELS7879setenv = {[pkgenv]setenv}80PIP_FIND_LINKS=file://{env:SAGE_SPKG_WHEELS:{env:SAGE_VENV:{toxinidir}/../../../../venv}/var/lib/sage/wheels}81PIP_NO_INDEX=true8283basepython = {env:SAGE_VENV}/bin/python38485[testenv:.pkg-sagepython-sagewheels-nopypi-editable]86config_settings_build_editable =87editable_mode = strict888990[testenv:sagepython]91basepython = {env:SAGE_VENV}/bin/python392package_env = .pkg-sagepython9394[testenv:sagepython-sagewheels-nopypi]95basepython = {env:SAGE_VENV}/bin/python396package_env = .pkg-sagepython-sagewheels-nopypi9798[testenv:sagepython-sagewheels]99basepython = {env:SAGE_VENV}/bin/python100package_env = .pkg-sagepython101102[testenv:sagepython-norequirements]103basepython = {env:SAGE_VENV}/bin/python3104package_env = .pkg-sagepython105106107[testenv:sagepython-sagewheels-nopypi-norequirements]108basepython = {env:SAGE_VENV}/bin/python3109package_env = .pkg-sagepython-sagewheels-nopypi110111[testenv:sagepython-sagewheels-nopypi-editable]112basepython = {env:SAGE_VENV}/bin/python3113package_env = .pkg-sagepython-sagewheels-nopypi-editable114package = editable115deps = -r requirements-editable.txt116config_settings_build_editable =117editable_mode = strict118119120