@@ -51,72 +51,76 @@ for PKG_BASE in $(sage-package list --has-file distros/conda.txt --exclude _sage
51
51
fi
52
52
done
53
53
echo >&2 $0 :$LINENO : generate conda environment files
54
- (
55
- echo " name: sage-build"
56
- echo " channels:"
57
- echo " - conda-forge"
58
- echo " - nodefaults"
59
- echo " dependencies:"
60
- for pkg in $SYSTEM_PACKAGES ; do
61
- echo " - $pkg "
62
- done
63
- echo " # Packages needed for ./bootstrap"
64
- for pkg in $BOOTSTRAP_PACKAGES ; do
65
- echo " - $pkg "
66
- done
67
- ) > environment.yml
54
+ for python_version in 3.9 3.10 3.11; do
55
+ (
56
+ echo " name: sage-build"
57
+ echo " channels:"
58
+ echo " - conda-forge"
59
+ echo " - nodefaults"
60
+ echo " dependencies:"
61
+ echo " - python=$python_version "
62
+ for pkg in $SYSTEM_PACKAGES ; do
63
+ echo " - $pkg "
64
+ done
65
+ echo " # Packages needed for ./bootstrap"
66
+ for pkg in $BOOTSTRAP_PACKAGES ; do
67
+ echo " - $pkg "
68
+ done
69
+ ) > environment-$python_version .yml
70
+ (
71
+ sed ' s/name: sage-build/name: sage/' environment-$python_version .yml
72
+ echo " # Additional packages providing all dependencies for the Sage library"
73
+ for pkg in $SAGELIB_SYSTEM_PACKAGES ; do
74
+ echo " - $pkg "
75
+ done
76
+ ) > src/environment-$python_version .yml
77
+ (
78
+ sed ' s/name: sage/name: sage-dev/' src/environment-$python_version .yml
79
+ echo " # Additional dev tools"
80
+ for pkg in $DEVELOP_SYSTEM_PACKAGES ; do
81
+ echo " - $pkg "
82
+ done
83
+ ) > src/environment-dev-$python_version .yml
68
84
69
- (
70
- sed ' s/name: sage-build/name: sage/ ' environment.yml
71
- echo " # Additional packages providing all dependencies for the Sage library "
72
- for pkg in $SAGELIB_SYSTEM_PACKAGES ; do
73
- echo " - $pkg "
74
- done
75
- ) > src/ environment.yml
85
+ (
86
+ cat environment- $python_version .yml
87
+ echo " # optional packages "
88
+ for pkg in $OPTIONAL_SYSTEM_PACKAGES ; do
89
+ echo " - $pkg "
90
+ done
91
+ ) > environment-optional- $python_version .yml
76
92
77
- (
78
- sed ' s/name: sage/name: sage-dev/' src/environment.yml
79
- echo " # Additional dev tools"
80
- for pkg in $DEVELOP_SYSTEM_PACKAGES ; do
81
- echo " - $pkg "
82
- done
83
- ) > src/environment-dev.yml
84
-
85
- (
86
- cat environment.yml
87
- echo " # optional packages"
88
- for pkg in $OPTIONAL_SYSTEM_PACKAGES ; do
89
- echo " - $pkg "
90
- done
91
- ) > environment-optional.yml
93
+ (
94
+ cat src/environment-$python_version .yml
95
+ echo " # optional packages"
96
+ for pkg in $OPTIONAL_SYSTEM_PACKAGES $SAGELIB_OPTIONAL_SYSTEM_PACKAGES ; do
97
+ echo " - $pkg "
98
+ done
99
+ ) > src/environment-optional-$python_version .yml
100
+ (
101
+ echo >&4 " - pip:"
102
+ echo >&5 " - pip:"
103
+ for PKG_BASE in $(( sage- package list : standard: : optional: -- has- file requirements.txt -- no- file distros/ conda.txt -- no- file src; sage- package list : standard: : optional: -- has- file install- requires.txt -- no- file requirements.txt -- no- file distros/ conda.txt -- no- file src) | sort); do
104
+ PKG_SCRIPTS=build/pkgs/$PKG_BASE
105
+ SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS /requirements.txt
106
+ if [ ! -f $SYSTEM_PACKAGES_FILE ]; then
107
+ SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS /install-requires.txt
108
+ fi
109
+ PKG_TYPE=$(cat $PKG_SCRIPTS /type)
110
+ if grep -q SAGERUNTIME $PKG_SCRIPTS /dependencies $PKG_SCRIPTS /dependencies_order_only 2 >/dev/null; then
111
+ : # cannot install packages that depend on the Sage library
112
+ else
113
+ case "$PKG_BASE :$PKG_TYPE " in
114
+ $DEVELOP_SPKG_PATTERN :*) FD=4 ;;
115
+ *) FD=5 ;;
116
+ esac
117
+ ${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE | while read - r line; do
118
+ [ -n "$line " ] && echo >&$FD " - $line "
119
+ done
120
+ fi
121
+ done
122
+ # Currently, there are no dev-python packages, so we do not write an empty pip section
123
+ #) 4 >> src/environment-dev-$python_version .yml 5 >> src/environment-optional-$python_version .yml
124
+ ) 4 >> /dev/null 5 >> src/environment-optional-$python_version .yml
125
+ done
92
126
93
- (
94
- cat src/environment.yml
95
- echo " # optional packages"
96
- for pkg in $OPTIONAL_SYSTEM_PACKAGES $SAGELIB_OPTIONAL_SYSTEM_PACKAGES ; do
97
- echo " - $pkg "
98
- done
99
- ) > src/environment-optional.yml
100
- (
101
- echo >&4 " - pip:"
102
- echo >&5 " - pip:"
103
- for PKG_BASE in $(( sage- package list : standard: : optional: -- has- file requirements.txt -- no- file distros/ conda.txt -- no- file src; sage- package list : standard: : optional: -- has- file install- requires.txt -- no- file requirements.txt -- no- file distros/ conda.txt -- no- file src) | sort); do
104
- PKG_SCRIPTS=build/pkgs/$PKG_BASE
105
- SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS /requirements.txt
106
- if [ ! -f $SYSTEM_PACKAGES_FILE ]; then
107
- SYSTEM_PACKAGES_FILE=$PKG_SCRIPTS /install-requires.txt
108
- fi
109
- PKG_TYPE=$(cat $PKG_SCRIPTS /type)
110
- if grep -q SAGERUNTIME $PKG_SCRIPTS /dependencies $PKG_SCRIPTS /dependencies_order_only 2 >/dev/null; then
111
- : # cannot install packages that depend on the Sage library
112
- else
113
- case "$PKG_BASE :$PKG_TYPE " in
114
- $DEVELOP_SPKG_PATTERN :*) FD=4 ;;
115
- *) FD=5 ;;
116
- esac
117
- ${STRIP_COMMENTS} $SYSTEM_PACKAGES_FILE | while read - r line; do
118
- [ -n "$line " ] && echo >&$FD " - $line "
119
- done
120
- fi
121
- done
122
- ) 4 >> src/environment-dev.yml 5 >> src/environment-optional.yml
0 commit comments