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 @ 259:32efd9258ce5
[sync] imported 04d1b06..9f7fbcb from upstream
commit 9f7fbcb8451c6c4f26ff0e7989d2ccd92ad27f1c
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Sep 7 23:01:52 2023 +0200
net-misc/asterisk-softmodem: bump to EAPI 8
commit 96dadefa000fde6e61bd2a01c668a9cda4fa30b8
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Sep 7 23:00:56 2023 +0200
app-crypt/acmetool: delete old patch for 0.0.58
commit 349d4168444f2b28345a010ce3ec5952fe51a845
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Sep 7 22:58:09 2023 +0200
app-crypt/acmetool: stitch up old eclass still used to run on EAPI 8
commit 6be702bd1f6723fd4e724de5a1aaa0274d53f1a3
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Sep 7 22:57:29 2023 +0200
app-crypt/acmetool: removed 0.0.58 and 0.2.1 due to EAPI deprecation
commit ae0227d3d8fe72eacbd3b1099cf8514131d553a9
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Sep 7 22:45:39 2023 +0200
app-admin/boinctui-extended: bump to EAPI 8
commit 861f2d6873a4cde9c30138d1f7d7739801596ae7
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Sep 7 22:38:38 2023 +0200
app-admin/boinctui-extended: removed 9999 development ebuild, fork has been terminated
commit cecf3a2a466ce707b2538ba82cfdbf9575474991
Author: Daniel Neugebauer <dneuge@energiequant.de>
Date: Thu Sep 7 22:35:25 2023 +0200
app-admin/boinc-status: bump to EAPI 8
author | Migration Sync <gentoo-overlay@megacoffee.net> |
---|---|
date | Thu, 07 Sep 2023 21:15:02 +0000 |
parents | 0685ed0fb913 |
children | 0ad22bd2bcb5 |
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 |
259
32efd9258ce5
[sync] imported 04d1b06..9f7fbcb from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
249
diff
changeset
|
11 # @SUPPORTED_EAPIS: 8 |
249
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 |
259
32efd9258ce5
[sync] imported 04d1b06..9f7fbcb from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
249
diff
changeset
|
19 inherit desktop edos2unix estack multilib \ |
32efd9258ce5
[sync] imported 04d1b06..9f7fbcb from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
249
diff
changeset
|
20 preserve-libs strip-linguas toolchain-funcs vcs-clean wrapper multiprocessing |
249
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 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
25 # !!! 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
|
26 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
27 # !!! DO NOT USE OUTSIDE OF MEGACOFFEE OVERLAY !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
28 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
29 # !!! DO NOT USE FOR NEW EBUILDS !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
30 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
31 # !!! 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
|
32 # !!! 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
|
33 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
34 # !!! 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
|
35 # !!! 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
|
36 # !!! if suitable. !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
37 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
38 # !!! 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
|
39 # !!! 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
|
40 # !!! rendering megacoffee overlay unreachable as a result. !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
41 # !!! !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
42 # !!! Related bugs: https://bugs.gentoo.org/864653 !!! |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
43 # !!! https://bugs.gentoo.org/903167 !!! |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
49 if [[ -z ${_GOLANG_BASE_ECLASS} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
50 _GOLANG_BASE_ECLASS=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
51 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
52 # Silences repoman warnings. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
53 case "${EAPI:-0}" in |
259
32efd9258ce5
[sync] imported 04d1b06..9f7fbcb from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
249
diff
changeset
|
54 8) |
249
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
55 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
|
56 yes) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
57 GO_DEPEND="dev-lang/go:0=" |
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 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
60 GO_DEPEND="dev-lang/go:*" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
61 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
62 esac |
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 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
65 die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
66 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
67 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
68 DEPEND+=" ${GO_DEPEND}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
69 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
70 RESTRICT+=" mirror strip" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
71 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
72 QA_FLAGS_IGNORED="usr/bin/.* |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
73 usr/sbin/.*" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
74 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
75 # @ECLASS-VARIABLE: GOLANG_PKG_NAME |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
76 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
77 # Sets the GoLang name for the generated package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
78 # GOLANG_PKG_NAME="${PN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
79 GOLANG_PKG_NAME="${GOLANG_PKG_NAME:-${PN}}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
80 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
81 # @ECLASS-VARIABLE: GOLANG_PKG_VERSION |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
82 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
83 # Sets the GoLang version for the generated package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
84 # GOLANG_PKG_VERSION="${PV}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
85 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
|
86 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
87 # @ECLASS-VARIABLE: GOLANG_PKG_IMPORTPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
88 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
89 # 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
|
90 # GOLANG_PKG_IMPORTPATH="github.com/captObvious/" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
91 GOLANG_PKG_IMPORTPATH="${GOLANG_PKG_IMPORTPATH:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
92 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
93 # @ECLASS-VARIABLE: GOLANG_PKG_IMPORTPATH_ALIAS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
94 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
95 # 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
|
96 # GOLANG_PKG_IMPORTPATH_ALIAS="privaterepo.com/captObvious/" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
97 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
|
98 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
99 # @ECLASS-VARIABLE: GOLANG_PKG_ARCHIVEPREFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
100 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
101 # 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
|
102 # 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
|
103 # '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
|
104 # This eclass defaults to an empty prefix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
105 GOLANG_PKG_ARCHIVEPREFIX="${GOLANG_PKG_ARCHIVEPREFIX:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
106 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
107 # @ECLASS-VARIABLE: GOLANG_PKG_ARCHIVESUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
108 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
109 # 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
|
110 # 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
|
111 # '.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
|
112 # This eclass defaults to '.tar.gz'. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
113 GOLANG_PKG_ARCHIVESUFFIX="${GOLANG_PKG_ARCHIVESUFFIX:=".tar.gz"}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
114 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
115 # @ECLASS-VARIABLE: GOLANG_PKG_OUTPUT_NAME |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
116 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
117 # Specifies the output file name of the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
118 # 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
|
119 # This eclass defaults to $PN. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
120 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
|
121 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
122 # @ECLASS-VARIABLE: GOLANG_PKG_BUILDPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
123 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
124 # 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
|
125 # This eclass defaults to an empty value. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
126 # 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
|
127 GOLANG_PKG_BUILDPATH="${GOLANG_PKG_BUILDPATH:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
128 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
129 # @ECLASS-VARIABLE: GOLANG_PKG_INSTALLPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
130 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
131 # 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
|
132 # installed (e.x.: ${GOLANG_PKG_INSTALLPATH}/bin). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
133 # This eclass defaults to "/usr" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
134 GOLANG_PKG_INSTALLPATH="${GOLANG_PKG_INSTALLPATH:="/usr"}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
135 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
136 # @ECLASS-VARIABLE: GOLANG_PKG_INSTALLSUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
137 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
138 # 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
|
139 # This eclass defaults to an empty install suffix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
140 GOLANG_PKG_INSTALLSUFFIX="${GOLANG_PKG_INSTALLSUFFIX:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
141 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
142 # @ECLASS-VARIABLE: GOLANG_PKG_IS_MULTIPLE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
143 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
144 # 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
|
145 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
146 # @ECLASS-VARIABLE: GOLANG_PKG_HAVE_TEST |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
147 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
148 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
149 # Set to enable the execution of automated testing. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
150 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
151 # @ECLASS-VARIABLE: GOLANG_PKG_HAVE_TEST_RACE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
152 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
153 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
154 # 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
|
155 # data race detection. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
156 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
157 # @ECLASS-VARIABLE: GOLANG_PKG_USE_CGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
158 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
159 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
160 # 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
|
161 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
162 # @ECLASS-VARIABLE: GOLANG_PKG_USE_GENERATE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
163 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
164 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
165 # 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
|
166 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
167 # @ECLASS-VARIABLE: GOLANG_PKG_DEPEND_ON_GO_SUBSLOT |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
168 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
169 # 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
|
170 # Possible values: {yes,no} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
171 # This eclass defaults to "no" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
172 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
|
173 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
174 # @ECLASS-VARIABLE: GOLANG_PKG_LDFLAGS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
175 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
176 # 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
|
177 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
178 GOLANG_PKG_LDFLAGS="${GOLANG_PKG_LDFLAGS:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
179 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
180 # @ECLASS-VARIABLE: GOLANG_PKG_TAGS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
181 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
182 # 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
|
183 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
184 GOLANG_PKG_TAGS="${GOLANG_PKG_TAGS:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
185 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
186 # @ECLASS-VARIABLE: GOLANG_PKG_VENDOR |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
187 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
188 # 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
|
189 # 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
|
190 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
191 GOLANG_PKG_VENDOR=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
192 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
193 # @ECLASS-VARIABLE: GOLANG_PKG_STATIK |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
194 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
195 # 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
|
196 # This eclass defaults to an empty list. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
197 GOLANG_PKG_STATIK="${GOLANG_PKG_STATIK:-}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
198 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
199 # @ECLASS-VARIABLE: GOLANG_PKG_USE_MODULES |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
200 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
201 # 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
|
202 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
203 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
204 # @ECLASS-VARIABLE: GO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
205 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
206 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
207 # The absolute path to the current GoLang interpreter. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
208 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
209 # 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
|
210 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
211 # Default value: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
212 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
213 # /usr/bin/go |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
214 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
215 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
216 # @ECLASS-VARIABLE: EGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
217 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
218 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
219 # The executable name of the current GoLang interpreter. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
220 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
221 # 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
|
222 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
223 # Default value: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
224 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
225 # go |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
226 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
227 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
228 # @ECLASS-VARIABLE: PATCHES |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
229 # @DEFAULT_UNSET |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
230 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
231 # 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
|
232 # 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
|
233 # 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
|
234 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
235 # Example: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
236 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
237 # PATCHES=( |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
238 # "${FILESDIR}/mypatch.patch" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
239 # "${FILESDIR}/mypatch2.patch" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
240 # ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
241 # @CODE |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
245 # 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
|
246 #[[ -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
|
247 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
248 # 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
|
249 [[ -n ${GOLANG_PKG_STATIK} ]] && DEPEND+=" dev-go/statik" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
250 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
251 # Validates GOLANG_PKG_IMPORTPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
252 if [[ -z ${GOLANG_PKG_IMPORTPATH} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
253 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
|
254 die "Mandatory variable GOLANG_PKG_IMPORTPATH is unset" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
255 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
256 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
257 # 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
|
258 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
|
259 GOLANG_PKG_BUILDPATH="/..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
260 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
261 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
262 # 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
|
263 # 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
|
264 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
|
265 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
|
266 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
|
267 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
|
268 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
|
269 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
270 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
271 # 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
|
272 # 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
|
273 if [[ ${GOLANG_PKG_ARCHIVESUFFIX/.*} == "xz" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
274 DEPEND+=" app-arch/xz-utils" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
275 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
276 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
277 # Defines common USE flags |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
278 IUSE="${IUSE} debug pie" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
279 # 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
|
280 if [[ -n ${GOLANG_PKG_HAVE_TEST} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
281 IUSE+=" test" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
282 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
283 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
284 # Defines HOMEPAGE. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
285 [ -z "$HOMEPAGE" ] && HOMEPAGE="https://${GOLANG_PKG_IMPORTPATH}/${PN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
286 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
287 # Defines SOURCE directory. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
288 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
|
289 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
290 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
291 # @FUNCTION: _factorize_dependency_entities |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
292 # @INTERNAL |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
293 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
294 # 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
|
295 # 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
|
296 # and the revision tag. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
297 _factorize_dependency_entities() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
298 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
299 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
300 local -A dependency=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
301 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
|
302 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
303 # 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
|
304 local raw_dependency="${1//\ /}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
305 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
306 # 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
|
307 dependency[importpathalias]="${raw_dependency##*->}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
308 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
309 # 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
|
310 raw_dependency="${raw_dependency%%->*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
311 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
312 # Determines the import path. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
313 dependency[importpath]="${raw_dependency%:*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
314 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
315 # 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
|
316 # 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
|
317 if [[ "${raw_dependency}" == "${dependency[importpathalias]}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
318 dependency[importpathalias]="${dependency[importpath]%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
319 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
320 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
321 # Determines the host. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
322 dependency[host]="${dependency[importpath]%%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
323 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
324 # Determines the project name. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
325 dependency[project_name]="${dependency[importpath]##*/}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
326 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
327 # Determines the author name. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
328 dependency[author_name]="${dependency[importpath]#*/}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
329 dependency[author_name]="${dependency[author_name]%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
330 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
331 # Determines the revision. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
332 dependency[revision]="${raw_dependency#*:}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
333 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
334 # 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
|
335 for key in ${key_list[@]}; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
336 echo "${key} ${dependency[${key}]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
337 done |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
341 # @FUNCTION: x-mgcf-golang_setup |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
342 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
343 # 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
|
344 # GoLang build environment. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
345 x-mgcf-golang_setup() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
346 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
347 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
348 # 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
|
349 # 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
|
350 local GOLANG_BINS=( |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
351 /usr/bin/go |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
352 /usr/bin/gofmt |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
355 [[ -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
|
356 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
357 # Reset GoLang environment variables |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
358 unset EGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
359 unset EGOFMT |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
360 unset ESTATIK |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
361 unset GO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
362 unset GOPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
363 unset GOBIN |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
364 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
365 # Determine is the GoLang interpreter is working |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
366 local IS_EXECUTABLE=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
367 for binary in "${GOLANG_BINS[@]}"; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
368 debug-print "${FUNCNAME}: Checking ... ${binary}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
369 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
370 [[ -x "${EPREFIX}/${binary}" ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
371 IS_EXECUTABLE=0 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
372 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
|
373 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
374 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
375 # 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
|
376 # 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
|
377 [[ ${IS_EXECUTABLE} == 0 ]] && exit |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
378 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
379 # dev-lang/go is available and working. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
380 # Exports GO/EGO/EGOFMT global variables. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
381 export GO="${GOLANG_BINS[0]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
382 export EGO="${GOLANG_BINS[0]##*/}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
383 export EGOFMT="${GOLANG_BINS[1]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
384 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
385 # dev-go/statik is available and working. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
386 # Exports ESTATIK global variable. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
387 [[ -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
|
388 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
389 debug-print "${FUNCNAME}: GO = ${GO}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
390 debug-print "${FUNCNAME}: EGO = ${EGO}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
391 debug-print "${FUNCNAME}: EGOFMT = ${EGOFMT}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
392 debug-print "${FUNCNAME}: ESTATIK = ${ESTATIK}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
393 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
394 # Determines go interpreter version. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
395 GOLANG_VERSION="$( ${GO} version )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
396 GOLANG_VERSION="${GOLANG_VERSION/go\ version\ go}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
397 export GOLANG_VERSION="${GOLANG_VERSION%\ *}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
398 einfo "Found GoLang version: ${GOLANG_VERSION}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
399 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
400 # Determines statik interpreter version. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
401 # 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
|
402 if [[ -n ${GOLANG_PKG_STATIK} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
403 local STATIK_VERSION="" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
404 einfo "Found statik version: ${STATIK_VERSION}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
405 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
406 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
407 # Enable/Disable frame pointers |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
408 local GOEXPERIMENT="noframepointer" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
409 use debug && GOEXPERIMENT="framepointer" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
410 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
411 # Sets the build environment inside Portage's WORKDIR. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
412 ebegin "Setting up GoLang build environment" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
413 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
414 # Prepares CGO_ENABLED. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
415 CGO_ENABLED=0 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
416 [[ -z ${GOLANG_PKG_USE_CGO} ]] || CGO_ENABLED=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
417 use pie && CGO_ENABLED=1 # PIE requires CGO |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
418 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
419 # Prepares gopath / gobin directories inside WORKDIR. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
420 local _GOPATH="${WORKDIR}/gopath" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
421 local _GOBIN="${WORKDIR}/gobin" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
422 mkdir -p "${_GOBIN}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
423 mkdir -p "${_GOPATH}"/src || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
424 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
425 # Exports special env variable EGO_SRC. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
426 export EGO_SRC="${_GOPATH}/src" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
427 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
428 # Exports GoLang env variables. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
429 export GOPATH="$_GOPATH" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
430 export GOBIN="$_GOBIN" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
431 export CGO_ENABLED |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
432 #export GOEXPERIMENT |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
433 #export GO15VENDOREXPERIMENT=0 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
434 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
435 GO111MODULE="off" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
436 [[ -z ${GOLANG_PKG_USE_MODULES} ]] || GO111MODULE="on" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
437 export GO111MODULE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
438 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
439 debug-print "${FUNCNAME}: GOPATH = ${GOPATH}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
440 debug-print "${FUNCNAME}: GOBIN = ${GOBIN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
441 debug-print "${FUNCNAME}: EGO_SRC = ${EGO_SRC}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
442 debug-print "${FUNCNAME}: CGO_ENABLED = ${CGO_ENABLED}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
443 eend |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
447 # @FUNCTION: x-mgcf-golang-common_src_prepare |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
448 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
449 # Prepare source code. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
450 x-mgcf-golang-common_src_prepare() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
451 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
452 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
453 pushd "${WORKDIR}" > /dev/null || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
454 einfo "Preparing GoLang build environment in ${GOPATH}/src" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
455 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
456 # 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
|
457 # 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
|
458 # 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
|
459 # as a simbolic link pointing to the alias. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
460 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
|
461 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
462 # 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
|
463 # 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
|
464 local TARGET="${GOLANG_PKG_NAME}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
465 [[ "${PN}" != "${GOLANG_PKG_NAME}" ]] && TARGET="${PN}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
466 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
467 x-mgcf-golang_fix_importpath_alias \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
468 "${GOLANG_PKG_IMPORTPATH_ALIAS}/${TARGET}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
469 "${GOLANG_PKG_IMPORTPATH}/${GOLANG_PKG_NAME}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
470 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
471 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
472 # 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
|
473 # 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
|
474 # was set up automatically during src_unpack) phase. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
475 if [[ ${#GOLANG_PKG_DEPENDENCIES[@]} -gt 0 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
476 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
477 for i in ${!GOLANG_PKG_DEPENDENCIES[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
478 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
479 # Collects all the tokens of the dependency. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
480 local -A DEPENDENCY=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
481 while read -r -d $'\n' key value; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
482 [[ -z ${key} ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
483 DEPENDENCY[$key]="${value}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
484 done <<-EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
485 $( _factorize_dependency_entities "${GOLANG_PKG_DEPENDENCIES[$i]}" ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
486 EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
487 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
488 # Debug |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
489 debug-print "${FUNCNAME}: DEPENDENCY = ${GOLANG_PKG_DEPENDENCIES[$i]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
490 debug-print "${FUNCNAME}: importpath = ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
491 debug-print "${FUNCNAME}: importpathalias = ${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
492 debug-print "${FUNCNAME}: host = ${DEPENDENCY[host]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
493 debug-print "${FUNCNAME}: author = ${DEPENDENCY[author_name]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
494 debug-print "${FUNCNAME}: project = ${DEPENDENCY[project_name]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
495 debug-print "${FUNCNAME}: revision = ${DEPENDENCY[revision]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
496 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
497 local message="Importing ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
498 local destdir |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
499 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
500 # Prepares GOPATH structure. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
501 case ${DEPENDENCY[importpathalias]} in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
502 gopkg.in*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
503 message+=" as ${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
504 destdir="${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
505 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
506 # Creates the import path in GOPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
507 mkdir -p "${GOPATH}/src/${DEPENDENCY[importpathalias]%/*}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
508 #einfo "\n${GOPATH}/src/${DEPENDENCY[importpathalias]%/*}" |
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 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
511 [[ "${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
|
512 destdir="${DEPENDENCY[importpathalias]}/${DEPENDENCY[project_name]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
513 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
514 # Creates the import path in GOPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
515 mkdir -p "${GOPATH}/src/${DEPENDENCY[importpathalias]}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
516 #einfo "\n${GOPATH}/src/${DEPENDENCY[importpathalias]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
517 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
518 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
519 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
520 # Moves sources from WORKDIR into GOPATH. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
521 case ${DEPENDENCY[host]} in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
522 github*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
523 ebegin "${message}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
524 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
|
525 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
526 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
527 # 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
|
528 # (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
|
529 # 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
|
530 # 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
|
531 # the original import path to avoid compilation issues. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
532 # Example: gopkg.in/Shopify/sarama.v1 erroneously |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
533 # invokes imports from github.com/shopify/sarama |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
534 if [[ ${destdir} != ${DEPENDENCY[importpath]} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
535 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
|
536 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
537 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
538 bitbucket*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
539 #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
|
540 ebegin "${message}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
541 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
|
542 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
543 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
544 code.google*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
545 ebegin "${message}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
546 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
|
547 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
548 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
549 *) 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
|
550 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
551 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
552 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
553 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
554 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
555 popd > /dev/null || die |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
558 # Auto-detects the presence of Go's vendored |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
559 # dependencies inside $S/vendor. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
560 local VENDOR="${S}/vendor" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
561 if [[ -d "${VENDOR}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
562 x-mgcf-golang_add_vendor "${VENDOR}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
563 export GO15VENDOREXPERIMENT=1 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
564 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
565 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
566 # Auto-detects the presence of Go's vendored |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
567 # dependencies inside $S/*/vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
568 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
|
569 while read -r -d $' ' path; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
570 # Trims leading slash (if any). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
571 path="${path/\//}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
572 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
573 # Extracts the root path. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
574 path="${path%%/*}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
575 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
576 # 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
|
577 [[ -n $path ]] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
578 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
579 local vendor="${S}/${path}/vendor" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
580 if [[ -d "${vendor}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
581 x-mgcf-golang_add_vendor "${vendor}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
582 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
583 done <<< "$( echo ${GOLANG_PKG_BUILDPATH}) " |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
584 fi |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
587 # Auto-detects the presence of Godep's workspace |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
588 # (see github.com/tools/godep for more infos). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
589 VENDOR="${S}/Godeps/_workspace" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
590 if [[ -d "${VENDOR}" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
591 x-mgcf-golang_add_vendor "${VENDOR}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
592 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
593 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
594 # Evaluates PATCHES array. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
595 default_src_prepare |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
599 # @FUNCTION: x-mgcf-golang-common_src_configure |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
600 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
601 # Configure the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
602 x-mgcf-golang-common_src_configure() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
603 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
604 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
605 [[ ${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
|
606 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
607 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
608 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
609 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
610 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
611 # GoLang doesn't have a configure phase, |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
612 # 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
|
613 local -a GOLANG_ENV=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
614 while read -r line; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
615 GOLANG_ENV+=("${line}") |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
616 done <<-EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
617 $( ${GO} env ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
618 EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
619 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
620 # 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
|
621 if [[ ${#GOLANG_ENV[@]} -eq 1 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
622 eerror "Your GoLang environment should be more verbose" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
623 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
624 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
625 # Prints GoLang environment summary. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
626 einfo " ${EGO} env" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
627 for env in "${GOLANG_ENV[@]}"; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
628 einfo " - ${env}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
629 done |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
632 # 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
|
633 # and temporary directories (_obj/ _test*/). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
634 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
|
635 case $( ver_cut 1-2 ${GOLANG_VERSION} ) in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
636 1.4*) ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
637 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
638 EGO_SUBPACKAGES+="/..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
639 ;; |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
640 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
641 # einfo "${EGO} clean -i ${EGO_VERBOSE} ${EGO_SUBPACKAGES}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
642 # ${EGO} clean -i \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
643 # ${EGO_VERBOSE} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
644 # "${EGO_SUBPACKAGES}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
645 # || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
646 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
647 # 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
|
648 # if [[ ${#GOLANG_PKG_DEPENDENCIES[@]} -gt 0 ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
649 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
650 # for i in ${!GOLANG_PKG_DEPENDENCIES[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
651 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
652 # # Collects all the tokens of the dependency. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
653 # local -A DEPENDENCY=() |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
654 # while read -r -d $'\n' key value; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
655 # [[ -z ${key} ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
656 # DEPENDENCY[$key]="${value}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
657 # done <<-EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
658 # $( _factorize_dependency_entities "${GOLANG_PKG_DEPENDENCIES[$i]}" ) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
659 # EOF |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
660 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
661 # [[ ! -d ${DEPENDENCY[importpath]} ]] && continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
662 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
663 # # Debug |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
664 # debug-print "${FUNCNAME}: DEPENDENCY = ${GOLANG_PKG_DEPENDENCIES[$i]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
665 # debug-print "${FUNCNAME}: importpath = ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
666 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
667 # # Cleans object files of the dependency. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
668 # einfo "${EGO} clean -i ${EGO_VERBOSE} ${DEPENDENCY[importpath]}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
669 # ${EGO} clean \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
670 # -i ${EGO_VERBOSE} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
671 # "${DEPENDENCY[importpath]}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
672 # || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
673 # done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
674 # fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
675 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
676 # 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
|
677 # 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
|
678 if [[ -d "${S}"/Godeps/_workspace/pkg ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
679 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
|
680 rm -r "${S}"/Godeps/_workspace/pkg || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
681 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
682 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
683 if [[ -d "${S}"/Godeps/_workspace/bin ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
684 ebegin "Cleaning up executables in Godep workspace" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
685 rm -r "${S}"/Godeps/_workspace/bin || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
686 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
687 fi |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
690 # Executes 'go generate'. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
691 # 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
|
692 if [[ -n ${GOLANG_PKG_USE_GENERATE} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
693 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
|
694 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
|
695 ${EGO} generate \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
696 ${EGO_VERBOSE} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
697 ./... \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
698 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
699 popd > /dev/null || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
700 fi |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
703 # Executes 'statik' when explicitly asked. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
704 if [[ -n ${GOLANG_PKG_STATIK} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
705 ebegin "${ESTATIK} $GOLANG_PKG_STATIK" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
706 ${ESTATIK} $GOLANG_PKG_STATIK || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
707 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
708 fi |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
712 # @FUNCTION: x-mgcf-golang-common_src_compile |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
713 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
714 # Compiles the package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
715 x-mgcf-golang-common_src_compile() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
716 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
717 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
718 [[ ${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
|
719 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
720 # 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
|
721 if [[ -n ${GOLANG_PKG_VENDOR} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
722 einfo "Using vendored dependencies from:" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
723 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
724 for path in "${GOLANG_PKG_VENDOR[@]}"; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
725 [ -d ${path} ] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
726 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
727 if [[ ${path//${S}\//} == "vendor" ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
728 einfo "- vendor/ (native vendoring support)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
729 continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
730 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
731 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
732 debug-print "$FUNCNAME: GOPATH: Adding vendor path ${path}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
733 ebegin "- ${path//${S}\//}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
734 GOPATH="${GOPATH}:$( echo ${path} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
735 eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
736 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
737 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
738 export GOPATH |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
739 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
740 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
741 # Enables position-independent executables (PIE) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
742 local EGO_PIE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
743 use pie && EGO_PIE="-buildmode=pie" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
744 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
745 # Defines the install suffix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
746 local EGO_INSTALLSUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
747 [[ -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
|
748 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
749 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
750 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
751 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
752 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
753 # 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
|
754 local EGO_PARALLEL="-p $(makeopts_jobs)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
755 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
756 # Defines extra options. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
757 local EGO_EXTRA_OPTIONS="-a" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
758 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
759 # Prepares build flags for the go toolchain. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
760 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
|
761 [[ -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
|
762 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
763 # Detects the total number of packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
764 local pkgs=0 ifs_save=${IFS} IFS=$' ' |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
765 for path in ${GOLANG_PKG_BUILDPATH[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
766 pkgs=$(( $pkgs + 1 )) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
767 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
768 [[ ${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
|
769 IFS=${ifs_save} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
770 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
771 # Builds the package |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
772 einfo "Compiling ${pkgs} package(s):" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
773 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
|
774 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
775 # 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
|
776 # 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
|
777 # 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
|
778 # 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
|
779 # a single element. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
780 while read -r -d $' ' cmd; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
781 # 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
|
782 #einfo "cmd: |$cmd| cmd: |${cmd##*/}|" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
783 [[ -n $cmd ]] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
784 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
785 x-mgcf-golang_do_build \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
786 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
787 -o "${GOBIN}/${cmd##*/}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
788 "${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${cmd}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
789 done <<< "$( echo ${GOLANG_PKG_BUILDPATH}) " |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
790 else |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
791 # If the package is a multiple package (/...) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
792 # 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
|
793 [[ ${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
|
794 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
795 x-mgcf-golang_do_build \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
796 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
797 "${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
|
798 fi |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
802 # @FUNCTION: x-mgcf-golang-common_src_install |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
803 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
804 # 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
|
805 x-mgcf-golang-common_src_install() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
806 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
807 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
808 [[ ${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
|
809 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
810 # Enables position-independent executables (PIE) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
811 local EGO_PIE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
812 use pie && EGO_PIE="-buildmode=pie" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
813 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
814 # Defines the install suffix. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
815 local EGO_INSTALLSUFFIX |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
816 [[ -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
|
817 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
818 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
819 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
820 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
821 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
822 # 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
|
823 local EGO_PARALLEL="-p $(makeopts_jobs)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
824 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
825 # Defines extra options. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
826 local EGO_EXTRA_OPTIONS |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
827 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
828 # Prepares build flags for the go toolchain. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
829 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
|
830 [[ -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
|
831 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
832 # Defines sub-packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
833 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
|
834 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
835 # Executes the pre-install phase (go install). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
836 if [[ -n ${GOLANG_PKG_IS_MULTIPLE} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
837 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
|
838 ${EGO} install \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
839 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
840 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
841 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
842 "${EGO_SUBPACKAGES}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
843 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
844 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
845 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
846 # Installs binaries. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
847 into ${GOLANG_PKG_INSTALLPATH} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
848 for bin in "${GOBIN}"/* ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
849 dobin ${bin} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
850 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
851 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
852 # Installs documentation. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
853 einstalldocs |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
856 # @FUNCTION: x-mgcf-golang-common_src_test |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
857 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
858 # Runs the unit tests for the main package. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
859 x-mgcf-golang-common_src_test() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
860 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
861 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
862 [[ ${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
|
863 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
864 # Appends S and GOBIN to exported main paths. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
865 # 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
|
866 # $GOBIN or from within $S/bin. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
867 export PATH="${S}/bin:${GOBIN}:${PATH}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
868 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
869 # Defines the level of verbosity. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
870 local EGO_VERBOSE="-v" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
871 [[ -z ${PORTAGE_VERBOSE} ]] || EGO_VERBOSE+=" -x" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
872 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
873 # 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
|
874 local EGO_PARALLEL="-p $(makeopts_jobs)" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
875 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
876 # Defines extra options. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
877 #local EGO_EXTRA_OPTIONS="-a" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
878 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
879 # Enables data race detection. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
880 local EGO_RACE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
881 [[ -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
|
882 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
883 # Prepares build flags for the go toolchain. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
884 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
|
885 [[ -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
|
886 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
887 # Sanitizes vars from entra white spaces. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
888 GOLANG_PKG_LDFLAGS="$( echo ${GOLANG_PKG_LDFLAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
889 GOLANG_PKG_TAGS="$( echo ${GOLANG_PKG_TAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
890 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
891 # Defines sub-packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
892 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
|
893 [[ -z ${GOLANG_PKG_IS_MULTIPLE} ]] || EGO_SUBPACKAGES="./..." |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
894 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
895 # Detects the total number of packages. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
896 local pkgs=0 ifs_save=${IFS} IFS=$' ' |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
897 for path in ${GOLANG_PKG_BUILDPATH[@]} ; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
898 pkgs=$(( $pkgs + 1 )) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
899 done |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
900 [[ ${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
|
901 IFS=${ifs_save} |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
902 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
903 # Runs the Unit Tests |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
904 einfo "Testing ${pkgs} package(s):" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
905 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
|
906 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
907 # 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
|
908 # 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
|
909 # 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
|
910 # 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
|
911 # a single element. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
912 while read -r -d $' ' cmd; do |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
913 # 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
|
914 #einfo "cmd: |$cmd| cmd: |${cmd##*/}|" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
915 [[ -n $cmd ]] || continue |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
916 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
917 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
|
918 ${EGO} test \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
919 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
920 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
921 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
922 "${GOLANG_PKG_IMPORTPATH_ALIAS}/${GOLANG_PKG_NAME}${cmd}/..." \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
923 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
924 done <<< "$( echo ${GOLANG_PKG_BUILDPATH}) " |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
925 else |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
926 # It's a single package |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
927 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
|
928 ${EGO} test \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
929 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
930 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
931 ${EGO_BUILD_FLAGS} \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
932 "${EGO_SUBPACKAGES}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
933 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
934 fi |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
938 # @FUNCTION: x-mgcf-golang_do_build |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
939 # @INTERNAL |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
940 # @USAGE: <flags> <buildpath> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
941 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
942 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
943 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
944 # Example: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
945 # GOLANG_PKG_LDFLAGS="-extldflags=-static" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
946 # GOLANG_PKG_TAGS="netgo" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
947 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
948 # 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
|
949 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
950 x-mgcf-golang_do_build() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
951 debug-print-function ${FUNCNAME} $* |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
952 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
953 [[ ${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
|
954 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
955 # Filters "=" chars from ldflags declaration. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
956 # 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
|
957 # 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
|
958 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
|
959 GOLANG_PKG_LDFLAGS="${GOLANG_PKG_LDFLAGS//=/ }" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
960 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
961 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
962 # Disables debug symbols (DWARF) when not required. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
963 if ! use debug; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
964 case "${GOLANG_PKG_LDFLAGS}" in |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
965 *-s*|*-w*) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
966 # Do nothing |
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 *) |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
969 GOLANG_PKG_LDFLAGS+=" -s -w" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
970 esac |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
971 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
972 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
973 # Sanitizes vars from entra white spaces. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
974 GOLANG_PKG_LDFLAGS="$( echo ${GOLANG_PKG_LDFLAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
975 GOLANG_PKG_TAGS="$( echo ${GOLANG_PKG_TAGS} )" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
976 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
977 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
|
978 ${EGO} build \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
979 -ldflags "${GOLANG_PKG_LDFLAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
980 -tags "${GOLANG_PKG_TAGS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
981 $( echo $* ) \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
982 || die |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
986 # @FUNCTION: x-mgcf-golang_add_vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
987 # @INTERNAL |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
988 # @USAGE: <path> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
989 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
990 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
991 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
992 # Example |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
993 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
994 # x-mgcf-golang_add_vendor "${S}"/vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
995 # x-mgcf-golang_add_vendor "${S}"/${PN}/vendor |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
996 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
997 x-mgcf-golang_add_vendor() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
998 debug-print-function ${FUNCNAME} $* |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
999 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1000 [[ ${1} ]] || die "${FUNCNAME}: no paths given" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1001 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1002 [[ ${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
|
1003 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1004 [[ ! -d "${1}" ]] && return |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1005 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1006 # 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
|
1007 #if [[ ! -d "${1}"/src ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1008 # ebegin "Fixing $1" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1009 # ln -s "${1}" "${1}"/src || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1010 # eend |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1011 #fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1012 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1013 GOLANG_PKG_VENDOR+=(${1}) |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1017 # @FUNCTION: x-mgcf-golang_fix_importpath_alias |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1018 # @USAGE: <target> <alias> |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1019 # @DESCRIPTION: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1020 # 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
|
1021 # <alias>. |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1022 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1023 # 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
|
1024 # 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
|
1025 # 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
|
1026 # import path is not). |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1027 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1028 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1029 # Example: |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1030 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1031 # src_prepare() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1032 # x-mgcf-golang-single_src_prepare |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1033 # |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1034 # x-mgcf-golang_fix_importpath_alias \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1035 # "github.com/GoogleCloudPlatform/gcloud-golang" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1036 # "google.golang.org/cloud" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1037 # } |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1038 # @CODE |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1039 x-mgcf-golang_fix_importpath_alias() { |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1040 debug-print-function ${FUNCNAME} "${@}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1041 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1042 [[ ${1} ]] || die "${FUNCNAME}: no target specified" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1043 [[ ${2} ]] || die "${FUNCNAME}: no alias specified" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1044 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1045 [[ ${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
|
1046 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1047 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1048 local TARGET="${1}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1049 local ALIAS="${2}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1050 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1051 if [[ ${ALIAS%/*} != ${ALIAS} ]]; then |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1052 mkdir -p "${GOPATH}/src/${ALIAS%/*}" || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1053 fi |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1054 ebegin "Linking ${TARGET} as ${ALIAS}" |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1055 ln -s "${GOPATH}/src/${TARGET}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1056 "${GOPATH}/src/${ALIAS}" \ |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1057 || die |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1058 eend |
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 |
0685ed0fb913
[sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff
changeset
|
1062 fi |