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-single.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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-single.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: An eclass for GoLang packages not installed inside GOPATH/GOBIN.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
11 # @DESCRIPTION:
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
12 # This eclass allows to install arbitrary packages written in GoLang which
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
13 # don't support being installed inside the Go environment.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
14 # This mostly includes traditional packages (C/C++/GUI) embedding tools written
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
15 # in GoLang, and GoLang packages that need to be compiled with GCC instead of
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
16 # the standard Go interpreter.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
17 #
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
18 # @EXAMPLE:
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
19 # Typical ebuild using golang-single.eclass:
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 # @CODE
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
22 # EAPI=5
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 # GOLANG_PKG_IMPORTPATH="github.com/captObvious"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
25 # GOLANG_PKG_ARCHIVESUFFIX=".zip"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
26 # GOLANG_PKG_HAVE_TEST
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
27 # inherit golang-single qt4-r2
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
28 #
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
29 # DESCRIPTION="Foo bar application"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
30 # HOMEPAGE="http://example.org/foo/"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
31 #
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
32 # LICENSE="MIT"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
33 # KEYWORDS="~amd64 ~x86"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
34 # SLOT="0"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
35 # IUSE="doc qt4"
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 # CDEPEND="
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
38 # qt4? (
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
39 # dev-qt/qtcore:4
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
40 # dev-qt/qtgui:4
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
41 # )"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
42 # RDEPEND="${CDEPEND}
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
43 # !media-gfx/bar"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
44 # DEPEND="${CDEPEND}
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
45 # doc? ( app-doc/doxygen )"
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 # DOCS=(AUTHORS ChangeLog README "Read me.txt" TODO)
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
48 #
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
49 # PATCHES=(
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
50 # "${FILESDIR}/${P}-qt4.patch" # bug 123458
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
51 # "${FILESDIR}/${P}-as-needed.patch"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
52 # )
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
53 #
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
54 # src_install() {
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
55 # use doc && HTML_DOCS=("${BUILD_DIR}/apidocs/html/")
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
56 # autotools-utils_src_install
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
57 # if use examples; then
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
58 # dobin "${BUILD_DIR}"/foo_example{1,2,3} \\
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
59 # || die 'dobin examples failed'
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
60 # fi
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
61 # }
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
62 #
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
63 # @CODE
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
64
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
65 inherit x-mgcf-golang-common
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 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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 # !!! !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
70 # !!! 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
71 # !!! !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
72 # !!! DO NOT USE OUTSIDE OF MEGACOFFEE OVERLAY !!!
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 # !!! DO NOT USE FOR NEW EBUILDS !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
75 # !!! !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
76 # !!! 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
77 # !!! 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
78 # !!! !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
79 # !!! 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
80 # !!! 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
81 # !!! if suitable. !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
82 # !!! !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
83 # !!! 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
84 # !!! 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
85 # !!! rendering megacoffee overlay unreachable as a result. !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
86 # !!! !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
87 # !!! Related bugs: https://bugs.gentoo.org/864653 !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
88 # !!! https://bugs.gentoo.org/903167 !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
89 # !!! !!!
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
90 # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
93
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
94 EXPORT_FUNCTIONS src_prepare src_unpack src_configure src_compile src_install src_test
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
95
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
96 if [[ -z ${_GOLANG_SINGLE_ECLASS} ]]; then
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
97 _GOLANG_SINGLE_ECLASS=1
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
98
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
99
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
100 # This eclass uses GOLANG_PKG_IMPORTPATH to populate SRC_URI.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
101 SRC_URI="${SRC_URI:="https://${GOLANG_PKG_IMPORTPATH}/${GOLANG_PKG_NAME}/archive/${GOLANG_PKG_ARCHIVEPREFIX}${GOLANG_PKG_VERSION}${GOLANG_PKG_ARCHIVESUFFIX} -> ${P}${GOLANG_PKG_ARCHIVESUFFIX}"}"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
102
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
103 # This eclass uses GOLANG_PKG_DEPENDENCIES associative array to populate SRC_URI
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
104 # with the required snapshots of the supplied GoLang dependencies.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
105 if [[ ${#GOLANG_PKG_DEPENDENCIES[@]} -gt 0 ]]; then
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
106
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
107 for i in ${!GOLANG_PKG_DEPENDENCIES[@]} ; do
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
108
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
109 # Collects all the tokens of the dependency.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
110 local -A DEPENDENCY=()
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
111 while read -d $'\n' key value; do
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
112 [[ -z ${key} ]] && continue
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
113 DEPENDENCY[$key]="${value}"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
114 done <<-EOF
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
115 $( _factorize_dependency_entities "${GOLANG_PKG_DEPENDENCIES[$i]}" )
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
116 EOF
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
117
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
118 # Debug
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
119 debug-print "${FUNCNAME}: DEPENDENCY = ${GOLANG_PKG_DEPENDENCIES[$i]}"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
120 debug-print "${FUNCNAME}: importpath = ${DEPENDENCY[importpath]}"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
121 debug-print "${FUNCNAME}: revision = ${DEPENDENCY[revision]}"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
122
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
123 # Downloads the archive.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
124 case ${DEPENDENCY[importpath]} in
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
125 github*)
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
126 SRC_URI+=" https://${DEPENDENCY[importpath]}/archive/${DEPENDENCY[revision]}${GOLANG_PKG_ARCHIVESUFFIX} -> ${DEPENDENCY[importpath]//\//-}-${DEPENDENCY[revision]}${GOLANG_PKG_ARCHIVESUFFIX}"
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 bitbucket*)
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
129 SRC_URI+=" https://${DEPENDENCY[importpath]}/get/${DEPENDENCY[revision]}.zip -> ${DEPENDENCY[importpath]//\//-}-${DEPENDENCY[revision]}.zip"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
130 ;;
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
131 code.google*)
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
132 SRC_URI+=" https://${DEPENDENCY[project_name]}.googlecode.com/archive/${DEPENDENCY[revision]}.tar.gz -> ${DEPENDENCY[importpath]//\//-}-${DEPENDENCY[revision]}.tar.gz"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
133 ;;
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
134 *) die "This eclass doesn't support '${DEPENDENCY[importpath]}'" ;;
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
135 esac
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
136
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
137 done
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
138 fi
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
139
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 # @FUNCTION: x-mgcf-golang-single_src_unpack
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 # Unpack the source archive.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
144 x-mgcf-golang-single_src_unpack() {
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
145 debug-print-function ${FUNCNAME} "${@}"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
146
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
147 default
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
148
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
149 # Creates S.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
150 mkdir -p "${S%/*}" || die
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
151
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
152 # Moves main GoLang package from WORKDIR into GOPATH.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
153 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
154 local alias_abspath="${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
155 mkdir -p "${alias_abspath%/*}" || die
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
156 mv "${GOLANG_PKG_NAME}-${GOLANG_PKG_VERSION}" "${alias_abspath}"/ || die
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
157 else
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
158 mv "${GOLANG_PKG_NAME}-${GOLANG_PKG_VERSION}" "${S}"/ || die
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
159 fi
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
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
162
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
163 # @FUNCTION: x-mgcf-golang-single_src_prepare
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
164 # @DESCRIPTION:
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
165 # Prepare source code.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
166 x-mgcf-golang-single_src_prepare() {
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
167 debug-print-function ${FUNCNAME} "$@"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
168
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
169 # Sets up GoLang build environment.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
170 x-mgcf-golang_setup
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
171
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
172 x-mgcf-golang-common_src_prepare
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
173 }
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
174
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
175 # @FUNCTION: x-mgcf-golang-single_src_configure
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
176 # @DESCRIPTION:
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
177 # Configure the package.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
178 x-mgcf-golang-single_src_configure() {
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
179 debug-print-function ${FUNCNAME} "$@"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
180
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
181 x-mgcf-golang-common_src_configure
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
182 }
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
183
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
184 # @FUNCTION: x-mgcf-golang-single_src_compile
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
185 # @DESCRIPTION:
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
186 # Compiles the package.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
187 x-mgcf-golang-single_src_compile() {
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
188 debug-print-function ${FUNCNAME} "$@"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
189
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
190 x-mgcf-golang-common_src_compile
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
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
193 # @FUNCTION: x-mgcf-golang-single_src_install
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
194 # @DESCRIPTION:
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
195 # 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
196 x-mgcf-golang-single_src_install() {
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
197 debug-print-function ${FUNCNAME} "$@"
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
198
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
199 x-mgcf-golang-common_src_install
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
200 }
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 # @FUNCTION: x-mgcf-golang-single_src_test
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
203 # @DESCRIPTION:
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
204 # Runs the unit tests for the main package.
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
205 x-mgcf-golang-single_src_test() {
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
206 debug-print-function ${FUNCNAME} "$@"
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 x-mgcf-golang-common_src_test
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
0685ed0fb913 [sync] imported 2c6bf87..18f98a6 from upstream
Migration Sync <gentoo-overlay@megacoffee.net>
parents:
diff changeset
211 fi