Skip to content

Commit a482708

Browse files
committed
Merge branch 'python3_configure_prepare_312' into t/34788/test_ticket__python_3_12
2 parents 6105f01 + 79c6a2d commit a482708

File tree

10 files changed

+77
-34
lines changed

10 files changed

+77
-34
lines changed

build/bin/write-dockerfile.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ EOF
129129
;;
130130
void*)
131131
# https://hub.docker.com/r/voidlinux/masterdir-x86_64-musl
132-
UPDATE="xbps-install -Su &&"
132+
UPDATE="xbps-install -Suy &&"
133133
EXISTS="xbps-query"
134134
INSTALL="xbps-install --yes"
135135
;;

build/pkgs/_prereq/distros/void.txt

+12
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,15 @@ perl
1717
python3
1818
tar
1919
which
20+
# needed by gfortran
21+
diffutils
22+
# needed by ppl
23+
gzip
24+
# void may need special patches for musl libc support in python3,
25+
# so require full python 3 and its prereqs
26+
python3-devel
27+
bzip2-devel
28+
xz
29+
liblzma-devel
30+
libffi-devel
31+
zlib-devel
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
python3.11-devel

build/pkgs/python3/SPKG.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ Sage will accept versions 3.9.x to 3.12.x.
1313
You can also use ``--with-python=/path/to/python3_binary`` to tell Sage to use
1414
``/path/to/python3_binary`` to set up the venv. Note that setting up the venv requires
1515
a number of Python modules to be available within the Python in question. Currently,
16-
as of Sage 10.2, these modules are as follows: ``sqlite3``, ``ctypes``, ``math``,
17-
``hashlib``, ``crypt``, ``socket``, ``zlib``, ``ssl``, ``ensurepip``.
16+
as of Sage 10.3, these modules are as follows: ``sqlite3``, ``ctypes``, ``math``,
17+
``hashlib``, ``socket``, ``zlib``, ``ssl``, ``ensurepip``.
1818
For Python >= 3.12, also ``setuptools`` is required; for older Python versions,
1919
``distutils.core`` is required. These modules will be checked for by the ``configure``
2020
script.

