Created
October 4, 2017 19:09
-
-
Save robbat2/6e926c9c432448a9e2b4fdd6416600af to your computer and use it in GitHub Desktop.
meson-optional.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| commit 7303912472360f48d80800a4adfda64a72b9935e | |
| Author: Robin H. Johnson <robbat2@gentoo.org> | |
| Date: Wed Oct 4 12:03:18 2017 -0700 | |
| eclass: MESON_AUTO_DEPEND support | |
| Make it possible to use the meson eclass without it automatically adding | |
| meson to DEPEND. Intended for cases where meson usage is conditional | |
| (e.g. hidden behind a USE flag). | |
| This is a direct copy of the AUTOTOOLS_AUTO_DEPEND functionality & | |
| implementation from autotools.eclass, including the guard for multiple | |
| inheritance. | |
| Bug: https://bugs.gentoo.org/626054 | |
| Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> | |
| diff --git a/eclass/meson.eclass b/eclass/meson.eclass | |
| index 5b63f0ef3a33..0f5a752d96c8 100644 | |
| --- a/eclass/meson.eclass | |
| +++ b/eclass/meson.eclass | |
| @@ -38,6 +38,17 @@ case ${EAPI:-0} in | |
| *) die "EAPI=${EAPI} is not supported" ;; | |
| esac | |
| +if [[ ${__MESON_AUTO_DEPEND+set} == "set" ]] ; then | |
| + # See if we were included already, but someone changed the value | |
| + # of MESON_AUTO_DEPEND on us. We could reload the entire | |
| + # eclass at that point, but that adds overhead, and it's trivial | |
| + # to re-order inherit in eclasses/ebuilds instead. #409611 | |
| + if [[ ${__MESON_AUTO_DEPEND} != ${MESON_AUTO_DEPEND} ]] ; then | |
| + die "MESON_AUTO_DEPEND changed value between inherits; please inherit meson.eclass first! ${__MESON_AUTO_DEPEND} -> ${MESON_AUTO_DEPEND}" | |
| + fi | |
| +fi | |
| + | |
| + | |
| if [[ -z ${_MESON_ECLASS} ]]; then | |
| inherit ninja-utils python-utils-r1 toolchain-funcs | |
| @@ -49,9 +60,20 @@ EXPORT_FUNCTIONS src_configure src_compile src_test src_install | |
| if [[ -z ${_MESON_ECLASS} ]]; then | |
| _MESON_ECLASS=1 | |
| -DEPEND=">=dev-util/meson-0.40.0 | |
| +MESON_DEPEND=">=dev-util/meson-0.40.0 | |
| >=dev-util/ninja-1.7.2" | |
| +# @ECLASS-VARIABLE: MESON_AUTO_DEPEND | |
| +# @DESCRIPTION: | |
| +# Set to 'no' to disable automatically adding to DEPEND. This lets | |
| +# ebuilds former conditional depends by using ${MESON_DEPEND} in | |
| +# their own DEPEND string. | |
| +: ${MESON_AUTO_DEPEND:=yes} | |
| +if [[ ${MESON_AUTO_DEPEND} != "no" ]] ; then | |
| + DEPEND=${MESON_DEPEND} | |
| +fi | |
| +__MESON_AUTO_DEPEND=${MESON_AUTO_DEPEND} # See top of eclass | |
| + | |
| # @ECLASS-VARIABLE: BUILD_DIR | |
| # @DEFAULT_UNSET | |
| # @DESCRIPTION: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment