Skip to content

Commit 44c37fd

Browse files
author
Release Manager
committed
sagemathgh-40038: Meson: build on recent Fedora <!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> - Add devcontainer based on meson for fedora, and remove old outdated ones - Add CI for building with meson on fedora using system packages - For this to work, rankwidth and ecl had to make optional since they are currently not available - The system package manager for fedora has been changed to use dnf instead of yum - And minor corrections to the package info Currently encountering - mesonbuild/meson#12970 when installing via `meson install` - mesonbuild/meson-python#598 when installing via `pip` ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [ ] The title is concise and informative. - [ ] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#40038 Reported by: Tobias Diez Reviewer(s): Dima Pasechnik, Tobias Diez, Vincent Macri
2 parents d42a0a9 + f375432 commit 44c37fd

File tree

83 files changed

+1464
-1826
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+1464
-1826
lines changed

.devcontainer/onCreate-meson.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#! /bin/sh
2+
3+
SYSTEM=$(build/bin/sage-guess-package-system)
4+
5+
if [ "$SYSTEM" = "fedora" ]; then
6+
# Need to use --setopt=tsflags="" to avoid errors with gphelp
7+
dnf5 install -y pari-gp --setopt=tsflags=""
8+
9+
# Mitigate upstream packaging bug: https://bugzilla.redhat.com/show_bug.cgi?id=2332429
10+
# by swapping the incorrectly installed OpenCL-ICD-Loader for the expected ocl-icd
11+
dnf5 -y swap --repo='fedora' OpenCL-ICD-Loader ocl-icd
12+
fi
13+
14+
eval $(build/bin/sage-print-system-package-command $SYSTEM "$@" update)
15+
eval $(build/bin/sage-print-system-package-command $SYSTEM --yes --ignore-missing install $(build/bin/sage-get-system-packages $SYSTEM $(build/bin/sage-package list :standard:)))
16+
17+
# Disable build isolation following the advice of https://mesonbuild.com/meson-python/how-to-guides/editable-installs.html#build-dependencies
18+
# Install build dependencies manually as workaround for https://github.com/astral-sh/uv/issues/1516
19+
uv venv
20+
uv pip install \
21+
meson-python \
22+
"cypari2 >=2.2.1" \
23+
"cysignals >=1.11.2, != 1.12.0" \
24+
"cython >=3.0, != 3.0.3" \
25+
"gmpy2 ~=2.1.b999" \
26+
memory_allocator \
27+
"numpy >=1.25" \
28+
jinja2
29+
uv sync --frozen --inexact --no-build-isolation-package=sagemath

.devcontainer/portability-fedora-30-minimal/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-30-minimal/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-30-standard/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-30-standard/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-31-minimal/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-31-minimal/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-31-standard/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-31-standard/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-32-minimal/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-32-minimal/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-32-standard/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-32-standard/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-33-minimal/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-33-minimal/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-33-standard/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-33-standard/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-34-minimal/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-34-minimal/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-34-standard/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-34-standard/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-35-minimal/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-35-minimal/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

.devcontainer/portability-fedora-35-standard/devcontainer.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

.devcontainer/portability-fedora-35-standard/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)