Skip to content
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

layer: Relax Meson requirement from 1.1 to 1.0 #247

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

smcv
Copy link

@smcv smcv commented Jan 24, 2025

Meson 1.0 is an interesting target because it's the version provided by the Debian 12 stable release, and by Valve's Steam Runtime (version 2 and up), therefore indirectly by Proton. The only obvious use of a Meson 1.1 feature in layer/ is the meson.options name, which is easily avoided.

In particular, the layer can be successfully compiled in the Steam Runtime 3 'sniper' SDK container[1], using its backport of gcc 14:

$ sudo vi /etc/apt/sources.list    # add the sniper_beta suite
$ sudo apt install gcc-14-monolithic
$ CC=gcc-14 CXX=g++-14 meson setup _build-sniper
$ meson compile -C _build-sniper

[1] https://gitlab.steamos.cloud/steamrt/sniper/sdk

Meson 1.0 is an interesting target because it's the version provided by
the Debian 12 stable release, and by Valve's Steam Runtime (version 2 and
up), therefore indirectly by Proton. The only obvious use of a Meson 1.1
feature in `layer/` is the `meson.options` name, which is easily avoided.

In particular, the layer can be successfully compiled in the
Steam Runtime 3 'sniper' SDK container[1], using its backport of gcc 14:

    $ sudo vi /etc/apt/sources.list    # add the sniper_beta suite
    $ sudo apt install gcc-14-monolithic
    $ CC=gcc-14 CXX=g++-14 meson setup _build-sniper
    $ meson compile -C _build-sniper

[1] https://gitlab.steamos.cloud/steamrt/sniper/sdk

Signed-off-by: Simon McVittie <[email protected]>
@smcv
Copy link
Author

smcv commented Jan 24, 2025

cc @ivyl

@smcv
Copy link
Author

smcv commented Jan 24, 2025

I haven't tested the resulting layer binary (I don't think I have the right hardware), but perhaps a Proton developer could do so?

@smcv
Copy link
Author

smcv commented Jan 24, 2025

I notice that the layer build is disabled in the Proton SDK CI job right now. The gcc-14 backport is still beta-only right now, but it's likely to be preinstalled in a future version of the sniper SDK, at which point a respin of the sniper-derived Proton SDK will probably have all the pieces to be able to build with the layer enabled.

@jp7677
Copy link
Owner

jp7677 commented Jan 24, 2025

Thanks a lot for looking into the Proton requirements for building the layer! No objections from my side to relax the minimum meson version.

Copy link
Collaborator

@Saancreed Saancreed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And here I thought the C++20 compiler requirement would be harder to satisfy 😅

Also no objections here, having the layer buildable with Proton SDK would be great.

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

Successfully merging this pull request may close these issues.

3 participants