meson.eclass: add MYMESONARGS variable
authorMike Gilbert <floppym@gentoo.org>
Wed, 8 Apr 2020 20:32:38 +0000 (16:32 -0400)
committerMike Gilbert <floppym@gentoo.org>
Sun, 12 Apr 2020 15:20:13 +0000 (11:20 -0400)
This was requested to allow users to pass aribtrary arguments to meson.

Signed-off-by: Mike Gilbert <floppym@gentoo.org>
eclass/meson.eclass

index 3e3a2e2f7a2e477d9f789df1ea5dd002d94578bd..0932a7ed427f8ce59881e2a0b5fb8d827397d578 100644 (file)
@@ -84,6 +84,11 @@ fi
 # Optional meson test arguments as Bash array; this should be defined before
 # calling meson_src_test.
 
+# @VARIABLE: MYMESONARGS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# User-controlled environment variable containing arguments to be passed to
+# meson in meson_src_configure.
 
 read -d '' __MESON_ARRAY_PARSER <<"EOF"
 import shlex
@@ -236,6 +241,9 @@ meson_src_configure() {
 
        BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}"
 
+       # Handle quoted whitespace
+       eval "local -a MYMESONARGS=( ${MYMESONARGS} )"
+
        mesonargs+=(
                # Arguments from ebuild
                "${emesonargs[@]}"
@@ -243,6 +251,9 @@ meson_src_configure() {
                # Arguments passed to this function
                "$@"
 
+               # Arguments from user
+               "${MYMESONARGS[@]}"
+
                # Source directory
                "${EMESON_SOURCE:-${S}}"