diff --git a/.gitignore b/.gitignore index 0c1c9086cf7..efdbfa8f616 100644 --- a/.gitignore +++ b/.gitignore @@ -176,14 +176,32 @@ build/bin/sage-build-env-config /pkgs/*/.tox /pkgs/sagemath-objects/setup.cfg +/pkgs/sagemath-bliss/setup.cfg +/pkgs/sagemath-coxeter3/setup.cfg +/pkgs/sagemath-mcqd/setup.cfg +/pkgs/sagemath-meataxe/setup.cfg +/pkgs/sagemath-sirocco/setup.cfg +/pkgs/sagemath-tdlib/setup.cfg /pkgs/sagemath-categories/setup.cfg /pkgs/sagemath-environment/setup.cfg /pkgs/sagemath-repl/setup.cfg /pkgs/sagemath-objects/pyproject.toml +/pkgs/sagemath-bliss/pyproject.toml +/pkgs/sagemath-coxeter3/pyproject.toml +/pkgs/sagemath-mcqd/pyproject.toml +/pkgs/sagemath-meataxe/pyproject.toml +/pkgs/sagemath-sirocco/pyproject.toml +/pkgs/sagemath-tdlib/pyproject.toml /pkgs/sagemath-categories/pyproject.toml /pkgs/sagemath-environment/pyproject.toml /pkgs/sagemath-repl/pyproject.toml /pkgs/sagemath-objects/requirements.txt +/pkgs/sagemath-bliss/requirements.txt +/pkgs/sagemath-coxeter3/requirements.txt +/pkgs/sagemath-mcqd/requirements.txt +/pkgs/sagemath-meataxe/requirements.txt +/pkgs/sagemath-sirocco/requirements.txt +/pkgs/sagemath-tdlib/requirements.txt /pkgs/sagemath-categories/requirements.txt /pkgs/sagemath-environment/requirements.txt /pkgs/sagemath-repl/requirements.txt diff --git a/README.md b/README.md index f086349a015..9982460cd78 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ > "Creating a Viable Open Source Alternative to > Magma, Maple, Mathematica, and MATLAB" -> Copyright (C) 2005-2022 The Sage Development Team +> Copyright (C) 2005-2023 The Sage Development Team https://www.sagemath.org diff --git a/build/make/Makefile.in b/build/make/Makefile.in index 370d436bb2c..b6858173362 100644 --- a/build/make/Makefile.in +++ b/build/make/Makefile.in @@ -135,7 +135,13 @@ PYPI_WHEEL_PACKAGES = \ sagemath_environment \ sagemath_objects \ sagemath_repl \ - sagemath_categories + sagemath_categories \ + sagemath_bliss \ + sagemath_mcqd \ + sagemath_tdlib \ + sagemath_coxeter3 \ + sagemath_sirocco \ + sagemath_meataxe # sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) \ diff --git a/build/pkgs/bliss/distros/gentoo.txt b/build/pkgs/bliss/distros/gentoo.txt new file mode 100644 index 00000000000..73add6de49d --- /dev/null +++ b/build/pkgs/bliss/distros/gentoo.txt @@ -0,0 +1 @@ +sci-libs/bliss diff --git a/build/pkgs/sagelib/install-requires.txt b/build/pkgs/sagelib/install-requires.txt index 6e35e566194..df32c402b9d 100644 --- a/build/pkgs/sagelib/install-requires.txt +++ b/build/pkgs/sagelib/install-requires.txt @@ -1,2 +1,2 @@ # This file is updated on every release by the sage-update-version script -sagelib ~= 10.1b7 +sagemath-standard ~= 10.1b7 diff --git a/build/pkgs/sagelib/spkg-install b/build/pkgs/sagelib/spkg-install index ed6bb969f31..730829b3101 100755 --- a/build/pkgs/sagelib/spkg-install +++ b/build/pkgs/sagelib/spkg-install @@ -55,6 +55,8 @@ unset SAGE_PKG_CONFIG_PATH SITEPACKAGESDIR=$(python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])') +export SAGE_OPTIONAL_PACKAGES_WITH_EXTENSIONS="" + if [ "$SAGE_EDITABLE" = yes ]; then # In an incremental build, we may need to uninstall old versions installed by distutils # under the old distribution name "sage" (before #30912, which switched to setuptools @@ -79,6 +81,7 @@ else # Compiling sage/interfaces/sagespawn.pyx because it depends on /private/var/folders/38/wnh4gf1552g_crsjnv2vmmww0000gp/T/pip-build-env-609n5985/overlay/lib/python3.10/site-packages/Cython/Includes/posix/unistd.pxd time sdh_pip_install --no-build-isolation . else + SAGE_OPTIONAL_PACKAGES_WITH_EXTENSIONS+="mcqd,tdlib,coxeter3,sirocco,meataxe,bliss" time python3 -u setup.py --no-user-cfg build install || exit 1 fi fi diff --git a/build/pkgs/sagemath_bliss/SPKG.rst b/build/pkgs/sagemath_bliss/SPKG.rst new file mode 120000 index 00000000000..b4545b4bda6 --- /dev/null +++ b/build/pkgs/sagemath_bliss/SPKG.rst @@ -0,0 +1 @@ +src/README.rst \ No newline at end of file diff --git a/build/pkgs/sagemath_bliss/bootstrap b/build/pkgs/sagemath_bliss/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sagemath_bliss/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/build/pkgs/sagemath_bliss/dependencies b/build/pkgs/sagemath_bliss/dependencies new file mode 100644 index 00000000000..279e79ace91 --- /dev/null +++ b/build/pkgs/sagemath_bliss/dependencies @@ -0,0 +1 @@ +$(PYTHON) bliss cysignals | $(PYTHON_TOOLCHAIN) sage_setup sage_conf sagemath_environment cython pkgconfig diff --git a/build/pkgs/sagemath_bliss/distros/conda.txt b/build/pkgs/sagemath_bliss/distros/conda.txt new file mode 100644 index 00000000000..d6139d966ec --- /dev/null +++ b/build/pkgs/sagemath_bliss/distros/conda.txt @@ -0,0 +1 @@ +sagemath-bliss diff --git a/build/pkgs/sagemath_bliss/install-requires.txt b/build/pkgs/sagemath_bliss/install-requires.txt new file mode 100644 index 00000000000..63b4f674b7a --- /dev/null +++ b/build/pkgs/sagemath_bliss/install-requires.txt @@ -0,0 +1,2 @@ +# This file is updated on every release by the sage-update-version script +sagemath-bliss ~= 10.0 diff --git a/build/pkgs/sagemath_bliss/package-version.txt b/build/pkgs/sagemath_bliss/package-version.txt new file mode 120000 index 00000000000..c4540217bba --- /dev/null +++ b/build/pkgs/sagemath_bliss/package-version.txt @@ -0,0 +1 @@ +src/VERSION.txt \ No newline at end of file diff --git a/build/pkgs/sagemath_bliss/spkg-install b/build/pkgs/sagemath_bliss/spkg-install new file mode 100755 index 00000000000..7ce202f09ae --- /dev/null +++ b/build/pkgs/sagemath_bliss/spkg-install @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# From sage-spkg. +# For type=script packages, the build rule in build/make/Makefile sources +# sage-env but not sage-dist-helpers. +lib="$SAGE_ROOT/build/bin/sage-dist-helpers" +source "$lib" +if [ $? -ne 0 ]; then + echo >&2 "Error: failed to source $lib" + echo >&2 "Is $SAGE_ROOT the correct SAGE_ROOT?" + exit 1 +fi +cd src + +export PIP_NO_INDEX=true +export PIP_FIND_LINKS="file://$SAGE_SPKG_WHEELS" + +if [ "$SAGE_EDITABLE" = yes ]; then + # SAGE_ROOT/src/setup.py installs everything, nothing to do... + if [ "$SAGE_WHEELS" = yes ]; then + # ... except we build the wheel if requested + sdh_setup_bdist_wheel && sdh_store_wheel . + fi +else + if [ "$SAGE_WHEELS" = yes ]; then + # Modularized install via wheels + sdh_pip_install . + # else nothing to do in legacy direct installation. + fi +fi diff --git a/build/pkgs/sagemath_bliss/spkg-src b/build/pkgs/sagemath_bliss/spkg-src new file mode 100755 index 00000000000..483b2f349e3 --- /dev/null +++ b/build/pkgs/sagemath_bliss/spkg-src @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# +# Script to prepare an sdist tarball for sagemath-bliss +# This script is not used during build. +# +# HOW TO MAKE THE TARBALL: +# ./sage --sh build/pkgs/sagemath_bliss/spkg-src + +if [ -z "$SAGE_ROOT" ] ; then + echo >&2 "Error - SAGE_ROOT undefined ... exiting" + echo >&2 "Maybe run 'sage -sh'?" + exit 1 +fi + +# Exit on failure +set -e + +cd build/pkgs/sagemath_bliss + +cd src +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_bliss/src b/build/pkgs/sagemath_bliss/src new file mode 120000 index 00000000000..51c70b82b95 --- /dev/null +++ b/build/pkgs/sagemath_bliss/src @@ -0,0 +1 @@ +../../../pkgs/sagemath-bliss \ No newline at end of file diff --git a/build/pkgs/sagemath_bliss/type b/build/pkgs/sagemath_bliss/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/sagemath_bliss/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/sagemath_coxeter3/SPKG.rst b/build/pkgs/sagemath_coxeter3/SPKG.rst new file mode 120000 index 00000000000..b4545b4bda6 --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/SPKG.rst @@ -0,0 +1 @@ +src/README.rst \ No newline at end of file diff --git a/build/pkgs/sagemath_coxeter3/bootstrap b/build/pkgs/sagemath_coxeter3/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/build/pkgs/sagemath_coxeter3/dependencies b/build/pkgs/sagemath_coxeter3/dependencies new file mode 100644 index 00000000000..615392ca427 --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/dependencies @@ -0,0 +1 @@ +$(PYTHON) coxeter3 | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig diff --git a/build/pkgs/sagemath_coxeter3/distros/conda.txt b/build/pkgs/sagemath_coxeter3/distros/conda.txt new file mode 100644 index 00000000000..3ffe2eb8bfc --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/distros/conda.txt @@ -0,0 +1 @@ +sagemath-coxeter3 diff --git a/build/pkgs/sagemath_coxeter3/install-requires.txt b/build/pkgs/sagemath_coxeter3/install-requires.txt new file mode 100644 index 00000000000..5b13d4be973 --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/install-requires.txt @@ -0,0 +1,2 @@ +# This file is updated on every release by the sage-update-version script +sagemath-coxeter3 ~= 10.0 diff --git a/build/pkgs/sagemath_coxeter3/package-version.txt b/build/pkgs/sagemath_coxeter3/package-version.txt new file mode 120000 index 00000000000..c4540217bba --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/package-version.txt @@ -0,0 +1 @@ +src/VERSION.txt \ No newline at end of file diff --git a/build/pkgs/sagemath_coxeter3/spkg-install b/build/pkgs/sagemath_coxeter3/spkg-install new file mode 100755 index 00000000000..7ce202f09ae --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/spkg-install @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# From sage-spkg. +# For type=script packages, the build rule in build/make/Makefile sources +# sage-env but not sage-dist-helpers. +lib="$SAGE_ROOT/build/bin/sage-dist-helpers" +source "$lib" +if [ $? -ne 0 ]; then + echo >&2 "Error: failed to source $lib" + echo >&2 "Is $SAGE_ROOT the correct SAGE_ROOT?" + exit 1 +fi +cd src + +export PIP_NO_INDEX=true +export PIP_FIND_LINKS="file://$SAGE_SPKG_WHEELS" + +if [ "$SAGE_EDITABLE" = yes ]; then + # SAGE_ROOT/src/setup.py installs everything, nothing to do... + if [ "$SAGE_WHEELS" = yes ]; then + # ... except we build the wheel if requested + sdh_setup_bdist_wheel && sdh_store_wheel . + fi +else + if [ "$SAGE_WHEELS" = yes ]; then + # Modularized install via wheels + sdh_pip_install . + # else nothing to do in legacy direct installation. + fi +fi diff --git a/build/pkgs/sagemath_coxeter3/spkg-src b/build/pkgs/sagemath_coxeter3/spkg-src new file mode 100755 index 00000000000..df635f450cf --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/spkg-src @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# +# Script to prepare an sdist tarball for sagemath-coxeter3 +# This script is not used during build. +# +# HOW TO MAKE THE TARBALL: +# ./sage --sh build/pkgs/sagemath_coxeter3/spkg-src + +if [ -z "$SAGE_ROOT" ] ; then + echo >&2 "Error - SAGE_ROOT undefined ... exiting" + echo >&2 "Maybe run 'sage -sh'?" + exit 1 +fi + +# Exit on failure +set -e + +cd build/pkgs/sagemath_coxeter3 + +cd src +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_coxeter3/src b/build/pkgs/sagemath_coxeter3/src new file mode 120000 index 00000000000..a9a1c8ae443 --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/src @@ -0,0 +1 @@ +../../../pkgs/sagemath-coxeter3 \ No newline at end of file diff --git a/build/pkgs/sagemath_coxeter3/type b/build/pkgs/sagemath_coxeter3/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/sagemath_coxeter3/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/sagemath_mcqd/SPKG.rst b/build/pkgs/sagemath_mcqd/SPKG.rst new file mode 120000 index 00000000000..b4545b4bda6 --- /dev/null +++ b/build/pkgs/sagemath_mcqd/SPKG.rst @@ -0,0 +1 @@ +src/README.rst \ No newline at end of file diff --git a/build/pkgs/sagemath_mcqd/bootstrap b/build/pkgs/sagemath_mcqd/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sagemath_mcqd/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/build/pkgs/sagemath_mcqd/dependencies b/build/pkgs/sagemath_mcqd/dependencies new file mode 100644 index 00000000000..e383df7dafa --- /dev/null +++ b/build/pkgs/sagemath_mcqd/dependencies @@ -0,0 +1 @@ +$(PYTHON) mcqd memory_allocator cysignals | $(PYTHON_TOOLCHAIN) sage_setup cython pkgconfig diff --git a/build/pkgs/sagemath_mcqd/distros/conda.txt b/build/pkgs/sagemath_mcqd/distros/conda.txt new file mode 100644 index 00000000000..9504f7f4c76 --- /dev/null +++ b/build/pkgs/sagemath_mcqd/distros/conda.txt @@ -0,0 +1 @@ +sagemath-mcqd diff --git a/build/pkgs/sagemath_mcqd/install-requires.txt b/build/pkgs/sagemath_mcqd/install-requires.txt new file mode 100644 index 00000000000..fed6656d3ef --- /dev/null +++ b/build/pkgs/sagemath_mcqd/install-requires.txt @@ -0,0 +1,2 @@ +# This file is updated on every release by the sage-update-version script +sagemath-mcqd ~= 10.0 diff --git a/build/pkgs/sagemath_mcqd/package-version.txt b/build/pkgs/sagemath_mcqd/package-version.txt new file mode 120000 index 00000000000..c4540217bba --- /dev/null +++ b/build/pkgs/sagemath_mcqd/package-version.txt @@ -0,0 +1 @@ +src/VERSION.txt \ No newline at end of file diff --git a/build/pkgs/sagemath_mcqd/spkg-install b/build/pkgs/sagemath_mcqd/spkg-install new file mode 100755 index 00000000000..7ce202f09ae --- /dev/null +++ b/build/pkgs/sagemath_mcqd/spkg-install @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# From sage-spkg. +# For type=script packages, the build rule in build/make/Makefile sources +# sage-env but not sage-dist-helpers. +lib="$SAGE_ROOT/build/bin/sage-dist-helpers" +source "$lib" +if [ $? -ne 0 ]; then + echo >&2 "Error: failed to source $lib" + echo >&2 "Is $SAGE_ROOT the correct SAGE_ROOT?" + exit 1 +fi +cd src + +export PIP_NO_INDEX=true +export PIP_FIND_LINKS="file://$SAGE_SPKG_WHEELS" + +if [ "$SAGE_EDITABLE" = yes ]; then + # SAGE_ROOT/src/setup.py installs everything, nothing to do... + if [ "$SAGE_WHEELS" = yes ]; then + # ... except we build the wheel if requested + sdh_setup_bdist_wheel && sdh_store_wheel . + fi +else + if [ "$SAGE_WHEELS" = yes ]; then + # Modularized install via wheels + sdh_pip_install . + # else nothing to do in legacy direct installation. + fi +fi diff --git a/build/pkgs/sagemath_mcqd/spkg-src b/build/pkgs/sagemath_mcqd/spkg-src new file mode 100755 index 00000000000..c1602f0953e --- /dev/null +++ b/build/pkgs/sagemath_mcqd/spkg-src @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# +# Script to prepare an sdist tarball for sagemath-mcqd +# This script is not used during build. +# +# HOW TO MAKE THE TARBALL: +# ./sage --sh build/pkgs/sagemath_mcqd/spkg-src + +if [ -z "$SAGE_ROOT" ] ; then + echo >&2 "Error - SAGE_ROOT undefined ... exiting" + echo >&2 "Maybe run 'sage -sh'?" + exit 1 +fi + +# Exit on failure +set -e + +cd build/pkgs/sagemath_mcqd + +cd src +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_mcqd/src b/build/pkgs/sagemath_mcqd/src new file mode 120000 index 00000000000..03d68b8cbe3 --- /dev/null +++ b/build/pkgs/sagemath_mcqd/src @@ -0,0 +1 @@ +../../../pkgs/sagemath-mcqd \ No newline at end of file diff --git a/build/pkgs/sagemath_mcqd/type b/build/pkgs/sagemath_mcqd/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/sagemath_mcqd/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/sagemath_meataxe/SPKG.rst b/build/pkgs/sagemath_meataxe/SPKG.rst new file mode 120000 index 00000000000..b4545b4bda6 --- /dev/null +++ b/build/pkgs/sagemath_meataxe/SPKG.rst @@ -0,0 +1 @@ +src/README.rst \ No newline at end of file diff --git a/build/pkgs/sagemath_meataxe/bootstrap b/build/pkgs/sagemath_meataxe/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sagemath_meataxe/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/build/pkgs/sagemath_meataxe/dependencies b/build/pkgs/sagemath_meataxe/dependencies new file mode 100644 index 00000000000..f100932802a --- /dev/null +++ b/build/pkgs/sagemath_meataxe/dependencies @@ -0,0 +1 @@ +$(PYTHON) meataxe | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig diff --git a/build/pkgs/sagemath_meataxe/distros/conda.txt b/build/pkgs/sagemath_meataxe/distros/conda.txt new file mode 100644 index 00000000000..b3abc7692fe --- /dev/null +++ b/build/pkgs/sagemath_meataxe/distros/conda.txt @@ -0,0 +1 @@ +sagemath-meataxe diff --git a/build/pkgs/sagemath_meataxe/install-requires.txt b/build/pkgs/sagemath_meataxe/install-requires.txt new file mode 100644 index 00000000000..9c920e5c5c3 --- /dev/null +++ b/build/pkgs/sagemath_meataxe/install-requires.txt @@ -0,0 +1,2 @@ +# This file is updated on every release by the sage-update-version script +sagemath-meataxe ~= 10.0 diff --git a/build/pkgs/sagemath_meataxe/package-version.txt b/build/pkgs/sagemath_meataxe/package-version.txt new file mode 120000 index 00000000000..c4540217bba --- /dev/null +++ b/build/pkgs/sagemath_meataxe/package-version.txt @@ -0,0 +1 @@ +src/VERSION.txt \ No newline at end of file diff --git a/build/pkgs/sagemath_meataxe/spkg-install b/build/pkgs/sagemath_meataxe/spkg-install new file mode 100755 index 00000000000..7ce202f09ae --- /dev/null +++ b/build/pkgs/sagemath_meataxe/spkg-install @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# From sage-spkg. +# For type=script packages, the build rule in build/make/Makefile sources +# sage-env but not sage-dist-helpers. +lib="$SAGE_ROOT/build/bin/sage-dist-helpers" +source "$lib" +if [ $? -ne 0 ]; then + echo >&2 "Error: failed to source $lib" + echo >&2 "Is $SAGE_ROOT the correct SAGE_ROOT?" + exit 1 +fi +cd src + +export PIP_NO_INDEX=true +export PIP_FIND_LINKS="file://$SAGE_SPKG_WHEELS" + +if [ "$SAGE_EDITABLE" = yes ]; then + # SAGE_ROOT/src/setup.py installs everything, nothing to do... + if [ "$SAGE_WHEELS" = yes ]; then + # ... except we build the wheel if requested + sdh_setup_bdist_wheel && sdh_store_wheel . + fi +else + if [ "$SAGE_WHEELS" = yes ]; then + # Modularized install via wheels + sdh_pip_install . + # else nothing to do in legacy direct installation. + fi +fi diff --git a/build/pkgs/sagemath_meataxe/spkg-src b/build/pkgs/sagemath_meataxe/spkg-src new file mode 100755 index 00000000000..a0e05c1fc98 --- /dev/null +++ b/build/pkgs/sagemath_meataxe/spkg-src @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# +# Script to prepare an sdist tarball for sagemath-meataxe +# This script is not used during build. +# +# HOW TO MAKE THE TARBALL: +# ./sage --sh build/pkgs/sagemath_meataxe/spkg-src + +if [ -z "$SAGE_ROOT" ] ; then + echo >&2 "Error - SAGE_ROOT undefined ... exiting" + echo >&2 "Maybe run 'sage -sh'?" + exit 1 +fi + +# Exit on failure +set -e + +cd build/pkgs/sagemath_meataxe + +cd src +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_meataxe/src b/build/pkgs/sagemath_meataxe/src new file mode 120000 index 00000000000..1164dd787fd --- /dev/null +++ b/build/pkgs/sagemath_meataxe/src @@ -0,0 +1 @@ +../../../pkgs/sagemath-meataxe \ No newline at end of file diff --git a/build/pkgs/sagemath_meataxe/type b/build/pkgs/sagemath_meataxe/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/sagemath_meataxe/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/sagemath_sirocco/SPKG.rst b/build/pkgs/sagemath_sirocco/SPKG.rst new file mode 120000 index 00000000000..b4545b4bda6 --- /dev/null +++ b/build/pkgs/sagemath_sirocco/SPKG.rst @@ -0,0 +1 @@ +src/README.rst \ No newline at end of file diff --git a/build/pkgs/sagemath_sirocco/bootstrap b/build/pkgs/sagemath_sirocco/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sagemath_sirocco/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/build/pkgs/sagemath_sirocco/dependencies b/build/pkgs/sagemath_sirocco/dependencies new file mode 100644 index 00000000000..b923f34d7eb --- /dev/null +++ b/build/pkgs/sagemath_sirocco/dependencies @@ -0,0 +1 @@ +$(PYTHON) sirocco cypari cysignals mpfr | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig diff --git a/build/pkgs/sagemath_sirocco/distros/conda.txt b/build/pkgs/sagemath_sirocco/distros/conda.txt new file mode 100644 index 00000000000..fc9cfb79706 --- /dev/null +++ b/build/pkgs/sagemath_sirocco/distros/conda.txt @@ -0,0 +1 @@ +sagemath-sirocco diff --git a/build/pkgs/sagemath_sirocco/install-requires.txt b/build/pkgs/sagemath_sirocco/install-requires.txt new file mode 100644 index 00000000000..df1048f36be --- /dev/null +++ b/build/pkgs/sagemath_sirocco/install-requires.txt @@ -0,0 +1,2 @@ +# This file is updated on every release by the sage-update-version script +sagemath-sirocco ~= 10.0 diff --git a/build/pkgs/sagemath_sirocco/package-version.txt b/build/pkgs/sagemath_sirocco/package-version.txt new file mode 120000 index 00000000000..c4540217bba --- /dev/null +++ b/build/pkgs/sagemath_sirocco/package-version.txt @@ -0,0 +1 @@ +src/VERSION.txt \ No newline at end of file diff --git a/build/pkgs/sagemath_sirocco/spkg-install b/build/pkgs/sagemath_sirocco/spkg-install new file mode 100755 index 00000000000..7ce202f09ae --- /dev/null +++ b/build/pkgs/sagemath_sirocco/spkg-install @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# From sage-spkg. +# For type=script packages, the build rule in build/make/Makefile sources +# sage-env but not sage-dist-helpers. +lib="$SAGE_ROOT/build/bin/sage-dist-helpers" +source "$lib" +if [ $? -ne 0 ]; then + echo >&2 "Error: failed to source $lib" + echo >&2 "Is $SAGE_ROOT the correct SAGE_ROOT?" + exit 1 +fi +cd src + +export PIP_NO_INDEX=true +export PIP_FIND_LINKS="file://$SAGE_SPKG_WHEELS" + +if [ "$SAGE_EDITABLE" = yes ]; then + # SAGE_ROOT/src/setup.py installs everything, nothing to do... + if [ "$SAGE_WHEELS" = yes ]; then + # ... except we build the wheel if requested + sdh_setup_bdist_wheel && sdh_store_wheel . + fi +else + if [ "$SAGE_WHEELS" = yes ]; then + # Modularized install via wheels + sdh_pip_install . + # else nothing to do in legacy direct installation. + fi +fi diff --git a/build/pkgs/sagemath_sirocco/spkg-src b/build/pkgs/sagemath_sirocco/spkg-src new file mode 100755 index 00000000000..4082abf43b2 --- /dev/null +++ b/build/pkgs/sagemath_sirocco/spkg-src @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# +# Script to prepare an sdist tarball for sagemath-sirocco +# This script is not used during build. +# +# HOW TO MAKE THE TARBALL: +# ./sage --sh build/pkgs/sagemath_sirocco/spkg-src + +if [ -z "$SAGE_ROOT" ] ; then + echo >&2 "Error - SAGE_ROOT undefined ... exiting" + echo >&2 "Maybe run 'sage -sh'?" + exit 1 +fi + +# Exit on failure +set -e + +cd build/pkgs/sagemath_sirocco + +cd src +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_sirocco/src b/build/pkgs/sagemath_sirocco/src new file mode 120000 index 00000000000..03d0d674991 --- /dev/null +++ b/build/pkgs/sagemath_sirocco/src @@ -0,0 +1 @@ +../../../pkgs/sagemath-sirocco \ No newline at end of file diff --git a/build/pkgs/sagemath_sirocco/type b/build/pkgs/sagemath_sirocco/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/sagemath_sirocco/type @@ -0,0 +1 @@ +optional diff --git a/build/pkgs/sagemath_tdlib/SPKG.rst b/build/pkgs/sagemath_tdlib/SPKG.rst new file mode 120000 index 00000000000..b4545b4bda6 --- /dev/null +++ b/build/pkgs/sagemath_tdlib/SPKG.rst @@ -0,0 +1 @@ +src/README.rst \ No newline at end of file diff --git a/build/pkgs/sagemath_tdlib/bootstrap b/build/pkgs/sagemath_tdlib/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sagemath_tdlib/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/build/pkgs/sagemath_tdlib/dependencies b/build/pkgs/sagemath_tdlib/dependencies new file mode 100644 index 00000000000..5c7ecd31f2f --- /dev/null +++ b/build/pkgs/sagemath_tdlib/dependencies @@ -0,0 +1 @@ +$(PYTHON) tdlib cysignals | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig diff --git a/build/pkgs/sagemath_tdlib/distros/conda.txt b/build/pkgs/sagemath_tdlib/distros/conda.txt new file mode 100644 index 00000000000..f890d1c9084 --- /dev/null +++ b/build/pkgs/sagemath_tdlib/distros/conda.txt @@ -0,0 +1 @@ +sagemath-tdlib diff --git a/build/pkgs/sagemath_tdlib/install-requires.txt b/build/pkgs/sagemath_tdlib/install-requires.txt new file mode 100644 index 00000000000..8e813aef43a --- /dev/null +++ b/build/pkgs/sagemath_tdlib/install-requires.txt @@ -0,0 +1,2 @@ +# This file is updated on every release by the sage-update-version script +sagemath-tdlib ~= 10.0 diff --git a/build/pkgs/sagemath_tdlib/package-version.txt b/build/pkgs/sagemath_tdlib/package-version.txt new file mode 120000 index 00000000000..c4540217bba --- /dev/null +++ b/build/pkgs/sagemath_tdlib/package-version.txt @@ -0,0 +1 @@ +src/VERSION.txt \ No newline at end of file diff --git a/build/pkgs/sagemath_tdlib/spkg-install b/build/pkgs/sagemath_tdlib/spkg-install new file mode 100755 index 00000000000..7ce202f09ae --- /dev/null +++ b/build/pkgs/sagemath_tdlib/spkg-install @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +# From sage-spkg. +# For type=script packages, the build rule in build/make/Makefile sources +# sage-env but not sage-dist-helpers. +lib="$SAGE_ROOT/build/bin/sage-dist-helpers" +source "$lib" +if [ $? -ne 0 ]; then + echo >&2 "Error: failed to source $lib" + echo >&2 "Is $SAGE_ROOT the correct SAGE_ROOT?" + exit 1 +fi +cd src + +export PIP_NO_INDEX=true +export PIP_FIND_LINKS="file://$SAGE_SPKG_WHEELS" + +if [ "$SAGE_EDITABLE" = yes ]; then + # SAGE_ROOT/src/setup.py installs everything, nothing to do... + if [ "$SAGE_WHEELS" = yes ]; then + # ... except we build the wheel if requested + sdh_setup_bdist_wheel && sdh_store_wheel . + fi +else + if [ "$SAGE_WHEELS" = yes ]; then + # Modularized install via wheels + sdh_pip_install . + # else nothing to do in legacy direct installation. + fi +fi diff --git a/build/pkgs/sagemath_tdlib/spkg-src b/build/pkgs/sagemath_tdlib/spkg-src new file mode 100755 index 00000000000..88e67414c05 --- /dev/null +++ b/build/pkgs/sagemath_tdlib/spkg-src @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# +# Script to prepare an sdist tarball for sagemath-tdlib +# This script is not used during build. +# +# HOW TO MAKE THE TARBALL: +# ./sage --sh build/pkgs/sagemath_tdlib/spkg-src + +if [ -z "$SAGE_ROOT" ] ; then + echo >&2 "Error - SAGE_ROOT undefined ... exiting" + echo >&2 "Maybe run 'sage -sh'?" + exit 1 +fi + +# Exit on failure +set -e + +cd build/pkgs/sagemath_tdlib + +cd src +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_tdlib/src b/build/pkgs/sagemath_tdlib/src new file mode 120000 index 00000000000..0d238df793e --- /dev/null +++ b/build/pkgs/sagemath_tdlib/src @@ -0,0 +1 @@ +../../../pkgs/sagemath-tdlib \ No newline at end of file diff --git a/build/pkgs/sagemath_tdlib/type b/build/pkgs/sagemath_tdlib/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/sagemath_tdlib/type @@ -0,0 +1 @@ +optional diff --git a/pkgs/sagemath-bliss/MANIFEST.in b/pkgs/sagemath-bliss/MANIFEST.in new file mode 100644 index 00000000000..689b87560e0 --- /dev/null +++ b/pkgs/sagemath-bliss/MANIFEST.in @@ -0,0 +1,17 @@ +global-include all__sagemath_bliss.py + +include VERSION.txt + +graft sage/graphs/bliss_cpp + +global-exclude *.c +global-exclude *.cpp + +global-exclude __pycache__ +global-exclude *.py[co] +global-exclude *.bak +global-exclude *.so +global-exclude *~ +prune .tox +prune build +prune dist diff --git a/pkgs/sagemath-bliss/README.rst b/pkgs/sagemath-bliss/README.rst new file mode 100644 index 00000000000..9e1cb2e826f --- /dev/null +++ b/pkgs/sagemath-bliss/README.rst @@ -0,0 +1,32 @@ +============================================================================== + Sage: Open Source Mathematics Software: Graph (iso/auto)morphisms with bliss +============================================================================== + +About SageMath +-------------- + + "Creating a Viable Open Source Alternative to + Magma, Maple, Mathematica, and MATLAB" + + Copyright (C) 2005-2023 The Sage Development Team + + https://www.sagemath.org + +SageMath fully supports all major Linux distributions, recent versions of +macOS, and Windows (using Cygwin or Windows Subsystem for Linux). + +The traditional and recommended way to install SageMath is from source via +Sage-the-distribution (https://www.sagemath.org/download-source.html). +Sage-the-distribution first builds a large number of open source packages from +source (unless it finds suitable versions installed in the system) and then +installs the Sage Library (sagelib, implemented in Python and Cython). + + +About this pip-installable source distribution +---------------------------------------------- + +This pip-installable source distribution ``sagemath-bliss`` is a small +optional distribution for use with ``sagemath-standard``. + +It provides a Cython interface to the ``bliss`` library for the purpose +of computing graph (iso/auto)morphisms. diff --git a/pkgs/sagemath-bliss/VERSION.txt b/pkgs/sagemath-bliss/VERSION.txt new file mode 100644 index 00000000000..2f52450b31d --- /dev/null +++ b/pkgs/sagemath-bliss/VERSION.txt @@ -0,0 +1 @@ +10.0 diff --git a/pkgs/sagemath-bliss/pyproject.toml.m4 b/pkgs/sagemath-bliss/pyproject.toml.m4 new file mode 100644 index 00000000000..439482ad26b --- /dev/null +++ b/pkgs/sagemath-bliss/pyproject.toml.m4 @@ -0,0 +1,12 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +# Minimum requirements for the build system to execute. +requires = [ + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_sage_conf + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_sagemath_environment + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_cysignals +] +build-backend = "setuptools.build_meta" diff --git a/pkgs/sagemath-bliss/requirements.txt.m4 b/pkgs/sagemath-bliss/requirements.txt.m4 new file mode 100644 index 00000000000..8b6ca03b0b9 --- /dev/null +++ b/pkgs/sagemath-bliss/requirements.txt.m4 @@ -0,0 +1,2 @@ +Cython==esyscmd(`printf $(sed "s/[.]p.*//;" ../cython/package-version.txt)') +sagemath-standard==esyscmd(`printf $(sed "s/[.]p.*//;" ../sagelib/package-version.txt)') diff --git a/pkgs/sagemath-bliss/sage b/pkgs/sagemath-bliss/sage new file mode 120000 index 00000000000..e0da5daa6f2 --- /dev/null +++ b/pkgs/sagemath-bliss/sage @@ -0,0 +1 @@ +../../src/sage \ No newline at end of file diff --git a/pkgs/sagemath-bliss/setup.cfg.m4 b/pkgs/sagemath-bliss/setup.cfg.m4 new file mode 100644 index 00000000000..d1faa96a563 --- /dev/null +++ b/pkgs/sagemath-bliss/setup.cfg.m4 @@ -0,0 +1,17 @@ +include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- +[metadata] +name = sagemath-bliss +version = file: VERSION.txt +description = Sage: Open Source Mathematics Software: Graph (iso/auto)morphisms with bliss +long_description = file: README.rst +long_description_content_type = text/x-rst +include(`setup_cfg_metadata.m4')dnl' + +[options] +python_requires = >=3.8, <3.12 +install_requires = + SPKG_INSTALL_REQUIRES_cysignals + +[options.extras_require] +test = + SPKG_INSTALL_REQUIRES_sagemath_repl diff --git a/pkgs/sagemath-bliss/setup.py b/pkgs/sagemath-bliss/setup.py new file mode 100644 index 00000000000..a78c51347d6 --- /dev/null +++ b/pkgs/sagemath-bliss/setup.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from distutils import log +from setuptools import setup + +# Work around a Cython problem in Python 3.8.x on macOS +# https://github.com/cython/cython/issues/3262 +import os +if os.uname().sysname == 'Darwin': + import multiprocessing + multiprocessing.set_start_method('fork', force=True) + +# If build isolation is not in use and setuptools_scm is installed, +# then its file_finders entry point is invoked, which we don't need. +# Workaround from ​https://github.com/pypa/setuptools_scm/issues/190#issuecomment-351181286 +try: + import setuptools_scm.integration + setuptools_scm.integration.find_files = lambda _: [] +except ImportError: + pass + +# PEP 517 builds do not have . in sys.path +import sys +sys.path.insert(0, os.path.dirname(__file__)) + +if len(sys.argv) > 1 and (sys.argv[1] == "sdist" or sys.argv[1] == "egg_info"): + sdist = True +else: + sdist = False + +if sdist: + cmdclass = {} +else: + from sage_setup.excepthook import excepthook + sys.excepthook = excepthook + + from sage_setup.setenv import setenv + setenv() + + import sage.env + sage.env.default_required_modules = sage.env.default_optional_modules = () + + from sage_setup.command.sage_build_cython import sage_build_cython + from sage_setup.command.sage_build_ext import sage_build_ext + sage_build_cython.built_distributions = ['sagemath-bliss'] + + cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext) + +from sage_setup.find import find_python_sources +python_packages, python_modules, cython_modules = find_python_sources( + '.', ['sage'], distributions=['sagemath-bliss']) + +log.warn('python_packages = {0}'.format(python_packages)) +log.warn('python_modules = {0}'.format(python_modules)) +log.warn('cython_modules = {0}'.format(cython_modules)) + +setup( + cmdclass = cmdclass, + packages = python_packages, + py_modules = python_modules, + ext_modules = cython_modules, +) diff --git a/pkgs/sagemath-categories/README.rst b/pkgs/sagemath-categories/README.rst index d1f90fea966..55cddc3c95c 100644 --- a/pkgs/sagemath-categories/README.rst +++ b/pkgs/sagemath-categories/README.rst @@ -8,7 +8,7 @@ About SageMath "Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, and MATLAB" - Copyright (C) 2005-2022 The Sage Development Team + Copyright (C) 2005-2023 The Sage Development Team https://www.sagemath.org diff --git a/pkgs/sagemath-coxeter3/MANIFEST.in b/pkgs/sagemath-coxeter3/MANIFEST.in new file mode 100644 index 00000000000..003ab8d5180 --- /dev/null +++ b/pkgs/sagemath-coxeter3/MANIFEST.in @@ -0,0 +1,19 @@ +prune sage + +global-include all__sagemath_coxeter3.py + +include VERSION.txt + +graft sage/libs/coxeter3 + +global-exclude *.c +global-exclude *.cpp + +global-exclude __pycache__ +global-exclude *.py[co] +global-exclude *.bak +global-exclude *.so +global-exclude *~ +prune .tox +prune build +prune dist diff --git a/pkgs/sagemath-coxeter3/README.rst b/pkgs/sagemath-coxeter3/README.rst new file mode 100644 index 00000000000..8b605bda499 --- /dev/null +++ b/pkgs/sagemath-coxeter3/README.rst @@ -0,0 +1,31 @@ +==================================================================================================================== + Sage: Open Source Mathematics Software: Coxeter groups, Bruhat ordering, Kazhdan-Lusztig polynomials with coxeter3 +==================================================================================================================== + +About SageMath +-------------- + + "Creating a Viable Open Source Alternative to + Magma, Maple, Mathematica, and MATLAB" + + Copyright (C) 2005-2023 The Sage Development Team + + https://www.sagemath.org + +SageMath fully supports all major Linux distributions, recent versions of +macOS, and Windows (using Cygwin or Windows Subsystem for Linux). + +The traditional and recommended way to install SageMath is from source via +Sage-the-distribution (https://www.sagemath.org/download-source.html). +Sage-the-distribution first builds a large number of open source packages from +source (unless it finds suitable versions installed in the system) and then +installs the Sage Library (sagelib, implemented in Python and Cython). + + +About this pip-installable source distribution +---------------------------------------------- + +This pip-installable source distribution ``sagemath-coxeter3`` is a small +optional distribution for use with ``sagemath-standard``. + +It provides a Cython interface to the ``coxeter3`` library. diff --git a/pkgs/sagemath-coxeter3/VERSION.txt b/pkgs/sagemath-coxeter3/VERSION.txt new file mode 100644 index 00000000000..2f52450b31d --- /dev/null +++ b/pkgs/sagemath-coxeter3/VERSION.txt @@ -0,0 +1 @@ +10.0 diff --git a/pkgs/sagemath-coxeter3/pyproject.toml.m4 b/pkgs/sagemath-coxeter3/pyproject.toml.m4 new file mode 100644 index 00000000000..e5b939e414d --- /dev/null +++ b/pkgs/sagemath-coxeter3/pyproject.toml.m4 @@ -0,0 +1,11 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +# Minimum requirements for the build system to execute. +requires = [ + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_sagemath_environment + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_cysignals +] +build-backend = "setuptools.build_meta" diff --git a/pkgs/sagemath-coxeter3/requirements.txt.m4 b/pkgs/sagemath-coxeter3/requirements.txt.m4 new file mode 100644 index 00000000000..8b6ca03b0b9 --- /dev/null +++ b/pkgs/sagemath-coxeter3/requirements.txt.m4 @@ -0,0 +1,2 @@ +Cython==esyscmd(`printf $(sed "s/[.]p.*//;" ../cython/package-version.txt)') +sagemath-standard==esyscmd(`printf $(sed "s/[.]p.*//;" ../sagelib/package-version.txt)') diff --git a/pkgs/sagemath-coxeter3/sage b/pkgs/sagemath-coxeter3/sage new file mode 120000 index 00000000000..e0da5daa6f2 --- /dev/null +++ b/pkgs/sagemath-coxeter3/sage @@ -0,0 +1 @@ +../../src/sage \ No newline at end of file diff --git a/pkgs/sagemath-coxeter3/setup.cfg.m4 b/pkgs/sagemath-coxeter3/setup.cfg.m4 new file mode 100644 index 00000000000..ab3288d89ab --- /dev/null +++ b/pkgs/sagemath-coxeter3/setup.cfg.m4 @@ -0,0 +1,20 @@ +include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- +[metadata] +name = sagemath-coxeter3 +version = file: VERSION.txt +description = Sage: Open Source Mathematics Software: Coxeter groups, Bruhat ordering, Kazhdan-Lusztig polynomials with coxeter3 +long_description = file: README.rst +long_description_content_type = text/x-rst +include(`setup_cfg_metadata.m4')dnl' + +[options] +python_requires = >=3.8, <3.12 +install_requires = + +packages = + sage.libs.coxeter3 + +[options.package_data] +sage.libs.coxeter3 = + coxeter.pxd + decl.pxd diff --git a/pkgs/sagemath-coxeter3/setup.py b/pkgs/sagemath-coxeter3/setup.py new file mode 100644 index 00000000000..50d81893558 --- /dev/null +++ b/pkgs/sagemath-coxeter3/setup.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from distutils import log +from setuptools import setup + +# Work around a Cython problem in Python 3.8.x on macOS +# https://github.com/cython/cython/issues/3262 +import os +if os.uname().sysname == 'Darwin': + import multiprocessing + multiprocessing.set_start_method('fork', force=True) + +# If build isolation is not in use and setuptools_scm is installed, +# then its file_finders entry point is invoked, which we don't need. +# Workaround from ​https://github.com/pypa/setuptools_scm/issues/190#issuecomment-351181286 +try: + import setuptools_scm.integration + setuptools_scm.integration.find_files = lambda _: [] +except ImportError: + pass + +# PEP 517 builds do not have . in sys.path +import sys +sys.path.insert(0, os.path.dirname(__file__)) + +if len(sys.argv) > 1 and (sys.argv[1] == "sdist" or sys.argv[1] == "egg_info"): + sdist = True +else: + sdist = False + +if sdist: + cmdclass = {} +else: + from sage_setup.excepthook import excepthook + sys.excepthook = excepthook + + from sage_setup.setenv import setenv + setenv() + + import sage.env + sage.env.default_required_modules = sage.env.default_optional_modules = () + + from sage_setup.command.sage_build_cython import sage_build_cython + from sage_setup.command.sage_build_ext import sage_build_ext + sage_build_cython.built_distributions = ['sagemath-coxeter3'] + + cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext) + +from sage_setup.find import find_python_sources +python_packages, python_modules, cython_modules = find_python_sources( + '.', ['sage'], distributions=['sagemath-coxeter3']) + +log.warn('python_packages = {0}'.format(python_packages)) +log.warn('python_modules = {0}'.format(python_modules)) +log.warn('cython_modules = {0}'.format(cython_modules)) + +setup( + cmdclass = cmdclass, + packages = python_packages, + py_modules = python_modules, + ext_modules = cython_modules, +) diff --git a/pkgs/sagemath-environment/README.rst b/pkgs/sagemath-environment/README.rst index ba5905777c0..eaeb4078fed 100644 --- a/pkgs/sagemath-environment/README.rst +++ b/pkgs/sagemath-environment/README.rst @@ -8,7 +8,7 @@ About SageMath "Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, and MATLAB" - Copyright (C) 2005-2022 The Sage Development Team + Copyright (C) 2005-2023 The Sage Development Team https://www.sagemath.org diff --git a/pkgs/sagemath-environment/setup.cfg.m4 b/pkgs/sagemath-environment/setup.cfg.m4 index deb74565b3b..1ede94ee283 100644 --- a/pkgs/sagemath-environment/setup.cfg.m4 +++ b/pkgs/sagemath-environment/setup.cfg.m4 @@ -17,6 +17,7 @@ py_modules = sage.version sage.misc.all__sagemath_environment sage.misc.package + sage.misc.package_dir sage.misc.temporary_file sage.misc.viewer diff --git a/pkgs/sagemath-mcqd/MANIFEST.in b/pkgs/sagemath-mcqd/MANIFEST.in new file mode 100644 index 00000000000..392d97b78e0 --- /dev/null +++ b/pkgs/sagemath-mcqd/MANIFEST.in @@ -0,0 +1,19 @@ +prune sage + +global-include all__sagemath_mcqd.py + +include VERSION.txt + +include sage/graphs/mcqd.p* + +global-exclude *.c +global-exclude *.cpp + +global-exclude __pycache__ +global-exclude *.py[co] +global-exclude *.bak +global-exclude *.so +global-exclude *~ +prune .tox +prune build +prune dist diff --git a/pkgs/sagemath-mcqd/README.rst b/pkgs/sagemath-mcqd/README.rst new file mode 100644 index 00000000000..00ef5f8ea3e --- /dev/null +++ b/pkgs/sagemath-mcqd/README.rst @@ -0,0 +1,33 @@ +=========================================================================== + Sage: Open Source Mathematics Software: Finding maximum cliques with mcqd +=========================================================================== + +About SageMath +-------------- + + "Creating a Viable Open Source Alternative to + Magma, Maple, Mathematica, and MATLAB" + + Copyright (C) 2005-2023 The Sage Development Team + + https://www.sagemath.org + +SageMath fully supports all major Linux distributions, recent versions of +macOS, and Windows (using Cygwin or Windows Subsystem for Linux). + +The traditional and recommended way to install SageMath is from source via +Sage-the-distribution (https://www.sagemath.org/download-source.html). +Sage-the-distribution first builds a large number of open source packages from +source (unless it finds suitable versions installed in the system) and then +installs the Sage Library (sagelib, implemented in Python and Cython). + + +About this pip-installable source distribution +---------------------------------------------- + +This pip-installable source distribution ``sagemath-mcqd`` is a small +optional distribution for use with ``sagemath-standard``. + +It provides a Cython interface to the ``mcqd`` library, +providing a fast exact algorithm for finding a maximum clique in +an undirected graph. diff --git a/pkgs/sagemath-mcqd/VERSION.txt b/pkgs/sagemath-mcqd/VERSION.txt new file mode 100644 index 00000000000..2f52450b31d --- /dev/null +++ b/pkgs/sagemath-mcqd/VERSION.txt @@ -0,0 +1 @@ +10.0 diff --git a/pkgs/sagemath-mcqd/pyproject.toml.m4 b/pkgs/sagemath-mcqd/pyproject.toml.m4 new file mode 100644 index 00000000000..d28ff179a00 --- /dev/null +++ b/pkgs/sagemath-mcqd/pyproject.toml.m4 @@ -0,0 +1,12 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +# Minimum requirements for the build system to execute. +requires = [ + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_sagemath_environment + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_memory_allocator + SPKG_INSTALL_REQUIRES_cysignals +] +build-backend = "setuptools.build_meta" diff --git a/pkgs/sagemath-mcqd/requirements.txt.m4 b/pkgs/sagemath-mcqd/requirements.txt.m4 new file mode 100644 index 00000000000..8b6ca03b0b9 --- /dev/null +++ b/pkgs/sagemath-mcqd/requirements.txt.m4 @@ -0,0 +1,2 @@ +Cython==esyscmd(`printf $(sed "s/[.]p.*//;" ../cython/package-version.txt)') +sagemath-standard==esyscmd(`printf $(sed "s/[.]p.*//;" ../sagelib/package-version.txt)') diff --git a/pkgs/sagemath-mcqd/sage b/pkgs/sagemath-mcqd/sage new file mode 120000 index 00000000000..e0da5daa6f2 --- /dev/null +++ b/pkgs/sagemath-mcqd/sage @@ -0,0 +1 @@ +../../src/sage \ No newline at end of file diff --git a/pkgs/sagemath-mcqd/setup.cfg.m4 b/pkgs/sagemath-mcqd/setup.cfg.m4 new file mode 100644 index 00000000000..fff8f2805ef --- /dev/null +++ b/pkgs/sagemath-mcqd/setup.cfg.m4 @@ -0,0 +1,21 @@ +include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- +[metadata] +name = sagemath-mcqd +version = file: VERSION.txt +description = Sage: Open Source Mathematics Software: Finding maximum cliques with mcqd +long_description = file: README.rst +long_description_content_type = text/x-rst +include(`setup_cfg_metadata.m4')dnl' + +[options] +python_requires = >=3.8, <3.12 +install_requires = + SPKG_INSTALL_REQUIRES_memory_allocator + SPKG_INSTALL_REQUIRES_cysignals + +packages = + sage.graphs + +[options.package_data] +sage.graphs = + mcqd.pxd diff --git a/pkgs/sagemath-mcqd/setup.py b/pkgs/sagemath-mcqd/setup.py new file mode 100644 index 00000000000..c7d90663bfc --- /dev/null +++ b/pkgs/sagemath-mcqd/setup.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from distutils import log +from setuptools import setup + +# Work around a Cython problem in Python 3.8.x on macOS +# https://github.com/cython/cython/issues/3262 +import os +if os.uname().sysname == 'Darwin': + import multiprocessing + multiprocessing.set_start_method('fork', force=True) + +# If build isolation is not in use and setuptools_scm is installed, +# then its file_finders entry point is invoked, which we don't need. +# Workaround from ​https://github.com/pypa/setuptools_scm/issues/190#issuecomment-351181286 +try: + import setuptools_scm.integration + setuptools_scm.integration.find_files = lambda _: [] +except ImportError: + pass + +# PEP 517 builds do not have . in sys.path +import sys +sys.path.insert(0, os.path.dirname(__file__)) + +if len(sys.argv) > 1 and (sys.argv[1] == "sdist" or sys.argv[1] == "egg_info"): + sdist = True +else: + sdist = False + +if sdist: + cmdclass = {} +else: + from sage_setup.excepthook import excepthook + sys.excepthook = excepthook + + from sage_setup.setenv import setenv + setenv() + + import sage.env + sage.env.default_required_modules = sage.env.default_optional_modules = () + + from sage_setup.command.sage_build_cython import sage_build_cython + from sage_setup.command.sage_build_ext import sage_build_ext + sage_build_cython.built_distributions = ['sagemath-mcqd'] + + cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext) + +from sage_setup.find import find_python_sources +python_packages, python_modules, cython_modules = find_python_sources( + '.', ['sage'], distributions=['sagemath-mcqd']) + +log.warn('python_packages = {0}'.format(python_packages)) +log.warn('python_modules = {0}'.format(python_modules)) +log.warn('cython_modules = {0}'.format(cython_modules)) + +setup( + cmdclass = cmdclass, + packages = python_packages, + py_modules = python_modules, + ext_modules = cython_modules, +) diff --git a/pkgs/sagemath-meataxe/MANIFEST.in b/pkgs/sagemath-meataxe/MANIFEST.in new file mode 100644 index 00000000000..4cf78dd5d02 --- /dev/null +++ b/pkgs/sagemath-meataxe/MANIFEST.in @@ -0,0 +1,20 @@ +prune sage + +global-include all__sagemath_meataxe.py + +include VERSION.txt + +include sage/libs/meataxe.p* +include sage/matrix/matrix_gfpn_dense.p* + +global-exclude *.c +global-exclude *.cpp + +global-exclude __pycache__ +global-exclude *.py[co] +global-exclude *.bak +global-exclude *.so +global-exclude *~ +prune .tox +prune build +prune dist diff --git a/pkgs/sagemath-meataxe/README.rst b/pkgs/sagemath-meataxe/README.rst new file mode 100644 index 00000000000..088ce86478b --- /dev/null +++ b/pkgs/sagemath-meataxe/README.rst @@ -0,0 +1,36 @@ +======================================================================================== + Sage: Open Source Mathematics Software: Matrices over small finite fields with meataxe +======================================================================================== + +About SageMath +-------------- + + "Creating a Viable Open Source Alternative to + Magma, Maple, Mathematica, and MATLAB" + + Copyright (C) 2005-2023 The Sage Development Team + + https://www.sagemath.org + +SageMath fully supports all major Linux distributions, recent versions of +macOS, and Windows (using Cygwin or Windows Subsystem for Linux). + +The traditional and recommended way to install SageMath is from source via +Sage-the-distribution (https://www.sagemath.org/download-source.html). +Sage-the-distribution first builds a large number of open source packages from +source (unless it finds suitable versions installed in the system) and then +installs the Sage Library (sagelib, implemented in Python and Cython). + + +About this pip-installable source distribution +---------------------------------------------- + +This pip-installable source distribution ``sagemath-meataxe`` is a small +optional distribution for use with ``sagemath-standard``. + +This distribution provides the SageMath modules :mod:`sage.libs.meataxe` +and :mod:`sage.matrix.matrix_gfpn_dense`. + +It provides a specialized implementation of matrices over the finite field F_q, where +q <= 255, using the `SharedMeatAxe ` +library. diff --git a/pkgs/sagemath-meataxe/VERSION.txt b/pkgs/sagemath-meataxe/VERSION.txt new file mode 100644 index 00000000000..2f52450b31d --- /dev/null +++ b/pkgs/sagemath-meataxe/VERSION.txt @@ -0,0 +1 @@ +10.0 diff --git a/pkgs/sagemath-meataxe/pyproject.toml.m4 b/pkgs/sagemath-meataxe/pyproject.toml.m4 new file mode 100644 index 00000000000..e5b939e414d --- /dev/null +++ b/pkgs/sagemath-meataxe/pyproject.toml.m4 @@ -0,0 +1,11 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +# Minimum requirements for the build system to execute. +requires = [ + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_sagemath_environment + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_cysignals +] +build-backend = "setuptools.build_meta" diff --git a/pkgs/sagemath-meataxe/requirements.txt.m4 b/pkgs/sagemath-meataxe/requirements.txt.m4 new file mode 100644 index 00000000000..8b6ca03b0b9 --- /dev/null +++ b/pkgs/sagemath-meataxe/requirements.txt.m4 @@ -0,0 +1,2 @@ +Cython==esyscmd(`printf $(sed "s/[.]p.*//;" ../cython/package-version.txt)') +sagemath-standard==esyscmd(`printf $(sed "s/[.]p.*//;" ../sagelib/package-version.txt)') diff --git a/pkgs/sagemath-meataxe/sage b/pkgs/sagemath-meataxe/sage new file mode 120000 index 00000000000..e0da5daa6f2 --- /dev/null +++ b/pkgs/sagemath-meataxe/sage @@ -0,0 +1 @@ +../../src/sage \ No newline at end of file diff --git a/pkgs/sagemath-meataxe/setup.cfg.m4 b/pkgs/sagemath-meataxe/setup.cfg.m4 new file mode 100644 index 00000000000..a558825e120 --- /dev/null +++ b/pkgs/sagemath-meataxe/setup.cfg.m4 @@ -0,0 +1,22 @@ +include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- +[metadata] +name = sagemath-meataxe +version = file: VERSION.txt +description = Sage: Open Source Mathematics Software: Matrices over small finite fields with meataxe +long_description = file: README.rst +long_description_content_type = text/x-rst +include(`setup_cfg_metadata.m4')dnl' + +[options] +python_requires = >=3.8, <3.12 + +packages = + sage.libs + sage.matrix + +[options.package_data] +sage.libs = + meataxe.pxd + +sage.matrix = + matrix_gfpn_dense.pxd diff --git a/pkgs/sagemath-meataxe/setup.py b/pkgs/sagemath-meataxe/setup.py new file mode 100644 index 00000000000..638c921a0d3 --- /dev/null +++ b/pkgs/sagemath-meataxe/setup.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from distutils import log +from setuptools import setup + +# Work around a Cython problem in Python 3.8.x on macOS +# https://github.com/cython/cython/issues/3262 +import os +if os.uname().sysname == 'Darwin': + import multiprocessing + multiprocessing.set_start_method('fork', force=True) + +# If build isolation is not in use and setuptools_scm is installed, +# then its file_finders entry point is invoked, which we don't need. +# Workaround from ​https://github.com/pypa/setuptools_scm/issues/190#issuecomment-351181286 +try: + import setuptools_scm.integration + setuptools_scm.integration.find_files = lambda _: [] +except ImportError: + pass + +# PEP 517 builds do not have . in sys.path +import sys +sys.path.insert(0, os.path.dirname(__file__)) + +if len(sys.argv) > 1 and (sys.argv[1] == "sdist" or sys.argv[1] == "egg_info"): + sdist = True +else: + sdist = False + +if sdist: + cmdclass = {} +else: + from sage_setup.excepthook import excepthook + sys.excepthook = excepthook + + from sage_setup.setenv import setenv + setenv() + + import sage.env + sage.env.default_required_modules = sage.env.default_optional_modules = () + + from sage_setup.command.sage_build_cython import sage_build_cython + from sage_setup.command.sage_build_ext import sage_build_ext + sage_build_cython.built_distributions = ['sagemath-meataxe'] + + cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext) + +from sage_setup.find import find_python_sources +python_packages, python_modules, cython_modules = find_python_sources( + '.', ['sage'], distributions=['sagemath-meataxe']) + +log.warn('python_packages = {0}'.format(python_packages)) +log.warn('python_modules = {0}'.format(python_modules)) +log.warn('cython_modules = {0}'.format(cython_modules)) + +setup( + cmdclass = cmdclass, + packages = python_packages, + py_modules = python_modules, + ext_modules = cython_modules, +) diff --git a/pkgs/sagemath-objects/README.rst b/pkgs/sagemath-objects/README.rst index 9dc9cfd888f..4426d8683a3 100644 --- a/pkgs/sagemath-objects/README.rst +++ b/pkgs/sagemath-objects/README.rst @@ -8,7 +8,7 @@ About SageMath "Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, and MATLAB" - Copyright (C) 2005-2022 The Sage Development Team + Copyright (C) 2005-2023 The Sage Development Team https://www.sagemath.org diff --git a/pkgs/sagemath-repl/README.rst b/pkgs/sagemath-repl/README.rst index 3dde4aae5e5..90b73be3cf5 100644 --- a/pkgs/sagemath-repl/README.rst +++ b/pkgs/sagemath-repl/README.rst @@ -8,7 +8,7 @@ About SageMath "Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, and MATLAB" - Copyright (C) 2005-2022 The Sage Development Team + Copyright (C) 2005-2023 The Sage Development Team https://www.sagemath.org diff --git a/pkgs/sagemath-sirocco/MANIFEST.in b/pkgs/sagemath-sirocco/MANIFEST.in new file mode 100644 index 00000000000..7fab4dffc5d --- /dev/null +++ b/pkgs/sagemath-sirocco/MANIFEST.in @@ -0,0 +1,15 @@ +global-include all__sagemath_sirocco.py + +include VERSION.txt + +global-exclude *.c +global-exclude *.cpp + +global-exclude __pycache__ +global-exclude *.py[co] +global-exclude *.bak +global-exclude *.so +global-exclude *~ +prune .tox +prune build +prune dist diff --git a/pkgs/sagemath-sirocco/README.rst b/pkgs/sagemath-sirocco/README.rst new file mode 100644 index 00000000000..0207d63b9a5 --- /dev/null +++ b/pkgs/sagemath-sirocco/README.rst @@ -0,0 +1,32 @@ +================================================================================== + Sage: Open Source Mathematics Software: Certified root continuation with sirocco +================================================================================== + +About SageMath +-------------- + + "Creating a Viable Open Source Alternative to + Magma, Maple, Mathematica, and MATLAB" + + Copyright (C) 2005-2023 The Sage Development Team + + https://www.sagemath.org + +SageMath fully supports all major Linux distributions, recent versions of +macOS, and Windows (using Cygwin or Windows Subsystem for Linux). + +The traditional and recommended way to install SageMath is from source via +Sage-the-distribution (https://www.sagemath.org/download-source.html). +Sage-the-distribution first builds a large number of open source packages from +source (unless it finds suitable versions installed in the system) and then +installs the Sage Library (sagelib, implemented in Python and Cython). + + +About this pip-installable source distribution +---------------------------------------------- + +This pip-installable source distribution ``sagemath-sirocco`` is a small +optional distribution for use with ``sagemath-standard``. + +It provides a Cython interface to the ``sirocco`` library for the purpose +of compute topologically certified root continuation of bivariate polynomials. diff --git a/pkgs/sagemath-sirocco/VERSION.txt b/pkgs/sagemath-sirocco/VERSION.txt new file mode 100644 index 00000000000..2f52450b31d --- /dev/null +++ b/pkgs/sagemath-sirocco/VERSION.txt @@ -0,0 +1 @@ +10.0 diff --git a/pkgs/sagemath-sirocco/pyproject.toml.m4 b/pkgs/sagemath-sirocco/pyproject.toml.m4 new file mode 100644 index 00000000000..1b000bd5c3b --- /dev/null +++ b/pkgs/sagemath-sirocco/pyproject.toml.m4 @@ -0,0 +1,12 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +# Minimum requirements for the build system to execute. +requires = [ + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_sagemath_environment + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_cypari + SPKG_INSTALL_REQUIRES_cysignals +] +build-backend = "setuptools.build_meta" diff --git a/pkgs/sagemath-sirocco/requirements.txt.m4 b/pkgs/sagemath-sirocco/requirements.txt.m4 new file mode 100644 index 00000000000..8b6ca03b0b9 --- /dev/null +++ b/pkgs/sagemath-sirocco/requirements.txt.m4 @@ -0,0 +1,2 @@ +Cython==esyscmd(`printf $(sed "s/[.]p.*//;" ../cython/package-version.txt)') +sagemath-standard==esyscmd(`printf $(sed "s/[.]p.*//;" ../sagelib/package-version.txt)') diff --git a/pkgs/sagemath-sirocco/sage b/pkgs/sagemath-sirocco/sage new file mode 120000 index 00000000000..e0da5daa6f2 --- /dev/null +++ b/pkgs/sagemath-sirocco/sage @@ -0,0 +1 @@ +../../src/sage \ No newline at end of file diff --git a/pkgs/sagemath-sirocco/setup.cfg.m4 b/pkgs/sagemath-sirocco/setup.cfg.m4 new file mode 100644 index 00000000000..4f1e0f03d95 --- /dev/null +++ b/pkgs/sagemath-sirocco/setup.cfg.m4 @@ -0,0 +1,14 @@ +include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- +[metadata] +name = sagemath-sirocco +version = file: VERSION.txt +description = Sage: Open Source Mathematics Software: Certified root continuation with sirocco +long_description = file: README.rst +long_description_content_type = text/x-rst +include(`setup_cfg_metadata.m4')dnl' + +[options] +python_requires = >=3.8, <3.12 +install_requires = + SPKG_INSTALL_REQUIRES_cypari + SPKG_INSTALL_REQUIRES_cysignals diff --git a/pkgs/sagemath-sirocco/setup.py b/pkgs/sagemath-sirocco/setup.py new file mode 100644 index 00000000000..bffe9189bb5 --- /dev/null +++ b/pkgs/sagemath-sirocco/setup.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from distutils import log +from setuptools import setup + +# Work around a Cython problem in Python 3.8.x on macOS +# https://github.com/cython/cython/issues/3262 +import os +if os.uname().sysname == 'Darwin': + import multiprocessing + multiprocessing.set_start_method('fork', force=True) + +# If build isolation is not in use and setuptools_scm is installed, +# then its file_finders entry point is invoked, which we don't need. +# Workaround from ​https://github.com/pypa/setuptools_scm/issues/190#issuecomment-351181286 +try: + import setuptools_scm.integration + setuptools_scm.integration.find_files = lambda _: [] +except ImportError: + pass + +# PEP 517 builds do not have . in sys.path +import sys +sys.path.insert(0, os.path.dirname(__file__)) + +if len(sys.argv) > 1 and (sys.argv[1] == "sdist" or sys.argv[1] == "egg_info"): + sdist = True +else: + sdist = False + +if sdist: + cmdclass = {} +else: + from sage_setup.excepthook import excepthook + sys.excepthook = excepthook + + from sage_setup.setenv import setenv + setenv() + + import sage.env + sage.env.default_required_modules = sage.env.default_optional_modules = () + + from sage_setup.command.sage_build_cython import sage_build_cython + from sage_setup.command.sage_build_ext import sage_build_ext + sage_build_cython.built_distributions = ['sagemath-sirocco'] + + cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext) + +from sage_setup.find import find_python_sources +python_packages, python_modules, cython_modules = find_python_sources( + '.', ['sage'], distributions=['sagemath-sirocco']) + +log.warn('python_packages = {0}'.format(python_packages)) +log.warn('python_modules = {0}'.format(python_modules)) +log.warn('cython_modules = {0}'.format(cython_modules)) + +setup( + cmdclass = cmdclass, + packages = python_packages, + py_modules = python_modules, + ext_modules = cython_modules, +) diff --git a/pkgs/sagemath-standard/setup.py b/pkgs/sagemath-standard/setup.py index 975f89b5905..7f6318a0fa0 100755 --- a/pkgs/sagemath-standard/setup.py +++ b/pkgs/sagemath-standard/setup.py @@ -76,15 +76,14 @@ # TODO: This should be quiet by default print("Discovering Python/Cython source code....") t = time.time() -distributions = [''] from sage.misc.package import is_package_installed_and_updated -optional_packages_with_extensions = ['mcqd', 'bliss', 'tdlib', - 'coxeter3', 'sirocco', 'meataxe'] +distributions = [''] +optional_packages_with_extensions = os.environ.get('SAGE_OPTIONAL_PACKAGES_WITH_EXTENSIONS', '').split(',') distributions += ['sagemath-{}'.format(pkg) for pkg in optional_packages_with_extensions if is_package_installed_and_updated(pkg)] log.warn('distributions = {0}'.format(distributions)) -from sage_setup.find import find_python_sources, find_extra_files +from sage_setup.find import find_python_sources python_packages, python_modules, cython_modules = find_python_sources( SAGE_SRC, ['sage'], distributions=distributions) diff --git a/pkgs/sagemath-tdlib/MANIFEST.in b/pkgs/sagemath-tdlib/MANIFEST.in new file mode 100644 index 00000000000..f3fbc97a588 --- /dev/null +++ b/pkgs/sagemath-tdlib/MANIFEST.in @@ -0,0 +1,17 @@ +global-include all__sagemath_tdlib.py + +include VERSION.txt + +global-exclude *.c +global-exclude *.cpp + +include sage/graphs/graph_decompositions/sage_tdlib.cpp + +global-exclude __pycache__ +global-exclude *.py[co] +global-exclude *.bak +global-exclude *.so +global-exclude *~ +prune .tox +prune build +prune dist diff --git a/pkgs/sagemath-tdlib/README.rst b/pkgs/sagemath-tdlib/README.rst new file mode 100644 index 00000000000..0c91ddcf1c6 --- /dev/null +++ b/pkgs/sagemath-tdlib/README.rst @@ -0,0 +1,32 @@ +======================================================================== + Sage: Open Source Mathematics Software: Tree decompositions with tdlib +======================================================================== + +About SageMath +-------------- + + "Creating a Viable Open Source Alternative to + Magma, Maple, Mathematica, and MATLAB" + + Copyright (C) 2005-2023 The Sage Development Team + + https://www.sagemath.org + +SageMath fully supports all major Linux distributions, recent versions of +macOS, and Windows (using Cygwin or Windows Subsystem for Linux). + +The traditional and recommended way to install SageMath is from source via +Sage-the-distribution (https://www.sagemath.org/download-source.html). +Sage-the-distribution first builds a large number of open source packages from +source (unless it finds suitable versions installed in the system) and then +installs the Sage Library (sagelib, implemented in Python and Cython). + + +About this pip-installable source distribution +---------------------------------------------- + +This pip-installable source distribution ``sagemath-tdlib`` is a small +optional distribution for use with ``sagemath-standard``. + +It provides a Cython interface to the ``tdlib`` library, providing +algorithms concerning tree decompositions. diff --git a/pkgs/sagemath-tdlib/VERSION.txt b/pkgs/sagemath-tdlib/VERSION.txt new file mode 100644 index 00000000000..2f52450b31d --- /dev/null +++ b/pkgs/sagemath-tdlib/VERSION.txt @@ -0,0 +1 @@ +10.0 diff --git a/pkgs/sagemath-tdlib/pyproject.toml.m4 b/pkgs/sagemath-tdlib/pyproject.toml.m4 new file mode 100644 index 00000000000..e5b939e414d --- /dev/null +++ b/pkgs/sagemath-tdlib/pyproject.toml.m4 @@ -0,0 +1,11 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +# Minimum requirements for the build system to execute. +requires = [ + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_sagemath_environment + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_cysignals +] +build-backend = "setuptools.build_meta" diff --git a/pkgs/sagemath-tdlib/requirements.txt.m4 b/pkgs/sagemath-tdlib/requirements.txt.m4 new file mode 100644 index 00000000000..8b6ca03b0b9 --- /dev/null +++ b/pkgs/sagemath-tdlib/requirements.txt.m4 @@ -0,0 +1,2 @@ +Cython==esyscmd(`printf $(sed "s/[.]p.*//;" ../cython/package-version.txt)') +sagemath-standard==esyscmd(`printf $(sed "s/[.]p.*//;" ../sagelib/package-version.txt)') diff --git a/pkgs/sagemath-tdlib/sage b/pkgs/sagemath-tdlib/sage new file mode 120000 index 00000000000..e0da5daa6f2 --- /dev/null +++ b/pkgs/sagemath-tdlib/sage @@ -0,0 +1 @@ +../../src/sage \ No newline at end of file diff --git a/pkgs/sagemath-tdlib/setup.cfg.m4 b/pkgs/sagemath-tdlib/setup.cfg.m4 new file mode 100644 index 00000000000..62833bbe6f6 --- /dev/null +++ b/pkgs/sagemath-tdlib/setup.cfg.m4 @@ -0,0 +1,12 @@ +include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- +[metadata] +name = sagemath-tdlib +version = file: VERSION.txt +description = Sage: Open Source Mathematics Software: Tree decompositions with tdlib +long_description = file: README.rst +long_description_content_type = text/x-rst +include(`setup_cfg_metadata.m4')dnl' + +[options] +python_requires = >=3.8, <3.12 +install_requires = SPKG_INSTALL_REQUIRES_cysignals diff --git a/pkgs/sagemath-tdlib/setup.py b/pkgs/sagemath-tdlib/setup.py new file mode 100644 index 00000000000..12547533309 --- /dev/null +++ b/pkgs/sagemath-tdlib/setup.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python + +from distutils import log +from setuptools import setup + +# Work around a Cython problem in Python 3.8.x on macOS +# https://github.com/cython/cython/issues/3262 +import os +if os.uname().sysname == 'Darwin': + import multiprocessing + multiprocessing.set_start_method('fork', force=True) + +# If build isolation is not in use and setuptools_scm is installed, +# then its file_finders entry point is invoked, which we don't need. +# Workaround from ​https://github.com/pypa/setuptools_scm/issues/190#issuecomment-351181286 +try: + import setuptools_scm.integration + setuptools_scm.integration.find_files = lambda _: [] +except ImportError: + pass + +# PEP 517 builds do not have . in sys.path +import sys +sys.path.insert(0, os.path.dirname(__file__)) + +if len(sys.argv) > 1 and (sys.argv[1] == "sdist" or sys.argv[1] == "egg_info"): + sdist = True +else: + sdist = False + +if sdist: + cmdclass = {} +else: + from sage_setup.excepthook import excepthook + sys.excepthook = excepthook + + from sage_setup.setenv import setenv + setenv() + + import sage.env + sage.env.default_required_modules = sage.env.default_optional_modules = () + + from sage_setup.command.sage_build_cython import sage_build_cython + from sage_setup.command.sage_build_ext import sage_build_ext + sage_build_cython.built_distributions = ['sagemath-tdlib'] + + cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext) + +from sage_setup.find import find_python_sources +python_packages, python_modules, cython_modules = find_python_sources( + '.', ['sage'], distributions=['sagemath-tdlib']) + +log.warn('python_packages = {0}'.format(python_packages)) +log.warn('python_modules = {0}'.format(python_modules)) +log.warn('cython_modules = {0}'.format(cython_modules)) + +setup( + cmdclass = cmdclass, + packages = python_packages, + py_modules = python_modules, + ext_modules = cython_modules, +) diff --git a/src/MANIFEST.in b/src/MANIFEST.in index 1e7df6e529b..0f6e2a37890 100644 --- a/src/MANIFEST.in +++ b/src/MANIFEST.in @@ -44,6 +44,9 @@ include sage/geometry/triangulation/triangulations.cc include sage/geometry/triangulation/data.cc include sage/geometry/triangulation/functions.cc +# Exclude extension modules shipped by optional packages +exclude sage/graphs/bliss.pyx + global-exclude __pycache__ global-exclude *.py[co] global-exclude *.bak diff --git a/src/bin/sage-update-version b/src/bin/sage-update-version index fd6d2a8dcf3..29d8c794375 100755 --- a/src/bin/sage-update-version +++ b/src/bin/sage-update-version @@ -48,7 +48,11 @@ done if [ -f "$spkg"/install-requires.txt -a -d "$spkg"/src ]; then ( echo "# This file is updated on every release by the sage-update-version script" # Normalize the package name to PyPI convention (dashes, not underscores) - pkg=${spkg//_/-} + if [ "$spkg" = sagelib ]; then + pkg=sagemath-standard + else + pkg=${spkg//_/-} + fi # Normalize the version (updated above as VERSION.txt) according to PEP440. version=$(cat "$spkg"/package-version.txt) version=${version//.beta/b} diff --git a/src/sage/all__sagemath_bliss.py b/src/sage/all__sagemath_bliss.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/all__sagemath_coxeter3.py b/src/sage/all__sagemath_coxeter3.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/all__sagemath_mcqd.py b/src/sage/all__sagemath_mcqd.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/all__sagemath_meataxe.py b/src/sage/all__sagemath_meataxe.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/all__sagemath_sirocco.py b/src/sage/all__sagemath_sirocco.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/all__sagemath_tdlib.py b/src/sage/all__sagemath_tdlib.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/graphs/all__sagemath_bliss.py b/src/sage/graphs/all__sagemath_bliss.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/graphs/all__sagemath_mcqd.py b/src/sage/graphs/all__sagemath_mcqd.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/graphs/all__sagemath_tdlib.py b/src/sage/graphs/all__sagemath_tdlib.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/graphs/bliss_cpp/bliss_find_automorphisms.h b/src/sage/graphs/bliss_cpp/bliss_find_automorphisms.h index a2c084a163e..b87a14e7a8c 100644 --- a/src/sage/graphs/bliss_cpp/bliss_find_automorphisms.h +++ b/src/sage/graphs/bliss_cpp/bliss_find_automorphisms.h @@ -1,3 +1,5 @@ +/* sage_setup: distribution = sagemath-bliss */ + #include #include diff --git a/src/sage/graphs/graph_decompositions/all__sagemath_tdlib.py b/src/sage/graphs/graph_decompositions/all__sagemath_tdlib.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/graphs/mcqd.pxd b/src/sage/graphs/mcqd.pxd index d8d8b01bc72..d7a2faa6d58 100644 --- a/src/sage/graphs/mcqd.pxd +++ b/src/sage/graphs/mcqd.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-mcqd + from libcpp cimport bool cdef extern from "mcqd.h": @@ -5,4 +7,3 @@ cdef extern from "mcqd.h": Maxclique() Maxclique(bool **, int n) void mcqdyn(int * maxclique, int& size) - diff --git a/src/sage/libs/all__sagemath_coxeter3.py b/src/sage/libs/all__sagemath_coxeter3.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_meataxe.py b/src/sage/libs/all__sagemath_meataxe.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/all__sagemath_sirocco.py b/src/sage/libs/all__sagemath_sirocco.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/coxeter3/all__sagemath_coxeter3.py b/src/sage/libs/coxeter3/all__sagemath_coxeter3.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/libs/coxeter3/coxeter.pxd b/src/sage/libs/coxeter3/coxeter.pxd index cffa2505e39..9d5cb2a3f5d 100644 --- a/src/sage/libs/coxeter3/coxeter.pxd +++ b/src/sage/libs/coxeter3/coxeter.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-coxeter3 + #***************************************************************************** # Copyright (C) 2009-2013 Mike Hansen # diff --git a/src/sage/libs/coxeter3/coxeter.pyx b/src/sage/libs/coxeter3/coxeter.pyx index 61fa617ede1..b6444ea177d 100644 --- a/src/sage/libs/coxeter3/coxeter.pyx +++ b/src/sage/libs/coxeter3/coxeter.pyx @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # distutils: language = c++ # distutils: libraries = coxeter3 # sage_setup: distribution = sagemath-coxeter3 diff --git a/src/sage/libs/coxeter3/coxeter_group.py b/src/sage/libs/coxeter3/coxeter_group.py index ab8dfb2ae0c..527cfc61c6f 100644 --- a/src/sage/libs/coxeter3/coxeter_group.py +++ b/src/sage/libs/coxeter3/coxeter_group.py @@ -1,4 +1,5 @@ -# -*- coding: utf-8 -*- +# sage_setup: distribution = sagemath-coxeter3 + """ Coxeter Groups implemented with Coxeter3 """ diff --git a/src/sage/libs/coxeter3/decl.pxd b/src/sage/libs/coxeter3/decl.pxd index 56002154226..4f9c7b0c186 100644 --- a/src/sage/libs/coxeter3/decl.pxd +++ b/src/sage/libs/coxeter3/decl.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-coxeter3 + #***************************************************************************** # Copyright (C) 2009-2013 Mike Hansen # diff --git a/src/sage/libs/meataxe.pxd b/src/sage/libs/meataxe.pxd index 68c8b3467b0..0a928e19c37 100644 --- a/src/sage/libs/meataxe.pxd +++ b/src/sage/libs/meataxe.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-meataxe + #***************************************************************************** # Copyright (C) 2015 Simon King # diff --git a/src/sage/matrix/all__sagemath_meataxe.py b/src/sage/matrix/all__sagemath_meataxe.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/sage/matrix/matrix_gfpn_dense.pxd b/src/sage/matrix/matrix_gfpn_dense.pxd index 92b0a78d6d2..7a457876b9a 100644 --- a/src/sage/matrix/matrix_gfpn_dense.pxd +++ b/src/sage/matrix/matrix_gfpn_dense.pxd @@ -1,3 +1,5 @@ +# sage_setup: distribution = sagemath-meataxe + #***************************************************************************** # Copyright (C) 2015 Simon King #