megacoffee.net Gentoo overlay - legacy mirror
We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.
annotate eclass/x-mgcf-golang-common.eclass @ 255:3c90d8644fec
[sync] imported 5fd794d..e0462cd from upstream
commit e0462cd710b265e96775b0c1b2a595338010243e
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Tue Jun 20 23:36:12 2023 +0200
app-office/softmaker-office[-nx]: added (2024.)1200 revision; subscription product NX is now a separate installation
author | Migration Sync <gentoo-overlay@megacoffee.net> |
---|---|
date | Tue, 20 Jun 2023 21:45:02 +0000 |
parents | 0685ed0fb913 |
children | 32efd9258ce5 |
rev | line source |
---|---|
249
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1 # Copyright 1999-2017 Gentoo Foundation |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
2 # Distributed under the terms of the GNU General Public License v2 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
3 # $Id$ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
4 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
5 # @ECLASS: x-mgcf-golang-common.eclass |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
6 # @MAINTAINER: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
7 # MegaCoffee Overlay <gentoo-overlay@megacoffee.net> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
8 # @AUTHOR: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
9 # Mauro Toffanin <toffanin.mauro@gmail.com> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
10 # @BLURB: Base eclass for GoLang packages |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
11 # @SUPPORTED_EAPIS: 7 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
12 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
13 # This eclass provides functionalities which are used by golang-single.eclass, |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
14 # golang-live.eclass, and as well as from ebuilds. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
15 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
16 # This eclass should not be inherited directly from an ebuild. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
17 # Instead, you should inherit golang-single or golang-live for GoLang packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
18 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
19 inherit eutils multiprocessing |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
20 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
21 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
22 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
23 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
24 # !!! L E G A C Y E C L A S S !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
25 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
26 # !!! DO NOT USE OUTSIDE OF MEGACOFFEE OVERLAY !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
27 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
28 # !!! DO NOT USE FOR NEW EBUILDS !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
29 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
30 # !!! This eclass has only been copied to megacoffee overlay from !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
31 # !!! go-overlay: https://github.com/Dr-Terrible/go-overlay !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
32 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
33 # !!! The only purpose is to keep currently depending ebuilds !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
34 # !!! until they could be migrated to standard eclasses for Go, !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
35 # !!! if suitable. !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
36 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
37 # !!! go-overlay was previously imported by megacoffee until it !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
38 # !!! got removed from Gentoo overlay index in March 2023, !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
39 # !!! rendering megacoffee overlay unreachable as a result. !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
40 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
41 # !!! Related bugs: https://bugs.gentoo.org/864653 !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
42 # !!! https://bugs.gentoo.org/903167 !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
43 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
44 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
45 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
46 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
47 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
48 if [[ -z ${_GOLANG_BASE_ECLASS} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
49 _GOLANG_BASE_ECLASS=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
50 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
51 # Silences repoman warnings. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
52 case "${EAPI:-0}" in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
53 7) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
54 case "${GOLANG_PKG_DEPEND_ON_GO_SUBSLOT:-yes}" in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
55 yes) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
56 GO_DEPEND="dev-lang/go:0=" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
57 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
58 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
59 GO_DEPEND="dev-lang/go:*" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
60 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
61 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
62 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
63 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
64 die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
65 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
66 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
67 DEPEND+=" ${GO_DEPEND}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
68 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
69 RESTRICT+=" mirror strip" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
70 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
71 QA_FLAGS_IGNORED="usr/bin/.* |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
72 usr/sbin/.*" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
73 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
74 # @ECLASS-VARIABLE: GOLANG_PKG_NAME |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
75 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
76 # Sets the GoLang name for the generated package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
77 # GOLANG_PKG_NAME="${PN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
78 GOLANG_PKG_NAME="${GOLANG_PKG_NAME:-${PN}}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
79 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
80 # @ECLASS-VARIABLE: GOLANG_PKG_VERSION |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
81 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
82 # Sets the GoLang version for the generated package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
83 # GOLANG_PKG_VERSION="${PV}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
84 GOLANG_PKG_VERSION="${GOLANG_PKG_VERSION:-${PV/_pre/.pre}}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
85 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
86 # @ECLASS-VARIABLE: GOLANG_PKG_IMPORTPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
87 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
88 # Sets the remote import path for the generated package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
89 # GOLANG_PKG_IMPORTPATH="github.com/captObvious/" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
90 GOLANG_PKG_IMPORTPATH="${GOLANG_PKG_IMPORTPATH:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
91 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
92 # @ECLASS-VARIABLE: GOLANG_PKG_IMPORTPATH_ALIAS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
93 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
94 # Sets an alias of the remote import path for the generated package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
95 # GOLANG_PKG_IMPORTPATH_ALIAS="privaterepo.com/captObvious/" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
96 GOLANG_PKG_IMPORTPATH_ALIAS="${GOLANG_PKG_IMPORTPATH_ALIAS:=${GOLANG_PKG_IMPORTPATH}}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
97 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
98 # @ECLASS-VARIABLE: GOLANG_PKG_ARCHIVEPREFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
99 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
100 # Sets the archive prefix for the file URI of the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
101 # Most projects hosted on GitHub's mirrors provide archives with prefix as |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
102 # 'v' or 'source-', other hosted services offer different archive formats. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
103 # This eclass defaults to an empty prefix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
104 GOLANG_PKG_ARCHIVEPREFIX="${GOLANG_PKG_ARCHIVEPREFIX:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
105 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
106 # @ECLASS-VARIABLE: GOLANG_PKG_ARCHIVESUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
107 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
108 # Sets the archive suffix for the file URI of the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
109 # Most projects hosted on GitHub's mirrors provide archives with suffix as |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
110 # '.tar.gz' or '.zip', other hosted services offer different archive formats. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
111 # This eclass defaults to '.tar.gz'. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
112 GOLANG_PKG_ARCHIVESUFFIX="${GOLANG_PKG_ARCHIVESUFFIX:=".tar.gz"}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
113 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
114 # @ECLASS-VARIABLE: GOLANG_PKG_OUTPUT_NAME |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
115 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
116 # Specifies the output file name of the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
117 # If not set, it derives from the name of the package, such as $GOLANG_PKG_NAME. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
118 # This eclass defaults to $PN. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
119 GOLANG_PKG_OUTPUT_NAME="${GOLANG_PKG_OUTPUT_NAME:=${PN}}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
120 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
121 # @ECLASS-VARIABLE: GOLANG_PKG_BUILDPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
122 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
123 # Specifies a go source file to be compiled as a single main package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
124 # This eclass defaults to an empty value. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
125 # This eclass defaults to "/..." when the user declares GOLANG_PKG_IS_MULTIPLE=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
126 GOLANG_PKG_BUILDPATH="${GOLANG_PKG_BUILDPATH:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
127 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
128 # @ECLASS-VARIABLE: GOLANG_PKG_INSTALLPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
129 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
130 # Sets the root path into which a binary, or a list of binaries, will be |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
131 # installed (e.x.: ${GOLANG_PKG_INSTALLPATH}/bin). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
132 # This eclass defaults to "/usr" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
133 GOLANG_PKG_INSTALLPATH="${GOLANG_PKG_INSTALLPATH:="/usr"}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
134 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
135 # @ECLASS-VARIABLE: GOLANG_PKG_INSTALLSUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
136 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
137 # Sets a suffix to use in the name of the package installation directory. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
138 # This eclass defaults to an empty install suffix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
139 GOLANG_PKG_INSTALLSUFFIX="${GOLANG_PKG_INSTALLSUFFIX:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
140 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
141 # @ECLASS-VARIABLE: GOLANG_PKG_IS_MULTIPLE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
142 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
143 # Set to enable the building of multiple packages from a single import path. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
144 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
145 # @ECLASS-VARIABLE: GOLANG_PKG_HAVE_TEST |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
146 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
147 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
148 # Set to enable the execution of automated testing. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
149 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
150 # @ECLASS-VARIABLE: GOLANG_PKG_HAVE_TEST_RACE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
151 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
152 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
153 # Set to enable the execution of automated testing with support for |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
154 # data race detection. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
155 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
156 # @ECLASS-VARIABLE: GOLANG_PKG_USE_CGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
157 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
158 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
159 # Set to enable the compilation of the package with CGO. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
160 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
161 # @ECLASS-VARIABLE: GOLANG_PKG_USE_GENERATE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
162 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
163 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
164 # Set to run commands described by directives within existing golang files. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
165 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
166 # @ECLASS-VARIABLE: GOLANG_PKG_DEPEND_ON_GO_SUBSLOT |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
167 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
168 # Set to ensure the package does depend on the dev-lang/go subslot value. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
169 # Possible values: {yes,no} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
170 # This eclass defaults to "no" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
171 GOLANG_PKG_DEPEND_ON_GO_SUBSLOT=${GOLANG_PKG_DEPEND_ON_GO_SUBSLOT:="no"} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
172 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
173 # @ECLASS-VARIABLE: GOLANG_PKG_LDFLAGS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
174 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
175 # Sets the linker arguments to pass to 5l, 6l, or 8l. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
176 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
177 GOLANG_PKG_LDFLAGS="${GOLANG_PKG_LDFLAGS:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
178 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
179 # @ECLASS-VARIABLE: GOLANG_PKG_TAGS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
180 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
181 # Sets the list of build tags during the build. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
182 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
183 GOLANG_PKG_TAGS="${GOLANG_PKG_TAGS:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
184 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
185 # @ECLASS-VARIABLE: GOLANG_PKG_VENDOR |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
186 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
187 # Sets additional standard Go workspaces to be appended to the environment |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
188 # variable GOPATH, as described in http://golang.org/doc/code.html. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
189 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
190 GOLANG_PKG_VENDOR=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
191 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
192 # @ECLASS-VARIABLE: GOLANG_PKG_STATIK |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
193 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
194 # Sets the arguments to pass to dev-go/statik. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
195 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
196 GOLANG_PKG_STATIK="${GOLANG_PKG_STATIK:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
197 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
198 # @ECLASS-VARIABLE: GOLANG_PKG_USE_MODULES |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
199 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
200 # Set to enable the compilation of the package with Go modules support. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
201 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
202 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
203 # @ECLASS-VARIABLE: GO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
204 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
205 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
206 # The absolute path to the current GoLang interpreter. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
207 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
208 # This variable is set automatically after calling golang_setup(). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
209 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
210 # Default value: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
211 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
212 # /usr/bin/go |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
213 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
214 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
215 # @ECLASS-VARIABLE: EGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
216 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
217 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
218 # The executable name of the current GoLang interpreter. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
219 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
220 # This variable is set automatically after calling golang_setup(). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
221 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
222 # Default value: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
223 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
224 # go |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
225 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
226 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
227 # @ECLASS-VARIABLE: PATCHES |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
228 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
229 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
230 # Array variable containing all the patches to be applied. This variable |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
231 # is expected to be defined in the global scope of ebuilds. Make sure to |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
232 # specify the full path. This variable is used in src_prepare phase. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
233 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
234 # Example: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
235 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
236 # PATCHES=( |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
237 # "${FILESDIR}/mypatch.patch" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
238 # "${FILESDIR}/mypatch2.patch" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
239 # ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
240 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
241 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
242 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
243 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
244 # Adds gccgo as a compile-time dependency when GOLANG_PKG_USE_CGO is set. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
245 #[[ -n ${GOLANG_PKG_USE_CGO} ]] && DEPEND+=" >=sys-devel/gcc-4.8.4[go]" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
246 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
247 # Adds dev-go/statik as a compile-time dependency when GOLANG_PKG_STATIK is set. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
248 [[ -n ${GOLANG_PKG_STATIK} ]] && DEPEND+=" dev-go/statik" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
249 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
250 # Validates GOLANG_PKG_IMPORTPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
251 if [[ -z ${GOLANG_PKG_IMPORTPATH} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
252 eerror "The remote import path for this package has not been declared" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
253 die "Mandatory variable GOLANG_PKG_IMPORTPATH is unset" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
254 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
255 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
256 # Forces a multiple package build when user specifies GOLANG_PKG_IS_MULTIPLE=1. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
257 if [[ -n ${GOLANG_PKG_IS_MULTIPLE} && -z ${GOLANG_PKG_BUILDPATH} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
258 GOLANG_PKG_BUILDPATH="/..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
259 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
260 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
261 # Validates use of GOLANG_PKG_BUILDPATH combined with GOLANG_PKG_IS_MULTIPLE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
262 # FIX: makes sure user isn't overriding GOLANG_PKG_BUILDPATH with inane values. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
263 if [[ -n ${GOLANG_PKG_IS_MULTIPLE} && ${GOLANG_PKG_BUILDPATH##*/} != "..." ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
264 ewarn "Ebuild ${CATEGORY}/${PF} specifies GOLANG_PKG_IS_MULTIPLE=1," |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
265 ewarn "but then GOLANG_PKG_BUILDPATH is overridden with \"${GOLANG_PKG_BUILDPATH}\"." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
266 ewarn "Please, fix it by appending \"/...\" to your GOLANG_PKG_BUILDPATH." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
267 ewarn "If in doubt, remove GOLANG_PKG_BUILDPATH entirely." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
268 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
269 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
270 # Even though xz-utils are in @system, they must still be added to DEPEND; see |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
271 # http://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
272 if [[ ${GOLANG_PKG_ARCHIVESUFFIX/.*} == "xz" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
273 DEPEND+=" app-arch/xz-utils" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
274 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
275 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
276 # Defines common USE flags |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
277 IUSE="${IUSE} debug pie" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
278 # Enables USE 'test' when required by GOLANG_PKG_HAVE_TEST. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
279 if [[ -n ${GOLANG_PKG_HAVE_TEST} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
280 IUSE+=" test" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
281 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
282 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
283 # Defines HOMEPAGE. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
284 [ -z "$HOMEPAGE" ] && HOMEPAGE="https://${GOLANG_PKG_IMPORTPATH}/${PN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
285 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
286 # Defines SOURCE directory. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
287 S="${WORKDIR}/gopath/src/${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
288 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
289 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
290 # @FUNCTION: _factorize_dependency_entities |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
291 # @INTERNAL |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
292 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
293 # Factorizes the dependency declaration in specific tokens such as the import |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
294 # path, the import path alias, the host name, the author name, the project name, |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
295 # and the revision tag. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
296 _factorize_dependency_entities() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
297 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
298 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
299 local -A dependency=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
300 local key_list=(importpathalias importpath host project_name author_name revision) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
301 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
302 # Strips all the white spaces from the supplied argument. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
303 local raw_dependency="${1//\ /}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
304 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
305 # Determines the alias of the import path (if present). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
306 dependency[importpathalias]="${raw_dependency##*->}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
307 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
308 # Strips the import path alias from the supplied argument. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
309 raw_dependency="${raw_dependency%%->*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
310 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
311 # Determines the import path. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
312 dependency[importpath]="${raw_dependency%:*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
313 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
314 # When the importpath alias is not specified, then this eclass sets the |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
315 # alias as equal to the import path minus the project name. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
316 if [[ "${raw_dependency}" == "${dependency[importpathalias]}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
317 dependency[importpathalias]="${dependency[importpath]%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
318 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
319 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
320 # Determines the host. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
321 dependency[host]="${dependency[importpath]%%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
322 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
323 # Determines the project name. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
324 dependency[project_name]="${dependency[importpath]##*/}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
325 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
326 # Determines the author name. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
327 dependency[author_name]="${dependency[importpath]#*/}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
328 dependency[author_name]="${dependency[author_name]%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
329 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
330 # Determines the revision. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
331 dependency[revision]="${raw_dependency#*:}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
332 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
333 # Exports all the dependency tokens as an associated list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
334 for key in ${key_list[@]}; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
335 echo "${key} ${dependency[${key}]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
336 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
337 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
338 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
339 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
340 # @FUNCTION: x-mgcf-golang_setup |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
341 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
342 # Determines where is the GoLang implementation and then set-up the |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
343 # GoLang build environment. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
344 x-mgcf-golang_setup() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
345 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
346 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
347 # NOTE: Keep /usr/bin/go as index [0] and never overwrite it, |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
348 # always append other binary paths after the index [0] |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
349 local GOLANG_BINS=( |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
350 /usr/bin/go |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
351 /usr/bin/gofmt |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
352 ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
353 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
354 [[ -n ${GOLANG_PKG_STATIK} ]] && GOLANG_BINS+=(/usr/bin/statik) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
355 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
356 # Reset GoLang environment variables |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
357 unset EGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
358 unset EGOFMT |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
359 unset ESTATIK |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
360 unset GO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
361 unset GOPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
362 unset GOBIN |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
363 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
364 # Determine is the GoLang interpreter is working |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
365 local IS_EXECUTABLE=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
366 for binary in "${GOLANG_BINS[@]}"; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
367 debug-print "${FUNCNAME}: Checking ... ${binary}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
368 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
369 [[ -x "${EPREFIX}/${binary}" ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
370 IS_EXECUTABLE=0 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
371 ewarn "It seems that the binary '${binary}' is not executable." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
372 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
373 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
374 # dev-lang/go isn't installed or one of its binaries aren't executable. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
375 # Either way, the Gentoo box is screwed; no need to set up the GoLang environment |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
376 [[ ${IS_EXECUTABLE} == 0 ]] && exit |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
377 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
378 # dev-lang/go is available and working. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
379 # Exports GO/EGO/EGOFMT global variables. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
380 export GO="${GOLANG_BINS[0]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
381 export EGO="${GOLANG_BINS[0]##*/}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
382 export EGOFMT="${GOLANG_BINS[1]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
383 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
384 # dev-go/statik is available and working. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
385 # Exports ESTATIK global variable. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
386 [[ -n ${GOLANG_PKG_STATIK} ]] && export ESTATIK="${GOLANG_BINS[2]##*/}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
387 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
388 debug-print "${FUNCNAME}: GO = ${GO}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
389 debug-print "${FUNCNAME}: EGO = ${EGO}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
390 debug-print "${FUNCNAME}: EGOFMT = ${EGOFMT}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
391 debug-print "${FUNCNAME}: ESTATIK = ${ESTATIK}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
392 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
393 # Determines go interpreter version. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
394 GOLANG_VERSION="$( ${GO} version )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
395 GOLANG_VERSION="${GOLANG_VERSION/go\ version\ go}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
396 export GOLANG_VERSION="${GOLANG_VERSION%\ *}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
397 einfo "Found GoLang version: ${GOLANG_VERSION}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
398 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
399 # Determines statik interpreter version. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
400 # TODO: add version detection when statik will provide a -version option. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
401 if [[ -n ${GOLANG_PKG_STATIK} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
402 local STATIK_VERSION="" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
403 einfo "Found statik version: ${STATIK_VERSION}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
404 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
405 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
406 # Enable/Disable frame pointers |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
407 local GOEXPERIMENT="noframepointer" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
408 use debug && GOEXPERIMENT="framepointer" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
409 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
410 # Sets the build environment inside Portage's WORKDIR. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
411 ebegin "Setting up GoLang build environment" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
412 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
413 # Prepares CGO_ENABLED. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
414 CGO_ENABLED=0 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
415 [[ -z ${GOLANG_PKG_USE_CGO} ]] || CGO_ENABLED=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
416 use pie && CGO_ENABLED=1 # PIE requires CGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
417 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
418 # Prepares gopath / gobin directories inside WORKDIR. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
419 local _GOPATH="${WORKDIR}/gopath" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
420 local _GOBIN="${WORKDIR}/gobin" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
421 mkdir -p "${_GOBIN}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
422 mkdir -p "${_GOPATH}"/src || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
423 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
424 # Exports special env variable EGO_SRC. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
425 export EGO_SRC="${_GOPATH}/src" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
426 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
427 # Exports GoLang env variables. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
428 export GOPATH="$_GOPATH" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
429 export GOBIN="$_GOBIN" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
430 export CGO_ENABLED |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
431 #export GOEXPERIMENT |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
432 #export GO15VENDOREXPERIMENT=0 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
433 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
434 GO111MODULE="off" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
435 [[ -z ${GOLANG_PKG_USE_MODULES} ]] || GO111MODULE="on" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
436 export GO111MODULE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
437 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
438 debug-print "${FUNCNAME}: GOPATH = ${GOPATH}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
439 debug-print "${FUNCNAME}: GOBIN = ${GOBIN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
440 debug-print "${FUNCNAME}: EGO_SRC = ${EGO_SRC}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
441 debug-print "${FUNCNAME}: CGO_ENABLED = ${CGO_ENABLED}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
442 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
443 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
444 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
445 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
446 # @FUNCTION: x-mgcf-golang-common_src_prepare |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
447 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
448 # Prepare source code. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
449 x-mgcf-golang-common_src_prepare() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
450 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
451 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
452 pushd "${WORKDIR}" > /dev/null || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
453 einfo "Preparing GoLang build environment in ${GOPATH}/src" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
454 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
455 # If the ebuild declares an importpath alias, then its path was |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
456 # already created during the src_unpack phase. That means the eclass |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
457 # needs to create the missing original import path (GOLANG_PKG_IMPORTPATH) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
458 # as a simbolic link pointing to the alias. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
459 if [[ "${GOLANG_PKG_IMPORTPATH}" != "${GOLANG_PKG_IMPORTPATH_ALIAS}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
460 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
461 # If the ebuild declares a GOLANG_PKG_NAME different from PN, then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
462 # the latter will be used as the simbolic link target. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
463 local TARGET="${GOLANG_PKG_NAME}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
464 [[ "${PN}" != "${GOLANG_PKG_NAME}" ]] && TARGET="${PN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
465 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
466 x-mgcf-golang_fix_importpath_alias \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
467 "${GOLANG_PKG_IMPORTPATH_ALIAS}/${TARGET}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
468 "${GOLANG_PKG_IMPORTPATH}/${GOLANG_PKG_NAME}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
469 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
470 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
471 # If the ebuild declares some GoLang dependencies, then they need to be |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
472 # correctly installed into the sand-boxed GoLang build environment which |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
473 # was set up automatically during src_unpack) phase. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
474 if [[ ${#GOLANG_PKG_DEPENDENCIES[@]} -gt 0 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
475 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
476 for i in ${!GOLANG_PKG_DEPENDENCIES[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
477 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
478 # Collects all the tokens of the dependency. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
479 local -A DEPENDENCY=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
480 while read -r -d $'\n' key value; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
481 [[ -z ${key} ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
482 DEPENDENCY[$key]="${value}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
483 done <<-EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
484 $( _factorize_dependency_entities "${GOLANG_PKG_DEPENDENCIES[$i]}" ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
485 EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
486 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
487 # Debug |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
488 debug-print "${FUNCNAME}: DEPENDENCY = ${GOLANG_PKG_DEPENDENCIES[$i]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
489 debug-print "${FUNCNAME}: importpath = ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
490 debug-print "${FUNCNAME}: importpathalias = ${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
491 debug-print "${FUNCNAME}: host = ${DEPENDENCY[host]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
492 debug-print "${FUNCNAME}: author = ${DEPENDENCY[author_name]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
493 debug-print "${FUNCNAME}: project = ${DEPENDENCY[project_name]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
494 debug-print "${FUNCNAME}: revision = ${DEPENDENCY[revision]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
495 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
496 local message="Importing ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
497 local destdir |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
498 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
499 # Prepares GOPATH structure. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
500 case ${DEPENDENCY[importpathalias]} in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
501 gopkg.in*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
502 message+=" as ${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
503 destdir="${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
504 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
505 # Creates the import path in GOPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
506 mkdir -p "${GOPATH}/src/${DEPENDENCY[importpathalias]%/*}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
507 #einfo "\n${GOPATH}/src/${DEPENDENCY[importpathalias]%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
508 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
509 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
510 [[ "${DEPENDENCY[importpath]}" != "${DEPENDENCY[importpathalias]}/${DEPENDENCY[project_name]}" ]] && message+=" as ${DEPENDENCY[importpathalias]}/${DEPENDENCY[project_name]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
511 destdir="${DEPENDENCY[importpathalias]}/${DEPENDENCY[project_name]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
512 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
513 # Creates the import path in GOPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
514 mkdir -p "${GOPATH}/src/${DEPENDENCY[importpathalias]}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
515 #einfo "\n${GOPATH}/src/${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
516 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
517 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
518 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
519 # Moves sources from WORKDIR into GOPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
520 case ${DEPENDENCY[host]} in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
521 github*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
522 ebegin "${message}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
523 mv ${DEPENDENCY[project_name]}-${DEPENDENCY[revision]}* "${GOPATH}"/src/${destdir} || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
524 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
525 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
526 # FIX: sometimes the source code inside an importpath alias |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
527 # (such as gopkg.in/mylib.v1) invokes imports from |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
528 # the original import path instead of using the alias, |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
529 # thus we need a symbolic link between the alias and |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
530 # the original import path to avoid compilation issues. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
531 # Example: gopkg.in/Shopify/sarama.v1 erroneously |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
532 # invokes imports from github.com/shopify/sarama |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
533 if [[ ${destdir} != ${DEPENDENCY[importpath]} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
534 x-mgcf-golang_fix_importpath_alias ${destdir} ${DEPENDENCY[importpath]} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
535 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
536 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
537 bitbucket*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
538 #einfo "path: ${DEPENDENCY[author_name]}-${DEPENDENCY[project_name]}-${DEPENDENCY[revision]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
539 ebegin "${message}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
540 mv ${DEPENDENCY[author_name]}-${DEPENDENCY[project_name]}-${DEPENDENCY[revision]}* "${GOPATH}"/src/${destdir} || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
541 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
542 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
543 code.google*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
544 ebegin "${message}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
545 mv ${DEPENDENCY[project_name]}-${DEPENDENCY[revision]}* "${GOPATH}"/src/${destdir} || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
546 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
547 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
548 *) die "Function 'x-mgcf-golang-common_src_prepare' doesn't support '${DEPENDENCY[importpath]}'" ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
549 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
550 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
551 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
552 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
553 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
554 popd > /dev/null || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
555 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
556 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
557 # Auto-detects the presence of Go's vendored |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
558 # dependencies inside $S/vendor. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
559 local VENDOR="${S}/vendor" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
560 if [[ -d "${VENDOR}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
561 x-mgcf-golang_add_vendor "${VENDOR}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
562 export GO15VENDOREXPERIMENT=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
563 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
564 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
565 # Auto-detects the presence of Go's vendored |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
566 # dependencies inside $S/*/vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
567 if [[ -n ${GOLANG_PKG_BUILDPATH} && ${GOLANG_PKG_BUILDPATH##*/} != "..." ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
568 while read -r -d $' ' path; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
569 # Trims leading slash (if any). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
570 path="${path/\//}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
571 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
572 # Extracts the root path. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
573 path="${path%%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
574 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
575 # Ignores $path when it's empty or a string of white spaces. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
576 [[ -n $path ]] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
577 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
578 local vendor="${S}/${path}/vendor" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
579 if [[ -d "${vendor}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
580 x-mgcf-golang_add_vendor "${vendor}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
581 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
582 done <<< "$( echo ${GOLANG_PKG_BUILDPATH}) " |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
583 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
584 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
585 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
586 # Auto-detects the presence of Godep's workspace |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
587 # (see github.com/tools/godep for more infos). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
588 VENDOR="${S}/Godeps/_workspace" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
589 if [[ -d "${VENDOR}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
590 x-mgcf-golang_add_vendor "${VENDOR}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
591 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
592 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
593 # Evaluates PATCHES array. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
594 default_src_prepare |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
595 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
596 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
597 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
598 # @FUNCTION: x-mgcf-golang-common_src_configure |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
599 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
600 # Configure the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
601 x-mgcf-golang-common_src_configure() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
602 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
603 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
604 [[ ${EGO} ]] || die "No GoLang implementation set (x-mgcf-golang_setup not called?)." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
605 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
606 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
607 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
608 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
609 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
610 # GoLang doesn't have a configure phase, |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
611 # so instead this eclass prints the output of 'go env'. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
612 local -a GOLANG_ENV=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
613 while read -r line; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
614 GOLANG_ENV+=("${line}") |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
615 done <<-EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
616 $( ${GO} env ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
617 EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
618 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
619 # Prints an error when 'go env' output is missing. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
620 if [[ ${#GOLANG_ENV[@]} -eq 1 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
621 eerror "Your GoLang environment should be more verbose" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
622 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
623 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
624 # Prints GoLang environment summary. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
625 einfo " ${EGO} env" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
626 for env in "${GOLANG_ENV[@]}"; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
627 einfo " - ${env}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
628 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
629 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
630 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
631 # Removes GoLang object files from package source directories (pkg/) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
632 # and temporary directories (_obj/ _test*/). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
633 local EGO_SUBPACKAGES="${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
634 case $( ver_cut 1-2 ${GOLANG_VERSION} ) in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
635 1.4*) ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
636 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
637 EGO_SUBPACKAGES+="/..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
638 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
639 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
640 # einfo "${EGO} clean -i ${EGO_VERBOSE} ${EGO_SUBPACKAGES}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
641 # ${EGO} clean -i \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
642 # ${EGO_VERBOSE} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
643 # "${EGO_SUBPACKAGES}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
644 # || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
645 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
646 # Removes GoLang objects files from all the dependencies too. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
647 # if [[ ${#GOLANG_PKG_DEPENDENCIES[@]} -gt 0 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
648 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
649 # for i in ${!GOLANG_PKG_DEPENDENCIES[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
650 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
651 # # Collects all the tokens of the dependency. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
652 # local -A DEPENDENCY=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
653 # while read -r -d $'\n' key value; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
654 # [[ -z ${key} ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
655 # DEPENDENCY[$key]="${value}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
656 # done <<-EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
657 # $( _factorize_dependency_entities "${GOLANG_PKG_DEPENDENCIES[$i]}" ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
658 # EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
659 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
660 # [[ ! -d ${DEPENDENCY[importpath]} ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
661 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
662 # # Debug |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
663 # debug-print "${FUNCNAME}: DEPENDENCY = ${GOLANG_PKG_DEPENDENCIES[$i]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
664 # debug-print "${FUNCNAME}: importpath = ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
665 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
666 # # Cleans object files of the dependency. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
667 # einfo "${EGO} clean -i ${EGO_VERBOSE} ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
668 # ${EGO} clean \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
669 # -i ${EGO_VERBOSE} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
670 # "${DEPENDENCY[importpath]}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
671 # || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
672 # done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
673 # fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
674 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
675 # Before to compile Godep's dependencies it's wise to wipe out |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
676 # all pre-built object files from Godep's package source directories. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
677 if [[ -d "${S}"/Godeps/_workspace/pkg ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
678 ebegin "Cleaning up pre-built object files in Godep workspace" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
679 rm -r "${S}"/Godeps/_workspace/pkg || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
680 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
681 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
682 if [[ -d "${S}"/Godeps/_workspace/bin ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
683 ebegin "Cleaning up executables in Godep workspace" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
684 rm -r "${S}"/Godeps/_workspace/bin || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
685 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
686 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
687 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
688 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
689 # Executes 'go generate'. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
690 # NOTE: generate should never run automatically. It must be run explicitly. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
691 if [[ -n ${GOLANG_PKG_USE_GENERATE} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
692 pushd "${GOPATH}/src/${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}" > /dev/null || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
693 einfo "${EGO} generate ${EGO_VERBOSE} ${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}/..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
694 ${EGO} generate \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
695 ${EGO_VERBOSE} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
696 ./... \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
697 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
698 popd > /dev/null || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
699 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
700 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
701 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
702 # Executes 'statik' when explicitly asked. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
703 if [[ -n ${GOLANG_PKG_STATIK} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
704 ebegin "${ESTATIK} $GOLANG_PKG_STATIK" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
705 ${ESTATIK} $GOLANG_PKG_STATIK || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
706 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
707 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
708 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
709 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
710 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
711 # @FUNCTION: x-mgcf-golang-common_src_compile |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
712 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
713 # Compiles the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
714 x-mgcf-golang-common_src_compile() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
715 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
716 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
717 [[ ${EGO} ]] || die "No GoLang implementation set (x-mgcf-golang_setup not called?)." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
718 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
719 # Populates env variable GOPATH with vendored workspaces (if present). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
720 if [[ -n ${GOLANG_PKG_VENDOR} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
721 einfo "Using vendored dependencies from:" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
722 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
723 for path in "${GOLANG_PKG_VENDOR[@]}"; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
724 [ -d ${path} ] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
725 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
726 if [[ ${path//${S}\//} == "vendor" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
727 einfo "- vendor/ (native vendoring support)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
728 continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
729 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
730 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
731 debug-print "$FUNCNAME: GOPATH: Adding vendor path ${path}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
732 ebegin "- ${path//${S}\//}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
733 GOPATH="${GOPATH}:$( echo ${path} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
734 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
735 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
736 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
737 export GOPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
738 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
739 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
740 # Enables position-independent executables (PIE) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
741 local EGO_PIE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
742 use pie && EGO_PIE="-buildmode=pie" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
743 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
744 # Defines the install suffix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
745 local EGO_INSTALLSUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
746 [[ -z ${GOLANG_PKG_INSTALLSUFFIX} ]] || EGO_INSTALLSUFFIX="-installsuffix=${GOLANG_PKG_INSTALLSUFFIX}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
747 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
748 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
749 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
750 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
751 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
752 # Defines the number of builds that can be run in parallel. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
753 local EGO_PARALLEL="-p $(makeopts_jobs)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
754 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
755 # Defines extra options. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
756 local EGO_EXTRA_OPTIONS="-a" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
757 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
758 # Prepares build flags for the go toolchain. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
759 local EGO_BUILD_FLAGS="$( echo ${EGO_VERBOSE} ) $( echo ${EGO_PARALLEL} ) $( echo ${EGO_EXTRA_OPTIONS} ) $( echo ${EGO_PIE} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
760 [[ -n ${EGO_INSTALLSUFFIX} ]] && EGO_BUILD_FLAGS+=" $( echo ${EGO_INSTALLSUFFIX} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
761 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
762 # Detects the total number of packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
763 local pkgs=0 ifs_save=${IFS} IFS=$' ' |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
764 for path in ${GOLANG_PKG_BUILDPATH[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
765 pkgs=$(( $pkgs + 1 )) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
766 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
767 [[ ${pkgs} -eq 0 ]] && pkgs=1 # there is always at least 1 package |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
768 IFS=${ifs_save} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
769 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
770 # Builds the package |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
771 einfo "Compiling ${pkgs} package(s):" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
772 if [[ -n ${GOLANG_PKG_BUILDPATH} && ${GOLANG_PKG_BUILDPATH##*/} != "..." && ${pkgs} -gt 1 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
773 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
774 # NOTE: This eclass trims all leading and trailing white spaces from the |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
775 # input of the following 'while read' loop, then appends an extra |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
776 # trailing space; this is necessary to avoid undefined behaviours |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
777 # within the loop when GOLANG_PKG_BUILDPATH is populated with only |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
778 # a single element. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
779 while read -r -d $' ' cmd; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
780 # Ignores $cmd when it's empty or a string of white spaces |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
781 #einfo "cmd: |$cmd| cmd: |${cmd##*/}|" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
782 [[ -n $cmd ]] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
783 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
784 x-mgcf-golang_do_build \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
785 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
786 -o "${GOBIN}/${cmd##*/}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
787 "${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${cmd}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
788 done <<< "$( echo ${GOLANG_PKG_BUILDPATH}) " |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
789 else |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
790 # If the package is a multiple package (/...) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
791 # then this eclass doesn't specify the output name. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
792 [[ ${GOLANG_PKG_BUILDPATH##*/} != "..." ]] && EGO_BUILD_FLAGS+=" -o ${GOBIN}/${GOLANG_PKG_OUTPUT_NAME}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
793 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
794 x-mgcf-golang_do_build \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
795 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
796 "${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${GOLANG_PKG_BUILDPATH}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
797 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
798 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
799 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
800 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
801 # @FUNCTION: x-mgcf-golang-common_src_install |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
802 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
803 # Installs binaries and documents from DOCS or HTML_DOCS arrays. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
804 x-mgcf-golang-common_src_install() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
805 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
806 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
807 [[ ${EGO} ]] || die "No GoLang implementation set (x-mgcf-golang_setup not called?)." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
808 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
809 # Enables position-independent executables (PIE) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
810 local EGO_PIE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
811 use pie && EGO_PIE="-buildmode=pie" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
812 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
813 # Defines the install suffix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
814 local EGO_INSTALLSUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
815 [[ -z ${GOLANG_PKG_INSTALLSUFFIX} ]] || EGO_INSTALLSUFFIX="-installsuffix=${GOLANG_PKG_INSTALLSUFFIX}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
816 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
817 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
818 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
819 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
820 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
821 # Defines the number of builds that can be run in parallel. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
822 local EGO_PARALLEL="-p $(makeopts_jobs)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
823 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
824 # Defines extra options. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
825 local EGO_EXTRA_OPTIONS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
826 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
827 # Prepares build flags for the go toolchain. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
828 local EGO_BUILD_FLAGS="$( echo ${EGO_VERBOSE} ) $( echo ${EGO_PARALLEL} ) $( echo ${EGO_EXTRA_OPTIONS} ) $( echo ${EGO_PIE} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
829 [[ -n ${EGO_INSTALLSUFFIX} ]] && EGO_BUILD_FLAGS+=" $( echo ${EGO_INSTALLSUFFIX} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
830 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
831 # Defines sub-packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
832 local EGO_SUBPACKAGES="${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${GOLANG_PKG_BUILDPATH}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
833 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
834 # Executes the pre-install phase (go install). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
835 if [[ -n ${GOLANG_PKG_IS_MULTIPLE} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
836 einfo "${EGO} install -ldflags '$GOLANG_PKG_LDFLAGS' -tags '$GOLANG_PKG_TAGS' ${EGO_BUILD_FLAGS} ${EGO_SUBPACKAGES}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
837 ${EGO} install \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
838 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
839 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
840 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
841 "${EGO_SUBPACKAGES}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
842 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
843 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
844 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
845 # Installs binaries. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
846 into ${GOLANG_PKG_INSTALLPATH} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
847 for bin in "${GOBIN}"/* ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
848 dobin ${bin} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
849 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
850 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
851 # Installs documentation. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
852 einstalldocs |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
853 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
854 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
855 # @FUNCTION: x-mgcf-golang-common_src_test |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
856 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
857 # Runs the unit tests for the main package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
858 x-mgcf-golang-common_src_test() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
859 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
860 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
861 [[ ${EGO} ]] || die "No GoLang implementation set (x-mgcf-golang_setup not called?)." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
862 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
863 # Appends S and GOBIN to exported main paths. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
864 # FIX: this is necessary for unit tests that need to invoke bins from |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
865 # $GOBIN or from within $S/bin. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
866 export PATH="${S}/bin:${GOBIN}:${PATH}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
867 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
868 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
869 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
870 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
871 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
872 # Defines the number of builds that can be run in parallel. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
873 local EGO_PARALLEL="-p $(makeopts_jobs)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
874 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
875 # Defines extra options. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
876 #local EGO_EXTRA_OPTIONS="-a" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
877 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
878 # Enables data race detection. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
879 local EGO_RACE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
880 [[ -n ${GOLANG_PKG_HAVE_TEST_RACE} ]] && EGO_RACE=" -race" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
881 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
882 # Prepares build flags for the go toolchain. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
883 local EGO_BUILD_FLAGS="$( echo ${EGO_VERBOSE} ) $( echo ${EGO_PARALLEL} ) $( echo ${EGO_EXTRA_OPTIONS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
884 [[ -n ${EGO_RACE} ]] && EGO_BUILD_FLAGS+=" $( echo ${EGO_RACE} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
885 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
886 # Sanitizes vars from entra white spaces. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
887 GOLANG_PKG_LDFLAGS="$( echo ${GOLANG_PKG_LDFLAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
888 GOLANG_PKG_TAGS="$( echo ${GOLANG_PKG_TAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
889 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
890 # Defines sub-packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
891 local EGO_SUBPACKAGES="${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${GOLANG_PKG_BUILDPATH}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
892 [[ -z ${GOLANG_PKG_IS_MULTIPLE} ]] || EGO_SUBPACKAGES="./..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
893 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
894 # Detects the total number of packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
895 local pkgs=0 ifs_save=${IFS} IFS=$' ' |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
896 for path in ${GOLANG_PKG_BUILDPATH[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
897 pkgs=$(( $pkgs + 1 )) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
898 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
899 [[ ${pkgs} -eq 0 ]] && pkgs=1 # there is always at least 1 package |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
900 IFS=${ifs_save} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
901 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
902 # Runs the Unit Tests |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
903 einfo "Testing ${pkgs} package(s):" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
904 if [[ -n ${GOLANG_PKG_BUILDPATH} && ${GOLANG_PKG_BUILDPATH##*/} != "..." && ${pkgs} -gt 1 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
905 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
906 # NOTE: This eclass trims all leading and trailing white spaces from the |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
907 # input of the following 'while read' loop, then appends an extra |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
908 # trailing space; this is necessary to avoid undefined behaviours |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
909 # within the loop when GOLANG_PKG_BUILDPATH is populated with only |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
910 # a single element. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
911 while read -r -d $' ' cmd; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
912 # Ignores $cmd when it's empty or a string of white spaces |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
913 #einfo "cmd: |$cmd| cmd: |${cmd##*/}|" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
914 [[ -n $cmd ]] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
915 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
916 einfo "${EGO} test -ldflags '$GOLANG_PKG_LDFLAGS' -tags '$GOLANG_PKG_TAGS' ${EGO_BUILD_FLAGS} ${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${cmd}/..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
917 ${EGO} test \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
918 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
919 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
920 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
921 "${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${cmd}/..." \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
922 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
923 done <<< "$( echo ${GOLANG_PKG_BUILDPATH}) " |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
924 else |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
925 # It's a single package |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
926 einfo "${EGO} test -ldflags '$GOLANG_PKG_LDFLAGS' -tags '$GOLANG_PKG_TAGS' ${EGO_BUILD_FLAGS} ${EGO_SUBPACKAGES}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
927 ${EGO} test \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
928 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
929 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
930 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
931 "${EGO_SUBPACKAGES}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
932 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
933 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
934 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
935 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
936 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
937 # @FUNCTION: x-mgcf-golang_do_build |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
938 # @INTERNAL |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
939 # @USAGE: <flags> <buildpath> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
940 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
941 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
942 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
943 # Example: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
944 # GOLANG_PKG_LDFLAGS="-extldflags=-static" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
945 # GOLANG_PKG_TAGS="netgo" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
946 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
947 # x-mgcf-golang_do_build ${EGO_BUILD_FLAGS} ${GOLANG_PKG_IMPORTPATH}/${GOLANG_PKG_NAME}${GOLANG_PKG_BUILDPATH} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
948 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
949 x-mgcf-golang_do_build() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
950 debug-print-function ${FUNCNAME} $* |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
951 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
952 [[ ${GOLANG_VERSION} ]] || die "No GoLang implementation set (x-mgcf-golang_setup not called?)." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
953 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
954 # Filters "=" chars from ldflags declaration. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
955 # NOTE: from go1.5+ linker syntax is no more compatible with <go1.4; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
956 # this hack ensures that the old behaviour is honoured. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
957 if [[ $( ver_cut 1-2 ${GOLANG_VERSION} ) == "1.4" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
958 GOLANG_PKG_LDFLAGS="${GOLANG_PKG_LDFLAGS//=/ }" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
959 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
960 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
961 # Disables debug symbols (DWARF) when not required. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
962 if ! use debug; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
963 case "${GOLANG_PKG_LDFLAGS}" in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
964 *-s*|*-w*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
965 # Do nothing |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
966 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
967 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
968 GOLANG_PKG_LDFLAGS+=" -s -w" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
969 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
970 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
971 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
972 # Sanitizes vars from entra white spaces. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
973 GOLANG_PKG_LDFLAGS="$( echo ${GOLANG_PKG_LDFLAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
974 GOLANG_PKG_TAGS="$( echo ${GOLANG_PKG_TAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
975 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
976 einfo "${EGO} build -ldflags '$GOLANG_PKG_LDFLAGS' -tags '$GOLANG_PKG_TAGS' $*" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
977 ${EGO} build \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
978 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
979 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
980 $( echo $* ) \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
981 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
982 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
983 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
984 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
985 # @FUNCTION: x-mgcf-golang_add_vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
986 # @INTERNAL |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
987 # @USAGE: <path> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
988 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
989 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
990 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
991 # Example |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
992 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
993 # x-mgcf-golang_add_vendor "${S}"/vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
994 # x-mgcf-golang_add_vendor "${S}"/${PN}/vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
995 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
996 x-mgcf-golang_add_vendor() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
997 debug-print-function ${FUNCNAME} $* |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
998 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
999 [[ ${1} ]] || die "${FUNCNAME}: no paths given" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1000 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1001 [[ ${GOLANG_VERSION} ]] || die "No Golang implementation set (x-mgcf-golang_setup not called?)." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1002 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1003 [[ ! -d "${1}" ]] && return |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1004 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1005 # NOTE: this hack is required by Go v1.4 and older versions. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1006 #if [[ ! -d "${1}"/src ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1007 # ebegin "Fixing $1" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1008 # ln -s "${1}" "${1}"/src || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1009 # eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1010 #fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1011 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1012 GOLANG_PKG_VENDOR+=(${1}) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1013 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1014 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1015 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1016 # @FUNCTION: x-mgcf-golang_fix_importpath_alias |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1017 # @USAGE: <target> <alias> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1018 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1019 # Helper functions for generating a symbolic link for import path <target> as |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1020 # <alias>. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1021 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1022 # WARNING: Use this function only if GOLANG_PKG_DEPENDENCIES declaration of |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1023 # import path aliases doesn't work (e.g.: the package name differs from both the |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1024 # import path and the alias, or if the package name is case sensitive but the |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1025 # import path is not). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1026 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1027 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1028 # Example: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1029 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1030 # src_prepare() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1031 # x-mgcf-golang-single_src_prepare |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1032 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1033 # x-mgcf-golang_fix_importpath_alias \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1034 # "github.com/GoogleCloudPlatform/gcloud-golang" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1035 # "google.golang.org/cloud" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1036 # } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1037 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1038 x-mgcf-golang_fix_importpath_alias() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1039 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1040 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1041 [[ ${1} ]] || die "${FUNCNAME}: no target specified" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1042 [[ ${2} ]] || die "${FUNCNAME}: no alias specified" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1043 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1044 [[ ${EGO} ]] || die "No GoLang implementation set (x-mgcf-golang_setup not called?)." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1045 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1046 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1047 local TARGET="${1}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1048 local ALIAS="${2}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1049 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1050 if [[ ${ALIAS%/*} != ${ALIAS} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1051 mkdir -p "${GOPATH}/src/${ALIAS%/*}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1052 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1053 ebegin "Linking ${TARGET} as ${ALIAS}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1054 ln -s "${GOPATH}/src/${TARGET}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1055 "${GOPATH}/src/${ALIAS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1056 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1057 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1058 } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1059 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1060 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1061 fi |