Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 4 additions & 9 deletions .github/workflows/ci-distro.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,8 @@ on:
paths:
- '.github/workflows/ci-distro.yml'
- 'build/pkgs/**'
- 'build/make/**'
- 'configure.ac'
- '!build/pkgs/sage_conf/**'
- '!build/pkgs/sage_docbuild/**'
- '!build/pkgs/sage_setup/**'
- '!build/pkgs/sage_sws2rst/**'
- '!build/pkgs/sagelib/**'
- '!build/pkgs/sagemath_*/**'
push:
tags:
- '*'
Expand All @@ -35,7 +30,7 @@ on:
env:
TARGETS_PRE: all-sage-local
TARGETS: build
TARGETS_OPTIONAL: ptest
TARGETS_OPTIONAL: ptestlong

permissions:
packages: write
Expand All @@ -56,7 +51,7 @@ jobs:
# FIXME: duplicated from env.TARGETS
targets_pre: all-sage-local
targets: build
targets_optional: ptest
targets_optional: ptestlong
tox_system_factors: >-
["ubuntu-jammy"]
tox_packages_factors: >-
Expand All @@ -71,7 +66,7 @@ jobs:
docker_targets: "with-system-packages configured with-targets-pre with-targets with-targets-optional"
targets_pre: all-sage-local
targets: build
targets_optional: ptest
targets_optional: ptestlong
tox_packages_factors: >-
["standard"]
docker_push_repository: ghcr.io/${{ github.repository }}/
2 changes: 1 addition & 1 deletion .github/workflows/dist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ jobs:
run: |
"${{ steps.python.outputs.python-path }}" -m pip install cibuildwheel==3.0.1
export PATH=build/bin:$PATH
echo CIBW_BEFORE_ALL="( $(sage-print-system-package-command debian --yes --no-install-recommends install $(sage-get-system-packages debian $SPKGS)) || $(sage-print-system-package-command fedora --yes --no-install-recommends install $(sage-get-system-packages fedora $SPKGS | sed s/pkg-config/pkgconfig/)) || ( $(sage-print-system-package-command homebrew --yes --no-install-recommends install $(sage-get-system-packages homebrew $SPKGS)) || $(sage-print-system-package-command alpine --yes --no-install-recommends install $(sage-get-system-packages alpine $SPKGS)) || echo error ignored) ) && if cp /host/sage-\$AUDITWHEEL_PLAT/config.status . 2>/dev/null; then chmod +x config.status; fi && if [ -x ./config.status ]; then ./config.status; else ./configure --enable-build-as-root ${{ startsWith(matrix.os, 'ubuntu') && '--prefix=/host/sage-\$AUDITWHEEL_PLAT' || '' }} && cp config.status prefix/; fi && MAKE=\"make -j6\" make V=0 $TARGETS_PRE && (echo \"sage_conf @ file://\$(pwd)/pkgs/sage-conf\" && echo \"sage_setup @ file://\$(pwd)/pkgs/sage-setup\") > constraints.txt" >> "$GITHUB_ENV"
echo CIBW_BEFORE_ALL="( $(sage-print-system-package-command debian --yes --no-install-recommends install $(sage-get-system-packages debian $SPKGS)) || $(sage-print-system-package-command fedora --yes --no-install-recommends install $(sage-get-system-packages fedora $SPKGS | sed s/pkg-config/pkgconfig/)) || ( $(sage-print-system-package-command homebrew --yes --no-install-recommends install $(sage-get-system-packages homebrew $SPKGS)) || $(sage-print-system-package-command alpine --yes --no-install-recommends install $(sage-get-system-packages alpine $SPKGS)) || echo error ignored) ) && if cp /host/sage-\$AUDITWHEEL_PLAT/config.status . 2>/dev/null; then chmod +x config.status; fi && if [ -x ./config.status ]; then ./config.status; else ./configure --enable-build-as-root ${{ startsWith(matrix.os, 'ubuntu') && '--prefix=/host/sage-\$AUDITWHEEL_PLAT' || '' }} && cp config.status prefix/; fi && MAKE=\"make -j6\" make V=0 $TARGETS_PRE && echo \"sage_setup @ file://\$(pwd)/pkgs/sage-setup\") > constraints.txt" >> "$GITHUB_ENV"
mkdir -p unpacked
for sdist in dist/$pkg*.tar.gz; do
(cd unpacked && tar xfz - ) < $sdist
Expand Down
10 changes: 0 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -205,16 +205,6 @@ build/pkgs/wheel/version_requirements.txt
/pkgs/*/venv*
/pkgs/*/.venv*

