From d00a720e443042b8e218224cf9d8589d618ab586 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Sun, 21 Nov 2021 11:57:49 +0100 Subject: go-module.eclass: Add GO_OPTIONAL flag Following the pattern found in other eclasses, add GO_OPTIONAL to the go-module eclass. This allows inheriting the eclass without pulling its dependencies or exporting the unpack function. See, e.g., bug #775779 for the motivation. Signed-off-by: Florian Schmaus Signed-off-by: William Hubbs --- eclass/go-module.eclass | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) (limited to 'eclass') diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass index 3ad8542a28ae..c9eb90ac62ea 100644 --- a/eclass/go-module.eclass +++ b/eclass/go-module.eclass @@ -1,4 +1,4 @@ -# Copyright 2019-2020 Gentoo Authors +# Copyright 2019-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: go-module.eclass @@ -55,13 +55,17 @@ if [[ -z ${_GO_MODULE} ]]; then _GO_MODULE=1 -BDEPEND=">=dev-lang/go-1.12" +if [[ ! ${GO_OPTIONAL} ]]; then + BDEPEND=">=dev-lang/go-1.12" -# Workaround for pkgcheck false positive: https://github.com/pkgcore/pkgcheck/issues/214 -# MissingUnpackerDep: version ...: missing BDEPEND="app-arch/unzip" -# Added here rather than to each affected package, so it can be cleaned up just -# once when pkgcheck is improved. -BDEPEND+=" app-arch/unzip" + # Workaround for pkgcheck false positive: https://github.com/pkgcore/pkgcheck/issues/214 + # MissingUnpackerDep: version ...: missing BDEPEND="app-arch/unzip" + # Added here rather than to each affected package, so it can be cleaned up just + # once when pkgcheck is improved. + BDEPEND+=" app-arch/unzip" + + EXPORT_FUNCTIONS src_unpack +fi # Force go to build in module mode. # In this mode the GOPATH environment variable is ignored. @@ -83,8 +87,6 @@ QA_FLAGS_IGNORED='.*' # Go packages should not be stripped with strip(1). RESTRICT+=" strip" -EXPORT_FUNCTIONS src_unpack - # @ECLASS-VARIABLE: EGO_SUM # @DESCRIPTION: # This is an array based on the go.sum content from inside the target package. @@ -147,6 +149,17 @@ EXPORT_FUNCTIONS src_unpack # directory structure. declare -A -g _GOMODULE_GOSUM_REVERSE_MAP +# @ECLASS-VARIABLE: GO_OPTIONAL +# @DEFAULT_UNSET +# @PRE_INHERIT +# @DESCRIPTION: +# If set to a non-null value before inherit, then the Go part of the +# ebuild will be considered optional. No dependencies will be added and +# no phase functions will be exported. +# +# If you enable GO_OPTIONAL, you have to set BDEPEND on >=dev-lang/go-1.12 +# for your package and call go-module_src_unpack manually. + # @FUNCTION: go-module_set_globals # @DESCRIPTION: # Convert the information in EGO_SUM for other usage in the ebuild. -- cgit v1.2.3-65-gdbad