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:  sage9.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: 
Description (last modified by )
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 buildsystem requires
(declared in pyproject.toml
)
Followup:
 #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/pipignoresdependencylinksinsetuppy
dependency_links flag ignored when package exists on PyPI · Issue #987 · pypa/setuptools https://github.com/pypa/setuptools/issues/987
Suggest alternatives for processdependencylinks · 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/pep0508/#pep440
PEP 440  Version Identification and Dependency Specification  Python.org https://www.python.org/dev/peps/pep0440/#localversionsegments
Change History (60)
comment:1 Changed 2 years ago by
Description:  modified (diff) 

comment:2 Changed 2 years ago by
Dependencies:  → #29702 

comment:3 Changed 2 years ago by
Description:  modified (diff) 

comment:4 Changed 2 years ago by
Description:  modified (diff) 

comment:5 Changed 2 years ago by
Description:  modified (diff) 

comment:6 Changed 2 years ago by
Summary:  Install sage_setup with pip → Install sage_setup with pip, move sage_include_directories, cython_aliases from sage.env to sage_setup 

comment:7 Changed 2 years ago by
Description:  modified (diff) 

comment:8 Changed 2 years ago by
Dependencies:  #29702 → #29702, #29706, #29785 

Description:  modified (diff) 
comment:9 Changed 2 years ago by
Description:  modified (diff) 

comment:10 Changed 2 years ago by
Description:  modified (diff) 

comment:11 Changed 2 years ago by
Description:  modified (diff) 

comment:12 Changed 2 years ago by
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
Commit:  → 4ce81bf162906ba72c5fc8ca7c349dedf33cd033 

Dependencies:  #29702, #29706, #29785 → #29702, #29706, #29785, #29855 
comment:14 Changed 2 years ago by
Commit:  4ce81bf162906ba72c5fc8ca7c349dedf33cd033 → 4a9dd3ad8c103784403e8ecce172427b2f5c0eff 

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
041c9e8  sage_setup.command.sage_build_cython: Use SAGE_GMP_PREFIX, SAGE_NTL_PREFIX for header dependencies instead of SAGE_INC

4a9dd3a  Merge 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
Description:  modified (diff) 

comment:16 Changed 2 years ago by
Milestone:  sage9.2 → sage9.3 

comment:17 Changed 2 years ago by
Description:  modified (diff) 

comment:18 Changed 2 years ago by
Summary:  Install sage_setup with pip, move sage_include_directories, cython_aliases from sage.env to sage_setup → Install sage_setup with pip as a prerequisite for building/installing sagelib 

comment:19 Changed 2 years ago by
Milestone:  sage9.3 → sage9.2 

comment:20 Changed 2 years ago by
Cc:  François Bissey added 

Description:  modified (diff) 
comment:21 Changed 2 years ago by
Description:  modified (diff) 

comment:22 Changed 2 years ago by
Description:  modified (diff) 

Summary:  Install sage_setup with pip as a prerequisite for building/installing sagelib → Install sage_setup with setuptools as a prerequisite for building/installing sagelib, install sagethedistribution scripts as "scripts" 
comment:23 Changed 2 years ago by
Description:  modified (diff) 

comment:24 followup: 27 Changed 2 years ago by
[sagelib9.1.rc5] running build [sagelib9.1.rc5] Generating autogenerated sources [sagelib9.1.rc5] Building interpreters for fast_callable [sagelib9.1.rc5] > Rebuilding interpreters because /Users/mkoeppe/s/sage/sagerebasing/src/sage_setup/autogen/interpreters/memory.py changed [sagelib9.1.rc5] running build_cython [sagelib9.1.rc5] Enabling Cython debugging support [sagelib9.1.rc5] Updating Cython code.... [sagelib9.1.rc5] Compiling sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx because it changed. [sagelib9.1.rc5] error: [Errno 21] Is a directory: '/Users/mkoeppe/s/sage/sagerebasing/src/sage/cpython'
Hm....
comment:25 Changed 2 years ago by
Commit:  4a9dd3ad8c103784403e8ecce172427b2f5c0eff → 010c6e3b7abcf381a691ca87c6e0d4238d922ce5 

