Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
gh-35661: New modularized distributions sagemath-{sirocco,bliss,meataxe,mcqd,coxeter3,tdlib}
    
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes #12345", use "Add a new method to
multiply two integers" -->

### 📚 Description

<!-- Describe your changes here in detail. -->
<!-- Why is this change required? What problem does it solve? -->
As reported by @kiwifb in https://groups.google.com/g/sage-
release/c/BdHjadsnYUc/m/Qb1SVmn4AAAJ, the sagemath-standard-10.0
distribution does not include the file `src/sage/graphs/bliss.pyx`.
We create separate distributions that ship the missing files:

- https://pypi.org/project/sagemath-tdlib/10.0/
- https://pypi.org/project/sagemath-meataxe/10.0/
- https://pypi.org/project/sagemath-coxeter3/10.0/
- https://pypi.org/project/sagemath-bliss/10.0/
- https://pypi.org/project/sagemath-mcqd/10.0/
- https://pypi.org/project/sagemath-sirocco/10.0/


<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes #12345". -->
- Resolves #34346
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- #12345: short description why this is a dependency
- #34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: #35661
Reported by: Matthias Köppe
Reviewer(s): François Bissey
  • Loading branch information
Release Manager committed Jul 29, 2023
2 parents 1436ea2 + 9bb15bc commit 3a51d8c
Show file tree
Hide file tree
Showing 145 changed files with 1,313 additions and 15 deletions.
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
8 changes: 7 additions & 1 deletion build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -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) \
Expand Down
1 change: 1 addition & 0 deletions build/pkgs/bliss/distros/gentoo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sci-libs/bliss
2 changes: 1 addition & 1 deletion build/pkgs/sagelib/install-requires.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagelib ~= 10.1b7
sagemath-standard ~= 10.1b7
3 changes: 3 additions & 0 deletions build/pkgs/sagelib/spkg-install
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down
1 change: 1 addition & 0 deletions build/pkgs/sagemath_bliss/SPKG.rst
1 change: 1 addition & 0 deletions build/pkgs/sagemath_bliss/bootstrap
1 change: 1 addition & 0 deletions build/pkgs/sagemath_bliss/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$(PYTHON) bliss cysignals | $(PYTHON_TOOLCHAIN) sage_setup sage_conf sagemath_environment cython pkgconfig
1 change: 1 addition & 0 deletions build/pkgs/sagemath_bliss/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sagemath-bliss
2 changes: 2 additions & 0 deletions build/pkgs/sagemath_bliss/install-requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-bliss ~= 10.0
1 change: 1 addition & 0 deletions build/pkgs/sagemath_bliss/package-version.txt
29 changes: 29 additions & 0 deletions build/pkgs/sagemath_bliss/spkg-install
Original file line number Diff line number Diff line change
@@ -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
24 changes: 24 additions & 0 deletions build/pkgs/sagemath_bliss/spkg-src
Original file line number Diff line number Diff line change
@@ -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"
1 change: 1 addition & 0 deletions build/pkgs/sagemath_bliss/src
1 change: 1 addition & 0 deletions build/pkgs/sagemath_bliss/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
1 change: 1 addition & 0 deletions build/pkgs/sagemath_coxeter3/SPKG.rst
1 change: 1 addition & 0 deletions build/pkgs/sagemath_coxeter3/bootstrap
1 change: 1 addition & 0 deletions build/pkgs/sagemath_coxeter3/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$(PYTHON) coxeter3 | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig
1 change: 1 addition & 0 deletions build/pkgs/sagemath_coxeter3/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sagemath-coxeter3
2 changes: 2 additions & 0 deletions build/pkgs/sagemath_coxeter3/install-requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-coxeter3 ~= 10.0
1 change: 1 addition & 0 deletions build/pkgs/sagemath_coxeter3/package-version.txt
29 changes: 29 additions & 0 deletions build/pkgs/sagemath_coxeter3/spkg-install
Original file line number Diff line number Diff line change
@@ -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
24 changes: 24 additions & 0 deletions build/pkgs/sagemath_coxeter3/spkg-src
Original file line number Diff line number Diff line change
@@ -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"
1 change: 1 addition & 0 deletions build/pkgs/sagemath_coxeter3/src
1 change: 1 addition & 0 deletions build/pkgs/sagemath_coxeter3/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
1 change: 1 addition & 0 deletions build/pkgs/sagemath_mcqd/SPKG.rst
1 change: 1 addition & 0 deletions build/pkgs/sagemath_mcqd/bootstrap
1 change: 1 addition & 0 deletions build/pkgs/sagemath_mcqd/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$(PYTHON) mcqd memory_allocator cysignals | $(PYTHON_TOOLCHAIN) sage_setup cython pkgconfig
1 change: 1 addition & 0 deletions build/pkgs/sagemath_mcqd/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sagemath-mcqd
2 changes: 2 additions & 0 deletions build/pkgs/sagemath_mcqd/install-requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-mcqd ~= 10.0
1 change: 1 addition & 0 deletions build/pkgs/sagemath_mcqd/package-version.txt
29 changes: 29 additions & 0 deletions build/pkgs/sagemath_mcqd/spkg-install
Original file line number Diff line number Diff line change
@@ -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
24 changes: 24 additions & 0 deletions build/pkgs/sagemath_mcqd/spkg-src
Original file line number Diff line number Diff line change
@@ -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"
1 change: 1 addition & 0 deletions build/pkgs/sagemath_mcqd/src
1 change: 1 addition & 0 deletions build/pkgs/sagemath_mcqd/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
1 change: 1 addition & 0 deletions build/pkgs/sagemath_meataxe/SPKG.rst
1 change: 1 addition & 0 deletions build/pkgs/sagemath_meataxe/bootstrap
1 change: 1 addition & 0 deletions build/pkgs/sagemath_meataxe/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$(PYTHON) meataxe | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig
1 change: 1 addition & 0 deletions build/pkgs/sagemath_meataxe/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sagemath-meataxe
2 changes: 2 additions & 0 deletions build/pkgs/sagemath_meataxe/install-requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-meataxe ~= 10.0
1 change: 1 addition & 0 deletions build/pkgs/sagemath_meataxe/package-version.txt
29 changes: 29 additions & 0 deletions build/pkgs/sagemath_meataxe/spkg-install
Original file line number Diff line number Diff line change
@@ -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
24 changes: 24 additions & 0 deletions build/pkgs/sagemath_meataxe/spkg-src
Original file line number Diff line number Diff line change
@@ -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"
1 change: 1 addition & 0 deletions build/pkgs/sagemath_meataxe/src
1 change: 1 addition & 0 deletions build/pkgs/sagemath_meataxe/type
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
optional
1 change: 1 addition & 0 deletions build/pkgs/sagemath_sirocco/SPKG.rst
1 change: 1 addition & 0 deletions build/pkgs/sagemath_sirocco/bootstrap
1 change: 1 addition & 0 deletions build/pkgs/sagemath_sirocco/dependencies
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$(PYTHON) sirocco cypari cysignals mpfr | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig
1 change: 1 addition & 0 deletions build/pkgs/sagemath_sirocco/distros/conda.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sagemath-sirocco
2 changes: 2 additions & 0 deletions build/pkgs/sagemath_sirocco/install-requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# This file is updated on every release by the sage-update-version script
sagemath-sirocco ~= 10.0
1 change: 1 addition & 0 deletions build/pkgs/sagemath_sirocco/package-version.txt
Loading

0 comments on commit 3a51d8c

Please sign in to comment.