sagemath/sage

Install sage-env-config as part of sage_conf

mkoeppe opened this issue · 64 comments

As a follow-up to #21559 and #30128, we reassign sage-env-config from the package sagelib to the package sage_conf.

(After #22731, sage-env-config is no longer required by the sage script.)

(This is preparation for allowing installation of sagelib for example in a conda environment without having to run ./configure first - see #28745, #30845.)


Part of Meta-ticket #21707: Split sage-env into 5 to clean up sage configuration

Depends on #31002

CC: @jhpalmieri @kiwifb @orlitzky @dimpase @isuruf @tobiasdiez

Component: build

Keywords: sd111

Author: Matthias Koeppe

Branch/Commit: 4b52dcf

Reviewer: Dima Pasechnik

Issue created by migration from https://trac.sagemath.org/ticket/29850

Description changed:

--- 
+++ 
@@ -1 +1,3 @@
 
+
+Part of Meta-ticket #21707: Split sage-env into 5 to clean up sage configuration

Dependencies: #29825

Changed dependencies from #29825 to #29825, #21559

Changed dependencies from #29825, #21559 to #29825, #21559, #29803

comment:4

Branch on this ticket does NOT work because pip/setuptools do not handle the symlink well.


Last 10 new commits:

70378edbuild/pkgs/pip/dependencies: Add wheel, simplify $(PYTHON) python3 to $(PYTHON)
10a2bacbuild/pkgs/setuptools, build/pkgs/pip: Remove python2 support from dependencies, install scripts
6755adbbuild/pkgs/pkgconfig/spkg-install.in: Remove pyproject.toml so that pip installs using setup.py
29327d3build/pkgs/entrypoints: Do not provide setup.py, not needed for entrypoints 0.3
bcc79a5build/pkgs/entrypoints/spkg-install.in: Remove pyproject.toml so that setup.py is used
361b98bbuild/pkgs/terminado/spkg-install.in: Remove pyproject.toml so that setup.py is used
5040d7ebuild/pkgs/testpath/spkg-install.in: Remove pyproject.toml so that setup.py is used
371ede6build/pkgs/zope_interface: Change to a dummy script package
10a2bacMerge branch 't/29803/upgrade_setuptools__pip__2020_06_' into t/29850/install_sage_env_config_with_sage_conf
dacea8bWIP: Install sage-env-config with sage_conf

Commit: dacea8b

comment:5

Perhaps it's easier to get rid of sage-env-config altogether (#29852).

comment:7

Replying to @mkoeppe:

Branch on this ticket does NOT work because pip/setuptools do not handle the symlink well.

Using flit instead of setuptools (#29854) does not help for this ticket because flit does not know how to install prepared shell scripts -- it can only install Python scripts

Changed commit from dacea8b to 5f7b1cc

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

1ee054cFixup
5f7b1ccMerge branch 't/21559/change-src-bin-installation' into t/29850/install_sage_env_config_with_sage_conf
comment:9

Replying to @mkoeppe:

Branch on this ticket does NOT work because pip/setuptools do not handle the symlink well.

It would probably suffice to just replace the use of pip by setup.py install.

Description changed:

--- 
+++ 
@@ -1,3 +1,7 @@
+As a follow-up to #21559, we reassign `sage-env-config` from the package `sagelib` to the package `sage_conf`.
 
+Because from the viewpoint of `sagelib`, `sage_conf` is optional, we change `sage-env` so that it does not require the existence of `sage-env-config`.
+
+---
 
 Part of Meta-ticket #21707: Split sage-env into 5 to clean up sage configuration

Work Issues: use setup.py install, add spkg-src

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

ae07682Merge tag '9.2.beta1' into t/29850/install_sage_env_config_with_sage_conf
a4e4124build/pkgs/sage_conf/spkg-install: Install with setup.py instead of pip
308ca69build/pkgs/sage_conf/spkg-src: New

Changed commit from 5f7b1cc to 308ca69

Changed work issues from use setup.py install, add spkg-src to make sage-env-config optional for sage-env

Changed work issues from make sage-env-config optional for sage-env to none

Description changed:

--- 
+++ 
@@ -1,7 +1,8 @@
 As a follow-up to #21559, we reassign `sage-env-config` from the package `sagelib` to the package `sage_conf`.
 
-Because from the viewpoint of `sagelib`, `sage_conf` is optional, we change `sage-env` so that it does not require the existence of `sage-env-config`.
+Because from the viewpoint of `sagelib`, `sage_conf` is optional, we will change `sage-env` in a follow-up ticket (#29951) so that it does not require the existence of `sage-env-config`.
 
 ---
 
 Part of Meta-ticket #21707: Split sage-env into 5 to clean up sage configuration
+

Author: Matthias Koeppe

Work Issues: Move sage_conf.py to SAGE_ROOT/src/, symlink to there

comment:17

(comment was meant for a different ticket)

Changed work issues from Move sage_conf.py to SAGE_ROOT/src/, symlink to there to none

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

3a0193csrc/bin/sage: Remove handling of 'sage -axiom'
6b04075Merge branch 't/29111/specify_a_subset_of_sage_command_line_options_that_are_supported_by_sagelib___rather_than_sage_the_distribution' into t/21559/change-src-bin-installation
9c7116bsrc/bin/sage-list-optional, sage-list-experimental, sage-list-standard: Remove deprecated scripts
831cc09Merge branch 't/29920/remove_deprecated_scripts_sage_list_optional__sage_list_experimental__sage_list_standard' into t/21559/change-src-bin-installation
e3eca85Merge branch 'public/move_all_code_from_src_setup_py__src_fpickle_setup_py_to_sage_setup' of git://trac.sagemath.org/sage into t/21559/change-src-bin-installation
7d29141src/setup.py: Do not install removed script sage-rsyncdist
c5f7f2fMerge tag '9.2.beta3' into t/21559/change-src-bin-installation
6bc0cd4Install sage-env-config with sage_conf
5e6ca95build/pkgs/sage_conf/spkg-install: Install with setup.py instead of pip
0330180build/pkgs/sage_conf/spkg-src: New

Changed commit from 308ca69 to 0330180

comment:20

Rebased away from #29825, on top of updated #21559 (on top of 9.2.beta3)

Changed dependencies from #29825, #21559, #29803 to #21559

Changed commit from 0330180 to 709ebca

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

3953671Merge tag '9.2.beta4' into t/29111/specify_a_subset_of_sage_command_line_options_that_are_supported_by_sagelib___rather_than_sage_the_distribution
19d7f67Merge branch 't/29111/specify_a_subset_of_sage_command_line_options_that_are_supported_by_sagelib___rather_than_sage_the_distribution' into t/21559/change-src-bin-installation
709ebcaMerge branch 't/21559/change-src-bin-installation' into t/29850/install_sage_env_config_with_sage_conf

Description changed:

--- 
+++ 
@@ -1,6 +1,6 @@
-As a follow-up to #21559, we reassign `sage-env-config` from the package `sagelib` to the package `sage_conf`.
+As a follow-up to #21559 and #30128, we reassign `sage-env-config` from the package `sagelib` to the package `sage_conf`.
 
-Because from the viewpoint of `sagelib`, `sage_conf` is optional, we will change `sage-env` in a follow-up ticket (#29951) so that it does not require the existence of `sage-env-config`.
+Because from the viewpoint of `sagelib`, the package `sage_conf` is optional, we change various scripts that source `sage-env-config` so that this file is not required.
 
 ---
 

Changed dependencies from #21559 to #29951

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

53805b0src/bin/sage-env: Make SAGE_ROOT and SAGE_LOCAL optional
09584eaMerge tag '9.2.beta14' into t/29951/src_bin_sage_env__make_sage_env_config_and_sage_local_optional
a2571b1Merge tag '9.2' into t/29951/src_bin_sage_env__make_sage_env_config_and_sage_local_optional
9ba8cf2Merge tag '9.3.beta0' into t/29951/src_bin_sage_env__make_sage_env_config_and_sage_local_optional
c8e6910Merge tag '9.3.beta1' into t/29951/src_bin_sage_env__make_sage_env_config_and_sage_local_optional
9ab593cInstall sage-env-config with sage_conf
a361580build/pkgs/sage_conf/spkg-src: New

Changed commit from 709ebca to a361580

Changed commit from a361580 to d02b597

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

d02b597build/pkgs/sagelib/src/setup.py: Do not install sage-env-config

Changed commit from d02b597 to 1b4bc99

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

1b4bc99src/bin/sage: Only source sage-env-config if it exists

Changed commit from 1b4bc99 to a1a6df5

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

a1a6df5src/bin/sage: Use python3 etc. from PATH instead of using SAGE_LOCAL

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

d30b410build/pkgs/sage_conf/spkg-install: Build wheel manually
19f7eaesrc/bin/sage-env: Make sage-env-config optional

Changed commit from a1a6df5 to 19f7eae

Description changed:

--- 
+++ 
@@ -1,6 +1,9 @@
 As a follow-up to #21559 and #30128, we reassign `sage-env-config` from the package `sagelib` to the package `sage_conf`.
 
 Because from the viewpoint of `sagelib`, the package `sage_conf` is optional, we change various scripts that source `sage-env-config` so that this file is not required.
+
+(This is preparation for allowing installation of sagelib for example in a conda environment without having to run ./configure first - see #28745, #30845.)
+
 
 ---
 

Reviewer: Dima Pasechnik

comment:33

lgtm

comment:34

Thanks!

comment:36

I set it to "needs info" because this design potentially conflicts with #30896 (./configure --without-python); see also #29852 (Get rid of sage-env-config).

Changed dependencies from #29951 to #29951 | #22731

Work Issues: Rebase on top of #22731

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

4577f37src/bin/sage-env: Make sage-env-config optional
c35c170sage.env: Add SAGE_VENV
c585d94src/sage: Replace some SAGE_LOCAL by SAGE_VENV
2fd195fsrc/bin/sage: Fix reference to trac ticket
f3b7a9csrc/sage/env.py: Add documentation
0e4764cMerge branch 't/22731/22731' into t/29850/install_sage_env_config_with_sage_conf
657eea0Install sage-env-config with sage_conf
7e18730build/pkgs/sage_conf/spkg-src: New
36e479cbuild/pkgs/sagelib/src/setup.py: Do not install sage-env-config
5dc4266build/pkgs/sage_conf/spkg-install: Build wheel manually

Changed commit from 19f7eae to 5dc4266

Changed dependencies from #29951 | #22731 to #22731

Changed work issues from Rebase on top of #22731 to none

Description changed:

--- 
+++ 
@@ -1,6 +1,6 @@
 As a follow-up to #21559 and #30128, we reassign `sage-env-config` from the package `sagelib` to the package `sage_conf`.
 
-Because from the viewpoint of `sagelib`, the package `sage_conf` is optional, we change various scripts that source `sage-env-config` so that this file is not required.
+(After #22731, `sage-env-config` is no longer required by the `sage` script.)
 
 (This is preparation for allowing installation of sagelib for example in a conda environment without having to run ./configure first - see #28745, #30845.)
 

Changed keywords from none to sd111

Changed dependencies from #22731 to #31002

Work Issues: use new function from #31002

Changed work issues from use new function from #31002 to use new function from #31002 - or use #30013 and move sage-env-config into the sage_conf source directory

Changed commit from 5dc4266 to 4b52dcf

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

a8e0364Specify bdist temp folder for WSL compatibility
a3077c7Use mktemp
c5a14a3build/bin/sage-dist-helpers (sdh_setup_bdist_wheel): New
fb10429build/pkgs/*/spkg-install.in: Use new function sdh_setup_bdist_wheel
5f11e24Merge branch 'public/build/bdist_wsl' of git://trac.sagemath.org/sage into t/29850/install_sage_env_config_with_sage_conf
0773001Merge tag '9.3.beta3' into t/29850/install_sage_env_config_with_sage_conf
4b52dcfbuild/pkgs/sage_conf/spkg-install: Use sdh_setup_bdist_wheel

Changed work issues from use new function from #31002 - or use #30013 and move sage-env-config into the sage_conf source directory to none

comment:45

Still needs review...

comment:46

OK.

comment:47

Thanks!