comment:26 Changed 2 years ago by
Commit:  010c6e3b7abcf381a691ca87c6e0d4238d922ce5 → 2d0d0a7720bbef005892f5f56c982c26e5eb0fb8 

Branch pushed to git repo; I updated commit sha1. New commits:
18aae7f  sage_setup.command.sage_build_cython: Fix up  add list brackets

2d0d0a7  Merge 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 Changed 2 years ago by
comment:28 Changed 2 years ago by
Commit:  2d0d0a7720bbef005892f5f56c982c26e5eb0fb8 → 0459006f8ad828e3c3f83004b6db605ec036a0f6 

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
Work issues:  → Install scripts, add spkgsrc 

comment:30 Changed 2 years ago by
Commit:  0459006f8ad828e3c3f83004b6db605ec036a0f6 → c66384d34edb84b22dd2cc9c5e3afa1b049a3e8f 

Branch pushed to git repo; I updated commit sha1. New commits:
c66384d  build/pkgs/sage_setup/spkginstall: Fixup use of root

comment:31 Changed 2 years ago by
Commit:  c66384d34edb84b22dd2cc9c5e3afa1b049a3e8f → 58956e65bcf221fac3aa670d165d89948a65e825 

Branch pushed to git repo; I updated commit sha1. New commits:
58956e6  build/pkgs/sage_setup/spkgsrc: New

comment:32 Changed 2 years ago by
Work issues:  Install scripts, add spkgsrc → Install scripts 

comment:33 Changed 2 years ago by
Authors:  → Matthias Koeppe 

Cc:  John Palmieri added 
Description:  modified (diff) 
Status:  new → needs_review 
Summary:  Install sage_setup with setuptools as a prerequisite for building/installing sagelib, install sagethedistribution 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
Commit:  58956e65bcf221fac3aa670d165d89948a65e825 → 0e1702396fc2e66b851e187a02a52bc2853da7e6 

Branch pushed to git repo; I updated commit sha1. New commits:
0e17023  Merge 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
Dependencies:  #29702, #29706, #29785, #29855 → #29702, #29855 

comment:36 Changed 2 years ago by
Cc:  Dima Pasechnik added 

comment:37 Changed 2 years ago by
Description:  modified (diff) 

comment:38 Changed 2 years ago by
Description:  modified (diff) 

comment:39 Changed 2 years ago by
Commit:  0e1702396fc2e66b851e187a02a52bc2853da7e6 → 0d22cefeb55b66cbd1e9e3b0057861f8db486963 

Branch pushed to git repo; I updated commit sha1. New commits:
0d22cef  build/pkgs/sage_setup/spkgsrc: chmod +x

comment:40 Changed 2 years ago by
Commit:  0d22cefeb55b66cbd1e9e3b0057861f8db486963 → 21eb31edf8575b13f6f1baa312f73c2c60a8ce82 

Branch pushed to git repo; I updated commit sha1. New commits:
21eb31e  build/pkgs/sage_setup/src/tox.ini, requirements.txt: New

comment:41 Changed 2 years ago by
Commit:  21eb31edf8575b13f6f1baa312f73c2c60a8ce82 → eeeaa47644aad4801b99e645ccd24176864bfa54 

Branch pushed to git repo; I updated commit sha1. New commits:
eeeaa47  build/pkgs/sage_setup/src/setup.cfg: Add nested packages

comment:42 Changed 2 years ago by
Commit:  eeeaa47644aad4801b99e645ccd24176864bfa54 → 4dcaf1cd1b203e6fc08d0d57ba872b085284f685 

Branch pushed to git repo; I updated commit sha1. New commits:
4dcaf1c  build/pkgs/sage_setup/src/setup.cfg: Add remaining nested packages

