Opened 12 months ago

Last modified 4 months ago

#29847 needs_work enhancement

Install sage_setup with setuptools as a prerequisite for building/installing sagelib

Reported by: mkoeppe Owned by:
Priority: major Milestone: sage-9.4
Component: build Keywords: sd111
Cc: fbissey, jhpalmieri, dimpase Merged in:
Authors: Matthias Koeppe Reviewers:
Report Upstream: N/A Work issues: rebase
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, #30913, #31377 Stopgaps:

Status badges

Description (last modified by mkoeppe)

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 (61)

comment:1 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:2 Changed 12 months ago by mkoeppe

  • Dependencies set to #29702

comment:3 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:4 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:5 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:6 Changed 12 months ago by mkoeppe

  • Summary changed from Install sage_setup with pip to Install sage_setup with pip, move sage_include_directories, cython_aliases from sage.env to sage_setup

comment:7 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:8 Changed 12 months ago by mkoeppe

  • Dependencies changed from #29702 to #29702, #29706, #29785
  • Description modified (diff)

comment:9 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:10 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:11 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:12 Changed 12 months ago by mkoeppe

  • Branch set to u/mkoeppe/install_sage_setup_with_pip__move_sage_include_directories__cython_aliases_from_sage_env_to_sage_setup

comment:13 Changed 12 months ago by mkoeppe

  • Commit set to 4ce81bf162906ba72c5fc8ca7c349dedf33cd033
  • Dependencies changed from #29702, #29706, #29785 to #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 12 months ago by git

  • Commit changed from 4ce81bf162906ba72c5fc8ca7c349dedf33cd033 to 4a9dd3ad8c103784403e8ecce172427b2f5c0eff

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 12 months ago by mkoeppe

  • Description modified (diff)

comment:16 Changed 12 months ago by mkoeppe

  • Milestone changed from sage-9.2 to sage-9.3

comment:17 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:18 Changed 12 months ago by mkoeppe

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

comment:19 Changed 12 months ago by mkoeppe

  • Milestone changed from sage-9.3 to sage-9.2

comment:20 Changed 12 months ago by mkoeppe

  • Cc fbissey added
  • Description modified (diff)

comment:21 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:22 Changed 12 months ago by mkoeppe

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

comment:23 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:24 follow-up: Changed 12 months ago by mkoeppe

