Opened 2 years ago

Last modified 13 months ago

#29847 closed enhancement

Install sage_setup with setuptools as a prerequisite for building/installing sagelib — at Version 60

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-9.5
Component: build Keywords: sd111
Cc: François Bissey, John Palmieri, Dima Pasechnik Merged in:
Authors: Matthias Koeppe Reviewers:
Report Upstream: N/A Work issues:
Branch: u/mkoeppe/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup (Commits, GitHub, GitLab) Commit: 1bb5b3453ac6d4a163be5c28446afb7ac66750b8
Dependencies: #30010 Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

sage_setup will be used by the build system of various distutils packages (#29705).

So we make it a regular distutils package itself and install it with setup.py install. (That's build/pkgs/sage_setup/src/setup.py.)

sagelib's setup.py will no longer install sage_setup.

sage_setup will become a build-system requires (declared in pyproject.toml)

Follow-up:

  • #29924: Do not fail if sage.env, sage.* are not available

References:

python - pip ignores dependency_links in setup.py - Stack Overflow https://stackoverflow.com/questions/12518499/pip-ignores-dependency-links-in-setup-py

dependency_links flag ignored when package exists on PyPI · Issue #987 · pypa/setuptools https://github.com/pypa/setuptools/issues/987

Suggest alternatives for --process-dependency-links · Issue #6162 · pypa/pip https://github.com/pypa/pip/issues/6162

PEP 508 -- Dependency specification for Python Software Packages | Python.org https://www.python.org/dev/peps/pep-0508/#pep440

PEP 440 -- Version Identification and Dependency Specification | Python.org https://www.python.org/dev/peps/pep-0440/#local-version-segments

Change History (60)

comment:1 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:2 Changed 2 years ago by Matthias Köppe

Dependencies: #29702

comment:3 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:4 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:5 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:6 Changed 2 years ago by Matthias Köppe

Summary: Install sage_setup with pipInstall sage_setup with pip, move sage_include_directories, cython_aliases from sage.env to sage_setup

comment:7 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:8 Changed 2 years ago by Matthias Köppe

Dependencies: #29702#29702, #29706, #29785
Description: modified (diff)

comment:9 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:10 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:11 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:12 Changed 2 years ago by Matthias Köppe

Branch: u/mkoeppe/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup

comment:13 Changed 2 years ago by Matthias Köppe

Commit: 4ce81bf162906ba72c5fc8ca7c349dedf33cd033
Dependencies: #29702, #29706, #29785#29702, #29706, #29785, #29855

Last 10 new commits:

eed920esrc/sage/tests: Move Extension options from src/module_list.py to distutils directives
0d25d1dsrc/sage/structure: Move Extension options from src/module_list.py to distutils directives
808f46asrc/sage/stats: Move Extension options from src/module_list.py to distutils directives
10f7542src/sage/schemes: Move Extension options from src/module_list.py to distutils directives
5867c05src/sage/modular/pollack_stevens/dist.pyx: Add missing distutils directives
c536daaRemove self-listing in distutils sources directive
b1b3787sage.env.cython_aliases: Fix for systems without zlib pc
2ba1d7bMerge branch 't/29706/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files' into t/29785/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_3__get_rid_of_uname_specific_
bb6cc0cMerge branch 't/29785/move_extension_options_from_src_module_list_py_to__distutils___directives_in_the_individual_files__part_3__get_rid_of_uname_specific_' into t/29847/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup
4ce81bfsage_setup.command.sage_build_cython: Use SAGE_GMP_PREFIX, SAGE_NTL_PREFIX for header dependencies instead of SAGE_INC

comment:14 Changed 2 years ago by git

Commit: 4ce81bf162906ba72c5fc8ca7c349dedf33cd0334a9dd3ad8c103784403e8ecce172427b2f5c0eff

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

041c9e8sage_setup.command.sage_build_cython: Use SAGE_GMP_PREFIX, SAGE_NTL_PREFIX for header dependencies instead of SAGE_INC
4a9dd3aMerge branch 't/29855/sagelib_setup_py__fix_dependencies_on_header_files_of_packages_gmp__ntl' into t/29847/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup

comment:15 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:16 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.2sage-9.3

comment:17 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:18 Changed 2 years ago by Matthias Köppe

Summary: Install sage_setup with pip, move sage_include_directories, cython_aliases from sage.env to sage_setupInstall sage_setup with pip as a prerequisite for building/installing sagelib

comment:19 Changed 2 years ago by Matthias Köppe

Milestone: sage-9.3sage-9.2

comment:20 Changed 2 years ago by Matthias Köppe

Cc: François Bissey added
Description: modified (diff)

comment:21 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:22 Changed 2 years ago by Matthias Köppe

Description: modified (diff)
Summary: Install sage_setup with pip as a prerequisite for building/installing sagelibInstall sage_setup with setuptools as a prerequisite for building/installing sagelib, install sage-the-distribution scripts as "scripts"

comment:23 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:24 Changed 2 years ago by Matthias Köppe

[sagelib-9.1.rc5] running build
[sagelib-9.1.rc5] Generating auto-generated sources
[sagelib-9.1.rc5] Building interpreters for fast_callable
[sagelib-9.1.rc5] -> Rebuilding interpreters because /Users/mkoeppe/s/sage/sage-rebasing/src/sage_setup/autogen/interpreters/memory.py changed
[sagelib-9.1.rc5] running build_cython
[sagelib-9.1.rc5] Enabling Cython debugging support
[sagelib-9.1.rc5] Updating Cython code....
[sagelib-9.1.rc5] Compiling sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx because it changed.
[sagelib-9.1.rc5] error: [Errno 21] Is a directory: '/Users/mkoeppe/s/sage/sage-rebasing/src/sage/cpython'

Hm....

comment:25 Changed 2 years ago by git

Commit: 4a9dd3ad8c103784403e8ecce172427b2f5c0eff010c6e3b7abcf381a691ca87c6e0d4238d922ce5

Branch pushed to git repo; I updated commit sha1. New commits:

7582906build/pkgs/sage_setup: New
010c6e3src/setup.py: Do not install sage_setup; instead, make the sage_setup package a dependency

comment:26 Changed 2 years ago by git

Commit: 010c6e3b7abcf381a691ca87c6e0d4238d922ce52d0d0a7720bbef005892f5f56c982c26e5eb0fb8

Branch pushed to git repo; I updated commit sha1. New commits:

18aae7fsage_setup.command.sage_build_cython: Fix up - add list brackets
2d0d0a7Merge branch 't/29855/sagelib_setup_py__fix_dependencies_on_header_files_of_packages_gmp__ntl' into t/29847/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup

comment:27 in reply to:  24 Changed 2 years ago by Matthias Köppe

Replying to mkoeppe:

[sagelib-9.1.rc5] error: [Errno 21] Is a directory: '/Users/mkoeppe/s/sage/sage-rebasing/src/sage/cpython'

Hm....

That was coming from the mistake in #29855.

comment:28 Changed 2 years ago by git

Commit: 2d0d0a7720bbef005892f5f56c982c26e5eb0fb80459006f8ad828e3c3f83004b6db605ec036a0f6

Branch pushed to git repo; I updated commit sha1. New commits:

0459006.gitignore: Ignore generated files in build/pkgs/*/src

comment:29 Changed 2 years ago by Matthias Köppe

Work issues: Install scripts, add spkg-src

comment:30 Changed 2 years ago by git

Commit: 0459006f8ad828e3c3f83004b6db605ec036a0f6c66384d34edb84b22dd2cc9c5e3afa1b049a3e8f

Branch pushed to git repo; I updated commit sha1. New commits:

c66384dbuild/pkgs/sage_setup/spkg-install: Fixup use of --root

comment:31 Changed 2 years ago by git

Commit: c66384d34edb84b22dd2cc9c5e3afa1b049a3e8f58956e65bcf221fac3aa670d165d89948a65e825

Branch pushed to git repo; I updated commit sha1. New commits:

58956e6build/pkgs/sage_setup/spkg-src: New

comment:32 Changed 2 years ago by Matthias Köppe

Work issues: Install scripts, add spkg-srcInstall scripts

comment:33 Changed 2 years ago by Matthias Köppe

Authors: Matthias Koeppe
Cc: John Palmieri added
Description: modified (diff)
Status: newneeds_review
Summary: Install sage_setup with setuptools as a prerequisite for building/installing sagelib, install sage-the-distribution scripts as "scripts"Install sage_setup with setuptools as a prerequisite for building/installing sagelib
Work issues: Install scripts

comment:34 Changed 2 years ago by git

Commit: 58956e65bcf221fac3aa670d165d89948a65e8250e1702396fc2e66b851e187a02a52bc2853da7e6

Branch pushed to git repo; I updated commit sha1. New commits:

0e17023Merge tag '9.2.beta2' into t/29847/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup

comment:35 Changed 2 years ago by Matthias Köppe

Dependencies: #29702, #29706, #29785, #29855#29702, #29855

comment:36 Changed 2 years ago by Matthias Köppe

Cc: Dima Pasechnik added

comment:37 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:38 Changed 2 years ago by Matthias Köppe

Description: modified (diff)

comment:39 Changed 2 years ago by git

Commit: 0e1702396fc2e66b851e187a02a52bc2853da7e60d22cefeb55b66cbd1e9e3b0057861f8db486963

Branch pushed to git repo; I updated commit sha1. New commits:

0d22cefbuild/pkgs/sage_setup/spkg-src: chmod +x

comment:40 Changed 2 years ago by git

Commit: 0d22cefeb55b66cbd1e9e3b0057861f8db48696321eb31edf8575b13f6f1baa312f73c2c60a8ce82

Branch pushed to git repo; I updated commit sha1. New commits:

21eb31ebuild/pkgs/sage_setup/src/tox.ini, requirements.txt: New

comment:41 Changed 2 years ago by git

Commit: 21eb31edf8575b13f6f1baa312f73c2c60a8ce82eeeaa47644aad4801b99e645ccd24176864bfa54

Branch pushed to git repo; I updated commit sha1. New commits:

eeeaa47build/pkgs/sage_setup/src/setup.cfg: Add nested packages

comment:42 Changed 2 years ago by git

Commit: eeeaa47644aad4801b99e645ccd24176864bfa544dcaf1cd1b203e6fc08d0d57ba872b085284f685

Branch pushed to git repo; I updated commit sha1. New commits:

4dcaf1cbuild/pkgs/sage_setup/src/setup.cfg: Add remaining nested packages

comment:43 Changed 2 years ago by Matthias Köppe

Description: modified (diff)
Milestone: sage-9.2sage-9.3

comment:44 Changed 2 years ago by Matthias Köppe

Dependencies: #29702, #29855#29702, #29855, #30011

comment:45 Changed 2 years ago by Matthias Köppe

Work issues: merge #30011, remove dep on six

comment:46 Changed 2 years ago by Dima Pasechnik

should we wait for #29855, #30011 merged?

comment:47 Changed 2 years ago by git

Commit: 4dcaf1cd1b203e6fc08d0d57ba872b085284f68544cc65dbdf5c7f3818eb0a880835162579238b57

Branch pushed to git repo; I updated commit sha1. New commits:

212d183trac 30011: remove sage_setup/fpickle_setup.py
0ef60f5Merge branch 'u/jhpalmieri/sage_setup__remove_use_of_six' of git://trac.sagemath.org/sage into t/29847/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup
44cc65dbuild/pkgs/sage_setup/dependencies: New

comment:48 Changed 2 years ago by Matthias Köppe

Work issues: merge #30011, remove dep on six

comment:49 Changed 2 years ago by Matthias Köppe

This ticket is not so urgent (I've set its milestone to 9.3)

comment:50 Changed 2 years ago by Matthias Köppe

Status: needs_reviewneeds_work
Work issues: Merge #29950

comment:51 Changed 2 years ago by Matthias Köppe

Work issues: Merge #29950Merge #30010

comment:52 Changed 2 years ago by Matthias Köppe

Dependencies: #29702, #29855, #30011#29500, #30010

comment:53 Changed 2 years ago by git

Commit: 44cc65dbdf5c7f3818eb0a880835162579238b578d465d72bf2b199f3fb46b7a72e51a186c954228

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:

8aa6fd9build/bin/sage-dist-helpers (sdh_pip_install): Build a wheel, store it
d369aabbuild/bin/sage-dist-helpers (sdh_store_and_pip_install_wheel): New, factored out from sdh_pip_install
2d435abbuild/pkgs/numpy/spkg-install.in: Install via setup.py bdist_wheel
55993b6build/bin/sage-dist-helpers: Fixup
0a64674build/pkgs/gambit/spkg-install.in: Install via bdist_wheel
ca58693build/pkgs/pillow/spkg-install.in: Install via bdist_wheel
65773f7Merge branch 't/29500/install_all_python_packages_via_pip_wheel__create_pep_503_simple_repository_for_wheels' into t/30010/split_sage_setup_docbuild_out_to_a_separate_package
14ab446build/pkgs/sage_setup_docbuild/spkg-install: Install via setup.py bdist_wheel
3c5584dMerge branch 't/30010/split_sage_setup_docbuild_out_to_a_separate_package' into t/29847/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup
8d465d7build/pkgs/sage_setup/spkg-install: Install via setup.py bdist_wheel

comment:54 Changed 2 years ago by Matthias Köppe

Status: needs_workneeds_review
Work issues: Merge #30010

comment:55 Changed 2 years ago by git

Commit: 8d465d72bf2b199f3fb46b7a72e51a186c954228db56301317b59708186defd76e2e6db1423e86af

Branch pushed to git repo; I updated commit sha1. New commits:

db56301build/pkgs/sagelib/src/requirements.txt: Update

comment:56 Changed 2 years ago by git

Commit: db56301317b59708186defd76e2e6db1423e86af1bb5b3453ac6d4a163be5c28446afb7ac66750b8

Branch pushed to git repo; I updated commit sha1. New commits:

650c500build/pkgs/sage_setup/src: Set version, remove sage_setup.docbuild package
1bb5b34build/pkgs/sage_setup/type: Change to standard

comment:57 Changed 23 months ago by Matthias Köppe

Dependencies: #29500, #30010#30010
Description: modified (diff)
Milestone: sage-9.3sage-9.4

comment:58 Changed 22 months ago by Matthias Köppe

Keywords: sd111 added

Hoping we can make progress on this ticket this week - https://wiki.sagemath.org/days111

comment:59 Changed 22 months ago by gh-kliem

Status: needs_reviewneeds_work

Needs rebase.

comment:60 Changed 20 months ago by Matthias Köppe

Description: modified (diff)
Note: See TracTickets for help on using tickets.