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