golang-build.eclass: add support for EGO_BUILD_FLAGS
authorWilliam Hubbs <williamh@gentoo.org>
Sun, 9 Aug 2015 16:50:25 +0000 (11:50 -0500)
committerWilliam Hubbs <williamh@gentoo.org>
Mon, 10 Aug 2015 14:27:53 +0000 (09:27 -0500)
eclass/golang-build.eclass

index 6f5a1578ed04266fd1fa869aeaebd38458088afb..7a7e567b162bda2e7c40faa5d27b28c4b5890f3d 100644 (file)
@@ -26,6 +26,19 @@ if [[ -z ${_GOLANG_BUILD} ]]; then
 
 _GOLANG_BUILD=1
 
+# @ECLASS-VARIABLE: EGO_BUILD_FLAGS
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# This allows you to pass build flags to the Go compiler. These flags
+# are common to the "go build" and "go install" commands used below.
+# Please emerge dev-lang/go and run "go help build" for the
+# documentation for these flags.
+#
+# Example:
+# @CODE
+# EGO_BUILD_FLAGS="-ldflags \"-X main.version ${PV}\""
+# @CODE
+
 # @ECLASS-VARIABLE: EGO_PN
 # @REQUIRED
 # @DESCRIPTION:
@@ -42,7 +55,7 @@ golang-build_src_compile() {
 
        ego_pn_check
        set -- env GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
-               go build -v -work -x "${EGO_PN}"
+               go build -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}"
        echo "$@"
        "$@" || die
 }
@@ -52,7 +65,7 @@ golang-build_src_install() {
 
        ego_pn_check
        set -- env GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
-               go install -v -work -x "${EGO_PN}"
+               go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}"
        echo "$@"
        "$@" || die
        golang_install_pkgs