1 |
commit: 70696bd4d0d3e435bbfc0ced542355f2d25951b2 |
2 |
Author: William Hubbs <williamh <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Apr 17 21:57:15 2017 +0000 |
4 |
Commit: William Hubbs <williamh <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Apr 17 22:04:47 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70696bd4 |
7 |
|
8 |
dev-lang/go: remove unstable versions |
9 |
|
10 |
Package-Manager: Portage-2.3.3, Repoman-2.3.1 |
11 |
|
12 |
dev-lang/go/Manifest | 1 - |
13 |
dev-lang/go/go-1.7.4.ebuild | 221 ------------------------------------------ |
14 |
dev-lang/go/go-1.8.ebuild | 227 -------------------------------------------- |
15 |
3 files changed, 449 deletions(-) |
16 |
|
17 |
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest |
18 |
index e48f3fd01c9..c04d3006682 100644 |
19 |
--- a/dev-lang/go/Manifest |
20 |
+++ b/dev-lang/go/Manifest |
21 |
@@ -20,7 +20,6 @@ DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 SHA256 70bb859e80268b3421587d8518 |
22 |
DIST go-linux-s390x-bootstrap.tbz 49809007 SHA256 80a87bc5ac2239c99f8d7425fbc6f4fefba63f549b0835505c25378c08114656 SHA512 1b7500e6c42508b6cb07214620070065262349d2cd3698deeac0638d0bf0bfeb89c59c2d72a284af34f3071b4cfb9ce543c5fdec7add4a46adc9580295909439 WHIRLPOOL d3782cb515ab67720105224e02d96ab1ca86518db661719b2d0f7c48aa1f4f896a7cc5fed5b6ddc032c8206e8a10c6262646be0e59def61723936044d6ceb143 |
23 |
DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 SHA256 83053f333d56d72ddbe9a8f293f8afeff31739806d49ebaa144811a5438b17bc SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d WHIRLPOOL 2d58085d88fa612a7dfb087df33d2c5ee6b6d4c0b0c0363d5dcef014a6e3e9703816e8a111d1348e1e1a4ebcdde58694a869a27ae42e0deec154529f1a794991 |
24 |
DIST go-solaris-amd64-bootstrap.tbz 48367195 SHA256 92ebdbf001f243a78a6c2d8ee30e929ba2cecbedf8e0fc07e129b04b107453ad SHA512 cf8725db0d001d61badee71624799a3c9e75f61f77ab090c1f6c490d694c4be367019b28d88306045d877ab5a324a1f9b0674293caf3acb19c193fc3746a48f2 WHIRLPOOL 672c6642e340b6d4f38b633f67fdc3202e3725022a8a61e2129276fccd6c42ddc24ed06c1d57eb31a25ea8056b79686619cbb36431b9c23b6d4be5bcb715bd89 |
25 |
-DIST go1.7.4.src.tar.gz 14198817 SHA256 4c189111e9ba651a2bb3ee868aa881fab36b2f2da3409e80885ca758a6b614cc SHA512 dc9950c3ea7100e536ad58fd93505d584276b7c50d4b8fe2ba7f20fd043dcf0d315b735c48945302055e91517594cc2b0061ccec9478a8ab48f1f2836c20afb3 WHIRLPOOL 054f496555dd30e0ba6a3c449b915ea048d5f85f1cf6d2ef6e8aa84939b6e9674b30cfccee99d050c5d75d028cf43d83bf0267703ffb02dfc5bc780fd0a1706f |
26 |
DIST go1.7.5.src.tar.gz 14204325 SHA256 4e834513a2079f8cbbd357502cccaac9507fd00a1efe672375798858ff291815 SHA512 2dda0780a8b24d71fec4ddeb6858c58a42845f51d9afc171d924a7b763101878cc7f29ae1dd35f129b4ee45b84d45211093a1d20639745fed36b49fb7fe1ba07 WHIRLPOOL b28ab10558d9f8fba87d5db2c839a84eab0b61244d75f4b3d42b443365ca8a1ae1c60c2e1073ef2b4a854d957c26111fcc286b7caae4be892e6cba0e4b24e21d |
27 |
DIST go1.8.1.src.tar.gz 15331455 SHA256 33daf4c03f86120fdfdc66bddf6bfff4661c7ca11c5da473e537f4d69b470e57 SHA512 f01fe7b35ac23101610f6fc169b88dafe2edc49b3b044d5d0aff771b05dcb2c8d2e7a5090ed6dbe67f861e78e792ace32e209ed464399ca02dcd186b13ec8037 WHIRLPOOL c358ca23740183afac4ecf83a6b7daeeef3e6481f29cb5f98b911cb1d661921db2e16ac2528f0ec59633920f1484e7fa777275e46313e20cc8b32baed9054d24 |
28 |
DIST go1.8.src.tar.gz 15320083 SHA256 406865f587b44be7092f206d73fc1de252600b79b3cacc587b74b5ef5c623596 SHA512 9742dd8ec0364793e44a55207238c7339236a4da3a6e7cbb3b4eca45e957c7c0cb725e7d7430b9a04630285468d32dac686facfc57f3f58885b80bbb3d333ada WHIRLPOOL 62d7b1729d3a192142b7b1af20c797736ae631bb87e7c82487601e669d69547212669c216e66d0d64ad83884d348ed3dacf2f9fd9d923f85c673adadd0ff4aae |
29 |
|
30 |
diff --git a/dev-lang/go/go-1.7.4.ebuild b/dev-lang/go/go-1.7.4.ebuild |
31 |
deleted file mode 100644 |
32 |
index dab3574573c..00000000000 |
33 |
--- a/dev-lang/go/go-1.7.4.ebuild |
34 |
+++ /dev/null |
35 |
@@ -1,221 +0,0 @@ |
36 |
-# Copyright 1999-2017 Gentoo Foundation |
37 |
-# Distributed under the terms of the GNU General Public License v2 |
38 |
- |
39 |
-EAPI=6 |
40 |
- |
41 |
-export CBUILD=${CBUILD:-${CHOST}} |
42 |
-export CTARGET=${CTARGET:-${CHOST}} |
43 |
- |
44 |
-MY_PV=${PV/_/} |
45 |
- |
46 |
-inherit toolchain-funcs |
47 |
- |
48 |
-BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" |
49 |
-SRC_URI="!gccgo? ( |
50 |
-kernel_Darwin? ( |
51 |
- x64-macos? ( ${BOOTSTRAP_DIST}/go-darwin-amd64-bootstrap.tbz ) |
52 |
-) |
53 |
-kernel_FreeBSD? ( |
54 |
-amd64-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-amd64-bootstrap.tbz ) |
55 |
-x86-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-386-bootstrap-1.tbz ) |
56 |
-) |
57 |
-kernel_linux? ( |
58 |
- amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-bootstrap.tbz ) |
59 |
- arm? ( ${BOOTSTRAP_DIST}/go-linux-arm-bootstrap.tbz ) |
60 |
- arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-bootstrap.tbz ) |
61 |
- ppc64? ( |
62 |
- ${BOOTSTRAP_DIST}/go-linux-ppc64-bootstrap.tbz |
63 |
- ${BOOTSTRAP_DIST}/go-linux-ppc64le-bootstrap.tbz |
64 |
- ) |
65 |
- s390? ( ${BOOTSTRAP_DIST}/go-linux-s390x-bootstrap.tbz ) |
66 |
- x86? ( ${BOOTSTRAP_DIST}/go-linux-386-bootstrap-1.tbz ) |
67 |
-) |
68 |
-kernel_SunOS? ( |
69 |
- x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-bootstrap.tbz ) |
70 |
-) |
71 |
-) |
72 |
-" |
73 |
- |
74 |
-if [[ ${PV} = 9999 ]]; then |
75 |
- EGIT_REPO_URI="git://github.com/golang/go.git" |
76 |
- inherit git-r3 |
77 |
-else |
78 |
- SRC_URI+="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz" |
79 |
- case ${PV} in |
80 |
- *9999*|*_rc*) ;; |
81 |
- *) |
82 |
- KEYWORDS="-* amd64 arm ~arm64 ~ppc64 x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x64-solaris" |
83 |
- ;; |
84 |
- esac |
85 |
-fi |
86 |
- |
87 |
-DESCRIPTION="A concurrent garbage collected and typesafe programming language" |
88 |
-HOMEPAGE="http://www.golang.org" |
89 |
- |
90 |
-LICENSE="BSD" |
91 |
-SLOT="0/${PV}" |
92 |
-IUSE="gccgo" |
93 |
- |
94 |
-DEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" |
95 |
-RDEPEND="!<dev-go/go-tools-0_pre20150902" |
96 |
- |
97 |
-# These test data objects have writable/executable stacks. |
98 |
-QA_EXECSTACK="usr/lib/go/src/debug/elf/testdata/*.obj" |
99 |
- |
100 |
-# Do not complain about CFLAGS, etc, since Go doesn't use them. |
101 |
-QA_FLAGS_IGNORED='.*' |
102 |
- |
103 |
-REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" |
104 |
- |
105 |
-# The tools in /usr/lib/go should not cause the multilib-strict check to fail. |
106 |
-QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" |
107 |
- |
108 |
-# The go language uses *.a files which are _NOT_ libraries and should not be |
109 |
-# stripped. The test data objects should also be left alone and unstripped. |
110 |
-STRIP_MASK="/usr/lib/go/pkg/*.a |
111 |
- /usr/lib/go/src/debug/elf/testdata/* |
112 |
- /usr/lib/go/src/debug/dwarf/testdata/* |
113 |
- /usr/lib/go/src/runtime/race/*.syso" |
114 |
- |
115 |
-if [[ ${PV} != 9999 ]]; then |
116 |
- S="${WORKDIR}"/go |
117 |
-fi |
118 |
- |
119 |
-go_arch() |
120 |
-{ |
121 |
- # By chance most portage arch names match Go |
122 |
- local portage_arch=$(tc-arch $@) |
123 |
- case "${portage_arch}" in |
124 |
- x86) echo 386;; |
125 |
- x64-*) echo amd64;; |
126 |
- ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; |
127 |
- s390) echo s390x ;; |
128 |
- *) echo "${portage_arch}";; |
129 |
- esac |
130 |
-} |
131 |
- |
132 |
-go_arm() |
133 |
-{ |
134 |
- case "${1:-${CHOST}}" in |
135 |
- armv5*) echo 5;; |
136 |
- armv6*) echo 6;; |
137 |
- armv7*) echo 7;; |
138 |
- *) |
139 |
- die "unknown GOARM for ${1:-${CHOST}}" |
140 |
- ;; |
141 |
- esac |
142 |
-} |
143 |
- |
144 |
-go_os() |
145 |
-{ |
146 |
- case "${1:-${CHOST}}" in |
147 |
- *-linux*) echo linux;; |
148 |
- *-darwin*) echo darwin;; |
149 |
- *-freebsd*) echo freebsd;; |
150 |
- *-netbsd*) echo netbsd;; |
151 |
- *-openbsd*) echo openbsd;; |
152 |
- *-solaris*) echo solaris;; |
153 |
- *-cygwin*|*-interix*|*-winnt*) |
154 |
- echo windows |
155 |
- ;; |
156 |
- *) |
157 |
- die "unknown GOOS for ${1:-${CHOST}}" |
158 |
- ;; |
159 |
- esac |
160 |
-} |
161 |
- |
162 |
-go_tuple() |
163 |
-{ |
164 |
- echo "$(go_os $@)_$(go_arch $@)" |
165 |
-} |
166 |
- |
167 |
-go_cross_compile() |
168 |
-{ |
169 |
- [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] |
170 |
-} |
171 |
- |
172 |
-pkg_pretend() |
173 |
-{ |
174 |
- # make.bash does not understand cross-compiling a cross-compiler |
175 |
- if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then |
176 |
- die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" |
177 |
- fi |
178 |
-} |
179 |
- |
180 |
-src_unpack() |
181 |
-{ |
182 |
- if [[ ${PV} = 9999 ]]; then |
183 |
- git-r3_src_unpack |
184 |
- fi |
185 |
- default |
186 |
-} |
187 |
- |
188 |
-src_compile() |
189 |
-{ |
190 |
- export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os)-$(go_arch)-bootstrap |
191 |
- if use gccgo; then |
192 |
- mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die |
193 |
- local go_binary=$(gcc-config --get-bin-path)/go-5 |
194 |
- [[ -x ${go_binary} ]] || go_binary=$( |
195 |
- find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-5 | sort -V | tail -n1) |
196 |
- [[ -x ${go_binary} ]] || die "go-5: command not found" |
197 |
- ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die |
198 |
- fi |
199 |
- export GOROOT_FINAL="${EPREFIX}"/usr/lib/go |
200 |
- export GOROOT="$(pwd)" |
201 |
- export GOBIN="${GOROOT}/bin" |
202 |
- |
203 |
- # Go's build script does not use BUILD/HOST/TARGET consistently. :( |
204 |
- export GOHOSTARCH=$(go_arch ${CBUILD}) |
205 |
- export GOHOSTOS=$(go_os ${CBUILD}) |
206 |
- export CC=$(tc-getBUILD_CC) |
207 |
- |
208 |
- export GOARCH=$(go_arch) |
209 |
- export GOOS=$(go_os) |
210 |
- export CC_FOR_TARGET=$(tc-getCC) |
211 |
- export CXX_FOR_TARGET=$(tc-getCXX) |
212 |
- if [[ ${ARCH} == arm ]]; then |
213 |
- export GOARM=$(go_arm) |
214 |
- fi |
215 |
- elog "GOROOT_BOOTSTRAP is ${GOROOT_BOOTSTRAP}" |
216 |
- |
217 |
- cd src |
218 |
- ./make.bash || die "build failed" |
219 |
-} |
220 |
- |
221 |
-src_test() |
222 |
-{ |
223 |
- go_cross_compile && return 0 |
224 |
- |
225 |
- cd src |
226 |
- PATH="${GOBIN}:${PATH}" \ |
227 |
- ./run.bash -no-rebuild || die "tests failed" |
228 |
-} |
229 |
- |
230 |
-src_install() |
231 |
-{ |
232 |
- local bin_path f x |
233 |
- |
234 |
- dodir /usr/lib/go |
235 |
- insinto /usr/lib/go |
236 |
- |
237 |
- # There is a known issue which requires the source tree to be installed [1]. |
238 |
- # Once this is fixed, we can consider using the doc use flag to control |
239 |
- # installing the doc and src directories. |
240 |
- # [1] https://golang.org/issue/2775 |
241 |
- doins -r bin doc lib pkg src |
242 |
- fperms -R +x /usr/lib/go/bin /usr/lib/go/pkg/tool |
243 |
- |
244 |
- cp -a misc "${D}"/usr/lib/go/misc |
245 |
- |
246 |
- if go_cross_compile; then |
247 |
- bin_path="bin/$(go_tuple)" |
248 |
- else |
249 |
- bin_path=bin |
250 |
- fi |
251 |
- for x in ${bin_path}/*; do |
252 |
- f=${x##*/} |
253 |
- dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} |
254 |
- done |
255 |
- dodoc AUTHORS CONTRIBUTORS PATENTS README.md |
256 |
-} |
257 |
|
258 |
diff --git a/dev-lang/go/go-1.8.ebuild b/dev-lang/go/go-1.8.ebuild |
259 |
deleted file mode 100644 |
260 |
index 1137d737fef..00000000000 |
261 |
--- a/dev-lang/go/go-1.8.ebuild |
262 |
+++ /dev/null |
263 |
@@ -1,227 +0,0 @@ |
264 |
-# Copyright 1999-2017 Gentoo Foundation |
265 |
-# Distributed under the terms of the GNU General Public License v2 |
266 |
- |
267 |
-EAPI=6 |
268 |
- |
269 |
-export CBUILD=${CBUILD:-${CHOST}} |
270 |
-export CTARGET=${CTARGET:-${CHOST}} |
271 |
- |
272 |
-MY_PV=${PV/_/} |
273 |
- |
274 |
-inherit toolchain-funcs |
275 |
- |
276 |
-BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" |
277 |
-BOOTSTRAP_VERSION="bootstrap-1.8" |
278 |
-BOOTSTRAP_URI=" |
279 |
-amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz ) |
280 |
-arm? ( ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz ) |
281 |
-arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz ) |
282 |
-ppc64? ( |
283 |
- ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz |
284 |
- ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz |
285 |
-) |
286 |
-s390? ( ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz ) |
287 |
-x86? ( ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz ) |
288 |
-amd64-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz ) |
289 |
-x86-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz ) |
290 |
-x64-macos? ( ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz ) |
291 |
-x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz ) |
292 |
-" |
293 |
- |
294 |
-case ${PV} in |
295 |
-*9999*) |
296 |
- EGIT_REPO_URI="git://github.com/golang/go.git" |
297 |
- inherit git-r3 |
298 |
- ;; |
299 |
-*) |
300 |
- SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " |
301 |
- S="${WORKDIR}"/go |
302 |
- case ${PV} in |
303 |
- *_beta*|*_rc*) ;; |
304 |
- *) |
305 |
- KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x64-solaris" |
306 |
- # The upstream tests fail under portage but pass if the build is |
307 |
- # run according to their documentation [1]. |
308 |
- # I am restricting the tests on released versions until this is |
309 |
- # solved. |
310 |
- # [1] https://golang.org/issues/18442 |
311 |
- RESTRICT="test" |
312 |
- ;; |
313 |
- esac |
314 |
-esac |
315 |
-SRC_URI+="!gccgo? ( ${BOOTSTRAP_URI} )" |
316 |
- |
317 |
-DESCRIPTION="A concurrent garbage collected and typesafe programming language" |
318 |
-HOMEPAGE="http://www.golang.org" |
319 |
- |
320 |
-LICENSE="BSD" |
321 |
-SLOT="0/${PV}" |
322 |
-IUSE="gccgo" |
323 |
- |
324 |
-DEPEND="gccgo? ( >=sys-devel/gcc-5[go] )" |
325 |
-RDEPEND="!<dev-go/go-tools-0_pre20150902" |
326 |
- |
327 |
-# These test data objects have writable/executable stacks. |
328 |
-QA_EXECSTACK=" |
329 |
- usr/lib/go/src/debug/elf/testdata/*.obj |
330 |
- usr/lib/go/src/go/internal/gccgoimporter/testdata/unicode.gox |
331 |
- usr/lib/go/src/go/internal/gccgoimporter/testdata/time.gox |
332 |
- " |
333 |
- |
334 |
-# Do not complain about CFLAGS, etc, since Go doesn't use them. |
335 |
-QA_FLAGS_IGNORED='.*' |
336 |
- |
337 |
-REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" |
338 |
- |
339 |
-# The tools in /usr/lib/go should not cause the multilib-strict check to fail. |
340 |
-QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" |
341 |
- |
342 |
-# Do not strip this package. Stripping is unsupported upstream and may |
343 |
-# fail. |
344 |
-RESTRICT+=" strip" |
345 |
- |
346 |
-DOCS=( |
347 |
-AUTHORS |
348 |
-CONTRIBUTING.md |
349 |
-CONTRIBUTORS |
350 |
-PATENTS |
351 |
-README.md |
352 |
-) |
353 |
- |
354 |
-go_arch() |
355 |
-{ |
356 |
- # By chance most portage arch names match Go |
357 |
- local portage_arch=$(tc-arch $@) |
358 |
- case "${portage_arch}" in |
359 |
- x86) echo 386;; |
360 |
- x64-*) echo amd64;; |
361 |
- ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; |
362 |
- s390) echo s390x ;; |
363 |
- *) echo "${portage_arch}";; |
364 |
- esac |
365 |
-} |
366 |
- |
367 |
-go_arm() |
368 |
-{ |
369 |
- case "${1:-${CHOST}}" in |
370 |
- armv5*) echo 5;; |
371 |
- armv6*) echo 6;; |
372 |
- armv7*) echo 7;; |
373 |
- *) |
374 |
- die "unknown GOARM for ${1:-${CHOST}}" |
375 |
- ;; |
376 |
- esac |
377 |
-} |
378 |
- |
379 |
-go_os() |
380 |
-{ |
381 |
- case "${1:-${CHOST}}" in |
382 |
- *-linux*) echo linux;; |
383 |
- *-darwin*) echo darwin;; |
384 |
- *-freebsd*) echo freebsd;; |
385 |
- *-netbsd*) echo netbsd;; |
386 |
- *-openbsd*) echo openbsd;; |
387 |
- *-solaris*) echo solaris;; |
388 |
- *-cygwin*|*-interix*|*-winnt*) |
389 |
- echo windows |
390 |
- ;; |
391 |
- *) |
392 |
- die "unknown GOOS for ${1:-${CHOST}}" |
393 |
- ;; |
394 |
- esac |
395 |
-} |
396 |
- |
397 |
-go_tuple() |
398 |
-{ |
399 |
- echo "$(go_os $@)_$(go_arch $@)" |
400 |
-} |
401 |
- |
402 |
-go_cross_compile() |
403 |
-{ |
404 |
- [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] |
405 |
-} |
406 |
- |
407 |
-pkg_pretend() |
408 |
-{ |
409 |
- # make.bash does not understand cross-compiling a cross-compiler |
410 |
- if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then |
411 |
- die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" |
412 |
- fi |
413 |
-} |
414 |
- |
415 |
-src_unpack() |
416 |
-{ |
417 |
- if [[ ${PV} = 9999 ]]; then |
418 |
- git-r3_src_unpack |
419 |
- fi |
420 |
- default |
421 |
-} |
422 |
- |
423 |
-src_compile() |
424 |
-{ |
425 |
- export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os)-$(go_arch)-bootstrap |
426 |
- if use gccgo; then |
427 |
- mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die |
428 |
- local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) |
429 |
- [[ -x ${go_binary} ]] || go_binary=$( |
430 |
- find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | |
431 |
- sort -V | tail -n1) |
432 |
- [[ -x ${go_binary} ]] || |
433 |
- die "go-$(gcc-major-version): command not found" |
434 |
- ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die |
435 |
- fi |
436 |
- export GOROOT_FINAL="${EPREFIX}"/usr/lib/go |
437 |
- export GOROOT="$(pwd)" |
438 |
- export GOBIN="${GOROOT}/bin" |
439 |
- |
440 |
- # Go's build script does not use BUILD/HOST/TARGET consistently. :( |
441 |
- export GOHOSTARCH=$(go_arch ${CBUILD}) |
442 |
- export GOHOSTOS=$(go_os ${CBUILD}) |
443 |
- export CC=$(tc-getBUILD_CC) |
444 |
- |
445 |
- export GOARCH=$(go_arch) |
446 |
- export GOOS=$(go_os) |
447 |
- export CC_FOR_TARGET=$(tc-getCC) |
448 |
- export CXX_FOR_TARGET=$(tc-getCXX) |
449 |
- if [[ ${ARCH} == arm ]]; then |
450 |
- export GOARM=$(go_arm) |
451 |
- fi |
452 |
- elog "GOROOT_BOOTSTRAP is ${GOROOT_BOOTSTRAP}" |
453 |
- |
454 |
- cd src |
455 |
- ./make.bash || die "build failed" |
456 |
-} |
457 |
- |
458 |
-src_test() |
459 |
-{ |
460 |
- go_cross_compile && return 0 |
461 |
- |
462 |
- cd src |
463 |
- PATH="${GOBIN}:${PATH}" \ |
464 |
- ./run.bash -no-rebuild || die "tests failed" |
465 |
-} |
466 |
- |
467 |
-src_install() |
468 |
-{ |
469 |
- local bin_path f x |
470 |
- |
471 |
- dodir /usr/lib/go |
472 |
- |
473 |
- # There is a known issue which requires the source tree to be installed [1]. |
474 |
- # Once this is fixed, we can consider using the doc use flag to control |
475 |
- # installing the doc and src directories. |
476 |
- # [1] https://golang.org/issue/2775 |
477 |
- # |
478 |
- # deliberately use cp to retain permissions |
479 |
- cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go |
480 |
- if go_cross_compile; then |
481 |
- bin_path="bin/$(go_tuple)" |
482 |
- else |
483 |
- bin_path=bin |
484 |
- fi |
485 |
- for x in ${bin_path}/*; do |
486 |
- f=${x##*/} |
487 |
- dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} |
488 |
- done |
489 |
- einstalldocs |
490 |
-} |