Skip to content

Meson: test archlinux on CI and migrate devcontainer #40142

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: develop
Choose a base branch
from

Conversation

tobiasdiez
Copy link
Contributor

@tobiasdiez tobiasdiez commented May 21, 2025

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/42619320072?pr=40142

📝 Checklist

  • 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

@tobiasdiez
Copy link
Contributor Author

This generally works. A few bugs are discovered (left for follow-ups):

  • Maxima help:
     ;;; Warning: Maxima is unable to set up the help system.
    (Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/share/info/maxima-index.lisp".
    C library error: No such file or directory)
    <BLANKLINE>
    ;;; Warning: Maxima is unable to set up the help system.
    (Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/share/info/maxima-index-html.lisp".
    C library error: No such file or directory)

(is this a problem with the maxima installation on arch or how sage is calling maxima?)

@tobiasdiez tobiasdiez requested a review from antonio-rojas May 22, 2025 03:42
@antonio-rojas
Copy link
Contributor

This generally works. A few bugs are discovered (left for follow-ups):

  • Maxima help:
     ;;; Warning: Maxima is unable to set up the help system.
    (Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/share/info/maxima-index.lisp".
    C library error: No such file or directory)
    <BLANKLINE>
    ;;; Warning: Maxima is unable to set up the help system.
    (Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/share/info/maxima-index-html.lisp".
    C library error: No such file or directory)

(is this a problem with the maxima installation on arch or how sage is calling maxima?)

Is this using the official Arch docker image? If so, you need to apply a fix like [1] since the docker image doesn't install docs in its default setup.

[1] https://github.com/sagemath/sage/blob/10.7.beta4/.ci/write-dockerfile.sh#L149

@antonio-rojas
Copy link
Contributor

My general opinion on this is basically the same as @tornaria's one in #40089 - its usefulness is not clear to me. IMO it would me much more useful to test against a full set of system dependencies (which I am doing manually after every beta release) instead of a mixture of system/pypi ones. Also, as #40144 shows, this may create artificial issues due to conflicts between system and uv paths.

@tobiasdiez
Copy link
Contributor Author

tobiasdiez commented May 23, 2025

This generally works. A few bugs are discovered (left for follow-ups):

  • Maxima help:
     ;;; Warning: Maxima is unable to set up the help system.
    (Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/share/info/maxima-index.lisp".
    C library error: No such file or directory)
    <BLANKLINE>
    ;;; Warning: Maxima is unable to set up the help system.
    (Details: CL-INFO::LOAD-PRIMARY-INDEX: Cannot open #P"/usr/share/info/maxima-index-html.lisp".
    C library error: No such file or directory)

(is this a problem with the maxima installation on arch or how sage is calling maxima?)

Is this using the official Arch docker image? If so, you need to apply a fix like [1] since the docker image doesn't install docs in its default setup.

[1] https://github.com/sagemath/sage/blob/10.7.beta4/.ci/write-dockerfile.sh#L149

Thanks, this worked well. Is this particular to the Arch docker image, or are users likely to encounter this as well (so that we should add it to the install instructions)?

My general opinion on this is basically the same as @tornaria's one in #40089 - its usefulness is not clear to me.

It's testing that pip install sagemath works in a new venv after installing all system packages. The main point here is to test that meson can find all system packages and use them correctly.

IMO it would me much more useful to test against a full set of system dependencies (which I am doing manually after every beta release) instead of a mixture of system/pypi ones.

I've now switched it to use system site packages on arch/void. For this to really use only system packages, one would need to add more of the arch.txt files for python packages (similar to https://github.com/sagemath/sage/blob/develop/build/pkgs/cython/distros/arch.txt).

@antonio-rojas
Copy link
Contributor

Is this using the official Arch docker image? If so, you need to apply a fix like [1] since the docker image doesn't install docs in its default setup.
[1] https://github.com/sagemath/sage/blob/10.7.beta4/.ci/write-dockerfile.sh#L149

Thanks, this worked well. Is this particular to the Arch docker image, or are users likely to encounter this as well (so that we should add it to the install instructions)?

No, this is a docker specific thing, for image size reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants