Skip to content

Commit

Permalink
sagemathgh-35810: Drop support for GCC < 8.4, drop testing of `debian…
Browse files Browse the repository at this point in the history
…-buster` and `fedora-29`

    
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to
multiply two integers" -->

### 📚 Description

<!-- Describe your changes here in detail. -->
<!-- Why is this change required? What problem does it solve? -->
Prerequisite of:
- sagemath#34816
- sagemath#35703
- sagemath#35801

See also:
- sagemath#32074

Instead of fully dropping `debian-buster` (LTS until 2024-06) in the CI,
we replace it by `debian-buster-gcc_spkg` to verify that users on this
platform have the recourse of installing a newer GCC.

We also remove `linuxmint-19.3-gcc_8-python3.8` and change
`fedora-30-python3.8` to `fedora-30` (which builds python from spkg), to
prevent a merge conflict with
sagemath#35404

We also add `debian-trixie` (= current testing).

<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#35810
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik
  • Loading branch information
Release Manager committed Aug 26, 2023
2 parents 66ee0ca + 8436612 commit b423624
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 8 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,10 @@ on:
"ubuntu-kinetic",
"ubuntu-lunar",
"ubuntu-mantic",
"debian-buster",
"debian-buster-gcc_spkg",
"debian-bullseye",
"debian-bookworm",
"debian-trixie",
"debian-sid",
"linuxmint-20.1",
"linuxmint-20.2",
Expand Down Expand Up @@ -57,7 +58,6 @@ on:
"opensuse-tumbleweed-python3.10",
"conda-forge",
"ubuntu-bionic-gcc_8-i386",
"debian-buster-i386",
"debian-bullseye-i386",
]
tox_packages_factors:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,8 @@ in the Installation Guide.

3. [Linux, WSL] Install the required minimal build prerequisites.

- Compilers: `gcc`, `gfortran`, `g++` (GCC 8.x to 12.x and recent
versions of Clang (LLVM) are supported).
- Compilers: `gcc`, `gfortran`, `g++` (GCC versions from 8.4.0 to 13.x
and recent versions of Clang (LLVM) are supported).
See [build/pkgs/gcc/SPKG.rst](build/pkgs/gcc/SPKG.rst) and
[build/pkgs/gfortran/SPKG.rst](build/pkgs/gfortran/SPKG.rst)
for a discussion of suitable compilers.
Expand Down
4 changes: 2 additions & 2 deletions build/pkgs/gcc/SPKG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Description

This package represents the required C and C++ compilers.

- GCC (GNU Compiler Collection) versions 8.x to 12.x are supported.
- GCC (GNU Compiler Collection) versions 8.x (>= 8.4.0) to 13.x are supported.

- Clang (LLVM) is also supported.

Expand All @@ -25,7 +25,7 @@ need to run::
Vendor and versions of the C and C++ compilers should match.

Users of older Linux distributions (in particular, ``ubuntu-xenial``
or older, ``debian-stretch`` or older, ``linuxmint-18`` or older)
or older, ``debian-buster`` or older, ``linuxmint-18`` or older)
should upgrade their systems before attempting to install Sage from
source. Users of ``ubuntu-bionic``, ``linuxmint-19.x``, and
``opensuse-15.x`` can install a versioned ``gcc`` system package
Expand Down
4 changes: 2 additions & 2 deletions build/pkgs/gcc/spkg-configure.m4
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ SAGE_SPKG_CONFIGURE_BASE([gcc], [
# Add the .0 because Debian/Ubuntu gives version numbers like
# 4.6 instead of 4.6.4 (Trac #18885)
AS_CASE(["$GXX_VERSION.0"],
[[[0-7]].*], [
# Install our own GCC if the system-provided one is older than gcc 8
[[[0-7]].*|8.[[0-3]].*], [
# Install our own GCC if the system-provided one is older than gcc 8.4
SAGE_SHOULD_INSTALL_GCC([you have $CXX version $GXX_VERSION, which is quite old])
],
[1[[4-9]].*], [
Expand Down
1 change: 1 addition & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ setenv =
debian-bullseye: BASE_TAG=bullseye
debian-bullseye: IGNORE_MISSING_SYSTEM_PACKAGES=yes
debian-bookworm: BASE_TAG=bookworm
debian-trixie: BASE_TAG=trixie
debian-sid: BASE_TAG=sid
#
# https://hub.docker.com/u/linuxmintd
Expand Down

0 comments on commit b423624

Please sign in to comment.