Skip to content

Meson#

Meson is an open source meta build system meant to be fast and user-friendly.

In Nixpkgs, meson comes with a setup hook that overrides the configure, check, and install phases.

Being a meta build system, meson needs an accompanying backend. In the context of Nixpkgs, the typical companion backend is Ninja, that provides a setup hook registering ninja-based build and install phases.

Variables controlling Meson#

Meson Exclusive Variables#

mesonFlags#

Controls the flags passed to meson setup during configure phase.

mesonWrapMode#

Which value is passed as -Dwrap_mode= to. In Nixpkgs the default value is nodownload, so that no subproject will be downloaded (since network access is already disabled during deployment in Nixpkgs).

Note: Meson allows pre-population of subprojects that would otherwise be downloaded.

mesonBuildType#

Which value is passed as --buildtype to meson setup during configure phase. In Nixpkgs the default value is plain.

mesonAutoFeatures#

Which value is passed as -Dauto_features= to meson setup during configure phase. In Nixpkgs the default value is enabled, meaning that every feature declared as "auto" by the meson scripts will be enabled.

mesonCheckFlags#

Controls the flags passed to meson test during check phase.

mesonInstallFlags#

Controls the flags passed to meson install during install phase.

mesonInstallTags#

A list of installation tags passed to Meson's commandline option --tags during install phase.

Note: mesonInstallTags should be a list of strings, that will be converted to a comma-separated string that is recognized to --tags. Example: mesonInstallTags = [ "emulator" "assembler" ]; will be converted to --tags emulator,assembler.

dontUseMesonConfigure#

When set to true, don't use the predefined mesonConfigurePhase.

dontUseMesonCheck#

When set to true, don't use the predefined mesonCheckPhase.

dontUseMesonInstall#

When set to true, don't use the predefined mesonInstallPhase.

Honored variables#

The following variables commonly used by stdenv.mkDerivation are honored by Meson setup hook.

  • prefixKey
  • enableParallelBuilding