Skip to content

Commit 1591b6d

Browse files
author
Release Manager
committed
gh-40142: Meson: test archlinux on CI and migrate devcontainer <!-- ^ 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 #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 #12345". --> Add a CI test for Archlinux building sage with meson (similar to #40038 for Fedora). Moreover, the portability devcontainer is migrated to meson. Log: https://github.com/sagemath/sage/actions/runs/15158634096/job/42619 320072?pr=40142 ### 📝 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, --> <!-- - #12345: short description why this is a dependency --> <!-- - #34567: ... --> - #40089 URL: #40142 Reported by: Tobias Diez Reviewer(s):
2 parents e48fde6 + ce56ee6 commit 1591b6d

File tree

10 files changed

+40
-53
lines changed

10 files changed

+40
-53
lines changed

.devcontainer/portability-archlinux-latest-minimal/devcontainer.json

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

.devcontainer/portability-archlinux-latest-minimal/portability-Dockerfile

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

.devcontainer/portability-archlinux-latest-standard/devcontainer.json

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

.devcontainer/portability-archlinux-latest-standard/portability-Dockerfile

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
FROM archlinux
2+
RUN pacman -Syu --noconfirm bash git python
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// See https://aka.ms/devcontainer.json for format details.
2+
{
3+
"name": "archlinux",
4+
//"image": "archlinux",
5+
"dockerFile": "Dockerfile",
6+
"onCreateCommand": ".devcontainer/onCreate-meson.sh || true",
7+
"features": {
8+
// Git feature is not compatible with Arch Linux, so we install it manually in the Dockerfile
9+
// https://github.com/devcontainers/features/issues/824
10+
//"ghcr.io/devcontainers/features/git": {},
11+
//"ghcr.io/devcontainers/features/python:1": {},
12+
"../uv": {
13+
"version": "latest"
14+
}
15+
},
16+
"customizations": {
17+
"vscode": {
18+
"extensions": [
19+
"ms-python.python"
20+
]
21+
}
22+
}
23+
}

.github/workflows/ci.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ jobs:
2323
- fedora:41
2424
- fedora:42
2525
- ghcr.io/void-linux/void-glibc-full
26+
- archlinux
2627
#- ubuntu:22.04 - fails due to issue with cypari2
2728
#- ubuntu:24.04 - fails due to issue with cypari2
2829
- ubuntu:25.04
@@ -38,6 +39,11 @@ jobs:
3839
# node-based actions require libstdc++.so.6
3940
xbps-install -Sy libstdc++ bash git
4041
fi
42+
if [ "${{ matrix.container }}" = "archlinux" ]; then
43+
# The archlinux container is configured to not install docs by default
44+
# but we need the maxima help to be in place
45+
sed -i '/^NoExtract/d' /etc/pacman.conf
46+
fi
4147
4248
- name: Checkout code
4349
# cannot use v4 yet because of https://github.com/actions/checkout/issues/1487
@@ -51,7 +57,11 @@ jobs:
5157
- name: Set up Python
5258
run: |
5359
uv python install
54-
uv venv
60+
if [ "${{ matrix.container }}" = "ghcr.io/void-linux/void-glibc-full" ] || [ "${{ matrix.container }}" = "archlinux" ]; then
61+
uv venv --system-site-packages
62+
else
63+
uv venv
64+
fi
5565
. .venv/bin/activate
5666
echo PATH=$PATH >> $GITHUB_ENV
5767

build/pkgs/ecm/distros/arch.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
gmp-ecm

build/pkgs/mpfi/distros/arch.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
mpfi

src/meson.build

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ mtx = cc.find_library(
157157
)
158158
png = dependency(['libpng', 'png', 'png16'], version: '>=1.2')
159159
zlib = dependency('zlib', version: '>=1.2.11')
160+
# We actually want >= 20231212, but the version number is not updated in the pkgconfig
161+
# https://github.com/conda-forge/eclib-feedstock/issues/48
160162
ec = dependency(
161163
'eclib',
162164
version: '>=20250122',

0 commit comments

Comments
 (0)