[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 12 months ago by git

  • Commit changed from 4a9dd3ad8c103784403e8ecce172427b2f5c0eff to 010c6e3b7abcf381a691ca87c6e0d4238d922ce5

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 12 months ago by git

  • Commit changed from 010c6e3b7abcf381a691ca87c6e0d4238d922ce5 to 2d0d0a7720bbef005892f5f56c982c26e5eb0fb8

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 12 months ago by mkoeppe

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 12 months ago by git

  • Commit changed from 2d0d0a7720bbef005892f5f56c982c26e5eb0fb8 to 0459006f8ad828e3c3f83004b6db605ec036a0f6

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

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

comment:29 Changed 12 months ago by mkoeppe

  • Work issues set to Install scripts, add spkg-src

comment:30 Changed 12 months ago by git

  • Commit changed from 0459006f8ad828e3c3f83004b6db605ec036a0f6 to c66384d34edb84b22dd2cc9c5e3afa1b049a3e8f

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

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

comment:31 Changed 12 months ago by git

  • Commit changed from c66384d34edb84b22dd2cc9c5e3afa1b049a3e8f to 58956e65bcf221fac3aa670d165d89948a65e825

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

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

comment:32 Changed 12 months ago by mkoeppe

  • Work issues changed from Install scripts, add spkg-src to Install scripts

comment:33 Changed 12 months ago by mkoeppe

  • Authors set to Matthias Koeppe
  • Cc jhpalmieri added
  • Description modified (diff)
  • Status changed from new to needs_review
  • Summary changed from Install sage_setup with setuptools as a prerequisite for building/installing sagelib, install sage-the-distribution scripts as "scripts" to Install sage_setup with setuptools as a prerequisite for building/installing sagelib
  • Work issues Install scripts deleted

comment:34 Changed 12 months ago by git

  • Commit changed from 58956e65bcf221fac3aa670d165d89948a65e825 to 0e1702396fc2e66b851e187a02a52bc2853da7e6

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 12 months ago by mkoeppe

  • Dependencies changed from #29702, #29706, #29785, #29855 to #29702, #29855

comment:36 Changed 12 months ago by mkoeppe

  • Cc dimpase added

comment:37 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:38 Changed 12 months ago by mkoeppe

  • Description modified (diff)

comment:39 Changed 12 months ago by git

  • Commit changed from 0e1702396fc2e66b851e187a02a52bc2853da7e6 to 0d22cefeb55b66cbd1e9e3b0057861f8db486963

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

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

comment:40 Changed 12 months ago by git

  • Commit changed from 0d22cefeb55b66cbd1e9e3b0057861f8db486963 to 21eb31edf8575b13f6f1baa312f73c2c60a8ce82

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

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

comment:41 Changed 12 months ago by git

  • Commit changed from 21eb31edf8575b13f6f1baa312f73c2c60a8ce82 to eeeaa47644aad4801b99e645ccd24176864bfa54

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

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

comment:42 Changed 12 months ago by git

  • Commit changed from eeeaa47644aad4801b99e645ccd24176864bfa54 to 4dcaf1cd1b203e6fc08d0d57ba872b085284f685

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 12 months ago by mkoeppe

  • Description modified (diff)
  • Milestone changed from sage-9.2 to sage-9.3

comment:44 Changed 11 months ago by mkoeppe

  • Dependencies changed from #29702, #29855 to #29702, #29855, #30011

comment:45 Changed 11 months ago by mkoeppe

  • Work issues set to merge #30011, remove dep on six

comment:46 Changed 11 months ago by dimpase

should we wait for #29855, #30011 merged?

comment:47 Changed 11 months ago by git

  • Commit changed from 4dcaf1cd1b203e6fc08d0d57ba872b085284f685 to 44cc65dbdf5c7f3818eb0a880835162579238b57

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 11 months ago by mkoeppe

  • Work issues merge #30011, remove dep on six deleted

comment:49 Changed 11 months ago by mkoeppe

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

comment:50 Changed 11 months ago by mkoeppe

  • Status changed from needs_review to needs_work
  • Work issues set to Merge #29950

comment:51 Changed 11 months ago by mkoeppe

  • Work issues changed from Merge #29950 to Merge #30010

comment:52 Changed 9 months ago by mkoeppe

  • Dependencies changed from #29702, #29855, #30011 to #29500, #30010

comment:53 Changed 9 months ago by git

  • Commit changed from 44cc65dbdf5c7f3818eb0a880835162579238b57 to 8d465d72bf2b199f3fb46b7a72e51a186c954228

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 9 months ago by mkoeppe

  • Status changed from needs_work to needs_review
  • Work issues Merge #30010 deleted

comment:55 Changed 9 months ago by git

  • Commit changed from 8d465d72bf2b199f3fb46b7a72e51a186c954228 to db56301317b59708186defd76e2e6db1423e86af

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

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

comment:56 Changed 9 months ago by git

  • Commit changed from db56301317b59708186defd76e2e6db1423e86af to 1bb5b3453ac6d4a163be5c28446afb7ac66750b8

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 7 months ago by mkoeppe

  • Dependencies changed from #29500, #30010 to #30010
  • Description modified (diff)
  • Milestone changed from sage-9.3 to sage-9.4

comment:58 Changed 6 months ago by mkoeppe

  • Keywords sd111 added

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

comment:59 Changed 6 months ago by gh-kliem

  • Status changed from needs_review to needs_work

Needs rebase.

comment:60 Changed 4 months ago by mkoeppe

  • Description modified (diff)

comment:61 Changed 4 months ago by mkoeppe

  • Dependencies changed from #30010 to #30010, #30913, #31377
  • Work issues set to rebase
Note: See TracTickets for help on using tickets.