From cc58c2dd882b88cf0efe9f656e3d58aec0da4d5e Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 17 Dec 2022 13:26:28 -0800 Subject: [PATCH 01/11] build/pkgs/sagelib/spkg-src: Use build --- build/pkgs/sagelib/spkg-src | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/pkgs/sagelib/spkg-src b/build/pkgs/sagelib/spkg-src index db4e2682ba1..f97a0322de9 100755 --- a/build/pkgs/sagelib/spkg-src +++ b/build/pkgs/sagelib/spkg-src @@ -4,7 +4,7 @@ # This script is not used during build. # # HOW TO MAKE THE TARBALL: -# ./sage --sh build/pkgs/sagelib/spkg-src +# make python_build && ./sage --sh build/pkgs/sagelib/spkg-src if [ -z "$SAGE_ROOT" ] ; then echo >&2 "Error - SAGE_ROOT undefined ... exiting" @@ -18,4 +18,4 @@ set -e cd "$SAGE_ROOT"/build/pkgs/sagelib cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +python3 -m build --sdist --outdir "$SAGE_DISTFILES" From eee3f1a5f2e4980276d261b38c9507e98b949ea2 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sat, 17 Dec 2022 13:26:59 -0800 Subject: [PATCH 02/11] Makefile (pypi-sdists): Install python_build --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 414398ddf0d..393d0b62a78 100644 --- a/Makefile +++ b/Makefile @@ -80,7 +80,7 @@ download: dist: build/make/Makefile ./sage --sdist -pypi-sdists: sage_setup +pypi-sdists: sage_setup python_build ./sage --sh build/pkgs/sage_conf/spkg-src ./sage --sh build/pkgs/sage_sws2rst/spkg-src ./sage --sh build/pkgs/sage_docbuild/spkg-src From 915179438a7ce4a04b2050ce7714f3d1a98023e6 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 14:36:01 -0800 Subject: [PATCH 03/11] build/pkgs/sagelib/spkg-src: Use --no-isolation, remove old egg-info --- build/pkgs/sagelib/spkg-src | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/build/pkgs/sagelib/spkg-src b/build/pkgs/sagelib/spkg-src index f97a0322de9..bfc500b099b 100755 --- a/build/pkgs/sagelib/spkg-src +++ b/build/pkgs/sagelib/spkg-src @@ -18,4 +18,8 @@ set -e cd "$SAGE_ROOT"/build/pkgs/sagelib cd src -python3 -m build --sdist --outdir "$SAGE_DISTFILES" + +# Get rid of old sagemath_standard.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" From ef75d6aa91d4d96a1f7a826abc6e0a4af30210d5 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 15:18:19 -0800 Subject: [PATCH 04/11] src/MANIFEST.in: Add pxd files etc --- src/MANIFEST.in | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/MANIFEST.in b/src/MANIFEST.in index 3a63d07fc32..cf90162a5ef 100644 --- a/src/MANIFEST.in +++ b/src/MANIFEST.in @@ -1,3 +1,7 @@ +include VERSION.txt + +global-include *.pxi *.pxd *.h *.hpp + prune sage/ext/interpreters # In particular, __init__.py must not be present in the distribution; or sage_setup.autogen.interpreters.rebuild will not generate the code prune sage_setup prune sage_docbuild @@ -36,6 +40,10 @@ include sage/stats/distributions/dgs_bern.c include sage/stats/distributions/dgs_gauss_dp.c include sage/stats/distributions/dgs_gauss_mp.c include sage/symbolic/ginac/*.cpp +# Also actual C++ source files. +include sage/geometry/triangulation/triangulations.cc +include sage/geometry/triangulation/data.cc +include sage/geometry/triangulation/functions.cc global-exclude __pycache__ global-exclude *.py[co] From 2f4b0539a17cf2dd9ff53ccb85a3b7f8f218e6a8 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 14:48:41 -0800 Subject: [PATCH 05/11] pkgs/sagemath-standard/setup.py: Run finder also for sdist, egg_info, dist_info --- pkgs/sagemath-standard/setup.py | 84 +++++++++++++++------------------ 1 file changed, 37 insertions(+), 47 deletions(-) diff --git a/pkgs/sagemath-standard/setup.py b/pkgs/sagemath-standard/setup.py index d03b63400f6..975f89b5905 100755 --- a/pkgs/sagemath-standard/setup.py +++ b/pkgs/sagemath-standard/setup.py @@ -39,28 +39,20 @@ ### Configuration ######################################################### -if len(sys.argv) > 1 and (sys.argv[1] in ["sdist", "egg_info", "dist_info"]): - sdist = True -else: - sdist = False +from sage_setup.excepthook import excepthook +sys.excepthook = excepthook -if sdist: - cmdclass = {} -else: - from sage_setup.excepthook import excepthook - sys.excepthook = excepthook +from sage_setup.setenv import setenv +setenv() - from sage_setup.setenv import setenv - setenv() +from sage_setup.command.sage_build_cython import sage_build_cython +from sage_setup.command.sage_build_ext import sage_build_ext +from sage_setup.command.sage_install import sage_develop, sage_install_and_clean - from sage_setup.command.sage_build_cython import sage_build_cython - from sage_setup.command.sage_build_ext import sage_build_ext - from sage_setup.command.sage_install import sage_develop, sage_install_and_clean - - cmdclass = dict(build_cython=sage_build_cython, - build_ext=sage_build_ext, - develop=sage_develop, - install=sage_install_and_clean) +cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext, + develop=sage_develop, + install=sage_install_and_clean) ######################################################### ### Testing related stuff @@ -75,41 +67,39 @@ ### Discovering Sources ######################################################### -if sdist: - # No need to compute distributions. This avoids a dependency on Cython - # just to make an sdist. - distributions = None - python_packages = [] - python_modules = [] - cython_modules = [] -else: +if any(x in sys.argv + for x in ['build', 'bdist_wheel', 'install']): log.info("Generating auto-generated sources") from sage_setup.autogen import autogen_all autogen_all() - # TODO: This should be quiet by default - print("Discovering Python/Cython source code....") - t = time.time() - from sage.misc.package import is_package_installed_and_updated - distributions = [''] - optional_packages_with_extensions = ['mcqd', 'bliss', 'tdlib', - 'coxeter3', 'sirocco', 'meataxe'] - distributions += ['sagemath-{}'.format(pkg) - for pkg in optional_packages_with_extensions - if is_package_installed_and_updated(pkg)] - log.warn('distributions = {0}'.format(distributions)) - from sage_setup.find import find_python_sources - python_packages, python_modules, cython_modules = find_python_sources( - SAGE_SRC, ['sage'], distributions=distributions) - - log.debug('python_packages = {0}'.format(python_packages)) - print("Discovered Python/Cython sources, time: %.2f seconds." % (time.time() - t)) +# TODO: This should be quiet by default +print("Discovering Python/Cython source code....") +t = time.time() +distributions = [''] +from sage.misc.package import is_package_installed_and_updated +optional_packages_with_extensions = ['mcqd', 'bliss', 'tdlib', + 'coxeter3', 'sirocco', 'meataxe'] +distributions += ['sagemath-{}'.format(pkg) + for pkg in optional_packages_with_extensions + if is_package_installed_and_updated(pkg)] +log.warn('distributions = {0}'.format(distributions)) +from sage_setup.find import find_python_sources, find_extra_files +python_packages, python_modules, cython_modules = find_python_sources( + SAGE_SRC, ['sage'], distributions=distributions) + +log.debug('python_packages = {0}'.format(python_packages)) +log.debug('python_modules = {0}'.format(python_modules)) +log.debug('cython_modules = {0}'.format(cython_modules)) + +print("Discovered Python/Cython sources, time: %.2f seconds." % (time.time() - t)) ######################################################### ### Distutils ######################################################### code = setup( - packages = python_packages, - cmdclass = cmdclass, - ext_modules = cython_modules) + packages=python_packages, + cmdclass=cmdclass, + ext_modules=cython_modules, +) From 00deebede6ae54768e8648bee89038e26d3515f8 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 15:53:48 -0800 Subject: [PATCH 06/11] pkgs/sagemath-objects/setup.py: Run finder also for sdist, egg_info, dist_info --- pkgs/sagemath-objects/setup.py | 57 +++++++++++++--------------------- 1 file changed, 22 insertions(+), 35 deletions(-) diff --git a/pkgs/sagemath-objects/setup.py b/pkgs/sagemath-objects/setup.py index 907cabef839..ad114fa0de1 100644 --- a/pkgs/sagemath-objects/setup.py +++ b/pkgs/sagemath-objects/setup.py @@ -14,41 +14,28 @@ import sys sys.path.insert(0, os.path.dirname(__file__)) -if len(sys.argv) > 1 and (sys.argv[1] == "sdist" or sys.argv[1] == "egg_info"): - sdist = True -else: - sdist = False - -if sdist: - cmdclass = {} -else: - from sage_setup.excepthook import excepthook - sys.excepthook = excepthook - - from sage_setup.setenv import setenv - setenv() - - import sage.env - sage.env.default_required_modules = sage.env.default_optional_modules = () - - from sage_setup.command.sage_build_cython import sage_build_cython - from sage_setup.command.sage_build_ext import sage_build_ext - - cmdclass = dict(build_cython=sage_build_cython, - build_ext=sage_build_ext) - -if sdist: - python_packages = [] - python_modules = [] - cython_modules = [] -else: - from sage_setup.find import find_python_sources - python_packages, python_modules, cython_modules = find_python_sources( - '.', ['sage']) # for now, we do the filtering using MANIFEST - - log.warn('python_packages = {0}'.format(python_packages)) - log.warn('python_modules = {0}'.format(python_modules)) - log.warn('cython_modules = {0}'.format(cython_modules)) +from sage_setup.excepthook import excepthook +sys.excepthook = excepthook + +from sage_setup.setenv import setenv +setenv() + +import sage.env +sage.env.default_required_modules = sage.env.default_optional_modules = () + +from sage_setup.command.sage_build_cython import sage_build_cython +from sage_setup.command.sage_build_ext import sage_build_ext + +cmdclass = dict(build_cython=sage_build_cython, + build_ext=sage_build_ext) + +from sage_setup.find import find_python_sources +python_packages, python_modules, cython_modules = find_python_sources( + '.', ['sage']) # for now, we do the filtering using MANIFEST + +log.warn('python_packages = {0}'.format(python_packages)) +log.warn('python_modules = {0}'.format(python_modules)) +log.warn('cython_modules = {0}'.format(cython_modules)) setup( cmdclass = cmdclass, From 39bd748020fb651e5aeb7640ffe182e493353c79 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 16:02:21 -0800 Subject: [PATCH 07/11] src/sage/dynamics/arithmetic_dynamics/projective_ds.py: Remove unused import of typing_extensions --- src/sage/dynamics/arithmetic_dynamics/projective_ds.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/sage/dynamics/arithmetic_dynamics/projective_ds.py b/src/sage/dynamics/arithmetic_dynamics/projective_ds.py index 79a4b06ebd6..a163383ebb1 100644 --- a/src/sage/dynamics/arithmetic_dynamics/projective_ds.py +++ b/src/sage/dynamics/arithmetic_dynamics/projective_ds.py @@ -52,7 +52,6 @@ class initialization directly. # https://www.gnu.org/licenses/ # **************************************************************************** -from typing_extensions import final from sage.arith.misc import is_prime from sage.calculus.functions import jacobian from sage.categories.fields import Fields From c59622a42624037d4eba61e353ea07ae00bd55f6 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 17:12:03 -0800 Subject: [PATCH 08/11] build/pkgs/sagemath*/spkg-src: Use build --- build/pkgs/sage_conf/spkg-src | 5 ++++- build/pkgs/sage_docbuild/spkg-src | 5 ++++- build/pkgs/sage_setup/spkg-src | 5 ++++- build/pkgs/sage_sws2rst/spkg-src | 5 ++++- build/pkgs/sagelib/spkg-src | 2 +- build/pkgs/sagemath_categories/spkg-src | 5 ++++- build/pkgs/sagemath_environment/spkg-src | 5 ++++- build/pkgs/sagemath_objects/spkg-src | 6 +++++- build/pkgs/sagemath_repl/spkg-src | 5 ++++- 9 files changed, 34 insertions(+), 9 deletions(-) diff --git a/build/pkgs/sage_conf/spkg-src b/build/pkgs/sage_conf/spkg-src index af6e8b16342..5336cb0001a 100755 --- a/build/pkgs/sage_conf/spkg-src +++ b/build/pkgs/sage_conf/spkg-src @@ -16,4 +16,7 @@ fi set -e cd pkgs/sage-conf_pypi -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sage_docbuild/spkg-src b/build/pkgs/sage_docbuild/spkg-src index dc1ba829b3a..59a2ffce5b1 100755 --- a/build/pkgs/sage_docbuild/spkg-src +++ b/build/pkgs/sage_docbuild/spkg-src @@ -18,4 +18,7 @@ set -e cd build/pkgs/sage_docbuild cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sage_setup/spkg-src b/build/pkgs/sage_setup/spkg-src index e1bcbdaabdb..b3f5059bc89 100755 --- a/build/pkgs/sage_setup/spkg-src +++ b/build/pkgs/sage_setup/spkg-src @@ -18,4 +18,7 @@ set -e cd build/pkgs/sage_setup cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sage_sws2rst/spkg-src b/build/pkgs/sage_sws2rst/spkg-src index 0da7d0cd24c..da002cdb6f6 100755 --- a/build/pkgs/sage_sws2rst/spkg-src +++ b/build/pkgs/sage_sws2rst/spkg-src @@ -18,4 +18,7 @@ set -e cd build/pkgs/sage_sws2rst cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagelib/spkg-src b/build/pkgs/sagelib/spkg-src index bfc500b099b..9ee6a144e3c 100755 --- a/build/pkgs/sagelib/spkg-src +++ b/build/pkgs/sagelib/spkg-src @@ -19,7 +19,7 @@ cd "$SAGE_ROOT"/build/pkgs/sagelib cd src -# Get rid of old sagemath_standard.egg-info/SOURCES.txt +# Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_categories/spkg-src b/build/pkgs/sagemath_categories/spkg-src index 327d51651b9..7cf05bb5cfa 100755 --- a/build/pkgs/sagemath_categories/spkg-src +++ b/build/pkgs/sagemath_categories/spkg-src @@ -18,4 +18,7 @@ set -e cd build/pkgs/sagemath_categories cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_environment/spkg-src b/build/pkgs/sagemath_environment/spkg-src index 4e2b7503da2..09baab68f68 100755 --- a/build/pkgs/sagemath_environment/spkg-src +++ b/build/pkgs/sagemath_environment/spkg-src @@ -18,4 +18,7 @@ set -e cd build/pkgs/sagemath_environment cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_objects/spkg-src b/build/pkgs/sagemath_objects/spkg-src index 68719fae1b6..7cef019eb0f 100755 --- a/build/pkgs/sagemath_objects/spkg-src +++ b/build/pkgs/sagemath_objects/spkg-src @@ -18,4 +18,8 @@ set -e cd build/pkgs/sagemath_objects cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" + +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_repl/spkg-src b/build/pkgs/sagemath_repl/spkg-src index b20ea463784..16b41acc042 100755 --- a/build/pkgs/sagemath_repl/spkg-src +++ b/build/pkgs/sagemath_repl/spkg-src @@ -18,4 +18,7 @@ set -e cd build/pkgs/sagemath_repl cd src -python3 -u setup.py --no-user-cfg sdist --dist-dir "$SAGE_DISTFILES" +# Get rid of old *.egg-info/SOURCES.txt +rm -Rf *.egg-info + +python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" From 7fc93d06de9f0e34d2ea2077f1a022750c722235 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 17:42:59 -0800 Subject: [PATCH 09/11] build/pkgs/sagemath*/spkg-src: Use --skip-dependency-check --- build/pkgs/sage_conf/spkg-src | 2 +- build/pkgs/sage_docbuild/spkg-src | 2 +- build/pkgs/sage_setup/spkg-src | 2 +- build/pkgs/sage_sws2rst/spkg-src | 2 +- build/pkgs/sagelib/spkg-src | 2 +- build/pkgs/sagemath_categories/spkg-src | 2 +- build/pkgs/sagemath_environment/spkg-src | 2 +- build/pkgs/sagemath_objects/spkg-src | 2 +- build/pkgs/sagemath_repl/spkg-src | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build/pkgs/sage_conf/spkg-src b/build/pkgs/sage_conf/spkg-src index 5336cb0001a..c2fa51df092 100755 --- a/build/pkgs/sage_conf/spkg-src +++ b/build/pkgs/sage_conf/spkg-src @@ -19,4 +19,4 @@ cd pkgs/sage-conf_pypi # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sage_docbuild/spkg-src b/build/pkgs/sage_docbuild/spkg-src index 59a2ffce5b1..b21f8f015c8 100755 --- a/build/pkgs/sage_docbuild/spkg-src +++ b/build/pkgs/sage_docbuild/spkg-src @@ -21,4 +21,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sage_setup/spkg-src b/build/pkgs/sage_setup/spkg-src index b3f5059bc89..1b137206a5c 100755 --- a/build/pkgs/sage_setup/spkg-src +++ b/build/pkgs/sage_setup/spkg-src @@ -21,4 +21,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sage_sws2rst/spkg-src b/build/pkgs/sage_sws2rst/spkg-src index da002cdb6f6..5a2a6d464dd 100755 --- a/build/pkgs/sage_sws2rst/spkg-src +++ b/build/pkgs/sage_sws2rst/spkg-src @@ -21,4 +21,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagelib/spkg-src b/build/pkgs/sagelib/spkg-src index 9ee6a144e3c..aa97a393b0b 100755 --- a/build/pkgs/sagelib/spkg-src +++ b/build/pkgs/sagelib/spkg-src @@ -22,4 +22,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_categories/spkg-src b/build/pkgs/sagemath_categories/spkg-src index 7cf05bb5cfa..e7c48e54193 100755 --- a/build/pkgs/sagemath_categories/spkg-src +++ b/build/pkgs/sagemath_categories/spkg-src @@ -21,4 +21,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_environment/spkg-src b/build/pkgs/sagemath_environment/spkg-src index 09baab68f68..2d5b3aafde7 100755 --- a/build/pkgs/sagemath_environment/spkg-src +++ b/build/pkgs/sagemath_environment/spkg-src @@ -21,4 +21,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_objects/spkg-src b/build/pkgs/sagemath_objects/spkg-src index 7cef019eb0f..f46ddc2bd3b 100755 --- a/build/pkgs/sagemath_objects/spkg-src +++ b/build/pkgs/sagemath_objects/spkg-src @@ -22,4 +22,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" diff --git a/build/pkgs/sagemath_repl/spkg-src b/build/pkgs/sagemath_repl/spkg-src index 16b41acc042..2ef7b673696 100755 --- a/build/pkgs/sagemath_repl/spkg-src +++ b/build/pkgs/sagemath_repl/spkg-src @@ -21,4 +21,4 @@ cd src # Get rid of old *.egg-info/SOURCES.txt rm -Rf *.egg-info -python3 -m build --sdist --no-isolation --outdir "$SAGE_DISTFILES" +python3 -m build --sdist --no-isolation --skip-dependency-check --outdir "$SAGE_DISTFILES" From 4940db4cf4d32617f23a87e04bddaa01061a7f5f Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 17:44:05 -0800 Subject: [PATCH 10/11] build/make/Makefile.in: Add targets SPKG-src for script packages --- build/make/Makefile.in | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/build/make/Makefile.in b/build/make/Makefile.in index e971def2416..c2de6ab9892 100644 --- a/build/make/Makefile.in +++ b/build/make/Makefile.in @@ -711,6 +711,13 @@ $(1)-uninstall: $(1)-$(4)-uninstall $(1)-clean: $(1)-uninstall +$(1)-sdist: FORCE python_build sage_setup cython + $(AM_V_at) cd '$$(SAGE_ROOT)' && \ + . '$$(SAGE_ROOT)/src/bin/sage-src-env-config' && \ + . '$$(SAGE_ROOT)/src/bin/sage-env-config' && \ + . '$$(SAGE_ROOT)/src/bin/sage-env' && \ + '$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-src' + # Recursive tox invocation (note - we do not set the environment here). # Setting SAGE_SPKG_WHEELS is for the benefit of sagelib's tox.ini $(1)-tox-%: FORCE From 573fcfdfba04041260f8e06e54e37eb8a9f85da4 Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Sun, 18 Dec 2022 18:26:36 -0800 Subject: [PATCH 11/11] build/make/Makefile.in: Move targets pypi-sdists, wheel, pypi-wheels here; use SPKG-sdist targets --- Makefile | 37 ------------------------------------- build/make/Makefile.in | 39 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/Makefile b/Makefile index 393d0b62a78..257e3517bb1 100644 --- a/Makefile +++ b/Makefile @@ -80,42 +80,6 @@ download: dist: build/make/Makefile ./sage --sdist -pypi-sdists: sage_setup python_build - ./sage --sh build/pkgs/sage_conf/spkg-src - ./sage --sh build/pkgs/sage_sws2rst/spkg-src - ./sage --sh build/pkgs/sage_docbuild/spkg-src - ./sage --sh build/pkgs/sage_setup/spkg-src - ./sage --sh build/pkgs/sagelib/spkg-src - ./sage --sh build/pkgs/sagemath_objects/spkg-src - ./sage --sh build/pkgs/sagemath_categories/spkg-src - ./sage --sh build/pkgs/sagemath_environment/spkg-src - ./sage --sh build/pkgs/sagemath_repl/spkg-src - @echo "Built sdists are in upstream/" - -# Ensuring wheels are present, even for packages that may have been installed -# as editable. Until we have better uninstallation of script packages, we -# just remove the timestamps, which will lead to rebuilds of the packages. -PYPI_WHEEL_PACKAGES = sage_sws2rst sage_setup sagemath_environment sagemath_objects sagemath_repl sagemath_categories -pypi-wheels: - for a in $(PYPI_WHEEL_PACKAGES); do \ - rm -f venv/var/lib/sage/installed/$$a-*; \ - done - for a in $(PYPI_WHEEL_PACKAGES); do \ - $(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \ - done - @echo "Built wheels are in venv/var/lib/sage/wheels/" - -# sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib -WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) sage_conf sagelib sage_docbuild -wheels: - for a in $(WHEEL_PACKAGES); do \ - rm -f venv/var/lib/sage/installed/$$a-*; \ - done - for a in $(WHEEL_PACKAGES); do \ - $(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \ - done - @echo "Built wheels are in venv/var/lib/sage/wheels/" - ############################################################################### # Cleaning up ############################################################################### @@ -380,7 +344,6 @@ list: @$(MAKE) --silent -f build/make/Makefile SAGE_PKGCONFIG=dummy $@ .PHONY: default build dist install micro_release \ - pypi-sdists pypi-wheels wheels \ misc-clean bdist-clean distclean bootstrap-clean maintainer-clean \ test check testoptional testall testlong testoptionallong testallong \ ptest ptestoptional ptestall ptestlong ptestoptionallong ptestallong \ diff --git a/build/make/Makefile.in b/build/make/Makefile.in index c2de6ab9892..e4957c4d481 100644 --- a/build/make/Makefile.in +++ b/build/make/Makefile.in @@ -128,7 +128,23 @@ PIP_PACKAGES = @SAGE_PIP_PACKAGES@ # Packages that use the 'script' package build rules SCRIPT_PACKAGES = @SAGE_SCRIPT_PACKAGES@ - +# Packages for which we build wheels for PyPI +PYPI_WHEEL_PACKAGES = \ + sage_sws2rst \ + sage_setup \ + sagemath_environment \ + sagemath_objects \ + sagemath_repl \ + sagemath_categories + +# sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib +WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) \ + sage_conf \ + sagelib \ + sage_docbuild + +# Packages for which build sdists for PyPI +PYPI_SDIST_PACKAGES = $(WHEEL_PACKAGES) # Generate the actual inst_ variables; for each package that is # actually built this generates a line like: @@ -198,6 +214,7 @@ SAGE_I_TARGETS = sagelib doc # Tell make not to look for files with these names: .PHONY: all all-sage all-toolchain all-build all-sageruntime \ all-start build-start base toolchain toolchain-deps base-toolchain \ + pypi-sdists pypi-wheels wheels \ sagelib \ doc doc-html doc-html-jsmath doc-html-mathjax doc-pdf \ doc-uninstall \ @@ -418,6 +435,26 @@ list-broken-packages: auditwheel_or_delocate echo >&2 "$$fix_broken_packages"; \ fi +pypi-sdists: $(PYPI_SDIST_PACKAGES:%=%-sdist) + @echo "Built sdists are in upstream/" + +# Ensuring wheels are present, even for packages that may have been installed +# as editable. Until we have better uninstallation of script packages, we +# just remove the timestamps, which will lead to rebuilds of the packages. +PYPI_WHEEL_PACKAGES = sage_sws2rst sage_setup sagemath_environment sagemath_objects sagemath_repl sagemath_categories +pypi-wheels: + for a in $(PYPI_WHEEL_PACKAGES); do \ + rm -f venv/var/lib/sage/installed/$$a-*; \ + done + $(MAKE_REC) SAGE_EDITABLE=no SAGE_WHEELS=yes $(PYPI_WHEEL_PACKAGES) + @echo "Built wheels are in venv/var/lib/sage/wheels/" + +wheels: + for a in $(WHEEL_PACKAGES); do \ + rm -f venv/var/lib/sage/installed/$$a-*; \ + done + $(MAKE_REC) SAGE_EDITABLE=no SAGE_WHEELS=yes $(WHEEL_PACKAGES) + @echo "Built wheels are in venv/var/lib/sage/wheels/" #============================================================================== # Setting SAGE_CHECK... variables