Gentoo Archives: gentoo-commits

From: William Hubbs <williamh@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/go/
Date: Thu, 10 Sep 2020 15:44:55
Message-Id: 1599752654.aef2a5f701362ab7feaf40130ae8b582b88047b4.williamh@gentoo
1 commit: aef2a5f701362ab7feaf40130ae8b582b88047b4
2 Author: William Hubbs <williamh <AT> gentoo <DOT> org>
3 AuthorDate: Thu Sep 10 15:42:04 2020 +0000
4 Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
5 CommitDate: Thu Sep 10 15:44:14 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aef2a5f7
7
8 dev-lang/go: 1.15.2 bump
9
10 Signed-off-by: William Hubbs <williamh <AT> gentoo.org>
11
12 dev-lang/go/Manifest | 1 +
13 dev-lang/go/go-1.15.2.ebuild | 188 +++++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 189 insertions(+)
15
16 diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
17 index 1fbe4a225c0..57fcb80f772 100644
18 --- a/dev-lang/go/Manifest
19 +++ b/dev-lang/go/Manifest
20 @@ -1,4 +1,5 @@
21 DIST go1.14.7.src.tar.gz 22534747 BLAKE2B ab43abeec9d636dd88eaa10dc210f5d11d487df35238a00548e1f56a86bdf2375e7c180ee6e1cea53591528714fa70333e3336db61eacfdeb5f51b2d5ea86a45 SHA512 3f1133c66d7795ceb6c5793db90616613244d7561abaef6b059602992c0b7a53b6b6ebbcf69add4769a58542e9dc55871bcfe3d64d4cd9f3569bd435ade86dee
22 DIST go1.14.8.src.tar.gz 22535549 BLAKE2B b7630dd95b8252150937f49a164af4c8a1b9f186db9f8ec9f5e2589762a96c5c22aa8fc3a9f697cb2b884844962cea41ea789283e07f3b7b3be3343af1056573 SHA512 c7f2826d9f674591b183f209e8854875273a6ac846f93ae1da841a0c80943d9b8fa04cdad389a339bbdf583913ab71646dff15afa9b4ad8be47e12041fe71c45
23 DIST go1.15.1.src.tar.gz 23009031 BLAKE2B bf944570b77eb7a04f751daaf653a43260d03b1b0d413529beef9ec0879064be67130f65d1a38947b605f6b7deba51f8d832818ac44fb738482203f7c618ebb1 SHA512 08728dd7c64467482b1b17d1bd852ae6ca329062da95e10e91535e096b6ddd32d0e34a5e1f7b736175863c5543b6623406fc89b057273afc3f434ea97b343cfe
24 +DIST go1.15.2.src.tar.gz 23012667 BLAKE2B 776531cb4ff1a4023739b4f37828a098b5ea9df1f6b08940119fb39bb6edf08ae40ba9b513e340bbfbec8075778d31df3825816f6680d88fdb53cde2c235d9b8 SHA512 c8b69556ddbbae4790c923547d90259c2208490ed26e75b6318dcc19893f50788e17207140deed1fe9d1e214b9a8f3769242fb7dfd06ebac37ba2c67f0281a73
25 DIST go1.15.src.tar.gz 23002901 BLAKE2B a04bfb5d8bb6377e92d5d8c96f11d39b9bb878f4f9a3221baa5f42bcc822b562a209fd5d2d2a643f3b72df2db494899b2f7a446f1a9a8e25bf0df56ef87f3b7f SHA512 7d85382bcc6a0625dfa3d07196ab364860846367ed67697a7b1516b0af551a72bc4873882141fc3c7a60d39f2e27b33f6693e8b18b608de76fc9a55b5eac55ea
26
27 diff --git a/dev-lang/go/go-1.15.2.ebuild b/dev-lang/go/go-1.15.2.ebuild
28 new file mode 100644
29 index 00000000000..fa07749bdeb
30 --- /dev/null
31 +++ b/dev-lang/go/go-1.15.2.ebuild
32 @@ -0,0 +1,188 @@
33 +# Copyright 1999-2020 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +export CBUILD=${CBUILD:-${CHOST}}
39 +export CTARGET=${CTARGET:-${CHOST}}
40 +
41 +MY_PV=${PV/_/}
42 +
43 +inherit toolchain-funcs
44 +
45 +case ${PV} in
46 +*9999*)
47 + EGIT_REPO_URI="https://github.com/golang/go.git"
48 + inherit git-r3
49 + ;;
50 +*)
51 + SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
52 + S="${WORKDIR}"/go
53 + case ${PV} in
54 + *_beta*|*_rc*) ;;
55 + *)
56 + KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
57 + ;;
58 + esac
59 +esac
60 +
61 +DESCRIPTION="A concurrent garbage collected and typesafe programming language"
62 +HOMEPAGE="https://golang.org"
63 +
64 +LICENSE="BSD"
65 +SLOT="0/${PV}"
66 +
67 +BDEPEND="|| (
68 + dev-lang/go
69 + dev-lang/go-bootstrap )"
70 +RDEPEND="!<dev-go/go-tools-0_pre20150902"
71 +
72 +# Do not complain about CFLAGS, etc, since Go doesn't use them.
73 +QA_FLAGS_IGNORED='.*'
74 +
75 +# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
76 +QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
77 +
78 +# Do not strip this package. Stripping is unsupported upstream and may
79 +# fail.
80 +RESTRICT+=" strip"
81 +
82 +DOCS=(
83 +AUTHORS
84 +CONTRIBUTING.md
85 +CONTRIBUTORS
86 +PATENTS
87 +README.md
88 +)
89 +
90 +go_arch()
91 +{
92 + # By chance most portage arch names match Go
93 + local portage_arch=$(tc-arch $@)
94 + case "${portage_arch}" in
95 + x86) echo 386;;
96 + x64-*) echo amd64;;
97 + ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
98 + s390) echo s390x ;;
99 + *) echo "${portage_arch}";;
100 + esac
101 +}
102 +
103 +go_arm()
104 +{
105 + case "${1:-${CHOST}}" in
106 + armv5*) echo 5;;
107 + armv6*) echo 6;;
108 + armv7*) echo 7;;
109 + *)
110 + die "unknown GOARM for ${1:-${CHOST}}"
111 + ;;
112 + esac
113 +}
114 +
115 +go_os()
116 +{
117 + case "${1:-${CHOST}}" in
118 + *-linux*) echo linux;;
119 + *-darwin*) echo darwin;;
120 + *-freebsd*) echo freebsd;;
121 + *-netbsd*) echo netbsd;;
122 + *-openbsd*) echo openbsd;;
123 + *-solaris*) echo solaris;;
124 + *-cygwin*|*-interix*|*-winnt*)
125 + echo windows
126 + ;;
127 + *)
128 + die "unknown GOOS for ${1:-${CHOST}}"
129 + ;;
130 + esac
131 +}
132 +
133 +go_tuple()
134 +{
135 + echo "$(go_os $@)_$(go_arch $@)"
136 +}
137 +
138 +go_cross_compile()
139 +{
140 + [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
141 +}
142 +
143 +src_compile()
144 +{
145 + if has_version -b dev-lang/go; then
146 + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
147 + elif has_version -b dev-lang/go-bootstrap; then
148 + export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
149 + else
150 + eerror "Go cannot be built without go or go-bootstrap installed"
151 + die "Should not be here, please report a bug"
152 + fi
153 +
154 + export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
155 + export GOROOT="$(pwd)"
156 + export GOBIN="${GOROOT}/bin"
157 +
158 + # Go's build script does not use BUILD/HOST/TARGET consistently. :(
159 + export GOHOSTARCH=$(go_arch ${CBUILD})
160 + export GOHOSTOS=$(go_os ${CBUILD})
161 + export CC=$(tc-getBUILD_CC)
162 +
163 + export GOARCH=$(go_arch)
164 + export GOOS=$(go_os)
165 + export CC_FOR_TARGET=$(tc-getCC)
166 + export CXX_FOR_TARGET=$(tc-getCXX)
167 + if [[ ${ARCH} == arm ]]; then
168 + export GOARM=$(go_arm)
169 + fi
170 +
171 + cd src
172 + bash -x ./make.bash || die "build failed"
173 +}
174 +
175 +src_test()
176 +{
177 + go_cross_compile && return 0
178 +
179 + cd src
180 + PATH="${GOBIN}:${PATH}" \
181 + ./run.bash -no-rebuild || die "tests failed"
182 + cd ..
183 + rm -fr pkg/*_race || die
184 + rm -fr pkg/obj/go-build || die
185 +}
186 +
187 +src_install()
188 +{
189 + local bin_path f x
190 +
191 + dodir /usr/lib/go
192 +
193 + # There is a known issue which requires the source tree to be installed [1].
194 + # Once this is fixed, we can consider using the doc use flag to control
195 + # installing the doc and src directories.
196 + # [1] https://golang.org/issue/2775
197 + #
198 + # deliberately use cp to retain permissions
199 + cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
200 + # testdata directories are not needed on the installed system
201 + rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
202 + if go_cross_compile; then
203 + bin_path="bin/$(go_tuple)"
204 + else
205 + bin_path=bin
206 + fi
207 + for x in ${bin_path}/*; do
208 + f=${x##*/}
209 + dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
210 + done
211 + einstalldocs
212 +
213 + if [[ ${CHOST} == *-darwin* ]] ; then
214 + # fix install_name for test object (binutils_test) on Darwin, it
215 + # is never used in real circumstances
216 + local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
217 + libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
218 + install_name_tool -id "${libmac64}" "${D}${libmac64}"
219 + fi
220 +}