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/files/, dev-lang/go/
Date: Sat, 02 Apr 2016 18:36:33
Message-Id: 1459622175.7d3cd7df5783c2496b67ef9cda77009aa560e61f.williamh@gentoo
1 commit: 7d3cd7df5783c2496b67ef9cda77009aa560e61f
2 Author: William Hubbs <williamh <AT> gentoo <DOT> org>
3 AuthorDate: Sat Apr 2 18:35:36 2016 +0000
4 Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
5 CommitDate: Sat Apr 2 18:36:15 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d3cd7df
7
8 dev-lang/go: remove old versions
9
10 Package-Manager: portage-2.2.26
11
12 dev-lang/go/Manifest | 1 -
13 .../go/files/go-1.5.3-assume-amd64-on-osx.patch | 13 --
14 dev-lang/go/go-1.5.3.ebuild | 213 ---------------------
15 dev-lang/go/go-1.6-r1.ebuild | 211 --------------------
16 dev-lang/go/go-1.6.ebuild | 207 --------------------
17 5 files changed, 645 deletions(-)
18
19 diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
20 index c295cf1..992d461 100644
21 --- a/dev-lang/go/Manifest
22 +++ b/dev-lang/go/Manifest
23 @@ -7,5 +7,4 @@ DIST go-linux-arm-bootstrap.tbz 46055976 SHA256 a44e33b95046e01fd7125c3cc3c34b13
24 DIST go-linux-arm64-bootstrap.tbz 45369354 SHA256 810c998e6701580fe0f26d46c5796eefce648e252ff9d6d761304e60556b7fc0 SHA512 3f64869430c03efa77796ed74d07a337e2a205802485605cbdd67778a08e5ce041ce3925b7a5cca0a6b4ad24ab70e07ee54091b010f67ec7370a985022f5a21e WHIRLPOOL f6f470081d5f23c190310280aaf7454a4f58fe4e7545bbd219046711f8d27ce97cc5f5f1c207e777067d1f6332e4b3f2c819b178e899d21c2d5d1d466a42cc37
25 DIST go-linux-ppc64-bootstrap.tbz 45266082 SHA256 89902cebaf93b95dea225b7304eedcae101d6fb83bba0fcdfee001361b4868c0 SHA512 d013a1a5953207505a9f7e0c5cfdc7f463d4669fd18b36cf1df10126e9d4c012252bc4d207dd4503c34301e76197d8e89a9ed9d9d0b8a3b54b62e782b4c39d7b WHIRLPOOL 3ec868d94e8452a3cdb49a1292f9f32ebeb813ea297e419849cdee28c8d952887feb70e1095ce109ff6b8bb81dee47b7eb6f275b15bb6f46422095c3b260f968
26 DIST go-solaris-amd64-bootstrap.tbz 48367195 SHA256 92ebdbf001f243a78a6c2d8ee30e929ba2cecbedf8e0fc07e129b04b107453ad SHA512 cf8725db0d001d61badee71624799a3c9e75f61f77ab090c1f6c490d694c4be367019b28d88306045d877ab5a324a1f9b0674293caf3acb19c193fc3746a48f2 WHIRLPOOL 672c6642e340b6d4f38b633f67fdc3202e3725022a8a61e2129276fccd6c42ddc24ed06c1d57eb31a25ea8056b79686619cbb36431b9c23b6d4be5bcb715bd89
27 -DIST go1.5.3.src.tar.gz 12057623 SHA256 754e06dab1c31ab168fc9db9e32596734015ea9e24bc44cae7f237f417ce4efe SHA512 b348832ea7cb095cf793960cf9f4da5e9f6ca8de7b5262bb819de97efea4835643e30a18efd4a82d01ea3854a1905af9e134271716c4b68c9d2a8f6e15f65ff0 WHIRLPOOL aec869ec6af62601f6b83283417eef739141f99be938d419ef4a553028141e05ded7777fdff2a2d1a3e35e4976e4ec96a301b4875c509a370848d0df5dc9e0c8
28 DIST go1.6.src.tar.gz 12613308 SHA256 a96cce8ce43a9bf9b2a4c7d470bc7ee0cb00410da815980681c8353218dcf146 SHA512 59e9d72a80558fd5e3f176e068897a45333b36e35f6c00393647941a70e741168e65941b6059397378020c3b78ec3471a48809682f7efd97cf33eec6325fc3e8 WHIRLPOOL c6debe1a5039f0ca34c29b4a53f958503a724cae13715ea14f0237b5faacd26e09eb6405462e22abd6806540dd8fb9eb2fa08ff6e8676b0f6dffa267210f5eac
29
30 diff --git a/dev-lang/go/files/go-1.5.3-assume-amd64-on-osx.patch b/dev-lang/go/files/go-1.5.3-assume-amd64-on-osx.patch
31 deleted file mode 100644
32 index d568889..0000000
33 --- a/dev-lang/go/files/go-1.5.3-assume-amd64-on-osx.patch
34 +++ /dev/null
35 @@ -1,13 +0,0 @@
36 ---- src/cmd/dist/util.go 2016-01-15 11:27:49.092713185 -0600
37 -+++ src/cmd/dist/util.go 2016-01-15 11:29:50.616721387 -0600
38 -@@ -404,9 +404,7 @@
39 - switch gohostos {
40 - case "darwin":
41 - // Even on 64-bit platform, darwin uname -m prints i386.
42 -- if strings.Contains(run("", CheckExit, "sysctl", "machdep.cpu.extfeatures"), "EM64T") {
43 -- gohostarch = "amd64"
44 -- }
45 -+ gohostarch = "amd64"
46 - case "solaris":
47 - // Even on 64-bit platform, solaris uname -m prints i86pc.
48 - out := run("", CheckExit, "isainfo", "-n")
49
50 diff --git a/dev-lang/go/go-1.5.3.ebuild b/dev-lang/go/go-1.5.3.ebuild
51 deleted file mode 100644
52 index 1c26f96..0000000
53 --- a/dev-lang/go/go-1.5.3.ebuild
54 +++ /dev/null
55 @@ -1,213 +0,0 @@
56 -# Copyright 1999-2015 Gentoo Foundation
57 -# Distributed under the terms of the GNU General Public License v2
58 -# $Id$
59 -
60 -EAPI=5
61 -
62 -export CBUILD=${CBUILD:-${CHOST}}
63 -export CTARGET=${CTARGET:-${CHOST}}
64 -
65 -inherit eutils toolchain-funcs
66 -
67 -if [[ ${PV} = 9999 ]]; then
68 - EGIT_REPO_URI="git://github.com/golang/go.git"
69 - inherit git-r3
70 -else
71 - SRC_URI="https://storage.googleapis.com/golang/go${PV}.src.tar.gz"
72 - # go-bootstrap-1.4 only supports go on amd64, arm and x86 architectures.
73 - # Allowing other bootstrap options would enable arm64 and ppc64 builds.
74 - KEYWORDS="-* amd64 arm x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x86-macos ~x64-solaris"
75 -fi
76 -
77 -DESCRIPTION="A concurrent garbage collected and typesafe programming language"
78 -HOMEPAGE="http://www.golang.org"
79 -
80 -LICENSE="BSD"
81 -SLOT="0/${PV}"
82 -IUSE=""
83 -
84 -DEPEND=">=dev-lang/go-bootstrap-1.4.1"
85 -RDEPEND="!<dev-go/go-tools-0_pre20150902"
86 -
87 -# These test data objects have writable/executable stacks.
88 -QA_EXECSTACK="usr/lib/go/src/debug/elf/testdata/*.obj"
89 -
90 -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
91 -
92 -# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
93 -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
94 -
95 -# The go language uses *.a files which are _NOT_ libraries and should not be
96 -# stripped. The test data objects should also be left alone and unstripped.
97 -STRIP_MASK="/usr/lib/go/pkg/*.a
98 - /usr/lib/go/src/debug/elf/testdata/*
99 - /usr/lib/go/src/debug/dwarf/testdata/*
100 - /usr/lib/go/src/runtime/race/*.syso"
101 -
102 -if [[ ${PV} != 9999 ]]; then
103 - S="${WORKDIR}"/go
104 -fi
105 -
106 -go_arch()
107 -{
108 - # By chance most portage arch names match Go
109 - local portage_arch=$(tc-arch $@)
110 - case "${portage_arch}" in
111 - x86) echo 386;;
112 - x64-*) echo amd64;;
113 - *) echo "${portage_arch}";;
114 - esac
115 -}
116 -
117 -go_arm()
118 -{
119 - case "${1:-${CHOST}}" in
120 - armv5*) echo 5;;
121 - armv6*) echo 6;;
122 - armv7*) echo 7;;
123 - *)
124 - die "unknown GOARM for ${1:-${CHOST}}"
125 - ;;
126 - esac
127 -}
128 -
129 -go_os()
130 -{
131 - case "${1:-${CHOST}}" in
132 - *-linux*) echo linux;;
133 - *-darwin*) echo darwin;;
134 - *-freebsd*) echo freebsd;;
135 - *-netbsd*) echo netbsd;;
136 - *-openbsd*) echo openbsd;;
137 - *-solaris*) echo solaris;;
138 - *-cygwin*|*-interix*|*-winnt*)
139 - echo windows
140 - ;;
141 - *)
142 - die "unknown GOOS for ${1:-${CHOST}}"
143 - ;;
144 - esac
145 -}
146 -
147 -go_tuple()
148 -{
149 - echo "$(go_os $@)_$(go_arch $@)"
150 -}
151 -
152 -go_cross_compile()
153 -{
154 - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
155 -}
156 -
157 -pkg_pretend()
158 -{
159 - # make.bash does not understand cross-compiling a cross-compiler
160 - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
161 - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
162 - fi
163 -}
164 -
165 -src_prepare()
166 -{
167 - epatch "${FILESDIR}"/${P}-assume-amd64-on-osx.patch
168 - epatch_user
169 -}
170 -
171 -src_compile()
172 -{
173 - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go1.4
174 - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
175 - export GOROOT="$(pwd)"
176 - export GOBIN="${GOROOT}/bin"
177 -
178 - # Go's build script does not use BUILD/HOST/TARGET consistently. :(
179 - export GOHOSTARCH=$(go_arch ${CBUILD})
180 - export GOHOSTOS=$(go_os ${CBUILD})
181 - export CC=$(tc-getBUILD_CC)
182 -
183 - export GOARCH=$(go_arch)
184 - export GOOS=$(go_os)
185 - export CC_FOR_TARGET=$(tc-getCC)
186 - export CXX_FOR_TARGET=$(tc-getCXX)
187 - if [[ ${ARCH} == arm ]]; then
188 - export GOARM=$(go_arm)
189 - fi
190 -
191 - cd src
192 - ./make.bash || die "build failed"
193 -}
194 -
195 -src_test()
196 -{
197 - go_cross_compile && return 0
198 -
199 - cd src
200 - PATH="${GOBIN}:${PATH}" \
201 - ./run.bash -no-rebuild || die "tests failed"
202 -}
203 -
204 -src_install()
205 -{
206 - local bin_path f x
207 -
208 - dodir /usr/lib/go
209 - insinto /usr/lib/go
210 -
211 - # There is a known issue which requires the source tree to be installed [1].
212 - # Once this is fixed, we can consider using the doc use flag to control
213 - # installing the doc and src directories.
214 - # [1] https://golang.org/issue/2775
215 - doins -r bin doc lib pkg src
216 - fperms -R +x /usr/lib/go/bin /usr/lib/go/pkg/tool
217 -
218 - if go_cross_compile; then
219 - bin_path="bin/$(go_tuple)"
220 - else
221 - bin_path=bin
222 - fi
223 - for x in ${bin_path}/*; do
224 - f=${x##*/}
225 - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
226 - done
227 -
228 - dodir /usr/lib/go/misc
229 - insinto /usr/lib/go/misc
230 - doins -r misc/trace
231 -
232 - dodoc AUTHORS CONTRIBUTORS PATENTS README.md
233 -}
234 -
235 -pkg_preinst()
236 -{
237 - has_version '<dev-lang/go-1.4' &&
238 - export had_support_files=true ||
239 - export had_support_files=false
240 -}
241 -
242 -pkg_postinst()
243 -{
244 - # If the go tool sees a package file timestamped older than a dependancy it
245 - # will rebuild that file. So, in order to stop go from rebuilding lots of
246 - # packages for every build we need to fix the timestamps. The compiler and
247 - # linker are also checked - so we need to fix them too.
248 - ebegin "fixing timestamps to avoid unnecessary rebuilds"
249 - tref="usr/lib/go/pkg/*/runtime.a"
250 - find "${EROOT}"usr/lib/go -type f \
251 - -exec touch -r "${EROOT}"${tref} {} \;
252 - eend $?
253 -
254 - if [[ ${PV} != 9999 && -n ${REPLACING_VERSIONS} &&
255 - ${REPLACING_VERSIONS} != ${PV} ]]; then
256 - elog "Release notes are located at http://golang.org/doc/go${PV}"
257 - fi
258 -
259 - if $had_support_files; then
260 - ewarn
261 - ewarn "All editor support, IDE support, shell completion"
262 - ewarn "support, etc has been removed from the go package"
263 - ewarn "upstream."
264 - ewarn "For more information on which support is available, see"
265 - ewarn "the following URL:"
266 - ewarn "https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins"
267 - fi
268 -}
269
270 diff --git a/dev-lang/go/go-1.6-r1.ebuild b/dev-lang/go/go-1.6-r1.ebuild
271 deleted file mode 100644
272 index 25fbae1..0000000
273 --- a/dev-lang/go/go-1.6-r1.ebuild
274 +++ /dev/null
275 @@ -1,211 +0,0 @@
276 -# Copyright 1999-2015 Gentoo Foundation
277 -# Distributed under the terms of the GNU General Public License v2
278 -# $Id$
279 -
280 -EAPI=6
281 -
282 -export CBUILD=${CBUILD:-${CHOST}}
283 -export CTARGET=${CTARGET:-${CHOST}}
284 -
285 -MY_PV=${PV/_/}
286 -
287 -inherit toolchain-funcs
288 -
289 -if [[ ${PV} = 9999 ]]; then
290 - EGIT_REPO_URI="git://github.com/golang/go.git"
291 - inherit git-r3
292 -else
293 - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz"
294 - # go-bootstrap-1.4 only supports go on amd64, arm and x86 architectures.
295 - # Allowing other bootstrap options would enable arm64 and ppc64 builds.
296 - case ${PV} in
297 - *9999*|*_rc*) ;;
298 - *)
299 - KEYWORDS="-* ~amd64 ~arm ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x86-macos"
300 - ;;
301 - esac
302 -fi
303 -
304 -DESCRIPTION="A concurrent garbage collected and typesafe programming language"
305 -HOMEPAGE="http://www.golang.org"
306 -
307 -LICENSE="BSD"
308 -SLOT="0/${PV}"
309 -IUSE=""
310 -
311 -DEPEND=">=dev-lang/go-bootstrap-1.4.1"
312 -RDEPEND="!<dev-go/go-tools-0_pre20150902"
313 -
314 -# These test data objects have writable/executable stacks.
315 -QA_EXECSTACK="usr/lib/go/src/debug/elf/testdata/*.obj"
316 -
317 -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
318 -
319 -# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
320 -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
321 -
322 -# The go language uses *.a files which are _NOT_ libraries and should not be
323 -# stripped. The test data objects should also be left alone and unstripped.
324 -STRIP_MASK="/usr/lib/go/pkg/*.a
325 - /usr/lib/go/src/debug/elf/testdata/*
326 - /usr/lib/go/src/debug/dwarf/testdata/*
327 - /usr/lib/go/src/runtime/race/*.syso"
328 -
329 -if [[ ${PV} != 9999 ]]; then
330 - S="${WORKDIR}"/go
331 -fi
332 -
333 -go_arch()
334 -{
335 - # By chance most portage arch names match Go
336 - local portage_arch=$(tc-arch $@)
337 - case "${portage_arch}" in
338 - x86) echo 386;;
339 - x64-*) echo amd64;;
340 - *) echo "${portage_arch}";;
341 - esac
342 -}
343 -
344 -go_arm()
345 -{
346 - case "${1:-${CHOST}}" in
347 - armv5*) echo 5;;
348 - armv6*) echo 6;;
349 - armv7*) echo 7;;
350 - *)
351 - die "unknown GOARM for ${1:-${CHOST}}"
352 - ;;
353 - esac
354 -}
355 -
356 -go_os()
357 -{
358 - case "${1:-${CHOST}}" in
359 - *-linux*) echo linux;;
360 - *-darwin*) echo darwin;;
361 - *-freebsd*) echo freebsd;;
362 - *-netbsd*) echo netbsd;;
363 - *-openbsd*) echo openbsd;;
364 - *-solaris*) echo solaris;;
365 - *-cygwin*|*-interix*|*-winnt*)
366 - echo windows
367 - ;;
368 - *)
369 - die "unknown GOOS for ${1:-${CHOST}}"
370 - ;;
371 - esac
372 -}
373 -
374 -go_tuple()
375 -{
376 - echo "$(go_os $@)_$(go_arch $@)"
377 -}
378 -
379 -go_cross_compile()
380 -{
381 - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
382 -}
383 -
384 -pkg_pretend()
385 -{
386 - # make.bash does not understand cross-compiling a cross-compiler
387 - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
388 - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
389 - fi
390 -}
391 -
392 -src_compile()
393 -{
394 - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go1.4
395 - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
396 - export GOROOT="$(pwd)"
397 - export GOBIN="${GOROOT}/bin"
398 -
399 - # Go's build script does not use BUILD/HOST/TARGET consistently. :(
400 - export GOHOSTARCH=$(go_arch ${CBUILD})
401 - export GOHOSTOS=$(go_os ${CBUILD})
402 - export CC=$(tc-getBUILD_CC)
403 -
404 - export GOARCH=$(go_arch)
405 - export GOOS=$(go_os)
406 - export CC_FOR_TARGET=$(tc-getCC)
407 - export CXX_FOR_TARGET=$(tc-getCXX)
408 - if [[ ${ARCH} == arm ]]; then
409 - export GOARM=$(go_arm)
410 - fi
411 -
412 - cd src
413 - ./make.bash || die "build failed"
414 -}
415 -
416 -src_test()
417 -{
418 - go_cross_compile && return 0
419 -
420 - cd src
421 - PATH="${GOBIN}:${PATH}" \
422 - ./run.bash -no-rebuild || die "tests failed"
423 -}
424 -
425 -src_install()
426 -{
427 - local bin_path f x
428 -
429 - dodir /usr/lib/go
430 - insinto /usr/lib/go
431 -
432 - # There is a known issue which requires the source tree to be installed [1].
433 - # Once this is fixed, we can consider using the doc use flag to control
434 - # installing the doc and src directories.
435 - # [1] https://golang.org/issue/2775
436 - doins -r bin doc lib pkg src
437 - fperms -R +x /usr/lib/go/bin /usr/lib/go/pkg/tool
438 -
439 - cp -a misc "${D}"/usr/lib/go/misc
440 -
441 - if go_cross_compile; then
442 - bin_path="bin/$(go_tuple)"
443 - else
444 - bin_path=bin
445 - fi
446 - for x in ${bin_path}/*; do
447 - f=${x##*/}
448 - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
449 - done
450 - dodoc AUTHORS CONTRIBUTORS PATENTS README.md
451 -}
452 -
453 -pkg_preinst()
454 -{
455 - has_version '<dev-lang/go-1.4' &&
456 - export had_support_files=true ||
457 - export had_support_files=false
458 -}
459 -
460 -pkg_postinst()
461 -{
462 - # If the go tool sees a package file timestamped older than a dependancy it
463 - # will rebuild that file. So, in order to stop go from rebuilding lots of
464 - # packages for every build we need to fix the timestamps. The compiler and
465 - # linker are also checked - so we need to fix them too.
466 - ebegin "fixing timestamps to avoid unnecessary rebuilds"
467 - tref="usr/lib/go/pkg/*/runtime.a"
468 - find "${EROOT}"usr/lib/go -type f \
469 - -exec touch -r "${EROOT}"${tref} {} \;
470 - eend $?
471 -
472 - if [[ ${PV} != 9999 && -n ${REPLACING_VERSIONS} &&
473 - ${REPLACING_VERSIONS} != ${PV} ]]; then
474 - elog "Release notes are located at http://golang.org/doc/go${PV}"
475 - fi
476 -
477 - if $had_support_files; then
478 - ewarn
479 - ewarn "All editor support, IDE support, shell completion"
480 - ewarn "support, etc has been removed from the go package"
481 - ewarn "upstream."
482 - ewarn "For more information on which support is available, see"
483 - ewarn "the following URL:"
484 - ewarn "https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins"
485 - fi
486 -}
487
488 diff --git a/dev-lang/go/go-1.6.ebuild b/dev-lang/go/go-1.6.ebuild
489 deleted file mode 100644
490 index c57298b..0000000
491 --- a/dev-lang/go/go-1.6.ebuild
492 +++ /dev/null
493 @@ -1,207 +0,0 @@
494 -# Copyright 1999-2015 Gentoo Foundation
495 -# Distributed under the terms of the GNU General Public License v2
496 -# $Id$
497 -
498 -EAPI=5
499 -
500 -export CBUILD=${CBUILD:-${CHOST}}
501 -export CTARGET=${CTARGET:-${CHOST}}
502 -
503 -inherit eutils toolchain-funcs
504 -
505 -if [[ ${PV} = 9999 ]]; then
506 - EGIT_REPO_URI="git://github.com/golang/go.git"
507 - inherit git-r3
508 -else
509 - SRC_URI="https://storage.googleapis.com/golang/go${PV}.src.tar.gz"
510 - # go-bootstrap-1.4 only supports go on amd64, arm and x86 architectures.
511 - # Allowing other bootstrap options would enable arm64 and ppc64 builds.
512 - KEYWORDS="-* ~amd64 ~arm ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x86-macos ~x64-solaris"
513 -fi
514 -
515 -DESCRIPTION="A concurrent garbage collected and typesafe programming language"
516 -HOMEPAGE="http://www.golang.org"
517 -
518 -LICENSE="BSD"
519 -SLOT="0/${PV}"
520 -IUSE=""
521 -
522 -DEPEND=">=dev-lang/go-bootstrap-1.4.1"
523 -RDEPEND="!<dev-go/go-tools-0_pre20150902"
524 -
525 -# These test data objects have writable/executable stacks.
526 -QA_EXECSTACK="usr/lib/go/src/debug/elf/testdata/*.obj"
527 -
528 -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
529 -
530 -# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
531 -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
532 -
533 -# The go language uses *.a files which are _NOT_ libraries and should not be
534 -# stripped. The test data objects should also be left alone and unstripped.
535 -STRIP_MASK="/usr/lib/go/pkg/*.a
536 - /usr/lib/go/src/debug/elf/testdata/*
537 - /usr/lib/go/src/debug/dwarf/testdata/*
538 - /usr/lib/go/src/runtime/race/*.syso"
539 -
540 -if [[ ${PV} != 9999 ]]; then
541 - S="${WORKDIR}"/go
542 -fi
543 -
544 -go_arch()
545 -{
546 - # By chance most portage arch names match Go
547 - local portage_arch=$(tc-arch $@)
548 - case "${portage_arch}" in
549 - x86) echo 386;;
550 - x64-*) echo amd64;;
551 - *) echo "${portage_arch}";;
552 - esac
553 -}
554 -
555 -go_arm()
556 -{
557 - case "${1:-${CHOST}}" in
558 - armv5*) echo 5;;
559 - armv6*) echo 6;;
560 - armv7*) echo 7;;
561 - *)
562 - die "unknown GOARM for ${1:-${CHOST}}"
563 - ;;
564 - esac
565 -}
566 -
567 -go_os()
568 -{
569 - case "${1:-${CHOST}}" in
570 - *-linux*) echo linux;;
571 - *-darwin*) echo darwin;;
572 - *-freebsd*) echo freebsd;;
573 - *-netbsd*) echo netbsd;;
574 - *-openbsd*) echo openbsd;;
575 - *-solaris*) echo solaris;;
576 - *-cygwin*|*-interix*|*-winnt*)
577 - echo windows
578 - ;;
579 - *)
580 - die "unknown GOOS for ${1:-${CHOST}}"
581 - ;;
582 - esac
583 -}
584 -
585 -go_tuple()
586 -{
587 - echo "$(go_os $@)_$(go_arch $@)"
588 -}
589 -
590 -go_cross_compile()
591 -{
592 - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
593 -}
594 -
595 -pkg_pretend()
596 -{
597 - # make.bash does not understand cross-compiling a cross-compiler
598 - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
599 - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
600 - fi
601 -}
602 -
603 -src_compile()
604 -{
605 - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go1.4
606 - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
607 - export GOROOT="$(pwd)"
608 - export GOBIN="${GOROOT}/bin"
609 -
610 - # Go's build script does not use BUILD/HOST/TARGET consistently. :(
611 - export GOHOSTARCH=$(go_arch ${CBUILD})
612 - export GOHOSTOS=$(go_os ${CBUILD})
613 - export CC=$(tc-getBUILD_CC)
614 -
615 - export GOARCH=$(go_arch)
616 - export GOOS=$(go_os)
617 - export CC_FOR_TARGET=$(tc-getCC)
618 - export CXX_FOR_TARGET=$(tc-getCXX)
619 - if [[ ${ARCH} == arm ]]; then
620 - export GOARM=$(go_arm)
621 - fi
622 -
623 - cd src
624 - ./make.bash || die "build failed"
625 -}
626 -
627 -src_test()
628 -{
629 - go_cross_compile && return 0
630 -
631 - cd src
632 - PATH="${GOBIN}:${PATH}" \
633 - ./run.bash -no-rebuild || die "tests failed"
634 -}
635 -
636 -src_install()
637 -{
638 - local bin_path f x
639 -
640 - dodir /usr/lib/go
641 - insinto /usr/lib/go
642 -
643 - # There is a known issue which requires the source tree to be installed [1].
644 - # Once this is fixed, we can consider using the doc use flag to control
645 - # installing the doc and src directories.
646 - # [1] https://golang.org/issue/2775
647 - doins -r bin doc lib pkg src
648 - fperms -R +x /usr/lib/go/bin /usr/lib/go/pkg/tool
649 -
650 - if go_cross_compile; then
651 - bin_path="bin/$(go_tuple)"
652 - else
653 - bin_path=bin
654 - fi
655 - for x in ${bin_path}/*; do
656 - f=${x##*/}
657 - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
658 - done
659 -
660 - dodir /usr/lib/go/misc
661 - insinto /usr/lib/go/misc
662 - doins -r misc/trace
663 -
664 - dodoc AUTHORS CONTRIBUTORS PATENTS README.md
665 -}
666 -
667 -pkg_preinst()
668 -{
669 - has_version '<dev-lang/go-1.4' &&
670 - export had_support_files=true ||
671 - export had_support_files=false
672 -}
673 -
674 -pkg_postinst()
675 -{
676 - # If the go tool sees a package file timestamped older than a dependancy it
677 - # will rebuild that file. So, in order to stop go from rebuilding lots of
678 - # packages for every build we need to fix the timestamps. The compiler and
679 - # linker are also checked - so we need to fix them too.
680 - ebegin "fixing timestamps to avoid unnecessary rebuilds"
681 - tref="usr/lib/go/pkg/*/runtime.a"
682 - find "${EROOT}"usr/lib/go -type f \
683 - -exec touch -r "${EROOT}"${tref} {} \;
684 - eend $?
685 -
686 - if [[ ${PV} != 9999 && -n ${REPLACING_VERSIONS} &&
687 - ${REPLACING_VERSIONS} != ${PV} ]]; then
688 - elog "Release notes are located at http://golang.org/doc/go${PV}"
689 - fi
690 -
691 - if $had_support_files; then
692 - ewarn
693 - ewarn "All editor support, IDE support, shell completion"
694 - ewarn "support, etc has been removed from the go package"
695 - ewarn "upstream."
696 - ewarn "For more information on which support is available, see"
697 - ewarn "the following URL:"
698 - ewarn "https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins"
699 - fi
700 -}