From 5cdafb55f71b9a8a6feabd112a193a0e86c984b5 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Fri, 20 Oct 2023 10:06:16 +0000 Subject: [PATCH 01/72] pkgs/sage-conf: Move version from setup.cfg to pyproject.toml --- pkgs/sage-conf/pyproject.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml index 9787c3bdf00..9b39d5d8816 100644 --- a/pkgs/sage-conf/pyproject.toml +++ b/pkgs/sage-conf/pyproject.toml @@ -1,3 +1,10 @@ [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" + +[project] +name = "sage-conf" +dynamic = ["version"] + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From aff255eb8a6cd6b006d11f103fc6ad01df822924 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Wed, 25 Oct 2023 13:24:42 +0000 Subject: [PATCH 02/72] remove version specifier from setup.cfg --- pkgs/sage-conf/setup.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/sage-conf/setup.cfg b/pkgs/sage-conf/setup.cfg index dac401c303d..06f36099bd5 100644 --- a/pkgs/sage-conf/setup.cfg +++ b/pkgs/sage-conf/setup.cfg @@ -1,6 +1,5 @@ [metadata] name = sage-conf -version = file: VERSION.txt description = Sage: Open Source Mathematics Software: Configuration module for the SageMath library long_description = file: README.rst license = GNU General Public License (GPL) v3 or later From a301eb8ce34b4f16f3e603a36b27f2b1f7171186 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 28 Oct 2023 10:41:22 -0700 Subject: [PATCH 03/72] pkgs/sage-conf: ini2toml setup.cfg > pyproject.toml --- pkgs/sage-conf/pyproject.toml | 16 +++++++++++++++- pkgs/sage-conf/setup.cfg | 22 ---------------------- 2 files changed, 15 insertions(+), 23 deletions(-) delete mode 100644 pkgs/sage-conf/setup.cfg diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml index 9b39d5d8816..d882f390302 100644 --- a/pkgs/sage-conf/pyproject.toml +++ b/pkgs/sage-conf/pyproject.toml @@ -1,10 +1,24 @@ [build-system] -requires = ["setuptools", "wheel"] +requires = ["setuptools>=61.2"] build-backend = "setuptools.build_meta" [project] name = "sage-conf" +description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" +readme = "README.rst" +license = {text = "GNU General Public License (GPL) v3 or later"} +authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] +urls = {Homepage = "https://www.sagemath.org"} dynamic = ["version"] +[project.scripts] +sage-config = "sage_conf:_main" + +[tool.setuptools] +packages = ["_sage_conf"] +py-modules = ["sage_conf"] +script-files = ["bin/sage-env-config"] +include-package-data = false + [tool.setuptools.dynamic] version = {file = ["VERSION.txt"]} diff --git a/pkgs/sage-conf/setup.cfg b/pkgs/sage-conf/setup.cfg deleted file mode 100644 index 06f36099bd5..00000000000 --- a/pkgs/sage-conf/setup.cfg +++ /dev/null @@ -1,22 +0,0 @@ -[metadata] -name = sage-conf -description = Sage: Open Source Mathematics Software: Configuration module for the SageMath library -long_description = file: README.rst -license = GNU General Public License (GPL) v3 or later -author = The Sage Developers -author_email = sage-support@googlegroups.com -url = https://www.sagemath.org - -[options] -packages = - _sage_conf - -py_modules = - sage_conf - -scripts = - bin/sage-env-config - -[options.entry_points] -console_scripts = - sage-config = sage_conf:_main From b12d8dd1c76a54eec56b50ba788b9c9093d2e6b7 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 28 Oct 2023 10:48:13 -0700 Subject: [PATCH 04/72] Remove symlinks to removed file pkgs/sage-conf/setup.cfg --- pkgs/sage-conf_conda/setup.cfg | 1 - pkgs/sage-conf_pypi/setup.cfg | 1 - 2 files changed, 2 deletions(-) delete mode 120000 pkgs/sage-conf_conda/setup.cfg delete mode 120000 pkgs/sage-conf_pypi/setup.cfg diff --git a/pkgs/sage-conf_conda/setup.cfg b/pkgs/sage-conf_conda/setup.cfg deleted file mode 120000 index 93df2c80a4b..00000000000 --- a/pkgs/sage-conf_conda/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../sage-conf/setup.cfg \ No newline at end of file diff --git a/pkgs/sage-conf_pypi/setup.cfg b/pkgs/sage-conf_pypi/setup.cfg deleted file mode 120000 index 93df2c80a4b..00000000000 --- a/pkgs/sage-conf_pypi/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../sage-conf/setup.cfg \ No newline at end of file From 5b281a09e2b6005aa0aefb219880290b7e299b35 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 29 Oct 2023 20:54:43 -0700 Subject: [PATCH 05/72] build/pkgs/sage_conf/dependencies: Update --- build/pkgs/sage_conf/dependencies | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/sage_conf/dependencies b/build/pkgs/sage_conf/dependencies index f2bd00aaf0d..a202ce81bba 100644 --- a/build/pkgs/sage_conf/dependencies +++ b/build/pkgs/sage_conf/dependencies @@ -1 +1 @@ - $(SAGE_ROOT)/pkgs/sage-conf/_sage_conf/_conf.py $(SAGE_ROOT)/pkgs/sage-conf/setup.cfg $(SAGE_ROOT)/pkgs/sage-conf/bin/sage-env-config | $(PYTHON_TOOLCHAIN) $(PYTHON) + $(SAGE_ROOT)/pkgs/sage-conf/_sage_conf/_conf.py $(SAGE_ROOT)/pkgs/sage-conf/pyproject.toml $(SAGE_ROOT)/pkgs/sage-conf/bin/sage-env-config | $(PYTHON_TOOLCHAIN) $(PYTHON) From e6ee358f060659324af462e217cbdb0b9b5570f4 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 7 Nov 2023 17:06:07 -0800 Subject: [PATCH 06/72] build/pkgs/sage_conf/bootstrap: New --- build/pkgs/sage_conf/bootstrap | 1 + 1 file changed, 1 insertion(+) create mode 120000 build/pkgs/sage_conf/bootstrap diff --git a/build/pkgs/sage_conf/bootstrap b/build/pkgs/sage_conf/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sage_conf/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file From 63e93c3e00a65ac2a61933acd9f7a54519a0250e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 7 Nov 2023 17:08:38 -0800 Subject: [PATCH 07/72] pkgs/sage-conf/pyproject.toml.m4: Use m4 comment --- pkgs/sage-conf/pyproject.toml.m4 | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pkgs/sage-conf/pyproject.toml.m4 diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 new file mode 100644 index 00000000000..faae302cdb7 --- /dev/null +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -0,0 +1,44 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +requires = [ + SPKG_INSTALL_REQUIRES_setuptools_wheel +] +build-backend = "setuptools.build_meta" + +[project] +name = "sage-conf" +description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" +readme = "README.rst" +dnl Not including the standard metadata from pyproject_toml_metadata.m4 +dnl because sage-conf is GPL v3+. +license = {text = "GNU General Public License (GPL) v3 or later"} +authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] +classifiers = [ + "Development Status :: 6 - Mature", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", + "Operating System :: POSIX", + "Operating System :: MacOS :: MacOS X", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Scientific/Engineering :: Mathematics", +] +urls = {Homepage = "https://www.sagemath.org"} +requires-python = ">=3.9, <3.12" +dynamic = ["version"] + +[project.scripts] +sage-config = "sage_conf:_main" + +[tool.setuptools] +packages = ["_sage_conf"] +py-modules = ["sage_conf"] +script-files = ["bin/sage-env-config"] +include-package-data = false + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From 46657a0efe253dcb578905b0a7e4994f102ddd67 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 10 Nov 2023 09:29:59 -0800 Subject: [PATCH 08/72] .gitignore: Update --- .gitignore | 1 + pkgs/sage-conf/.gitignore | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 43f58abcafe..0f180bb1bcb 100644 --- a/.gitignore +++ b/.gitignore @@ -193,6 +193,7 @@ build/bin/sage-build-env-config /pkgs/*/*.egg-info /pkgs/*/.tox +/pkgs/sage-conf/pyproject.toml /pkgs/sage-conf_pypi/sage_root/config.log /pkgs/sage-conf_pypi/sage_root/config.status /pkgs/sage-conf_pypi/sage_root/local/ diff --git a/pkgs/sage-conf/.gitignore b/pkgs/sage-conf/.gitignore index 2fff1627b9f..a495951e529 100644 --- a/pkgs/sage-conf/.gitignore +++ b/pkgs/sage-conf/.gitignore @@ -1,4 +1,6 @@ /_sage_conf/_conf.py +/setup.cfg +/pyproject.toml /build /dist /*.egg-info From 22341fbda67a0c1a3e68670336e09f523f193cc7 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 10 Nov 2023 09:33:36 -0800 Subject: [PATCH 09/72] pkgs/sage-conf/pyproject.toml: Remove (generated from ...m4) --- pkgs/sage-conf/pyproject.toml | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 pkgs/sage-conf/pyproject.toml diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml deleted file mode 100644 index d882f390302..00000000000 --- a/pkgs/sage-conf/pyproject.toml +++ /dev/null @@ -1,24 +0,0 @@ -[build-system] -requires = ["setuptools>=61.2"] -build-backend = "setuptools.build_meta" - -[project] -name = "sage-conf" -description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" -readme = "README.rst" -license = {text = "GNU General Public License (GPL) v3 or later"} -authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] -urls = {Homepage = "https://www.sagemath.org"} -dynamic = ["version"] - -[project.scripts] -sage-config = "sage_conf:_main" - -[tool.setuptools] -packages = ["_sage_conf"] -py-modules = ["sage_conf"] -script-files = ["bin/sage-env-config"] -include-package-data = false - -[tool.setuptools.dynamic] -version = {file = ["VERSION.txt"]} From a722a7713db52bf5cba8d439a508b6466ae73c58 Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Tue, 12 Dec 2023 19:26:15 +0000 Subject: [PATCH 10/72] rectify the omitted version bump in #36407 --- build/pkgs/python3/spkg-configure.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4 index d57aa416e3a..dbac1b97efe 100644 --- a/build/pkgs/python3/spkg-configure.m4 +++ b/build/pkgs/python3/spkg-configure.m4 @@ -1,8 +1,8 @@ SAGE_SPKG_CONFIGURE([python3], [ m4_pushdef([MIN_VERSION], [3.9.0]) m4_pushdef([MIN_NONDEPRECATED_VERSION], [3.9.0]) - m4_pushdef([LT_STABLE_VERSION], [3.12.0]) - m4_pushdef([LT_VERSION], [3.12.0]) + m4_pushdef([LT_STABLE_VERSION], [3.13.0]) + m4_pushdef([LT_VERSION], [3.13.0]) AC_ARG_WITH([python], [AS_HELP_STRING([--with-python=PYTHON3], [Python 3 executable to use for the Sage venv; default: python3])]) From 4698c7eb1e21d8535aad505f70f95f693a66f44d Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 12 Dec 2023 12:34:34 -0800 Subject: [PATCH 11/72] m4/pyproject_toml_metadata.m4: Allow Python 3.12 --- m4/pyproject_toml_metadata.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/m4/pyproject_toml_metadata.m4 b/m4/pyproject_toml_metadata.m4 index 2511fac45f7..0d9824b1f2e 100644 --- a/m4/pyproject_toml_metadata.m4 +++ b/m4/pyproject_toml_metadata.m4 @@ -13,8 +13,9 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Mathematics", ] urls = {Homepage = "https://www.sagemath.org"} -requires-python = ">=3.9, <3.12" +requires-python = ">=3.9, <3.13" From cf513e483c3b9ae7e14b70e114333de8723b6eef Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 12 Dec 2023 12:35:31 -0800 Subject: [PATCH 12/72] src/setup.cfg.m4: Allow Python 3.12 --- src/setup.cfg.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4 index 41ac1c08bfa..5f07c06742d 100644 --- a/src/setup.cfg.m4 +++ b/src/setup.cfg.m4 @@ -9,7 +9,7 @@ license_files = LICENSE.txt include(`setup_cfg_metadata.m4')dnl' [options] -python_requires = >=3.9, <3.12 +python_requires = >=3.9, <3.13 install_requires = SPKG_INSTALL_REQUIRES_sage_conf SPKG_INSTALL_REQUIRES_six From 97100143c153367327de99dfb37fe0f777f4dc4c Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 15:32:30 -0800 Subject: [PATCH 13/72] pkgs/sage-conf/pyproject.toml.m4: Allow Python 3.12 --- pkgs/sage-conf/pyproject.toml.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 index faae302cdb7..64fab656006 100644 --- a/pkgs/sage-conf/pyproject.toml.m4 +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -24,11 +24,12 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Mathematics", ] urls = {Homepage = "https://www.sagemath.org"} -requires-python = ">=3.9, <3.12" +requires-python = ">=3.9, <3.13" dynamic = ["version"] [project.scripts] From 477e27f347572c895cfae75d4e0c070114cb3c4e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 15:43:24 -0800 Subject: [PATCH 14/72] pkgs/sage-setup/pyproject.toml: Generate from ...m4 --- build/pkgs/sage_setup/bootstrap | 1 + pkgs/sage-setup/pyproject.toml | 47 ------------------------------- pkgs/sage-setup/pyproject.toml.m4 | 35 +++++++++++++++++++++++ 3 files changed, 36 insertions(+), 47 deletions(-) create mode 120000 build/pkgs/sage_setup/bootstrap delete mode 100644 pkgs/sage-setup/pyproject.toml create mode 100644 pkgs/sage-setup/pyproject.toml.m4 diff --git a/build/pkgs/sage_setup/bootstrap b/build/pkgs/sage_setup/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sage_setup/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/pkgs/sage-setup/pyproject.toml b/pkgs/sage-setup/pyproject.toml deleted file mode 100644 index 1499fe4c9ba..00000000000 --- a/pkgs/sage-setup/pyproject.toml +++ /dev/null @@ -1,47 +0,0 @@ -[build-system] -requires = ["setuptools>=61.2"] -build-backend = "setuptools.build_meta" - -[project] -name = "sage-setup" -description = "Sage: Open Source Mathematics Software: Build system of the Sage library" -license = {text = "GNU General Public License (GPL) v2 or later"} -authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] -classifiers = [ - "Development Status :: 6 - Mature", - "Intended Audience :: Education", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", - "Operating System :: POSIX", - "Operating System :: MacOS :: MacOS X", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: Implementation :: CPython", - "Topic :: Scientific/Engineering :: Mathematics", -] -urls = {Homepage = "https://www.sagemath.org"} -requires-python = ">=3.9, <3.12" -dependencies = [] -dynamic = ["version"] - -[project.readme] -file = "README.rst" -content-type = "text/x-rst" - -[project.optional-dependencies] -autogen = ["jinja2"] - -[tool.setuptools] -packages = [ - "sage_setup", - "sage_setup.autogen", - "sage_setup.autogen.interpreters", - "sage_setup.autogen.interpreters.specs", - "sage_setup.command", -] -include-package-data = false - -[tool.setuptools.dynamic] -version = {file = ["VERSION.txt"]} diff --git a/pkgs/sage-setup/pyproject.toml.m4 b/pkgs/sage-setup/pyproject.toml.m4 new file mode 100644 index 00000000000..768ddfc0a6d --- /dev/null +++ b/pkgs/sage-setup/pyproject.toml.m4 @@ -0,0 +1,35 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +requires = [ + SPKG_INSTALL_REQUIRES_setuptools_wheel +] +build-backend = "setuptools.build_meta" + +[project] +name = "sage-setup" +description = "Sage: Open Source Mathematics Software: Build system of the Sage library" +dependencies = [] +dynamic = ["version"] +include(`pyproject_toml_metadata.m4')dnl' + +[project.readme] +file = "README.rst" +content-type = "text/x-rst" + +[project.optional-dependencies] +autogen = [ + SPKG_INSTALL_REQUIRES_jinja2 +] + +[tool.setuptools] +packages = [ + "sage_setup", + "sage_setup.autogen", + "sage_setup.autogen.interpreters", + "sage_setup.autogen.interpreters.specs", + "sage_setup.command", +] +include-package-data = false + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From 629e40fc98e5641d9095bc5864b4d40c4cdc1a8f Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 15:53:22 -0800 Subject: [PATCH 15/72] pkgs/sage-docbuild/pyproject.toml: Generate from ...m4 --- build/pkgs/sage_docbuild/bootstrap | 1 + pkgs/sage-docbuild/pyproject.toml | 40 ---------------------------- pkgs/sage-docbuild/pyproject.toml.m4 | 29 ++++++++++++++++++++ 3 files changed, 30 insertions(+), 40 deletions(-) create mode 120000 build/pkgs/sage_docbuild/bootstrap delete mode 100644 pkgs/sage-docbuild/pyproject.toml create mode 100644 pkgs/sage-docbuild/pyproject.toml.m4 diff --git a/build/pkgs/sage_docbuild/bootstrap b/build/pkgs/sage_docbuild/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sage_docbuild/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/pkgs/sage-docbuild/pyproject.toml b/pkgs/sage-docbuild/pyproject.toml deleted file mode 100644 index 77840653af0..00000000000 --- a/pkgs/sage-docbuild/pyproject.toml +++ /dev/null @@ -1,40 +0,0 @@ -[build-system] -requires = ["setuptools>=61.2"] -build-backend = "setuptools.build_meta" - -[project] -name = "sage-docbuild" -description = "Sage: Open Source Mathematics Software: Build system of the Sage documentation" -license = {text = "GNU General Public License (GPL) v2 or later"} -authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] -classifiers = [ - "Development Status :: 6 - Mature", - "Intended Audience :: Education", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", - "Operating System :: POSIX", - "Operating System :: MacOS :: MacOS X", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: Implementation :: CPython", - "Topic :: Scientific/Engineering :: Mathematics", -] -urls = {Homepage = "https://www.sagemath.org"} -dependencies = ["sphinx"] -dynamic = ["version"] - -[project.readme] -file = "README.rst" -content-type = "text/x-rst" - -[tool.setuptools] -packages = [ - "sage_docbuild", - "sage_docbuild.ext", -] -include-package-data = false - -[tool.setuptools.dynamic] -version = {file = ["VERSION.txt"]} diff --git a/pkgs/sage-docbuild/pyproject.toml.m4 b/pkgs/sage-docbuild/pyproject.toml.m4 new file mode 100644 index 00000000000..0643cc0f0a9 --- /dev/null +++ b/pkgs/sage-docbuild/pyproject.toml.m4 @@ -0,0 +1,29 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +requires = [ + SPKG_INSTALL_REQUIRES_setuptools_wheel +] +build-backend = "setuptools.build_meta" + +[project] +name = "sage-docbuild" +description = "Sage: Open Source Mathematics Software: Build system of the Sage documentation" +dependencies = [ + SPKG_INSTALL_REQUIRES_sphinx +] +dynamic = ["version"] +include(`pyproject_toml_metadata.m4')dnl' + +[project.readme] +file = "README.rst" +content-type = "text/x-rst" + +[tool.setuptools] +packages = [ + "sage_docbuild", + "sage_docbuild.ext", +] +include-package-data = false + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From 7fcdf15cac921b59737b39c795f3ab7f5e4f7103 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 15:54:19 -0800 Subject: [PATCH 16/72] pkgs/sage-sws2rst/pyproject.toml: Generate from ...m4 --- build/pkgs/sage_sws2rst/bootstrap | 1 + pkgs/sage-sws2rst/{pyproject.toml => pyproject.toml.m4} | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 120000 build/pkgs/sage_sws2rst/bootstrap rename pkgs/sage-sws2rst/{pyproject.toml => pyproject.toml.m4} (84%) diff --git a/build/pkgs/sage_sws2rst/bootstrap b/build/pkgs/sage_sws2rst/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sage_sws2rst/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file diff --git a/pkgs/sage-sws2rst/pyproject.toml b/pkgs/sage-sws2rst/pyproject.toml.m4 similarity index 84% rename from pkgs/sage-sws2rst/pyproject.toml rename to pkgs/sage-sws2rst/pyproject.toml.m4 index 1232437fb1e..f68451a3b96 100644 --- a/pkgs/sage-sws2rst/pyproject.toml +++ b/pkgs/sage-sws2rst/pyproject.toml.m4 @@ -1,5 +1,8 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] -requires = ["setuptools>=61.2"] +requires = [ + SPKG_INSTALL_REQUIRES_setuptools_wheel +] build-backend = "setuptools.build_meta" [project] From 82da344392effe58011e45d5a975cd8500c37481 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 14 Sep 2023 17:24:19 -0700 Subject: [PATCH 17/72] build/pkgs/gmpy2: Update to 5ac3746047491cd5508c0705613f75a1636be6a6 --- build/pkgs/gmpy2/checksums.ini | 10 +++++----- build/pkgs/gmpy2/package-version.txt | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/pkgs/gmpy2/checksums.ini b/build/pkgs/gmpy2/checksums.ini index 70ecbe7244d..69d8b009816 100644 --- a/build/pkgs/gmpy2/checksums.ini +++ b/build/pkgs/gmpy2/checksums.ini @@ -1,5 +1,5 @@ -tarball=gmpy2-VERSION.tar.gz -sha1=8280f6c68c57dd4a2fce149162c080c1dac86eb0 -md5=bb21846e99800e04d5b330b76c23ba10 -cksum=3835762323 -upstream_url=https://pypi.io/packages/source/g/gmpy2/gmpy2-VERSION.tar.gz +tarball=gmpy2-2.2.0-dev-VERSION.tar.gz +sha1=6992f3e0bd0703165019dd807b6ac640b81c0d8a +md5=ddf702c6e67d5763dc5b55b0890dc027 +cksum=1099619634 +upstream_url=https://github.com/aleaxit/gmpy/archive/VERSION.tar.gz diff --git a/build/pkgs/gmpy2/package-version.txt b/build/pkgs/gmpy2/package-version.txt index eca07e4c1a8..3978975a3f8 100644 --- a/build/pkgs/gmpy2/package-version.txt +++ b/build/pkgs/gmpy2/package-version.txt @@ -1 +1 @@ -2.1.2 +5ac3746047491cd5508c0705613f75a1636be6a6 From 109671e66768e90ed19a88d62472e56915d85be7 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 13:44:25 -0800 Subject: [PATCH 18/72] build/pkgs/mpc/spkg-configure.m4: Require MPC >= 1.2.0 --- build/pkgs/mpc/spkg-configure.m4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/pkgs/mpc/spkg-configure.m4 b/build/pkgs/mpc/spkg-configure.m4 index 046b0938aaa..ba418715ecb 100644 --- a/build/pkgs/mpc/spkg-configure.m4 +++ b/build/pkgs/mpc/spkg-configure.m4 @@ -1,8 +1,9 @@ SAGE_SPKG_CONFIGURE([mpc], [ SAGE_SPKG_DEPCHECK([mpfr], [ AC_CHECK_HEADER(mpc.h, [], [sage_spkg_install_mpc=yes]) - dnl mpc_cmp_abs appeared in MPC 1.1.0 - AC_SEARCH_LIBS([mpc_cmp_abs], [mpc], [], [sage_spkg_install_mpc=yes]) + dnl gmpy2 2.2 needs MPC >= 1.2.1 according https://github.com/aleaxit/gmpy/blob/master/src/gmpy2.h#L86 + dnl mpc_sum was added in MPC 1.2.0 according to https://www.multiprecision.org/mpc/olds.html + AC_SEARCH_LIBS([mpc_sum], [mpc], [], [sage_spkg_install_mpc=yes]) ]) ], [], [], [ if test x$sage_spkg_install_mpc = xyes; then From 4b14acb1c1e2db3ab7ce6361fc1f79617cf42f87 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 13:45:05 -0800 Subject: [PATCH 19/72] build/pkgs/mpfr/spkg-configure.m4: Require MPFR >= 4.1.0 --- build/pkgs/mpfr/spkg-configure.m4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/build/pkgs/mpfr/spkg-configure.m4 b/build/pkgs/mpfr/spkg-configure.m4 index c1e879f10ec..cbeb7114f8f 100644 --- a/build/pkgs/mpfr/spkg-configure.m4 +++ b/build/pkgs/mpfr/spkg-configure.m4 @@ -1,8 +1,9 @@ SAGE_SPKG_CONFIGURE([mpfr], [ SAGE_SPKG_DEPCHECK([gmp], [ AC_CHECK_HEADER(mpfr.h, [], [sage_spkg_install_mpfr=yes]) - dnl mpfr_free_pool appeared in r11922 (Dec 2017) on MPFR svn - AC_SEARCH_LIBS([mpfr_free_pool], [mpfr], [], [sage_spkg_install_mpfr=yes]) + dnl gmpy2 2.2 needs MPFR >= 4.1.0 according https://github.com/aleaxit/gmpy/blob/master/src/gmpy2.h#L86 + dnl mpfr_cmpabs_ui was added in 4.1.0 according to https://github.com/BrianGladman/mpfr/blob/master/NEWS#L26 + AC_SEARCH_LIBS([mpfr_cmpabs_ui], [mpfr], [], [sage_spkg_install_mpfr=yes]) ]) ], [], [], [ if test x$sage_spkg_install_mpfr = xyes; then From 9ea1a9ab2fbfee4fe3ddcabc1c51a6afde092696 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 13:51:04 -0800 Subject: [PATCH 20/72] build/pkgs/gmpy2: Update to 2.2.0a1 --- build/pkgs/gmpy2/SPKG.rst | 12 +++++++++++- build/pkgs/gmpy2/checksums.ini | 10 +++++----- build/pkgs/gmpy2/package-version.txt | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/build/pkgs/gmpy2/SPKG.rst b/build/pkgs/gmpy2/SPKG.rst index 30d9f0911e8..0ee9264eac7 100644 --- a/build/pkgs/gmpy2/SPKG.rst +++ b/build/pkgs/gmpy2/SPKG.rst @@ -4,10 +4,20 @@ gmpy2: Python interface to GMP/MPIR, MPFR, and MPC Description ----------- -GMP/MPIR, MPFR, and MPC interface to Python 2.6+ and 3.x +GMP/MPIR, MPFR, and MPC interface to Python gmpy2 is a C-coded Python extension module that supports multiple-precision arithmetic. In addition to supporting GMP or MPIR for multiple-precision integer and rational arithmetic, gmpy2 adds support for the MPFR (correctly rounded real floating-point arithmetic) and MPC (correctly rounded complex floating-point arithmetic) libraries. + +License +------- + +LGPL-3.0+ + +Upstream Contact +---------------- + +https://pypi.org/project/gmpy2/ diff --git a/build/pkgs/gmpy2/checksums.ini b/build/pkgs/gmpy2/checksums.ini index 69d8b009816..e852852d410 100644 --- a/build/pkgs/gmpy2/checksums.ini +++ b/build/pkgs/gmpy2/checksums.ini @@ -1,5 +1,5 @@ -tarball=gmpy2-2.2.0-dev-VERSION.tar.gz -sha1=6992f3e0bd0703165019dd807b6ac640b81c0d8a -md5=ddf702c6e67d5763dc5b55b0890dc027 -cksum=1099619634 -upstream_url=https://github.com/aleaxit/gmpy/archive/VERSION.tar.gz +tarball=gmpy2-VERSION.tar.gz +sha1=700ef438964acd286d52e973a833cd57ae9a7ad7 +md5=72b93048015b28efcf92ed702014a61c +cksum=3542820546 +upstream_url=https://pypi.io/packages/source/g/gmpy2/gmpy2-VERSION.tar.gz diff --git a/build/pkgs/gmpy2/package-version.txt b/build/pkgs/gmpy2/package-version.txt index 3978975a3f8..8c6ccbaa57e 100644 --- a/build/pkgs/gmpy2/package-version.txt +++ b/build/pkgs/gmpy2/package-version.txt @@ -1 +1 @@ -5ac3746047491cd5508c0705613f75a1636be6a6 +2.2.0a1 From e6e9d0731bc7fad57655bad597fc83ac2b733d74 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 14 Dec 2023 08:38:31 -0800 Subject: [PATCH 21/72] build/pkgs/mpc/distros/repology.txt: Add https://repology.org/project/gnumpc/versions --- build/pkgs/mpc/distros/repology.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/build/pkgs/mpc/distros/repology.txt b/build/pkgs/mpc/distros/repology.txt index 098b049316b..e813b711f6c 100644 --- a/build/pkgs/mpc/distros/repology.txt +++ b/build/pkgs/mpc/distros/repology.txt @@ -1 +1,2 @@ +gnumpc libmpc From d073ca5ccb6d77b52dbadc6ad968fc1643f238f7 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 14 Dec 2023 08:58:17 -0800 Subject: [PATCH 22/72] build/pkgs/mpc/spkg-configure.m4: Check for version using AC_LINK_IFELSE --- build/pkgs/mpc/spkg-configure.m4 | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/build/pkgs/mpc/spkg-configure.m4 b/build/pkgs/mpc/spkg-configure.m4 index ba418715ecb..58b4b4bf782 100644 --- a/build/pkgs/mpc/spkg-configure.m4 +++ b/build/pkgs/mpc/spkg-configure.m4 @@ -1,9 +1,17 @@ SAGE_SPKG_CONFIGURE([mpc], [ SAGE_SPKG_DEPCHECK([mpfr], [ - AC_CHECK_HEADER(mpc.h, [], [sage_spkg_install_mpc=yes]) dnl gmpy2 2.2 needs MPC >= 1.2.1 according https://github.com/aleaxit/gmpy/blob/master/src/gmpy2.h#L86 - dnl mpc_sum was added in MPC 1.2.0 according to https://www.multiprecision.org/mpc/olds.html - AC_SEARCH_LIBS([mpc_sum], [mpc], [], [sage_spkg_install_mpc=yes]) + AC_MSG_CHECKING([for MPC >= 1.2.1]) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ +#if (!defined(MPC_VERSION) || (MPC_VERSION < MPC_VERSION_NUM(1,2,1))) +# error "Sage requires MPC 1.2.1 or later (for gmpy2 2.2)." +#endif + ]])], [ + AC_MSG_RESULT([yes]) + ], [ + AC_MSG_RESULT([no]) + sage_spkg_install_mpc=yes + ]) ]) ], [], [], [ if test x$sage_spkg_install_mpc = xyes; then From d6621364116d530df03c0283dca6035f142c369e Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Thu, 14 Dec 2023 18:57:58 +0000 Subject: [PATCH 23/72] fix mpc's spkg-config.m4 to reject versions <1.2.1 --- build/pkgs/mpc/spkg-configure.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/pkgs/mpc/spkg-configure.m4 b/build/pkgs/mpc/spkg-configure.m4 index 58b4b4bf782..0b0b4c0d18c 100644 --- a/build/pkgs/mpc/spkg-configure.m4 +++ b/build/pkgs/mpc/spkg-configure.m4 @@ -2,12 +2,13 @@ SAGE_SPKG_CONFIGURE([mpc], [ SAGE_SPKG_DEPCHECK([mpfr], [ dnl gmpy2 2.2 needs MPC >= 1.2.1 according https://github.com/aleaxit/gmpy/blob/master/src/gmpy2.h#L86 AC_MSG_CHECKING([for MPC >= 1.2.1]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ #if (!defined(MPC_VERSION) || (MPC_VERSION < MPC_VERSION_NUM(1,2,1))) # error "Sage requires MPC 1.2.1 or later (for gmpy2 2.2)." #endif ]])], [ AC_MSG_RESULT([yes]) + AC_SEARCH_LIBS([mpc_cmp_abs], [mpc], [], [sage_spkg_install_mpc=yes]) ], [ AC_MSG_RESULT([no]) sage_spkg_install_mpc=yes From 3060fdb1d8648716f7b9dd8f0dce4e53a230da4e Mon Sep 17 00:00:00 2001 From: Dima Pasechnik Date: Thu, 14 Dec 2023 19:11:05 +0000 Subject: [PATCH 24/72] require gmpy2 version > 2.1.* --- build/pkgs/gmpy2/install-requires.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/gmpy2/install-requires.txt b/build/pkgs/gmpy2/install-requires.txt index 5f50ec2dd25..1232852e763 100644 --- a/build/pkgs/gmpy2/install-requires.txt +++ b/build/pkgs/gmpy2/install-requires.txt @@ -1 +1 @@ -gmpy2 >=2.1.0 +gmpy2 > 2.1.99 From a7c2a193958066a952a4f6f632b3099d9133b761 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 14 Dec 2023 11:20:26 -0800 Subject: [PATCH 25/72] build/pkgs/mpc/spkg-configure.m4: Check for mpc_sum --- build/pkgs/mpc/spkg-configure.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build/pkgs/mpc/spkg-configure.m4 b/build/pkgs/mpc/spkg-configure.m4 index 0b0b4c0d18c..4ece9987444 100644 --- a/build/pkgs/mpc/spkg-configure.m4 +++ b/build/pkgs/mpc/spkg-configure.m4 @@ -8,7 +8,8 @@ SAGE_SPKG_CONFIGURE([mpc], [ #endif ]])], [ AC_MSG_RESULT([yes]) - AC_SEARCH_LIBS([mpc_cmp_abs], [mpc], [], [sage_spkg_install_mpc=yes]) + dnl mpc_sum was added in MPC 1.2.0 according to https://www.multiprecision.org/mpc/olds.html + AC_SEARCH_LIBS([mpc_sum], [mpc], [], [sage_spkg_install_mpc=yes]) ], [ AC_MSG_RESULT([no]) sage_spkg_install_mpc=yes From 09762eff7f71756470a58966d779e89a1c29da3e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Nov 2023 20:26:04 -0800 Subject: [PATCH 26/72] build/pkgs/gmp: Update to 6.3.0 --- build/pkgs/gmp/checksums.ini | 6 +++--- build/pkgs/gmp/package-version.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/pkgs/gmp/checksums.ini b/build/pkgs/gmp/checksums.ini index 11a552f2352..6a595d8b7c3 100644 --- a/build/pkgs/gmp/checksums.ini +++ b/build/pkgs/gmp/checksums.ini @@ -1,5 +1,5 @@ tarball=gmp-VERSION.tar.xz -sha1=0578d48607ec0e272177d175fd1807c30b00fdf2 -md5=0b82665c4a92fd2ade7440c13fcaa42b -cksum=1546558141 +sha1=b4043dd2964ab1a858109da85c44de224384f352 +md5=956dc04e864001a9c22429f761f2c283 +cksum=1735788654 upstream_url=https://gmplib.org/download/gmp/gmp-VERSION.tar.xz diff --git a/build/pkgs/gmp/package-version.txt b/build/pkgs/gmp/package-version.txt index 024b066c0bb..798e38995c4 100644 --- a/build/pkgs/gmp/package-version.txt +++ b/build/pkgs/gmp/package-version.txt @@ -1 +1 @@ -6.2.1 +6.3.0 From b3ed45da44279d035cd4d04ba68c18cd22d718ba Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Nov 2023 20:33:49 -0800 Subject: [PATCH 27/72] build/pkgs/mpfr: Update to 4.2.1 --- build/pkgs/mpfr/checksums.ini | 7 ++++--- build/pkgs/mpfr/package-version.txt | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build/pkgs/mpfr/checksums.ini b/build/pkgs/mpfr/checksums.ini index 508290ace26..766356c1fd4 100644 --- a/build/pkgs/mpfr/checksums.ini +++ b/build/pkgs/mpfr/checksums.ini @@ -1,4 +1,5 @@ tarball=mpfr-VERSION.tar.bz2 -sha1=fcbbafb37c683898e585b926608d540ed037609e -md5=8c21d8ac7460493b2b9f3ef3cc610454 -cksum=3260550035 +sha1=f9dbe49b092e4c8e0a039e6d46c059696cc2f51c +md5=7765afa036e4ce7fb0e02bce0fef894b +cksum=1526077734 +upstream_url=https://www.mpfr.org/mpfr-current/mpfr-VERSION.tar.bz2 diff --git a/build/pkgs/mpfr/package-version.txt b/build/pkgs/mpfr/package-version.txt index f727dc16efb..fae6e3d04b2 100644 --- a/build/pkgs/mpfr/package-version.txt +++ b/build/pkgs/mpfr/package-version.txt @@ -1 +1 @@ -4.0.1.p0 +4.2.1 From 726662d3a2c12f125ad5f572787ce8da6bf44387 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 25 Nov 2023 20:36:31 -0800 Subject: [PATCH 28/72] build/pkgs/mpfrcx: Update to 0.6.3 --- build/pkgs/mpfrcx/checksums.ini | 7 ++++--- build/pkgs/mpfrcx/package-version.txt | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build/pkgs/mpfrcx/checksums.ini b/build/pkgs/mpfrcx/checksums.ini index 86eeedc24ad..7f1ac08b4e6 100644 --- a/build/pkgs/mpfrcx/checksums.ini +++ b/build/pkgs/mpfrcx/checksums.ini @@ -1,4 +1,5 @@ tarball=mpfrcx-VERSION.tar.gz -sha1=33fbf3fdbe69fe163fe4f2ebcc79630b11c329e6 -md5=44287784a8ad9a5367c68e9ae636864f -cksum=1348973008 +sha1=460bc7cb48fae4f8070b73912080fdf0c08c93b6 +md5=45077ba92dccc25488086962d160de6c +cksum=1142118879 +upstream_url=https://www.multiprecision.org/downloads/mpfrcx-VERSION.tar.gz diff --git a/build/pkgs/mpfrcx/package-version.txt b/build/pkgs/mpfrcx/package-version.txt index 2eb3c4fe4ee..844f6a91acb 100644 --- a/build/pkgs/mpfrcx/package-version.txt +++ b/build/pkgs/mpfrcx/package-version.txt @@ -1 +1 @@ -0.5 +0.6.3 From fd110467fdeebb95ecec139da1c1ee6a90be6435 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 12:58:14 -0800 Subject: [PATCH 29/72] build/pkgs/mpc: Update to 1.3.1 --- build/pkgs/mpc/checksums.ini | 7 ++++--- build/pkgs/mpc/package-version.txt | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/build/pkgs/mpc/checksums.ini b/build/pkgs/mpc/checksums.ini index 70fbea4b5be..8a8cefd6b0c 100644 --- a/build/pkgs/mpc/checksums.ini +++ b/build/pkgs/mpc/checksums.ini @@ -1,4 +1,5 @@ tarball=mpc-VERSION.tar.gz -sha1=b019d9e1d27ec5fb99497159d43a3164995de2d0 -md5=4125404e41e482ec68282a2e687f6c73 -cksum=3987925640 +sha1=bac1c1fa79f5602df1e29e4684e103ad55714e02 +md5=5c9bc658c9fd0f940e8e3e0f09530c62 +cksum=3202795598 +upstream_url=https://ftp.gnu.org/gnu/mpc/mpc-VERSION.tar.gz diff --git a/build/pkgs/mpc/package-version.txt b/build/pkgs/mpc/package-version.txt index 9084fa2f716..3a3cd8cc8b0 100644 --- a/build/pkgs/mpc/package-version.txt +++ b/build/pkgs/mpc/package-version.txt @@ -1 +1 @@ -1.1.0 +1.3.1 From 66035f53493975111b79f276c62fde0f6c1c18dc Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 24 Nov 2022 23:53:00 -0800 Subject: [PATCH 30/72] build/pkgs/python3/patches/0001-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch: Remove --- ...compiling-on-debian-ubuntu-with-a-di.patch | 64 ------------------- 1 file changed, 64 deletions(-) delete mode 100644 build/pkgs/python3/patches/0001-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch diff --git a/build/pkgs/python3/patches/0001-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch b/build/pkgs/python3/patches/0001-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch deleted file mode 100644 index ec3d84c8499..00000000000 --- a/build/pkgs/python3/patches/0001-bpo-22699-Allow-compiling-on-debian-ubuntu-with-a-di.patch +++ /dev/null @@ -1,64 +0,0 @@ -From aef4a7749dec9ecf942647af39d7a1303c758131 Mon Sep 17 00:00:00 2001 -From: Isuru Fernando -Date: Thu, 16 Sep 2021 15:46:09 -0500 -Subject: [PATCH 08/24] bpo-22699: Allow compiling on debian/ubuntu with a - different compiler - -This PR fixes one issue mentioned in the bpo -https://bugs.python.org/issue22699#msg364685 with a slightly better -patch than given ---- - setup.py | 19 ++++++++++++++++++- - 1 file changed, 18 insertions(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 554699608d..d5bbeb90d5 100644 ---- a/setup.py -+++ b/setup.py -@@ -667,9 +667,30 @@ def check_extension_import(self, ext): - def add_multiarch_paths(self): - # Debian/Ubuntu multiarch support. - # https://wiki.ubuntu.com/MultiarchSpec -- tmpfile = os.path.join(self.build_temp, 'multiarch') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) -+ -+ tmpfile_sysroot = os.path.join(self.build_temp, 'sysroot') -+ ret_sysroot = run_command( -+ '%s -print-sysroot > %s 2> /dev/null' % (CC, tmpfile_sysroot)) -+ -+ try: -+ if ret_sysroot == 0: -+ with open(tmpfile_sysroot) as fp: -+ sysroot = fp.readline().strip() -+ # if the sysroot is not /, then we are not using -+ # the compiler from debian/ubuntu -+ if sysroot not in ['', '/']: -+ add_dir_to_list(self.compiler.library_dirs, -+ sysroot + '/usr/lib/') -+ add_dir_to_list(self.compiler.include_dirs, -+ sysroot + '/usr/include/') -+ return -+ finally: -+ os.unlink(tmpfile_sysroot) -+ -+ tmpfile = os.path.join(self.build_temp, 'multiarch') -+ - ret = run_command( - '%s -print-multiarch > %s 2> /dev/null' % (CC, tmpfile)) - multiarch_path_component = '' ---- a/setup.py 2021-09-28 23:49:53.193868987 -0700 -+++ b/setup.py 2021-09-28 23:50:13.554098642 -0700 -@@ -738,7 +738,8 @@ - for env_var, arg_name, dir_list in ( - ('LDFLAGS', '-R', self.compiler.runtime_library_dirs), - ('LDFLAGS', '-L', self.compiler.library_dirs), -- ('CPPFLAGS', '-I', self.compiler.include_dirs)): -+ ('CPPFLAGS', '-I', self.compiler.include_dirs), -+ ('CPPFLAGS', '-isystem', self.compiler.include_dirs)): - env_val = sysconfig.get_config_var(env_var) - if env_val: - parser = argparse.ArgumentParser() --- -2.30.2 - From a226e47a4993c1efe415427a84fed2cc7f836a32 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 2 Sep 2023 17:55:18 -0700 Subject: [PATCH 31/72] Delete python3 patches --- build/pkgs/python3/patches/2.7.3-dylib.patch | 15 ------------- .../patches/3.2.6-no-enable-new-dtags.patch | 22 ------------------- .../patches/linux_linking_issue_25229.patch | 12 ---------- 3 files changed, 49 deletions(-) delete mode 100644 build/pkgs/python3/patches/2.7.3-dylib.patch delete mode 100644 build/pkgs/python3/patches/3.2.6-no-enable-new-dtags.patch delete mode 100644 build/pkgs/python3/patches/linux_linking_issue_25229.patch diff --git a/build/pkgs/python3/patches/2.7.3-dylib.patch b/build/pkgs/python3/patches/2.7.3-dylib.patch deleted file mode 100644 index be0de05d388..00000000000 --- a/build/pkgs/python3/patches/2.7.3-dylib.patch +++ /dev/null @@ -1,15 +0,0 @@ -This patch provides a workaround to one long-standing problem with building -extension modules on Cygwin; see https://bugs.python.org/issue2445 for more -background. -diff --git a/Lib/distutils/unixccompiler.py.orig b/Lib/distutils/unixccompiler.py -index 3f321c2..fb5a8fc 100644 ---- a/Lib/distutils/unixccompiler.py -+++ b/Lib/distutils/unixccompiler.py -@@ -81,6 +81,7 @@ class UnixCCompiler(CCompiler): - xcode_stub_lib_format = dylib_lib_format - if sys.platform == "cygwin": - exe_extension = ".exe" -+ dylib_lib_extension = ".dll.a" - - def preprocess(self, source, output_file=None, macros=None, - include_dirs=None, extra_preargs=None, extra_postargs=None): diff --git a/build/pkgs/python3/patches/3.2.6-no-enable-new-dtags.patch b/build/pkgs/python3/patches/3.2.6-no-enable-new-dtags.patch deleted file mode 100644 index ea9b7cecd03..00000000000 --- a/build/pkgs/python3/patches/3.2.6-no-enable-new-dtags.patch +++ /dev/null @@ -1,22 +0,0 @@ -The --enable-new-dtags linker flag should not be used when building non-ELF -binaries. This is related to http://bugs.python.org/issue17362 -diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py -index 69045f8..7ed0a5f 100644 ---- a/Lib/distutils/unixccompiler.py -+++ b/Lib/distutils/unixccompiler.py -@@ -243,9 +243,13 @@ class UnixCCompiler(CCompiler): - # -Wl whenever gcc was used in the past it is probably - # safest to keep doing so. - if sysconfig.get_config_var("GNULD") == "yes": -- # GNU ld needs an extra option to get a RUNPATH -+ # GNU ELF ld needs an extra option to get a RUNPATH - # instead of just an RPATH. -- return "-Wl,--enable-new-dtags,-R" + dir -+ if sys.platform in ["win32", "cygwin"] or \ -+ "mingw" in compiler: -+ return [] -+ else: -+ return "-Wl,--enable-new-dtags,-R" + dir - else: - return "-Wl,-R" + dir - else: diff --git a/build/pkgs/python3/patches/linux_linking_issue_25229.patch b/build/pkgs/python3/patches/linux_linking_issue_25229.patch deleted file mode 100644 index 43131a27913..00000000000 --- a/build/pkgs/python3/patches/linux_linking_issue_25229.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py ---- a/Lib/distutils/unixccompiler.py 2018-06-27 05:07:35.000000000 +0200 -+++ b/Lib/distutils/unixccompiler.py 2018-06-28 09:32:52.719006731 +0200 -@@ -234,7 +234,7 @@ - return ["-Wl,+s", "-L" + dir] - return ["+s", "-L" + dir] - else: -- if self._is_gcc(compiler): -+ if sys.platform[:5] == "linux" or self._is_gcc(compiler): - # gcc on non-GNU systems does not need -Wl, but can - # use it anyway. Since distutils has always passed in - # -Wl whenever gcc was used in the past it is probably From 8fdee551c7ae111e763c175fe4fa4d702a7db758 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 09:51:22 -0800 Subject: [PATCH 32/72] build/pkgs/python3: Update to 3.12.1 --- build/pkgs/python3/checksums.ini | 6 +++--- build/pkgs/python3/package-version.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/pkgs/python3/checksums.ini b/build/pkgs/python3/checksums.ini index f2727eaf401..ffe1fea839c 100644 --- a/build/pkgs/python3/checksums.ini +++ b/build/pkgs/python3/checksums.ini @@ -1,5 +1,5 @@ tarball=Python-VERSION.tar.xz -sha1=89ee31611b73dc0c32c178d15aa208734b462c5a -md5=4efe92adf28875c77d3b9b2e8d3bc44a -cksum=2916176597 +sha1=5b11c58ea58cd6b8e1943c7e9b5f6e0997ca3632 +md5=50f827c800483776c8ef86e6a53831fa +cksum=462766245 upstream_url=https://www.python.org/ftp/python/VERSION/Python-VERSION.tar.xz diff --git a/build/pkgs/python3/package-version.txt b/build/pkgs/python3/package-version.txt index 371cfe355dd..171a6a93d62 100644 --- a/build/pkgs/python3/package-version.txt +++ b/build/pkgs/python3/package-version.txt @@ -1 +1 @@ -3.11.1 +3.12.1 From c93fb28b59b7668f291695052c1173d20a6aa923 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 13 Dec 2023 10:07:45 -0800 Subject: [PATCH 33/72] Revert ".github/workflows/docker.yml: Remove gentoo-python3.12 for now" This reverts commit 5f29842a5a57fafb3338277683518dc31a95e03c. --- .github/workflows/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index be3e784d87c..2b2b2fd2596 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -51,6 +51,7 @@ on: "almalinux-9-python3.11", "gentoo-python3.10", "gentoo-python3.11", + "gentoo-python3.12", "archlinux-latest", "opensuse-15.3-gcc_11-python3.9", "opensuse-15.4-gcc_11-python3.10", From d8791433d4e5f9a7131f0b3ba59e417fd92d30f1 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 15 Dec 2023 11:40:10 -0800 Subject: [PATCH 34/72] build/pkgs/python3/spkg-configure.m4, m4/sage_check_python_for_venv.m4: Use setuptools instead of distutils for extensions tests on Python >= 3.12 --- build/pkgs/python3/SPKG.rst | 12 +++++++----- build/pkgs/python3/spkg-configure.m4 | 6 +++--- m4/sage_check_python_for_venv.m4 | 28 +++++++++++++++++++++------- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/build/pkgs/python3/SPKG.rst b/build/pkgs/python3/SPKG.rst index 73c9f958f26..34cf5c36922 100644 --- a/build/pkgs/python3/SPKG.rst +++ b/build/pkgs/python3/SPKG.rst @@ -8,16 +8,18 @@ By default, Sage will try to use system's ``python3`` to set up a virtual environment, a.k.a. `venv `_ rather than building a Python 3 installation from scratch. -Sage will accept versions 3.9.x to 3.10.x. +Sage will accept versions 3.9.x to 3.12.x. You can also use ``--with-python=/path/to/python3_binary`` to tell Sage to use ``/path/to/python3_binary`` to set up the venv. Note that setting up the venv requires a number of Python modules to be available within the Python in question. Currently, -as of Sage 9.7, these modules are as follows: ``sqlite3``, ``ctypes``, ``math``, -``hashlib``, ``crypt``, ``socket``, ``zlib``, ``distutils.core``, ``ssl`` - -they will be checked for by the ``configure`` script. +as of Sage 10.2, these modules are as follows: ``sqlite3``, ``ctypes``, ``math``, +``hashlib``, ``crypt``, ``socket``, ``zlib``, ``ssl``, ``ensurepip``. +For Python >= 3.12, also ``setuptools`` is required; for older Python versions, +``distutils.core`` is required. These modules will be checked for by the ``configure`` +script. -Use the ``configure`` option ``--without-system-python3`` in case you want Python 3 +Use the ``configure`` option ``--without-system-python3`` if you want Python 3 built from scratch. diff --git a/build/pkgs/python3/spkg-configure.m4 b/build/pkgs/python3/spkg-configure.m4 index dbac1b97efe..26ca92eb6ad 100644 --- a/build/pkgs/python3/spkg-configure.m4 +++ b/build/pkgs/python3/spkg-configure.m4 @@ -24,8 +24,8 @@ SAGE_SPKG_CONFIGURE([python3], [ dnl Check if we can do venv with a system python3 dnl instead of building our own copy. dnl Trac #31160: We no longer check for readline here. - check_modules="sqlite3, ctypes, math, hashlib, crypt, socket, zlib, distutils.core, ssl, ensurepip" - AC_CACHE_CHECK([for python3 >= ]MIN_VERSION[, < ]LT_VERSION[ with modules $check_modules], [ac_cv_path_PYTHON3], [ + check_modules="sqlite3, ctypes, math, hashlib, crypt, socket, zlib, ssl, ensurepip" + AC_CACHE_CHECK([for python3 >= ]MIN_VERSION[, < ]LT_VERSION[ with modules $check_modules and setuptools/distutils], [ac_cv_path_PYTHON3], [ AS_IF([test x"$ac_path_PYTHON3" != x], [dnl checking explicitly specified $with_python AC_MSG_RESULT([]) AC_PATH_PROG([ac_path_PYTHON3], [$ac_path_PYTHON3]) @@ -40,7 +40,7 @@ SAGE_SPKG_CONFIGURE([python3], [ ac_path_PYTHON3_found=: AC_MSG_RESULT([yes]) dnl introduction for AC_MSG_RESULT printed by AC_CACHE_CHECK - AC_MSG_CHECKING([for python3 >= ]MIN_VERSION[, < ]LT_VERSION[ with modules $check_modules]) + AC_MSG_CHECKING([for python3 >= ]MIN_VERSION[, < ]LT_VERSION[ with modules $check_modules and setuptools/distutils]) ]) AS_IF([test -z "$ac_cv_path_PYTHON3"], [ AC_MSG_ERROR([the python3 selected using --with-python=$with_python is not suitable]) diff --git a/m4/sage_check_python_for_venv.m4 b/m4/sage_check_python_for_venv.m4 index da89e93a7ed..363f08c1138 100644 --- a/m4/sage_check_python_for_venv.m4 +++ b/m4/sage_check_python_for_venv.m4 @@ -16,11 +16,23 @@ AC_DEFUN([SAGE_CHECK_PYTHON_FOR_VENV], [ AX_COMPARE_VERSION([$python3_version], [ge], MIN_VERSION, [ AX_COMPARE_VERSION([$python3_version], [lt], LT_VERSION, [ dnl Because the system python is not used directly but rather in a venv without site-packages, - dnl we test whether the module will be available in a venv. + dnl we should test whether the module will be available in a venv. dnl Otherwise, some system site-package may be providing this module to the system python. + dnl However, on Python >= 3.12, we need setuptools to run our extension compilation tests + dnl because distutils has been removed from the standard library. + AX_COMPARE_VERSION([$python3_version], [ge], [3.12.0], [ + conftest_venv_options="--system-site-packages" + distutils_core="setuptools" + distutils_extension="setuptools.extension" + ], [ + conftest_venv_options= + distutils_core="distutils.core" + distutils_extension="distutils.extension" + ]) + all_required_modules="]REQUIRED_MODULES[, $distutils_core, $distutils_extension" dnl m4_define([conftest_venv], [config-venv]) .... for debugging only rm -rf conftest_venv - AS_IF(["]PYTHON_EXE[" build/bin/sage-venv conftest_venv && conftest_venv/bin/python3 -c "import ]REQUIRED_MODULES[" 2>& ]AS_MESSAGE_LOG_FD, [ + AS_IF(["]PYTHON_EXE[" build/bin/sage-venv $conftest_venv_options conftest_venv && conftest_venv/bin/python3 -c "import $all_required_modules" 2>& ]AS_MESSAGE_LOG_FD, [ AS_VAR_SET([python3_result], [yes]) SAGE_PYTHON_CHECK_DISTUTILS([CC="$CC" CXX="$CXX" conftest_venv/bin/python3], [ SAGE_ARCHFLAGS="unset" @@ -46,7 +58,7 @@ AC_DEFUN([SAGE_CHECK_PYTHON_FOR_VENV], [ AC_MSG_RESULT([$python3_result]) ]) ], [ - AC_MSG_RESULT([no, the version is in the supported range but cannot import one of the required modules: ]REQUIRED_MODULES) + AC_MSG_RESULT([no, the version is in the supported range but cannot import one of the required modules: $all_required_modules]) ]) ], [ AC_MSG_RESULT([no, $python3_version is too recent]) @@ -123,8 +135,9 @@ PyInit_spam(void) ]) AC_LANG_POP([C]) cat > conftest.py < conftest.py < Date: Fri, 15 Dec 2023 12:20:21 -0800 Subject: [PATCH 35/72] build/pkgs/python3/distros: Add setuptools packages --- build/pkgs/_python3.12/distros/debian.txt | 1 - build/pkgs/python3/distros/alpine.txt | 1 + build/pkgs/python3/distros/debian.txt | 2 +- build/pkgs/python3/distros/fedora.txt | 1 + build/pkgs/python3/distros/freebsd.txt | 1 + build/pkgs/python3/distros/homebrew.txt | 1 + build/pkgs/python3/distros/macports.txt | 1 + build/pkgs/python3/distros/opensuse.txt | 1 + build/pkgs/python3/distros/void.txt | 1 + 9 files changed, 8 insertions(+), 2 deletions(-) diff --git a/build/pkgs/_python3.12/distros/debian.txt b/build/pkgs/_python3.12/distros/debian.txt index 20ac50641bf..04a63409a04 100644 --- a/build/pkgs/_python3.12/distros/debian.txt +++ b/build/pkgs/_python3.12/distros/debian.txt @@ -1,4 +1,3 @@ python3.12 python3.12-dev -python3.12-distutils python3.12-venv diff --git a/build/pkgs/python3/distros/alpine.txt b/build/pkgs/python3/distros/alpine.txt index 596ce366935..c4fe4764a15 100644 --- a/build/pkgs/python3/distros/alpine.txt +++ b/build/pkgs/python3/distros/alpine.txt @@ -1 +1,2 @@ python3-dev +py3-setuptools diff --git a/build/pkgs/python3/distros/debian.txt b/build/pkgs/python3/distros/debian.txt index 6b3ebf766dc..71f8637f37e 100644 --- a/build/pkgs/python3/distros/debian.txt +++ b/build/pkgs/python3/distros/debian.txt @@ -1,4 +1,4 @@ python3 libpython3-dev -python3-distutils +python3-setuptools python3-venv diff --git a/build/pkgs/python3/distros/fedora.txt b/build/pkgs/python3/distros/fedora.txt index 07358a92e89..ba7b5ea9b21 100644 --- a/build/pkgs/python3/distros/fedora.txt +++ b/build/pkgs/python3/distros/fedora.txt @@ -1 +1,2 @@ python3-devel +python-setuptools diff --git a/build/pkgs/python3/distros/freebsd.txt b/build/pkgs/python3/distros/freebsd.txt index e650785f225..d7bf687a0a3 100644 --- a/build/pkgs/python3/distros/freebsd.txt +++ b/build/pkgs/python3/distros/freebsd.txt @@ -1 +1,2 @@ lang/python +devel/py-setuptools diff --git a/build/pkgs/python3/distros/homebrew.txt b/build/pkgs/python3/distros/homebrew.txt index 1054bbddaff..3ae3509605d 100644 --- a/build/pkgs/python3/distros/homebrew.txt +++ b/build/pkgs/python3/distros/homebrew.txt @@ -1,2 +1,3 @@ # This installs /usr/local/bin/python3 -> python3.9 python3 +python-setuptools diff --git a/build/pkgs/python3/distros/macports.txt b/build/pkgs/python3/distros/macports.txt index 6a2d05c5edb..beda0e63cd4 100644 --- a/build/pkgs/python3/distros/macports.txt +++ b/build/pkgs/python3/distros/macports.txt @@ -1 +1,2 @@ python39 +py-setuptools diff --git a/build/pkgs/python3/distros/opensuse.txt b/build/pkgs/python3/distros/opensuse.txt index 760ddd76f2c..de3b7dcc464 100644 --- a/build/pkgs/python3/distros/opensuse.txt +++ b/build/pkgs/python3/distros/opensuse.txt @@ -1 +1,2 @@ python3${PYTHON_MINOR}-devel +python3${PYTHON_MINOR}-setuptools diff --git a/build/pkgs/python3/distros/void.txt b/build/pkgs/python3/distros/void.txt index 07358a92e89..ab50f2d9b07 100644 --- a/build/pkgs/python3/distros/void.txt +++ b/build/pkgs/python3/distros/void.txt @@ -1 +1,2 @@ python3-devel +python3-setuptools From 588c977dcee4c2a41ea390fc60e61ebb8a97a50d Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 15 Dec 2023 12:38:43 -0800 Subject: [PATCH 36/72] .github/workflows/docker.yml: Add Python 3.12 platforms --- .github/workflows/docker.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2b2b2fd2596..d7e628ccc03 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -23,10 +23,12 @@ on: "ubuntu-jammy", "ubuntu-lunar", "ubuntu-mantic", + "ubuntu-mantic-python3.12", "debian-buster-gcc_spkg", "debian-bullseye", "debian-bookworm", "debian-trixie", + "debian-trixie-python3.12", "debian-sid", "linuxmint-20.1", "linuxmint-20.2", @@ -43,6 +45,7 @@ on: "fedora-36", "fedora-37", "fedora-38", + "fedora-38-python3.12", "fedora-39", "centos-7-devtoolset-gcc_11", "centos-stream-8-python3.9", @@ -57,8 +60,10 @@ on: "opensuse-15.4-gcc_11-python3.10", "opensuse-15.5-gcc_11-python3.11", "opensuse-tumbleweed-python3.10", - "opensuse-tumbleweed", + "opensuse-tumbleweed-python3.11", + "opensuse-tumbleweed-python3.12", "conda-forge-python3.11", + "conda-forge", "ubuntu-bionic-gcc_8-i386", "debian-bullseye-i386", ] From 503dea25e7bc7d23b4197152bdf876d32370be22 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 16 Dec 2023 19:37:03 -0800 Subject: [PATCH 37/72] README.md, src/doc/en/developer/coding_in_python.rst: Update to Python 3.12 --- README.md | 2 +- src/doc/en/developer/coding_in_python.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4720c2b87ab..1f3de934182 100644 --- a/README.md +++ b/README.md @@ -210,7 +210,7 @@ in the Installation Guide. more details. - Python 3.4 or later, or Python 2.7, a full installation including - `urllib`; but ideally version 3.9.x, 3.10.x, or 3.11.x, which + `urllib`; but ideally versions 3.9.x to 3.12.x, which will avoid having to build Sage's own copy of Python 3. See [build/pkgs/python3/SPKG.rst](build/pkgs/python3/SPKG.rst) for more details. diff --git a/src/doc/en/developer/coding_in_python.rst b/src/doc/en/developer/coding_in_python.rst index e39a3f72c4d..6701c8362cd 100644 --- a/src/doc/en/developer/coding_in_python.rst +++ b/src/doc/en/developer/coding_in_python.rst @@ -43,7 +43,7 @@ using one of two mechanisms: (to be used in place of ``typing``). The Sage library declares these packages as dependencies and ensures that - versions that provide features of Python 3.11 are available. + versions that provide features of Python 3.12 are available. Meta :issue:`29756` keeps track of newer Python features and serves as a starting point for discussions on how to make use of them in the From edbc95467fddefee2f4e6062b778281a85797daa Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 19 Dec 2023 16:08:46 -0800 Subject: [PATCH 38/72] pkgs/sage-conf/pyproject.toml.m4: Change setuptools_wheel to setuptools after #36885 --- pkgs/sage-conf/pyproject.toml.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 index faae302cdb7..fdb69238bde 100644 --- a/pkgs/sage-conf/pyproject.toml.m4 +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -1,7 +1,7 @@ include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] requires = [ - SPKG_INSTALL_REQUIRES_setuptools_wheel + SPKG_INSTALL_REQUIRES_setuptools ] build-backend = "setuptools.build_meta" From b75b14bf5a9f2d91c95abeaa3acf76d1707c9208 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 20 Dec 2023 21:31:21 -0800 Subject: [PATCH 39/72] git grep -l setuptools_wheel | xargs sed -i.bak s/setuptools_wheel/setuptools/ --- pkgs/sage-docbuild/pyproject.toml.m4 | 2 +- pkgs/sage-setup/pyproject.toml.m4 | 2 +- pkgs/sage-sws2rst/pyproject.toml.m4 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/sage-docbuild/pyproject.toml.m4 b/pkgs/sage-docbuild/pyproject.toml.m4 index 0643cc0f0a9..1d031de5440 100644 --- a/pkgs/sage-docbuild/pyproject.toml.m4 +++ b/pkgs/sage-docbuild/pyproject.toml.m4 @@ -1,7 +1,7 @@ include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] requires = [ - SPKG_INSTALL_REQUIRES_setuptools_wheel + SPKG_INSTALL_REQUIRES_setuptools ] build-backend = "setuptools.build_meta" diff --git a/pkgs/sage-setup/pyproject.toml.m4 b/pkgs/sage-setup/pyproject.toml.m4 index 768ddfc0a6d..dfeeb598690 100644 --- a/pkgs/sage-setup/pyproject.toml.m4 +++ b/pkgs/sage-setup/pyproject.toml.m4 @@ -1,7 +1,7 @@ include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] requires = [ - SPKG_INSTALL_REQUIRES_setuptools_wheel + SPKG_INSTALL_REQUIRES_setuptools ] build-backend = "setuptools.build_meta" diff --git a/pkgs/sage-sws2rst/pyproject.toml.m4 b/pkgs/sage-sws2rst/pyproject.toml.m4 index f68451a3b96..6a7f65da5a2 100644 --- a/pkgs/sage-sws2rst/pyproject.toml.m4 +++ b/pkgs/sage-sws2rst/pyproject.toml.m4 @@ -1,7 +1,7 @@ include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] requires = [ - SPKG_INSTALL_REQUIRES_setuptools_wheel + SPKG_INSTALL_REQUIRES_setuptools ] build-backend = "setuptools.build_meta" From ea6fee051cf1b18dc28fcc4407a38f88d18e14c6 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Thu, 21 Dec 2023 13:59:25 -0800 Subject: [PATCH 40/72] build/pkgs/gmpy2/install-requires.txt: Use a version specifier that actually accepts our current version --- build/pkgs/gmpy2/install-requires.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/gmpy2/install-requires.txt b/build/pkgs/gmpy2/install-requires.txt index 1232852e763..c381c09a1b7 100644 --- a/build/pkgs/gmpy2/install-requires.txt +++ b/build/pkgs/gmpy2/install-requires.txt @@ -1 +1 @@ -gmpy2 > 2.1.99 +gmpy2 ~= 2.2.0a1 From 0a8295656cb9d6a6aa7d82d51f615e76780fb24f Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 22 Dec 2023 09:26:29 -0800 Subject: [PATCH 41/72] build/pkgs/hypothesis: New (gmpy2 check dependency) --- build/pkgs/hypothesis/SPKG.rst | 18 ++++++++++++++++++ build/pkgs/hypothesis/dependencies | 4 ++++ build/pkgs/hypothesis/requirements.txt | 1 + build/pkgs/hypothesis/type | 1 + 4 files changed, 24 insertions(+) create mode 100644 build/pkgs/hypothesis/SPKG.rst create mode 100644 build/pkgs/hypothesis/dependencies create mode 100644 build/pkgs/hypothesis/requirements.txt create mode 100644 build/pkgs/hypothesis/type diff --git a/build/pkgs/hypothesis/SPKG.rst b/build/pkgs/hypothesis/SPKG.rst new file mode 100644 index 00000000000..4ad2e57722c --- /dev/null +++ b/build/pkgs/hypothesis/SPKG.rst @@ -0,0 +1,18 @@ +hypothesis: A library for property-based testing +================================================ + +Description +----------- + +A library for property-based testing + +License +------- + +MPL-2.0 + +Upstream Contact +---------------- + +https://pypi.org/project/hypothesis/ + diff --git a/build/pkgs/hypothesis/dependencies b/build/pkgs/hypothesis/dependencies new file mode 100644 index 00000000000..47296a7bace --- /dev/null +++ b/build/pkgs/hypothesis/dependencies @@ -0,0 +1,4 @@ + | $(PYTHON_TOOLCHAIN) $(PYTHON) + +---------- +All lines of this file are ignored except the first. diff --git a/build/pkgs/hypothesis/requirements.txt b/build/pkgs/hypothesis/requirements.txt new file mode 100644 index 00000000000..68ee44629fb --- /dev/null +++ b/build/pkgs/hypothesis/requirements.txt @@ -0,0 +1 @@ +hypothesis diff --git a/build/pkgs/hypothesis/type b/build/pkgs/hypothesis/type new file mode 100644 index 00000000000..134d9bc32d5 --- /dev/null +++ b/build/pkgs/hypothesis/type @@ -0,0 +1 @@ +optional From 9d48ebbc7f2c587de018d1df6320d1ece290c53e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 22 Dec 2023 09:27:24 -0800 Subject: [PATCH 42/72] build/pkgs/gmpy2/dependencies_check: New --- build/pkgs/gmpy2/dependencies_check | 1 + 1 file changed, 1 insertion(+) create mode 100644 build/pkgs/gmpy2/dependencies_check diff --git a/build/pkgs/gmpy2/dependencies_check b/build/pkgs/gmpy2/dependencies_check new file mode 100644 index 00000000000..4e8368290c0 --- /dev/null +++ b/build/pkgs/gmpy2/dependencies_check @@ -0,0 +1 @@ +pytest hypothesis cython mpmath setuptools From dadc5af647e6256993b2c4c388aa5e0ea99c9cb1 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 22 Dec 2023 09:52:27 -0800 Subject: [PATCH 43/72] build/pkgs/hypothesis/dependencies: Add attrs --- build/pkgs/hypothesis/dependencies | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/hypothesis/dependencies b/build/pkgs/hypothesis/dependencies index 47296a7bace..12067bf5c3e 100644 --- a/build/pkgs/hypothesis/dependencies +++ b/build/pkgs/hypothesis/dependencies @@ -1,4 +1,4 @@ - | $(PYTHON_TOOLCHAIN) $(PYTHON) +attrs | $(PYTHON_TOOLCHAIN) $(PYTHON) ---------- All lines of this file are ignored except the first. From c4aa788e6086a4f76f8bf4cb417a97b154bc84fb Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 22 Dec 2023 10:12:36 -0800 Subject: [PATCH 44/72] build/pkgs/gmpy2/install-requires.txt: Back to only requiring >= 2.1.0 --- build/pkgs/gmpy2/install-requires.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/gmpy2/install-requires.txt b/build/pkgs/gmpy2/install-requires.txt index c381c09a1b7..5f50ec2dd25 100644 --- a/build/pkgs/gmpy2/install-requires.txt +++ b/build/pkgs/gmpy2/install-requires.txt @@ -1 +1 @@ -gmpy2 ~= 2.2.0a1 +gmpy2 >=2.1.0 From 541acdfc3185092f21abb7f2815badb6c1cc80cf Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 22 Dec 2023 23:30:43 -0800 Subject: [PATCH 45/72] build/pkgs/gmpy2/install-requires.txt: Accept both 2.1.x and 2.2.0a1 --- build/pkgs/gmpy2/install-requires.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/gmpy2/install-requires.txt b/build/pkgs/gmpy2/install-requires.txt index 5f50ec2dd25..11116398187 100644 --- a/build/pkgs/gmpy2/install-requires.txt +++ b/build/pkgs/gmpy2/install-requires.txt @@ -1 +1 @@ -gmpy2 >=2.1.0 +gmpy2 ~=2.1.b999 From 03f8e9c5a7c48e5494b4732896164cf044f50ae3 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 23 Dec 2023 12:02:27 -0800 Subject: [PATCH 46/72] src/pyproject.toml.m4: Merge all metadata from src/setup.cfg.m4, remove src/setup.cfg.m4, update docs --- bootstrap | 3 +- build/bin/write-dockerfile.sh | 2 +- pkgs/sagemath-standard/setup.cfg | 1 - pkgs/sagemath-standard/setup.cfg.m4 | 1 - pkgs/sagemath-standard/tox.ini | 4 +- src/Pipfile.m4 | 8 +- src/doc/en/developer/coding_basics.rst | 4 +- src/doc/en/developer/coding_in_python.rst | 5 +- .../en/developer/packaging_sage_library.rst | 25 +-- src/pyproject.toml.m4 | 164 ++++++++++++++++-- src/setup.cfg.m4 | 133 -------------- 11 files changed, 175 insertions(+), 175 deletions(-) delete mode 120000 pkgs/sagemath-standard/setup.cfg delete mode 120000 pkgs/sagemath-standard/setup.cfg.m4 delete mode 100644 src/setup.cfg.m4 diff --git a/bootstrap b/bootstrap index 5070b5df44a..b068431c14b 100755 --- a/bootstrap +++ b/bootstrap @@ -232,8 +232,7 @@ save () { src/environment-optional-3.[89].yml src/environment-optional-3.1[0-9].yml \ src/Pipfile \ src/pyproject.toml \ - src/requirements.txt \ - src/setup.cfg + src/requirements.txt # Update version echo "$NEWCONFVERSION" >$PKG/package-version.txt diff --git a/build/bin/write-dockerfile.sh b/build/bin/write-dockerfile.sh index bfc4dd751a4..f70f16e691b 100755 --- a/build/bin/write-dockerfile.sh +++ b/build/bin/write-dockerfile.sh @@ -222,7 +222,7 @@ $ADD Makefile VERSION.txt COPYING.txt condarc.yml README.md bootstrap bootstrap- $ADD config/config.rpath config/config.rpath $ADD src/doc/bootstrap src/doc/bootstrap $ADD src/bin src/bin -$ADD src/Pipfile.m4 src/pyproject.toml.m4 src/requirements.txt.m4 src/setup.cfg.m4 src/VERSION.txt src/ +$ADD src/Pipfile.m4 src/pyproject.toml.m4 src/requirements.txt.m4 src/VERSION.txt src/ $ADD m4 ./m4 $ADD pkgs pkgs $ADD build ./build diff --git a/pkgs/sagemath-standard/setup.cfg b/pkgs/sagemath-standard/setup.cfg deleted file mode 120000 index ba9b315730a..00000000000 --- a/pkgs/sagemath-standard/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../../src/setup.cfg \ No newline at end of file diff --git a/pkgs/sagemath-standard/setup.cfg.m4 b/pkgs/sagemath-standard/setup.cfg.m4 deleted file mode 120000 index 8934d7b5955..00000000000 --- a/pkgs/sagemath-standard/setup.cfg.m4 +++ /dev/null @@ -1 +0,0 @@ -../../src/setup.cfg.m4 \ No newline at end of file diff --git a/pkgs/sagemath-standard/tox.ini b/pkgs/sagemath-standard/tox.ini index 6aae1ef1bfa..fcd32d0764b 100644 --- a/pkgs/sagemath-standard/tox.ini +++ b/pkgs/sagemath-standard/tox.ini @@ -17,7 +17,7 @@ [tox] envlist = # Build and test without using the concrete dependencies specified by requirements.txt, - # using the dependencies declared in pyproject.toml and setup.cfg (install-requires) only: + # using the dependencies declared in pyproject.toml (build-system requires, dependencies) only: # Still use ONLY the wheels built and stored by the Sage distribution (no PyPI). # # ./sage -sh -c '(cd pkgs/sagemath-standard && tox -v -v -v -e sagepython-sagewheels-nopypi-norequirements)' @@ -45,7 +45,7 @@ envlist = # # ./sage -sh -c '(cd pkgs/sagemath-standard && tox -v -v -v -e sagepython-sagewheels-pipenv-dist)' # - # Build using the dependencies declared in pyproject.toml and setup.cfg (install-requires) only. + # Build using the dependencies declared in pyproject.toml (build-system requires, dependencies) only: # Use the wheels built and stored by the Sage distribution, # and additionally allow packages from PyPI. # diff --git a/src/Pipfile.m4 b/src/Pipfile.m4 index feca57f7de9..d03a2a12814 100644 --- a/src/Pipfile.m4 +++ b/src/Pipfile.m4 @@ -6,8 +6,8 @@ url = "https://pypi.org/simple" verify_ssl = true [dev-packages] -## We do not list packages that are already declared as install_requires -## in setup.cfg +## We do not list packages that are already declared as dependencies (install_requires) +## in pyproject.toml pycodestyle = "*" tox = "*" pytest = "*" @@ -15,8 +15,8 @@ rope = "*" six = "*" [packages] -## We do not list packages that are already declared as install_requires -## in setup.cfg +## We do not list packages that are already declared as dependencies (install_requires) +## in pyproject.toml [packages.e1839a8] path = "." diff --git a/src/doc/en/developer/coding_basics.rst b/src/doc/en/developer/coding_basics.rst index 0ef64de57e8..c7dbec401e0 100644 --- a/src/doc/en/developer/coding_basics.rst +++ b/src/doc/en/developer/coding_basics.rst @@ -174,8 +174,8 @@ of the following places: file = os.path.join(SAGE_EXTCODE, 'directory', 'file') In both cases, the files must be listed (explicitly or via wildcards) in -the section ``options.package_data`` of the file -``SAGE_ROOT/pkgs/sagemath-standard/setup.cfg.m4`` (or the corresponding +the section ``[tool.setuptools.package-data]`` of the file +``SAGE_ROOT/pkgs/sagemath-standard/pyproject.toml.m4`` (or the corresponding file of another distribution). diff --git a/src/doc/en/developer/coding_in_python.rst b/src/doc/en/developer/coding_in_python.rst index e39a3f72c4d..1a257e98548 100644 --- a/src/doc/en/developer/coding_in_python.rst +++ b/src/doc/en/developer/coding_in_python.rst @@ -13,8 +13,9 @@ Python language standard Sage library code needs to be compatible with all versions of Python that Sage supports. The information regarding the supported versions -can be found in the files ``build/pkgs/python3/spkg-configure.m4`` and -``src/setup.cfg.m4``. +can be found in the files ``build/pkgs/python3/spkg-configure.m4`` +(for the Sage distribution), ``m4/pyproject_toml_metadata.m4`` (for +the Sage library and most other distribution packages in ``pkgs/``). Python 3.9 is the oldest supported version. Hence, all language and library features that are available in Python 3.9 can diff --git a/src/doc/en/developer/packaging_sage_library.rst b/src/doc/en/developer/packaging_sage_library.rst index d5f5a3dac4b..cd6e365ca62 100644 --- a/src/doc/en/developer/packaging_sage_library.rst +++ b/src/doc/en/developer/packaging_sage_library.rst @@ -174,8 +174,7 @@ The source directory of a distribution package, such as $ ./sage --fixdistributions --set all --from-egg-info -- `pyproject.toml `_, - `setup.cfg `_, +- `pyproject.toml `_ and `requirements.txt `_ -- standard Python packaging metadata, declaring the distribution name, dependencies, etc. @@ -288,8 +287,9 @@ modules must be part of the distribution, or provided by another distribution -- which then must be declared as a run-time dependency. *Declaring run-time dependencies:* These dependencies are declared in -``setup.cfg`` (generated from ``setup.cfg.m4``) as -`install_requires `_. +``pyproject.toml`` (generated from ``pyproject.toml.m4``) as +`[project] dependencies `_ (in the older terminology of ``setup.cfg`` and ``setup.py``, +these dependencies were known as ``install_requires``). *Reducing module-level run-time dependencies:* @@ -467,14 +467,17 @@ features, which will only be working if the user also has installed **sagemath-symbolics**. *Declaring optional run-time dependencies:* It is possible to declare -such optional dependencies as `extras_require `_ in ``setup.cfg`` -(generated from ``setup.cfg.m4``). This is a very limited mechanism +such dependencies as `[project.optional-dependencies] `_ in ``pyproject.toml`` +(generated from ``pyproject.toml.m4``). +(In the older terminology of ``setup.cfg`` and ``setup.py``, +these optional dependencies were known as ``extras_require``.) +This is a very limited mechanism -- in particular it does not affect the build phase of the distribution in any way. It basically only provides a way to give a nickname to a distribution that can be installed as an add-on. -In our example, we could declare an ``extras_require`` so that users -could use ``pip install sagemath-coding[symbolics]``. +In our example, we could declare an optional dependency so that users +could use ``pip install "sagemath-coding[symbolics]"``. Doctest-only dependencies @@ -516,7 +519,7 @@ The version information for dependencies comes from the files ``build/pkgs/*/package-version.txt``. We use the `m4 `_ macro processor to insert the version information in the generated files -``pyproject.toml``, ``setup.cfg``, ``requirements.txt``. +``pyproject.toml`` and ``requirements.txt``. Hierarchy of distribution packages @@ -546,8 +549,8 @@ Hierarchy of distribution packages sphinx_plot(g, figsize=(8, 4), axes=False) -Solid arrows indicate ``install_requires``, i.e., a declared runtime dependency. -Dashed arrows indicate ``extras_require``, i.e., a declared optional runtime dependency. +Solid arrows indicate declared runtime dependencies (``install_requires``). +Dashed arrows indicate declared optional runtime dependencies (``extras_require``). Not shown in the diagram are build dependencies and optional dependencies for testing. - `sage_conf `_ is a configuration diff --git a/src/pyproject.toml.m4 b/src/pyproject.toml.m4 index 2d60708affa..219637160b5 100644 --- a/src/pyproject.toml.m4 +++ b/src/pyproject.toml.m4 @@ -1,3 +1,4 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] # Minimum requirements for the build system to execute. requires = [ @@ -5,20 +6,151 @@ requires = [ # Some version of sage-conf is required. # Note that PEP517/518 have no notion of optional sage_spkg dependencies: # https://github.com/pypa/pip/issues/6144 - esyscmd(`sage-get-system-packages install-requires-toml \ - sage_conf \ - setuptools \ - wheel \ - sage_setup \ - cypari \ - cysignals \ - cython \ - gmpy2 \ - jinja2 \ - jupyter_core \ - numpy \ - pkgconfig \ - pplpy \ - memory_allocator \ - ')] + SPKG_INSTALL_REQUIRES_sage_conf + SPKG_INSTALL_REQUIRES_setuptools + SPKG_INSTALL_REQUIRES_wheel + SPKG_INSTALL_REQUIRES_sage_setup + SPKG_INSTALL_REQUIRES_cypari + SPKG_INSTALL_REQUIRES_cysignals + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_gmpy2 + SPKG_INSTALL_REQUIRES_jupyter_core + SPKG_INSTALL_REQUIRES_memory_allocator + SPKG_INSTALL_REQUIRES_numpy + SPKG_INSTALL_REQUIRES_pkgconfig + SPKG_INSTALL_REQUIRES_pplpy +] build-backend = "setuptools.build_meta" + +[project] +name = "sagemath-standard" +description = "Sage: Open Source Mathematics Software: Standard Python Library" +dependencies = [ + SPKG_INSTALL_REQUIRES_sage_conf + SPKG_INSTALL_REQUIRES_six +dnl From build/pkgs/sagelib/dependencies + SPKG_INSTALL_REQUIRES_conway_polynomials + SPKG_INSTALL_REQUIRES_cypari + SPKG_INSTALL_REQUIRES_cysignals + SPKG_INSTALL_REQUIRES_cython + SPKG_INSTALL_REQUIRES_gmpy2 + SPKG_INSTALL_REQUIRES_importlib_metadata + SPKG_INSTALL_REQUIRES_importlib_resources + SPKG_INSTALL_REQUIRES_jupyter_core + SPKG_INSTALL_REQUIRES_lrcalc_python + SPKG_INSTALL_REQUIRES_memory_allocator + SPKG_INSTALL_REQUIRES_numpy + SPKG_INSTALL_REQUIRES_pkgconfig + SPKG_INSTALL_REQUIRES_pplpy + SPKG_INSTALL_REQUIRES_primecountpy + SPKG_INSTALL_REQUIRES_requests + SPKG_INSTALL_REQUIRES_typing_extensions +dnl From Makefile.in: SAGERUNTIME + SPKG_INSTALL_REQUIRES_ipython + SPKG_INSTALL_REQUIRES_pexpect +dnl From Makefile.in: DOC_DEPENDENCIES + SPKG_INSTALL_REQUIRES_sphinx + SPKG_INSTALL_REQUIRES_networkx + SPKG_INSTALL_REQUIRES_scipy + SPKG_INSTALL_REQUIRES_sympy + SPKG_INSTALL_REQUIRES_matplotlib + SPKG_INSTALL_REQUIRES_pillow + SPKG_INSTALL_REQUIRES_mpmath + SPKG_INSTALL_REQUIRES_ipykernel + SPKG_INSTALL_REQUIRES_jupyter_client + SPKG_INSTALL_REQUIRES_ipywidgets + SPKG_INSTALL_REQUIRES_fpylll +dnl pycryptosat # Sage distribution installs it as part of cryptominisat. According to its README on https://pypi.org/project/pycryptosat/: "The pycryptosat python package compiles while compiling CryptoMiniSat. It cannot be compiled on its own, it must be compiled at the same time as CryptoMiniSat." +dnl Packages with important upper version bounds + SPKG_INSTALL_REQUIRES_ptyprocess +] +dynamic = ["version"] +include(`pyproject_toml_metadata.m4')dnl' + +[project.optional-dependencies] +R = [ + SPKG_INSTALL_REQUIRES_rpy2 +] + +[project.readme] +file = "README.rst" +content-type = "text/x-rst" + +[tool.setuptools] +script-files = [ + # The sage script + "bin/sage", + # Other scripts that should be in the path also for OS packaging of sage: + "bin/sage-eval", + # Included because it is useful for doctesting/coverage testing user scripts too: + "bin/sage-runtests", + "bin/sage-fixdoctests", + "bin/sage-coverage", + # The following is deprecated but might still be used in user package install scripts + "bin/sage-cython", + # Helper scripts invoked by sage script + # (they would actually belong to something like libexec) + "bin/sage-cachegrind", + "bin/sage-callgrind", + "bin/sage-massif", + "bin/sage-omega", + "bin/sage-valgrind", + "bin/sage-venv-config", + "bin/sage-version.sh", + "bin/sage-cleaner", + # Only makes sense in sage-the-distribution. TODO: Move to another installation script. + "bin/sage-list-packages", + # Uncategorized scripts in alphabetical order + "bin/math-readline", + "bin/sage-env", + # sage-env-config -- installed by sage_conf + # sage-env-config.in -- not to be installed + "bin/sage-grep", + "bin/sage-grepdoc", + "bin/sage-inline-fortran", + "bin/sage-ipynb2rst", + "bin/sage-ipython", + "bin/sage-notebook", + "bin/sage-num-threads.py", + "bin/sage-preparse", + "bin/sage-python", + "bin/sage-run", + "bin/sage-run-cython", + "bin/sage-startuptime.py", + "bin/sage-update-version", +] +license-files = ["LICENSE.txt"] +include-package-data = false + +[tool.setuptools.package-data] +"sage.libs.gap" = ["sage.gaprc"] +"sage.interfaces" = ["sage-maxima.lisp"] +"sage.doctest" = ["tests/*"] +"sage.repl.rich_output" = ["example*"] +sage = [ + "ext_data/*", + "ext_data/kenzo/*", + "ext_data/singular/*", + "ext_data/singular/function_field/*", + "ext_data/images/*", + "ext_data/doctest/*", + "ext_data/doctest/invalid/*", + "ext_data/gap/*", + "ext_data/gap/joyner/*", + "ext_data/mwrank/*", + "ext_data/notebook-ipython/*", + "ext_data/nbconvert/*", + "ext_data/graphs/*", + "ext_data/pari/*", + "ext_data/pari/dokchitser/*", + "ext_data/pari/buzzard/*", + "ext_data/pari/simon/*", + "ext_data/magma/*", + "ext_data/magma/latex/*", + "ext_data/magma/sage/*", + "ext_data/valgrind/*", + "ext_data/threejs/*", +] + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} diff --git a/src/setup.cfg.m4 b/src/setup.cfg.m4 deleted file mode 100644 index 23f3d6cb166..00000000000 --- a/src/setup.cfg.m4 +++ /dev/null @@ -1,133 +0,0 @@ -include(`sage_spkg_versions.m4')dnl' -*- conf-unix -*- -[metadata] -name = sagemath-standard -version = file: VERSION.txt -description = Sage: Open Source Mathematics Software: Standard Python Library -long_description = file: README.rst -long_description_content_type = text/x-rst -license_files = LICENSE.txt -include(`setup_cfg_metadata.m4')dnl' - -[options] -python_requires = >=3.9, <3.12 -install_requires = - SPKG_INSTALL_REQUIRES_sage_conf - SPKG_INSTALL_REQUIRES_six -dnl From build/pkgs/sagelib/dependencies - SPKG_INSTALL_REQUIRES_conway_polynomials - SPKG_INSTALL_REQUIRES_cypari - SPKG_INSTALL_REQUIRES_cysignals - SPKG_INSTALL_REQUIRES_cython - SPKG_INSTALL_REQUIRES_gmpy2 - SPKG_INSTALL_REQUIRES_importlib_metadata - SPKG_INSTALL_REQUIRES_importlib_resources - SPKG_INSTALL_REQUIRES_jupyter_core - SPKG_INSTALL_REQUIRES_lrcalc_python - SPKG_INSTALL_REQUIRES_memory_allocator - SPKG_INSTALL_REQUIRES_numpy - SPKG_INSTALL_REQUIRES_pkgconfig - SPKG_INSTALL_REQUIRES_pplpy - SPKG_INSTALL_REQUIRES_primecountpy - SPKG_INSTALL_REQUIRES_requests - SPKG_INSTALL_REQUIRES_typing_extensions -dnl From Makefile.in: SAGERUNTIME - SPKG_INSTALL_REQUIRES_ipython - SPKG_INSTALL_REQUIRES_pexpect -dnl From Makefile.in: DOC_DEPENDENCIES - SPKG_INSTALL_REQUIRES_sphinx - SPKG_INSTALL_REQUIRES_networkx - SPKG_INSTALL_REQUIRES_scipy - SPKG_INSTALL_REQUIRES_sympy - SPKG_INSTALL_REQUIRES_matplotlib - SPKG_INSTALL_REQUIRES_pillow - SPKG_INSTALL_REQUIRES_mpmath - SPKG_INSTALL_REQUIRES_ipykernel - SPKG_INSTALL_REQUIRES_jupyter_client - SPKG_INSTALL_REQUIRES_ipywidgets - SPKG_INSTALL_REQUIRES_fpylll -dnl pycryptosat # Sage distribution installs it as part of cryptominisat. According to its README on https://pypi.org/project/pycryptosat/: "The pycryptosat python package compiles while compiling CryptoMiniSat. It cannot be compiled on its own, it must be compiled at the same time as CryptoMiniSat." -dnl Packages with important upper version bounds - SPKG_INSTALL_REQUIRES_ptyprocess - -scripts = - # The sage script - bin/sage - # Other scripts that should be in the path also for OS packaging of sage: - bin/sage-eval - # Included because it is useful for doctesting/coverage testing user scripts too: - bin/sage-runtests - bin/sage-fixdoctests - bin/sage-coverage - # The following is deprecated but might still be used in user package install scripts - bin/sage-cython - # Helper scripts invoked by sage script - # (they would actually belong to something like libexec) - bin/sage-cachegrind - bin/sage-callgrind - bin/sage-massif - bin/sage-omega - bin/sage-valgrind - bin/sage-venv-config - bin/sage-version.sh - bin/sage-cleaner - # Only makes sense in sage-the-distribution. TODO: Move to another installation script. - bin/sage-list-packages - # Uncategorized scripts in alphabetical order - bin/math-readline - bin/sage-env - # sage-env-config -- installed by sage_conf - # sage-env-config.in -- not to be installed - bin/sage-grep - bin/sage-grepdoc - bin/sage-inline-fortran - bin/sage-ipynb2rst - bin/sage-ipython - bin/sage-notebook - bin/sage-num-threads.py - bin/sage-preparse - bin/sage-python - bin/sage-run - bin/sage-run-cython - bin/sage-startuptime.py - bin/sage-update-version - -[options.package_data] - -sage.libs.gap = - sage.gaprc - -sage.interfaces = - sage-maxima.lisp - -sage.doctest = - tests/* - -sage.repl.rich_output = - example* - -sage = - ext_data/* - ext_data/kenzo/* - ext_data/singular/* - ext_data/singular/function_field/* - ext_data/images/* - ext_data/doctest/* - ext_data/doctest/invalid/* - ext_data/gap/* - ext_data/gap/joyner/* - ext_data/mwrank/* - ext_data/notebook-ipython/* - ext_data/nbconvert/* - ext_data/graphs/* - ext_data/pari/* - ext_data/pari/dokchitser/* - ext_data/pari/buzzard/* - ext_data/pari/simon/* - ext_data/magma/* - ext_data/magma/latex/* - ext_data/magma/sage/* - ext_data/valgrind/* - ext_data/threejs/* - -[options.extras_require] -R = SPKG_INSTALL_REQUIRES_rpy2 From 00e492de2c9108cbb2bd38f0899744de0f029eac Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 3 Jan 2024 09:53:51 -0800 Subject: [PATCH 47/72] build/pkgs/{python3,setuptools}/distros/fedora.txt: Use python3-setuptools --- build/pkgs/python3/distros/fedora.txt | 2 +- build/pkgs/setuptools/distros/fedora.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/pkgs/python3/distros/fedora.txt b/build/pkgs/python3/distros/fedora.txt index ba7b5ea9b21..ab50f2d9b07 100644 --- a/build/pkgs/python3/distros/fedora.txt +++ b/build/pkgs/python3/distros/fedora.txt @@ -1,2 +1,2 @@ python3-devel -python-setuptools +python3-setuptools diff --git a/build/pkgs/setuptools/distros/fedora.txt b/build/pkgs/setuptools/distros/fedora.txt index e1ad17860cd..1c0901c0374 100644 --- a/build/pkgs/setuptools/distros/fedora.txt +++ b/build/pkgs/setuptools/distros/fedora.txt @@ -1 +1 @@ -python-setuptools +python3-setuptools From 3f1d890aa6f3d73355ea08d39ca666dcb4fce5c9 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 3 Jan 2024 09:54:59 -0800 Subject: [PATCH 48/72] build/pkgs/libbraiding/distros/fedora.txt: Add libbraiding-devel --- build/pkgs/libbraiding/distros/fedora.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/build/pkgs/libbraiding/distros/fedora.txt b/build/pkgs/libbraiding/distros/fedora.txt index 3767599b368..9ac33374c69 100644 --- a/build/pkgs/libbraiding/distros/fedora.txt +++ b/build/pkgs/libbraiding/distros/fedora.txt @@ -1 +1,2 @@ libbraiding +libbraiding-devel From 2cf79e3850ce6874d57fc89344d33c1e6dca0c2a Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 3 Jan 2024 10:55:31 -0800 Subject: [PATCH 49/72] .github/workflows/ci-linux-incremental.yml: Add fedora-39 --- .github/workflows/ci-linux-incremental.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-linux-incremental.yml b/.github/workflows/ci-linux-incremental.yml index d3b7801c548..824db163305 100644 --- a/.github/workflows/ci-linux-incremental.yml +++ b/.github/workflows/ci-linux-incremental.yml @@ -92,6 +92,7 @@ jobs: "debian-bookworm", "fedora-30", "fedora-38", + "fedora-39", "gentoo-python3.11", "debian-bullseye-i386"] tox_packages_factors: >- From 5c53bb5cc4be35a9847e75772242d903233eadf4 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 6 Feb 2024 21:55:24 -0800 Subject: [PATCH 50/72] build/pkgs/python3: Update to 3.12.2 --- build/pkgs/python3/checksums.ini | 6 +++--- build/pkgs/python3/package-version.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build/pkgs/python3/checksums.ini b/build/pkgs/python3/checksums.ini index ffe1fea839c..8cf886464c1 100644 --- a/build/pkgs/python3/checksums.ini +++ b/build/pkgs/python3/checksums.ini @@ -1,5 +1,5 @@ tarball=Python-VERSION.tar.xz -sha1=5b11c58ea58cd6b8e1943c7e9b5f6e0997ca3632 -md5=50f827c800483776c8ef86e6a53831fa -cksum=462766245 +sha1=040eac171c17062253042f7faafea830b03bf07b +md5=e7c178b97bf8f7ccd677b94d614f7b3c +cksum=271323389 upstream_url=https://www.python.org/ftp/python/VERSION/Python-VERSION.tar.xz diff --git a/build/pkgs/python3/package-version.txt b/build/pkgs/python3/package-version.txt index 171a6a93d62..8531a3b7ee7 100644 --- a/build/pkgs/python3/package-version.txt +++ b/build/pkgs/python3/package-version.txt @@ -1 +1 @@ -3.12.1 +3.12.2 From 5914089a9cd0377a3e36cef294f2d87ba2966cb9 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Fri, 20 Oct 2023 10:06:16 +0000 Subject: [PATCH 51/72] pkgs/sage-conf: Move version from setup.cfg to pyproject.toml --- pkgs/sage-conf/pyproject.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml index 9787c3bdf00..9b39d5d8816 100644 --- a/pkgs/sage-conf/pyproject.toml +++ b/pkgs/sage-conf/pyproject.toml @@ -1,3 +1,10 @@ [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" + +[project] +name = "sage-conf" +dynamic = ["version"] + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From 51566be0d8d34c11d89a533ec620d71440e869bf Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Wed, 25 Oct 2023 13:24:42 +0000 Subject: [PATCH 52/72] remove version specifier from setup.cfg --- pkgs/sage-conf/setup.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/sage-conf/setup.cfg b/pkgs/sage-conf/setup.cfg index dac401c303d..06f36099bd5 100644 --- a/pkgs/sage-conf/setup.cfg +++ b/pkgs/sage-conf/setup.cfg @@ -1,6 +1,5 @@ [metadata] name = sage-conf -version = file: VERSION.txt description = Sage: Open Source Mathematics Software: Configuration module for the SageMath library long_description = file: README.rst license = GNU General Public License (GPL) v3 or later From 5add97dc9253e13d145b182eac483a212ce42896 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 28 Oct 2023 10:41:22 -0700 Subject: [PATCH 53/72] pkgs/sage-conf: ini2toml setup.cfg > pyproject.toml --- pkgs/sage-conf/pyproject.toml | 16 +++++++++++++++- pkgs/sage-conf/setup.cfg | 22 ---------------------- 2 files changed, 15 insertions(+), 23 deletions(-) delete mode 100644 pkgs/sage-conf/setup.cfg diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml index 9b39d5d8816..d882f390302 100644 --- a/pkgs/sage-conf/pyproject.toml +++ b/pkgs/sage-conf/pyproject.toml @@ -1,10 +1,24 @@ [build-system] -requires = ["setuptools", "wheel"] +requires = ["setuptools>=61.2"] build-backend = "setuptools.build_meta" [project] name = "sage-conf" +description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" +readme = "README.rst" +license = {text = "GNU General Public License (GPL) v3 or later"} +authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] +urls = {Homepage = "https://www.sagemath.org"} dynamic = ["version"] +[project.scripts] +sage-config = "sage_conf:_main" + +[tool.setuptools] +packages = ["_sage_conf"] +py-modules = ["sage_conf"] +script-files = ["bin/sage-env-config"] +include-package-data = false + [tool.setuptools.dynamic] version = {file = ["VERSION.txt"]} diff --git a/pkgs/sage-conf/setup.cfg b/pkgs/sage-conf/setup.cfg deleted file mode 100644 index 06f36099bd5..00000000000 --- a/pkgs/sage-conf/setup.cfg +++ /dev/null @@ -1,22 +0,0 @@ -[metadata] -name = sage-conf -description = Sage: Open Source Mathematics Software: Configuration module for the SageMath library -long_description = file: README.rst -license = GNU General Public License (GPL) v3 or later -author = The Sage Developers -author_email = sage-support@googlegroups.com -url = https://www.sagemath.org - -[options] -packages = - _sage_conf - -py_modules = - sage_conf - -scripts = - bin/sage-env-config - -[options.entry_points] -console_scripts = - sage-config = sage_conf:_main From 329b94cb5402057082225a30bae16ccf3a5b4487 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 28 Oct 2023 10:48:13 -0700 Subject: [PATCH 54/72] Remove symlinks to removed file pkgs/sage-conf/setup.cfg --- pkgs/sage-conf_conda/setup.cfg | 1 - pkgs/sage-conf_pypi/setup.cfg | 1 - 2 files changed, 2 deletions(-) delete mode 120000 pkgs/sage-conf_conda/setup.cfg delete mode 120000 pkgs/sage-conf_pypi/setup.cfg diff --git a/pkgs/sage-conf_conda/setup.cfg b/pkgs/sage-conf_conda/setup.cfg deleted file mode 120000 index 93df2c80a4b..00000000000 --- a/pkgs/sage-conf_conda/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../sage-conf/setup.cfg \ No newline at end of file diff --git a/pkgs/sage-conf_pypi/setup.cfg b/pkgs/sage-conf_pypi/setup.cfg deleted file mode 120000 index 93df2c80a4b..00000000000 --- a/pkgs/sage-conf_pypi/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../sage-conf/setup.cfg \ No newline at end of file From 85d53164c4fd5e959195ea1979419d0733470c3d Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 29 Oct 2023 20:54:43 -0700 Subject: [PATCH 55/72] build/pkgs/sage_conf/dependencies: Update --- build/pkgs/sage_conf/dependencies | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/sage_conf/dependencies b/build/pkgs/sage_conf/dependencies index f2bd00aaf0d..a202ce81bba 100644 --- a/build/pkgs/sage_conf/dependencies +++ b/build/pkgs/sage_conf/dependencies @@ -1 +1 @@ - $(SAGE_ROOT)/pkgs/sage-conf/_sage_conf/_conf.py $(SAGE_ROOT)/pkgs/sage-conf/setup.cfg $(SAGE_ROOT)/pkgs/sage-conf/bin/sage-env-config | $(PYTHON_TOOLCHAIN) $(PYTHON) + $(SAGE_ROOT)/pkgs/sage-conf/_sage_conf/_conf.py $(SAGE_ROOT)/pkgs/sage-conf/pyproject.toml $(SAGE_ROOT)/pkgs/sage-conf/bin/sage-env-config | $(PYTHON_TOOLCHAIN) $(PYTHON) From 3dce3252590ffc3a067ca9698c680db0831aeaf1 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 7 Nov 2023 17:06:07 -0800 Subject: [PATCH 56/72] build/pkgs/sage_conf/bootstrap: New --- build/pkgs/sage_conf/bootstrap | 1 + 1 file changed, 1 insertion(+) create mode 120000 build/pkgs/sage_conf/bootstrap diff --git a/build/pkgs/sage_conf/bootstrap b/build/pkgs/sage_conf/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sage_conf/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file From 8d19d53d41743ff55025a392f31afad956ab407c Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 7 Nov 2023 17:08:38 -0800 Subject: [PATCH 57/72] pkgs/sage-conf/pyproject.toml.m4: Use m4 comment --- pkgs/sage-conf/pyproject.toml.m4 | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pkgs/sage-conf/pyproject.toml.m4 diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 new file mode 100644 index 00000000000..faae302cdb7 --- /dev/null +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -0,0 +1,44 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +requires = [ + SPKG_INSTALL_REQUIRES_setuptools_wheel +] +build-backend = "setuptools.build_meta" + +[project] +name = "sage-conf" +description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" +readme = "README.rst" +dnl Not including the standard metadata from pyproject_toml_metadata.m4 +dnl because sage-conf is GPL v3+. +license = {text = "GNU General Public License (GPL) v3 or later"} +authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] +classifiers = [ + "Development Status :: 6 - Mature", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", + "Operating System :: POSIX", + "Operating System :: MacOS :: MacOS X", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Scientific/Engineering :: Mathematics", +] +urls = {Homepage = "https://www.sagemath.org"} +requires-python = ">=3.9, <3.12" +dynamic = ["version"] + +[project.scripts] +sage-config = "sage_conf:_main" + +[tool.setuptools] +packages = ["_sage_conf"] +py-modules = ["sage_conf"] +script-files = ["bin/sage-env-config"] +include-package-data = false + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From 45794874ee0c3543f1d78f051b48cb46bd3b44c5 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 10 Nov 2023 09:29:59 -0800 Subject: [PATCH 58/72] .gitignore: Update --- .gitignore | 1 + pkgs/sage-conf/.gitignore | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 43f58abcafe..0f180bb1bcb 100644 --- a/.gitignore +++ b/.gitignore @@ -193,6 +193,7 @@ build/bin/sage-build-env-config /pkgs/*/*.egg-info /pkgs/*/.tox +/pkgs/sage-conf/pyproject.toml /pkgs/sage-conf_pypi/sage_root/config.log /pkgs/sage-conf_pypi/sage_root/config.status /pkgs/sage-conf_pypi/sage_root/local/ diff --git a/pkgs/sage-conf/.gitignore b/pkgs/sage-conf/.gitignore index 2fff1627b9f..a495951e529 100644 --- a/pkgs/sage-conf/.gitignore +++ b/pkgs/sage-conf/.gitignore @@ -1,4 +1,6 @@ /_sage_conf/_conf.py +/setup.cfg +/pyproject.toml /build /dist /*.egg-info From a5bf19410e39e2b8c1408a8e766a985ab5d9938f Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 10 Nov 2023 09:33:36 -0800 Subject: [PATCH 59/72] pkgs/sage-conf/pyproject.toml: Remove (generated from ...m4) --- pkgs/sage-conf/pyproject.toml | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 pkgs/sage-conf/pyproject.toml diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml deleted file mode 100644 index d882f390302..00000000000 --- a/pkgs/sage-conf/pyproject.toml +++ /dev/null @@ -1,24 +0,0 @@ -[build-system] -requires = ["setuptools>=61.2"] -build-backend = "setuptools.build_meta" - -[project] -name = "sage-conf" -description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" -readme = "README.rst" -license = {text = "GNU General Public License (GPL) v3 or later"} -authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] -urls = {Homepage = "https://www.sagemath.org"} -dynamic = ["version"] - -[project.scripts] -sage-config = "sage_conf:_main" - -[tool.setuptools] -packages = ["_sage_conf"] -py-modules = ["sage_conf"] -script-files = ["bin/sage-env-config"] -include-package-data = false - -[tool.setuptools.dynamic] -version = {file = ["VERSION.txt"]} From f308756bb3e26e1f83294d07617011caace6fe67 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 19 Dec 2023 16:08:46 -0800 Subject: [PATCH 60/72] pkgs/sage-conf/pyproject.toml.m4: Change setuptools_wheel to setuptools after #36885 --- pkgs/sage-conf/pyproject.toml.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 index faae302cdb7..fdb69238bde 100644 --- a/pkgs/sage-conf/pyproject.toml.m4 +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -1,7 +1,7 @@ include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] requires = [ - SPKG_INSTALL_REQUIRES_setuptools_wheel + SPKG_INSTALL_REQUIRES_setuptools ] build-backend = "setuptools.build_meta" From f06a8dc18edbe4ee647709a3a53304270d30e6d7 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 25 Feb 2024 09:57:13 -0800 Subject: [PATCH 61/72] pkgs/sage-conf/pyproject.toml.m4: Allow Python 3.12 --- pkgs/sage-conf/pyproject.toml.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 index fdb69238bde..a53fec79b0b 100644 --- a/pkgs/sage-conf/pyproject.toml.m4 +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -24,11 +24,12 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Mathematics", ] urls = {Homepage = "https://www.sagemath.org"} -requires-python = ">=3.9, <3.12" +requires-python = ">=3.9, <3.13" dynamic = ["version"] [project.scripts] From 7c83eef651534cfca6b0aa00334c8f2cab0e5571 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Fri, 20 Oct 2023 10:06:16 +0000 Subject: [PATCH 62/72] pkgs/sage-conf: Move version from setup.cfg to pyproject.toml --- pkgs/sage-conf/pyproject.toml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml index 9787c3bdf00..9b39d5d8816 100644 --- a/pkgs/sage-conf/pyproject.toml +++ b/pkgs/sage-conf/pyproject.toml @@ -1,3 +1,10 @@ [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" + +[project] +name = "sage-conf" +dynamic = ["version"] + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From 9ce246739809503b475eb43032c756c6a1c64007 Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Wed, 25 Oct 2023 13:24:42 +0000 Subject: [PATCH 63/72] remove version specifier from setup.cfg --- pkgs/sage-conf/setup.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/sage-conf/setup.cfg b/pkgs/sage-conf/setup.cfg index dac401c303d..06f36099bd5 100644 --- a/pkgs/sage-conf/setup.cfg +++ b/pkgs/sage-conf/setup.cfg @@ -1,6 +1,5 @@ [metadata] name = sage-conf -version = file: VERSION.txt description = Sage: Open Source Mathematics Software: Configuration module for the SageMath library long_description = file: README.rst license = GNU General Public License (GPL) v3 or later From 8337fd292886e51c10e4a647d0b3807e60ef8db3 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 28 Oct 2023 10:41:22 -0700 Subject: [PATCH 64/72] pkgs/sage-conf: ini2toml setup.cfg > pyproject.toml --- pkgs/sage-conf/pyproject.toml | 16 +++++++++++++++- pkgs/sage-conf/setup.cfg | 22 ---------------------- 2 files changed, 15 insertions(+), 23 deletions(-) delete mode 100644 pkgs/sage-conf/setup.cfg diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml index 9b39d5d8816..d882f390302 100644 --- a/pkgs/sage-conf/pyproject.toml +++ b/pkgs/sage-conf/pyproject.toml @@ -1,10 +1,24 @@ [build-system] -requires = ["setuptools", "wheel"] +requires = ["setuptools>=61.2"] build-backend = "setuptools.build_meta" [project] name = "sage-conf" +description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" +readme = "README.rst" +license = {text = "GNU General Public License (GPL) v3 or later"} +authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] +urls = {Homepage = "https://www.sagemath.org"} dynamic = ["version"] +[project.scripts] +sage-config = "sage_conf:_main" + +[tool.setuptools] +packages = ["_sage_conf"] +py-modules = ["sage_conf"] +script-files = ["bin/sage-env-config"] +include-package-data = false + [tool.setuptools.dynamic] version = {file = ["VERSION.txt"]} diff --git a/pkgs/sage-conf/setup.cfg b/pkgs/sage-conf/setup.cfg deleted file mode 100644 index 06f36099bd5..00000000000 --- a/pkgs/sage-conf/setup.cfg +++ /dev/null @@ -1,22 +0,0 @@ -[metadata] -name = sage-conf -description = Sage: Open Source Mathematics Software: Configuration module for the SageMath library -long_description = file: README.rst -license = GNU General Public License (GPL) v3 or later -author = The Sage Developers -author_email = sage-support@googlegroups.com -url = https://www.sagemath.org - -[options] -packages = - _sage_conf - -py_modules = - sage_conf - -scripts = - bin/sage-env-config - -[options.entry_points] -console_scripts = - sage-config = sage_conf:_main From c6e71b61e630035af6ab5609b737f83530f58d37 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 28 Oct 2023 10:48:13 -0700 Subject: [PATCH 65/72] Remove symlinks to removed file pkgs/sage-conf/setup.cfg --- pkgs/sage-conf_conda/setup.cfg | 1 - pkgs/sage-conf_pypi/setup.cfg | 1 - 2 files changed, 2 deletions(-) delete mode 120000 pkgs/sage-conf_conda/setup.cfg delete mode 120000 pkgs/sage-conf_pypi/setup.cfg diff --git a/pkgs/sage-conf_conda/setup.cfg b/pkgs/sage-conf_conda/setup.cfg deleted file mode 120000 index 93df2c80a4b..00000000000 --- a/pkgs/sage-conf_conda/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../sage-conf/setup.cfg \ No newline at end of file diff --git a/pkgs/sage-conf_pypi/setup.cfg b/pkgs/sage-conf_pypi/setup.cfg deleted file mode 120000 index 93df2c80a4b..00000000000 --- a/pkgs/sage-conf_pypi/setup.cfg +++ /dev/null @@ -1 +0,0 @@ -../sage-conf/setup.cfg \ No newline at end of file From 224dfecdd36785549e86a7d869be75a6daed1087 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 29 Oct 2023 20:54:43 -0700 Subject: [PATCH 66/72] build/pkgs/sage_conf/dependencies: Update --- build/pkgs/sage_conf/dependencies | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pkgs/sage_conf/dependencies b/build/pkgs/sage_conf/dependencies index f2bd00aaf0d..a202ce81bba 100644 --- a/build/pkgs/sage_conf/dependencies +++ b/build/pkgs/sage_conf/dependencies @@ -1 +1 @@ - $(SAGE_ROOT)/pkgs/sage-conf/_sage_conf/_conf.py $(SAGE_ROOT)/pkgs/sage-conf/setup.cfg $(SAGE_ROOT)/pkgs/sage-conf/bin/sage-env-config | $(PYTHON_TOOLCHAIN) $(PYTHON) + $(SAGE_ROOT)/pkgs/sage-conf/_sage_conf/_conf.py $(SAGE_ROOT)/pkgs/sage-conf/pyproject.toml $(SAGE_ROOT)/pkgs/sage-conf/bin/sage-env-config | $(PYTHON_TOOLCHAIN) $(PYTHON) From 41ba4bc15d08ea75a61b7344c0612afcb16dcda7 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 7 Nov 2023 17:06:07 -0800 Subject: [PATCH 67/72] build/pkgs/sage_conf/bootstrap: New --- build/pkgs/sage_conf/bootstrap | 1 + 1 file changed, 1 insertion(+) create mode 120000 build/pkgs/sage_conf/bootstrap diff --git a/build/pkgs/sage_conf/bootstrap b/build/pkgs/sage_conf/bootstrap new file mode 120000 index 00000000000..40542346a4e --- /dev/null +++ b/build/pkgs/sage_conf/bootstrap @@ -0,0 +1 @@ +../sagelib/bootstrap \ No newline at end of file From c40b8b4a899c594c1a90cf8936b665fb7b9fa75e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 7 Nov 2023 17:08:38 -0800 Subject: [PATCH 68/72] pkgs/sage-conf/pyproject.toml.m4: Use m4 comment --- pkgs/sage-conf/pyproject.toml.m4 | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 pkgs/sage-conf/pyproject.toml.m4 diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 new file mode 100644 index 00000000000..faae302cdb7 --- /dev/null +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -0,0 +1,44 @@ +include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- +[build-system] +requires = [ + SPKG_INSTALL_REQUIRES_setuptools_wheel +] +build-backend = "setuptools.build_meta" + +[project] +name = "sage-conf" +description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" +readme = "README.rst" +dnl Not including the standard metadata from pyproject_toml_metadata.m4 +dnl because sage-conf is GPL v3+. +license = {text = "GNU General Public License (GPL) v3 or later"} +authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] +classifiers = [ + "Development Status :: 6 - Mature", + "Intended Audience :: Education", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", + "Operating System :: POSIX", + "Operating System :: MacOS :: MacOS X", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: Implementation :: CPython", + "Topic :: Scientific/Engineering :: Mathematics", +] +urls = {Homepage = "https://www.sagemath.org"} +requires-python = ">=3.9, <3.12" +dynamic = ["version"] + +[project.scripts] +sage-config = "sage_conf:_main" + +[tool.setuptools] +packages = ["_sage_conf"] +py-modules = ["sage_conf"] +script-files = ["bin/sage-env-config"] +include-package-data = false + +[tool.setuptools.dynamic] +version = {file = ["VERSION.txt"]} From 5f0ed5ce4ca0a0efd8141dbb6292afea208529d6 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 10 Nov 2023 09:29:59 -0800 Subject: [PATCH 69/72] .gitignore: Update --- .gitignore | 1 + pkgs/sage-conf/.gitignore | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 43f58abcafe..0f180bb1bcb 100644 --- a/.gitignore +++ b/.gitignore @@ -193,6 +193,7 @@ build/bin/sage-build-env-config /pkgs/*/*.egg-info /pkgs/*/.tox +/pkgs/sage-conf/pyproject.toml /pkgs/sage-conf_pypi/sage_root/config.log /pkgs/sage-conf_pypi/sage_root/config.status /pkgs/sage-conf_pypi/sage_root/local/ diff --git a/pkgs/sage-conf/.gitignore b/pkgs/sage-conf/.gitignore index 2fff1627b9f..a495951e529 100644 --- a/pkgs/sage-conf/.gitignore +++ b/pkgs/sage-conf/.gitignore @@ -1,4 +1,6 @@ /_sage_conf/_conf.py +/setup.cfg +/pyproject.toml /build /dist /*.egg-info From 55d3db0345384561f1a4835bd611a23ee9376b9d Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Fri, 10 Nov 2023 09:33:36 -0800 Subject: [PATCH 70/72] pkgs/sage-conf/pyproject.toml: Remove (generated from ...m4) --- pkgs/sage-conf/pyproject.toml | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 pkgs/sage-conf/pyproject.toml diff --git a/pkgs/sage-conf/pyproject.toml b/pkgs/sage-conf/pyproject.toml deleted file mode 100644 index d882f390302..00000000000 --- a/pkgs/sage-conf/pyproject.toml +++ /dev/null @@ -1,24 +0,0 @@ -[build-system] -requires = ["setuptools>=61.2"] -build-backend = "setuptools.build_meta" - -[project] -name = "sage-conf" -description = "Sage: Open Source Mathematics Software: Configuration module for the SageMath library" -readme = "README.rst" -license = {text = "GNU General Public License (GPL) v3 or later"} -authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] -urls = {Homepage = "https://www.sagemath.org"} -dynamic = ["version"] - -[project.scripts] -sage-config = "sage_conf:_main" - -[tool.setuptools] -packages = ["_sage_conf"] -py-modules = ["sage_conf"] -script-files = ["bin/sage-env-config"] -include-package-data = false - -[tool.setuptools.dynamic] -version = {file = ["VERSION.txt"]} From 7a91964544786f2788aefd249a5c002b38c2ba3a Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Tue, 19 Dec 2023 16:08:46 -0800 Subject: [PATCH 71/72] pkgs/sage-conf/pyproject.toml.m4: Change setuptools_wheel to setuptools after #36885 --- pkgs/sage-conf/pyproject.toml.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 index faae302cdb7..fdb69238bde 100644 --- a/pkgs/sage-conf/pyproject.toml.m4 +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -1,7 +1,7 @@ include(`sage_spkg_versions_toml.m4')dnl' -*- conf-toml -*- [build-system] requires = [ - SPKG_INSTALL_REQUIRES_setuptools_wheel + SPKG_INSTALL_REQUIRES_setuptools ] build-backend = "setuptools.build_meta" From cfff399843b0bd383a71f3a482c50a34baa915d4 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 25 Feb 2024 09:57:13 -0800 Subject: [PATCH 72/72] pkgs/sage-conf/pyproject.toml.m4: Allow Python 3.12 --- pkgs/sage-conf/pyproject.toml.m4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/sage-conf/pyproject.toml.m4 b/pkgs/sage-conf/pyproject.toml.m4 index fdb69238bde..a53fec79b0b 100644 --- a/pkgs/sage-conf/pyproject.toml.m4 +++ b/pkgs/sage-conf/pyproject.toml.m4 @@ -24,11 +24,12 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Mathematics", ] urls = {Homepage = "https://www.sagemath.org"} -requires-python = ">=3.9, <3.12" +requires-python = ">=3.9, <3.13" dynamic = ["version"] [project.scripts]