build/pkgs/python3/spkg-configure.m4

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ SAGE_SPKG_CONFIGURE([python3], [
2424
dnl Check if we can do venv with a system python3
2525
dnl instead of building our own copy.
2626
dnl Trac #31160: We no longer check for readline here.
27-
check_modules="sqlite3, ctypes, math, hashlib, crypt, socket, zlib, ssl, ensurepip"
27+
check_modules="sqlite3, ctypes, math, hashlib, socket, zlib, ssl, ensurepip"
2828
AC_CACHE_CHECK([for python3 >= ]MIN_VERSION[, < ]LT_VERSION[ with modules $check_modules and setuptools/distutils], [ac_cv_path_PYTHON3], [
2929
AS_IF([test x"$ac_path_PYTHON3" != x], [dnl checking explicitly specified $with_python
3030
AC_MSG_RESULT([])

src/doc/bootstrap

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ shopt -s extglob
2727
RECOMMENDED_SPKG_PATTERN="@(_recommended$(for a in $(head -n 1 build/pkgs/_recommended/dependencies); do echo -n "|"$a; done))"
2828
DEVELOP_SPKG_PATTERN="@(_develop$(for a in $(head -n 1 build/pkgs/_develop/dependencies); do echo -n "|"$a; done))"
2929

30-
for SYSTEM in arch debian fedora homebrew opensuse; do
30+
for SYSTEM in arch debian fedora homebrew opensuse void; do
3131
SYSTEM_PACKAGES=
3232
OPTIONAL_SYSTEM_PACKAGES=
3333
SAGELIB_SYSTEM_PACKAGES=

src/doc/en/installation/index.rst

+4-4
Original file line numberDiff line numberDiff line change
@@ -106,18 +106,18 @@ Linux
106106
- No development: **Do you have root access (sudo)?**
107107

108108
- **Yes, root access:** Then the easiest way to install SageMath is
109-
through a Linux distribution that provides it as a package. Most
110-
major Linux distributions have up-to-date versions of SageMath,
109+
through a Linux distribution that provides it as a package. Some
110+
Linux distributions have up-to-date versions of SageMath,
111111
see `repology.org: sagemath
112112
<https://repology.org/project/sagemath/versions>`_ for an
113113
overview. See :ref:`sec-GNU-Linux` for additional information.
114114

115115
If you are on an older version of your distribution and a recent
116116
version of SageMath is only available on a newer version of the
117117
distribution, consider upgrading your distribution.
118-
In particular, do not install a version of Sage older than 9.2.
118+
In particular, do not install a version of Sage older than 9.5.
119119

120-
- **No root access, or on an older distribution** Install SageMath from
120+
- **No root access, or on an older distribution:** Install SageMath from
121121
the `conda-forge <https://conda-forge.org/>`_ project, as described in section
122122
:ref:`sec-installation-conda`.
123123

src/doc/en/installation/linux.rst

+14-10
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,24 @@ Linux Package Managers
66
SageMath is available from various distributions and can be installed
77
by package managers.
88

9-
See `the _sagemath dummy package <../reference/spkg/_sagemath.html>`_
10-
for the names of packages that provide a standard installation of
11-
SageMath, including documentation and Jupyter.
9+
As of Sage 10.2, we can recommend the following distributions, which
10+
provide well-maintained and up-to-date SageMath packages:
11+
`Arch Linux <https://archlinux.org/>`_
12+
and `Void Linux <https://voidlinux.org/>`_.
1213

13-
See also `repology.org: sagemath
14-
<https://repology.org/project/sagemath/versions>`_ for information
15-
about versions of SageMath packages in various distributions.
16-
**Do not install a version of Sage older than 9.2.**
14+
Gentoo users might want to give a try to
15+
`sage-on-gentoo <https://github.com/cschwan/sage-on-gentoo>`_.
16+
17+
**Do not install a version of Sage older than 9.5.**
1718
If you are on an older version of your distribution and a recent
1819
version of SageMath is only available on a newer version of the
1920
distribution, consider upgrading your distribution.
2021

21-
Gentoo users might want to give a try to
22-
`sage-on-gentoo <https://github.com/cschwan/sage-on-gentoo>`_.
22+
See `the _sagemath dummy package <../reference/spkg/_sagemath.html>`_
23+
for the names of packages that provide a standard installation of
24+
SageMath, including documentation and Jupyter. See also `repology.org: sagemath
25+
<https://repology.org/project/sagemath/versions>`_ for information
26+
about versions of SageMath packages in various distributions.
2327

24-
The `GitHub wiki page Distribution <https://github.com/sagemath/sage/wiki/Distribution>` collects information
28+
The `GitHub wiki page Distribution <https://github.com/sagemath/sage/wiki/Distribution>`_ collects information
2529
regarding packaging and distribution of SageMath.

src/doc/en/installation/source.rst

+34-11
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ installed by Sage.
7777
When the ``./configure`` script runs, it will check for the presence of many
7878
packages (including the above) and inform you of any that are
7979
missing or have unsuitable versions. **Please read the messages that
80-
``./configure`` prints:** It will inform you which additional system packages
80+
./configure prints:** It will inform you which additional system packages
8181
you can install to avoid having to build them from source. This can save a lot of
8282
time.
8383

@@ -183,6 +183,29 @@ install:
183183

184184
.. literalinclude:: opensuse-optional.txt
185185

186+
Void Linux package installation
187+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
188+
189+
On Void Linux, we recommend that you install:
190+
191+
.. literalinclude:: void.txt
192+
193+
If you wish to do Sage development, we recommend that you additionally
194+
install the following:
195+
196+
.. literalinclude:: void-develop.txt
197+
198+
For all users, we recommend that you install the following system packages,
199+
which provide additional functionality and cannot be installed by Sage:
200+
201+
.. literalinclude:: void-recommended.txt
202+
203+
In addition to these, if you don't want Sage to build optional packages that might
204+
be available from your OS, cf. the growing list of such packages on :trac:`27330`,
205+
install:
206+
207+
.. literalinclude:: void-optional.txt
208+
186209
.. _section_macprereqs:
187210

188211
macOS prerequisites
@@ -275,8 +298,8 @@ Sage can be installed onto Linux running on Windows Subsystem for Linux (WSL). T
275298
From this point on, follow the instructions in the :ref:`sec-installation-from-sources-linux-recommended-installation` section.
276299
It is strongly recommended to put the Sage source files in the Linux file system, for example, in the ``/home/username/sage`` directory, and not in the Windows file system (e.g. ``/mnt/c/...``).
277300

278-
WSL permission denied error when building `packaging` package.
279-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
301+
WSL permission denied error when building ``packaging`` package
302+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
280303

281304
You may encounter permission errors of the kind ``"[Errno 13] Permission denied: 'build/bdist.linux-x86_64/wheel/<package>.dist-info'"`` during ``make``.
282305
This usually comes from a permission conflict between the Windows and Linux file system.
@@ -305,19 +328,19 @@ Notes on using conda
305328

306329
If you don't want conda to be used by sage, deactivate conda (for the current shell session).
307330

308-
- Type::
331+
- Type::
309332

310-
$ conda deactivate
333+
$ conda deactivate
311334

312-
- Repeat the command until ``conda info`` shows::
335+
- Repeat the command until ``conda info`` shows::
313336

314-
$ conda info
337+
$ conda info
315338

316-
active environment : None
317-
...
339+
active environment : None
340+
...
318341

319-
Then SageMath will be built either using the compilers provided by the
320-
operating system, or its own compilers.
342+
Then SageMath will be built either using the compilers provided by the
343+
operating system, or its own compilers.
321344

322345

323346
Tcl/Tk (and system's Python)

tox.ini

+7-4
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ setenv =
323323
almalinux: IGNORE_MISSING_SYSTEM_PACKAGES=yes
324324
almalinux-8: BASE_TAG=8
325325
almalinux-9: BASE_TAG=9
326+
#
326327
# https://hub.docker.com/r/sheerluck/sage-on-gentoo-stage4/tags
327328
#
328329
gentoo: SYSTEM=gentoo
@@ -348,11 +349,13 @@ setenv =
348349
slackware-current: BASE_TAG=current
349350
slackware: IGNORE_MISSING_SYSTEM_PACKAGES=no
350351
#
351-
# https://hub.docker.com/r/voidlinux/
352+
# https://github.com/orgs/void-linux/packages?repo_name=void-containers
352353
#
353-
voidlinux: SYSTEM=void
354-
voidlinux: BASE_IMAGE=voidlinux/masterdir-x86_64-musl
355-
voidlinux: BASE_TAG=20200104
354+
voidlinux: SYSTEM=void
355+
voidlinux: BASE_IMAGE=ghcr.io/void-linux/void-glibc-full
356+
voidlinux-musl: BASE_IMAGE=ghcr.io/void-linux/void-musl-full
357+
voidlinux-minimal: BASE_IMAGE=ghcr.io/void-linux/void-glibc
358+
voidlinux-musl-minimal: BASE_IMAGE=ghcr.io/void-linux/void-musl
356359
voidlinux: IGNORE_MISSING_SYSTEM_PACKAGES=no
357360
#
358361
# https://hub.docker.com/_/alpine/

0 commit comments

Comments
 (0)