/pkgs/sage-conf_pypi/sage_root/config.log
/pkgs/sage-conf_pypi/sage_root/config.status
/pkgs/sage-conf_pypi/sage_root/local/
/pkgs/sage-conf_pypi/sage_root/logs/
/pkgs/sage-conf_pypi/sage_root/prefix
/pkgs/sage-conf_pypi/sage_root/src/bin/sage-env-config
/pkgs/sage-conf_pypi/sage_root/src/bin/sage-src-env-config
/pkgs/sage-conf_pypi/sage_root/upstream/
/pkgs/sage-conf_pypi/sage_root/venv

/pkgs/sagemath-objects/setup.cfg
/pkgs/sagemath-bliss/setup.cfg
/pkgs/sagemath-coxeter3/setup.cfg
Expand Down
1 change: 0 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
// Exclude symbolic links into SAGE_ROOT/pkgs/
"build/pkgs/*/src": true,
// Exclude symbolic links into SAGE_ROOT/src/
"pkgs/sage-conf_pypi/sage_root": true,
"pkgs/sage-docbuild/sage_docbuild": true,
"pkgs/sage-setup/sage_setup": true,
"pkgs/sagemath-*/sage": true,
Expand Down
47 changes: 0 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -434,50 +434,6 @@ in the Installation Guide.
[Launching SageMath](https://doc.sagemath.org/html/en/installation/launching.html)
in the Sage Installation Guide.

Alternative Installation using PyPI
---------------

For installing Sage in a Python environment from PyPI, Sage provides the
`pip`-installable package [sagemath-standard](https://pypi.org/project/sagemath-standard/).

Unless you need to install Sage into a specific existing environment, we recommend
to create and activate a fresh virtual environment, for example `~/sage-venv/`:

$ python3 -m venv ~/sage-venv
$ source ~/sage-venv/bin/activate

As the first installation step, install [sage_conf](https://pypi.org/project/sage-conf/),
which builds various prerequisite packages in a subdirectory of `~/.sage/`:

(sage-venv) $ python3 -m pip install -v sage_conf

After a successful installation, a wheelhouse provides various Python packages.
You can list the wheels using the command:

(sage-venv) $ ls $(sage-config SAGE_SPKG_WHEELS)

If this gives an error saying that `sage-config` is not found, check any messages
that the `pip install` command may have printed. You may need to adjust your `PATH`,
for example by:

$ export PATH="$(python3 -c 'import sysconfig; print(sysconfig.get_path("scripts", "posix_user"))'):$PATH"

Now install the packages from the wheelhouse and the [sage_setup](https://pypi.org/project/sage-conf/)
package, and finally install the Sage library:

(sage-venv) $ python3 -m pip install $(sage-config SAGE_SPKG_WHEELS)/*.whl sage_setup
(sage-venv) $ python3 -m pip install --no-build-isolation -v sagemath-standard

The above instructions install the latest stable release of Sage.
To install the latest development version instead, add the switch `--pre` to all invocations of
`python3 -m pip install`.

**NOTE:** PyPI has various other `pip`-installable packages with the word "sage" in their names.
Some of them are maintained by the SageMath project, some are provided by SageMath users for
various purposes, and others are entirely unrelated to SageMath. Do not use the packages
`sage` and `sagemath`. For a curated list of packages, see the chapter
[Packages and Features](https://doc.sagemath.org/html/en/reference/spkg/index.html) of the
Sage Reference Manual.

SageMath Docker images
----------------------
Expand Down Expand Up @@ -530,9 +486,6 @@ SAGE_ROOT Root directory (create by git clone)
├── configure Top-level configure script
├── COPYING.txt Copyright information
├── pkgs Source trees of Python distribution packages
│ ├── sage-conf
│ │ ├── sage_conf.py
│ │ └── setup.py
│ ├── sage-docbuild
│ │ ├── sage_docbuild/
│ │ └── setup.py
Expand Down
2 changes: 1 addition & 1 deletion build/bin/sage-dist-helpers
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ sdh_actually_pip_install_wheel() {
shift
# Issue #32659: pip no longer reinstalls local wheels if the version is the same.
# Because neither (1) applying patches nor (2) local changes (in the case
# of sage-conf, sage-setup, etc.) bump the version number, we need to
# of sage-setup, etc.) bump the version number, we need to
# override this behavior. The pip install option --force-reinstall does too
# much -- it also reinstalls all dependencies, which we do not want.
$sudo sage-pip-uninstall "$distname" 2>&1 | sed '/^WARNING: Skipping .* as it is not installed./d'
Expand Down
1 change: 0 additions & 1 deletion build/make/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,6 @@ PYPI_WHEEL_PACKAGES = \

# sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib
WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) \
sage_conf \
sagelib \
sage_docbuild

Expand Down
1 change: 0 additions & 1 deletion build/pkgs/sage_conf/SPKG.rst

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_conf/dependencies

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_conf/package-version.txt

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_conf/spkg-install.in

This file was deleted.

22 changes: 0 additions & 22 deletions build/pkgs/sage_conf/spkg-src

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_conf/src

This file was deleted.

1 change: 0 additions & 1 deletion build/pkgs/sage_conf/type

This file was deleted.

2 changes: 0 additions & 2 deletions build/pkgs/sage_conf/version_requirements.txt

This file was deleted.

2 changes: 1 addition & 1 deletion build/pkgs/sagelib/spkg-install.in
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ export SAGE_PKGCONFIG=/doesnotexist
export SAGE_SHARE=/doesnotexist

# However, we only unset SAGE_PKG_CONFIG_PATH.
# sage_setup.setenv receives them from sage_conf via sage.env;
# sage_setup.setenv receives them from sage.env;
# the poisoned environment variables would override them.
unset SAGE_PKG_CONFIG_PATH

Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/sagemath_bliss/dependencies
Original file line number Diff line number Diff line change
@@ -1 +1 @@
bliss cysignals | $(PYTHON_TOOLCHAIN) sage_setup sage_conf sagemath_environment cython pkgconfig $(PYTHON)
bliss cysignals | $(PYTHON_TOOLCHAIN) sage_setup sagemath_environment cython pkgconfig $(PYTHON)
10 changes: 1 addition & 9 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ dnl This will save users from running into build errors later.
AC_MSG_CHECKING([the symbolic links in the source tree])
AS_IF([test -L build/pkgs/liblzma/package-version.txt], [dnl OK
AC_MSG_RESULT([intact])
], [dnl Either replaced by a copy (OK, as done in the sage-conf_pypi sdist)
], [dnl Either replaced by a copy (OK)
dnl or replaced by the name of the link target (BAD, misconfigured git clone in WSL)
AS_IF([test ! -e build/pkgs/sagelib/src], [dnl
AC_MSG_RESULT([intact (with links to embedded source trees pruned)])
Expand Down Expand Up @@ -490,14 +490,6 @@ AS_IF([test "x$enable_download_from_upstream_url" = "xyes"], [
])
AC_SUBST([SAGE_SPKG_OPTIONS])

AC_ARG_ENABLE([sage_conf],
AS_HELP_STRING([--disable-sage_conf],
[disable build of the sage_conf package]), [
for pkg in sage_conf; do
AS_VAR_SET([SAGE_ENABLE_$pkg], [$enableval])
done
])

AC_ARG_ENABLE([cvxopt],
AS_HELP_STRING([--disable-cvxopt],
[disable build of the cvxopt package and its prerequisite suitesparse]), [
Expand Down
1 change: 0 additions & 1 deletion constraints_pkgs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
# Reference on the format:
# https://pip.pypa.io/en/stable/user_guide/#constraints-files
#
sage_conf @ file://${SAGE_ROOT}/pkgs/sage-conf
sage_docbuild @ file://${SAGE_ROOT}/pkgs/sage-docbuild
sage_setup @ file://${SAGE_ROOT}/pkgs/sage-setup
sagemath-bliss @ file://${SAGE_ROOT}/pkgs/sagemath-bliss
Expand Down
2 changes: 1 addition & 1 deletion m4/sage_spkg_collect.m4
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ AC_DEFUN([SAGE_SPKG_FINALIZE], [dnl
dnl sage repository (and thus the release tarball). As a result,
dnl we do not need to download the sources, which is what
dnl "in_sdist" really means. At the time of this writing, the
dnl only standard script packages are sage_conf and sagelib.
dnl only standard script packages are sagelib.
dnl The sources of these packages are in subdirectories of
dnl $SAGE_ROOT/pkgs.
m4_define([in_sdist], [no])dnl
Expand Down
5 changes: 0 additions & 5 deletions pkgs/sage-conf/.gitignore

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sage-conf/MANIFEST.in

This file was deleted.

105 changes: 0 additions & 105 deletions pkgs/sage-conf/README.rst

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sage-conf/VERSION.txt

This file was deleted.

19 changes: 0 additions & 19 deletions pkgs/sage-conf/_sage_conf/__main__.py

This file was deleted.

1 change: 1 addition & 0 deletions pkgs/sage-conf/_sage_conf/_conf.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ NTL_LIBDIR = "@NTL_LIBDIR@"
# Path to the ecl-config script
ECL_CONFIG = "@SAGE_ECL_CONFIG@".replace('${prefix}', SAGE_LOCAL)

# Path to the nauty binaries; of the form "/path/to/" or "/path/to/nauty-"
SAGE_NAUTY_BINS_PREFIX = "@SAGE_NAUTY_BINS_PREFIX@"

SAGE_ECMBIN = "@SAGE_ECMBIN@"
Expand Down
1 change: 0 additions & 1 deletion pkgs/sage-conf/bin/sage-env-config

This file was deleted.

1 change: 0 additions & 1 deletion pkgs/sage-conf/bin/sage-env-config.in

This file was deleted.

Loading
Loading