comment:43 Changed 2 years ago by
Description:  modified (diff) 

Milestone:  sage9.2 → sage9.3 
comment:44 Changed 2 years ago by
Dependencies:  #29702, #29855 → #29702, #29855, #30011 

comment:45 Changed 2 years ago by
Work issues:  → merge #30011, remove dep on six 

comment:47 Changed 2 years ago by
Commit:  4dcaf1cd1b203e6fc08d0d57ba872b085284f685 → 44cc65dbdf5c7f3818eb0a880835162579238b57 

Branch pushed to git repo; I updated commit sha1. New commits:
212d183  trac 30011: remove sage_setup/fpickle_setup.py

0ef60f5  Merge 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

44cc65d  build/pkgs/sage_setup/dependencies: New

comment:48 Changed 2 years ago by
Work issues:  merge #30011, remove dep on six 

comment:50 Changed 2 years ago by
Status:  needs_review → needs_work 

Work issues:  → Merge #29950 
comment:51 Changed 2 years ago by
Work issues:  Merge #29950 → Merge #30010 

comment:52 Changed 2 years ago by
Dependencies:  #29702, #29855, #30011 → #29500, #30010 

comment:53 Changed 2 years ago by
Commit:  44cc65dbdf5c7f3818eb0a880835162579238b57 → 8d465d72bf2b199f3fb46b7a72e51a186c954228 

Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
8aa6fd9  build/bin/sagedisthelpers (sdh_pip_install): Build a wheel, store it

d369aab  build/bin/sagedisthelpers (sdh_store_and_pip_install_wheel): New, factored out from sdh_pip_install

2d435ab  build/pkgs/numpy/spkginstall.in: Install via setup.py bdist_wheel

55993b6  build/bin/sagedisthelpers: Fixup

0a64674  build/pkgs/gambit/spkginstall.in: Install via bdist_wheel

ca58693  build/pkgs/pillow/spkginstall.in: Install via bdist_wheel

65773f7  Merge 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

14ab446  build/pkgs/sage_setup_docbuild/spkginstall: Install via setup.py bdist_wheel

3c5584d  Merge 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

8d465d7  build/pkgs/sage_setup/spkginstall: Install via setup.py bdist_wheel

comment:54 Changed 2 years ago by
Status:  needs_work → needs_review 

Work issues:  Merge #30010 
comment:55 Changed 2 years ago by
Commit:  8d465d72bf2b199f3fb46b7a72e51a186c954228 → db56301317b59708186defd76e2e6db1423e86af 

Branch pushed to git repo; I updated commit sha1. New commits:
db56301  build/pkgs/sagelib/src/requirements.txt: Update

comment:56 Changed 2 years ago by
Commit:  db56301317b59708186defd76e2e6db1423e86af → 1bb5b3453ac6d4a163be5c28446afb7ac66750b8 

comment:57 Changed 23 months ago by
Dependencies:  #29500, #30010 → #30010 

Description:  modified (diff) 
Milestone:  sage9.3 → sage9.4 
comment:58 Changed 22 months ago by
Keywords:  sd111 added 

Hoping we can make progress on this ticket this week  https://wiki.sagemath.org/days111
comment:60 Changed 20 months ago by
Description:  modified (diff) 

Last 10 new commits:
src/sage/tests: Move Extension options from src/module_list.py to distutils directives
src/sage/structure: Move Extension options from src/module_list.py to distutils directives
src/sage/stats: Move Extension options from src/module_list.py to distutils directives
src/sage/schemes: Move Extension options from src/module_list.py to distutils directives
src/sage/modular/pollack_stevens/dist.pyx: Add missing distutils directives
Remove selflisting in distutils sources directive
sage.env.cython_aliases: Fix for systems without zlib pc
Merge 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_
Merge 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
sage_setup.command.sage_build_cython: Use SAGE_GMP_PREFIX, SAGE_NTL_PREFIX for header dependencies instead of SAGE_INC