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