Skip to content

Replace "meson" with "muon"

Description:

The current Arch packaging wrapper for meson should be updated to use muon instead. Muon is a lightweight and feature-rich alternative to meson, written in C99, with minimal dependencies. It is highly compatible with meson, but offers improved speed and portability.

By switching to muon, we can ensure a faster and more consistent build process with minimal overhead, while retaining compatibility with existing meson build scripts.

Additional info:

  • Muon is a drop-in replacement for meson, compatible with meson’s build system for C-like languages.
  • It comes with features such as static analysis, a code formatter, a debugger, and a cross-platform ninja implementation.

Package version(s):

  • [Insert relevant package version(s) here]

Config and/or log files:

  • [Provide any relevant configuration or log files if applicable]

Link to upstream bug report, if any:

  • [Link to upstream issue if one exists, or leave blank]

Steps to reproduce:

Modify the existing wrapper to use muon instead of meson.

Example modified wrapper using muon:

#!/bin/bash -ex
# Highly opinionated wrapper for Arch Linux packaging

exec meson setup \
  --prefix        /usr \
  --libexecdir    lib \
  --sbindir       bin \
  --buildtype     plain \
  --auto-features enabled \
  --wrap-mode     nodownload \
  -D              b_pie=true \
  -D              python.bytecompile=1 \
  "$@"

Explanation:

Muon replaces meson and is now used as the build system.

This change will streamline the build process with muon, offering a faster, more portable alternative to meson while maintaining the same functionality.


Status:

Muon is close to feature-complete and fully supports meson’s functionality for C, C++, and other C-like languages. The switch to muon should be seamless for most users, with no significant changes to the overall build process.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information