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: Fri, 06 Sep 2019 13:51:34
Message-Id: 1567776323.2ad9515a15cbab9ce0b71f045ef4c47195589ed7.williamh@gentoo
1 commit: 2ad9515a15cbab9ce0b71f045ef4c47195589ed7
2 Author: William Hubbs <williamh <AT> gentoo <DOT> org>
3 AuthorDate: Fri Sep 6 13:24:39 2019 +0000
4 Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
5 CommitDate: Fri Sep 6 13:25:23 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ad9515a
7
8 dev-lang/go: remove old 1.12 versions
9
10 All 1.11 versions are removed since that version is no longer supported
11 upstream.
12
13 Bug: https://bugs.gentoo.org/692152
14 Package-Manager: Portage-2.3.69, Repoman-2.3.16
15 Signed-off-by: William Hubbs <williamh <AT> gentoo.org>
16
17 dev-lang/go/Manifest | 3 -
18 dev-lang/go/go-1.12.5.ebuild | 246 -------------------------------------------
19 dev-lang/go/go-1.12.6.ebuild | 246 -------------------------------------------
20 dev-lang/go/go-1.12.7.ebuild | 246 -------------------------------------------
21 4 files changed, 741 deletions(-)
22
23 diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest
24 index fb69d657355..ff133b11987 100644
25 --- a/dev-lang/go/Manifest
26 +++ b/dev-lang/go/Manifest
27 @@ -9,9 +9,6 @@ DIST go-linux-ppc64-bootstrap-1.8.tbz 52315782 BLAKE2B 6be0a48e8bc4e5fed4d34f8aa
28 DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8360e904c2545380513afd328077c584e8af0bf6bd818aa03e5a58c350cbb98facc1c9dccb02b06adcb27233875497cf5d33265912 SHA512 6931d999dd0ee1ff44c4cec48acb27af061f57f87aa74802dcebab78553b46bc8ac732f07fe91e5074dbdd32c55b707994875934bfb12bb4276d71eb1d06c4ba
29 DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a
30 DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d
31 -DIST go1.12.5.src.tar.gz 21971348 BLAKE2B 7de8db4a6c4cd9e1883fbf28357fe99ad9f43f3e015b2063347b1961df128760b720c0dd5549997c7080e6cf0036406430419d4bf033323f26017d3629ad6067 SHA512 ce64105ff71615f9d235cc7c8656b6409fc40cc90d15a28d355fadd9072d2eab842af379dd8bba0f1181715753143e4a07491e0f9e5f8df806327d7c95a34fae
32 -DIST go1.12.6.src.tar.gz 21975398 BLAKE2B 05c183baf2e6544b039cff33abb7c5d66a50a0a7cadaa16032a3dc3793bfa27e82c4598dbb700bf7f90ba2ce2639bb60484e61e50fc154d8184d4874954b81e4 SHA512 431a0b916ce2e64d816808a04bc3bf028e955538ab55c571021c08e599781ae344487a55e119bb3aae3d32f84cd83e2c176dc72d336b95da0352edffeab07a48
33 -DIST go1.12.7.src.tar.gz 21976647 BLAKE2B bf0c723f1e02048d91844c7b8908500c83442a8ab7ceeaacdb37d7204f72d80331eab44de54f99411479be8e645b2626fb8a34df0cedbd75fa57c4e1d84d493a SHA512 f84c6b89dea9df21f0efa07564eb80baeee5bc2d68cced5fd645ebb32e9317e60b657afe011c81e7739d8a93e4b4dafa0b4f78431a009d36e05de55f89ed0fd6
34 DIST go1.12.8.src.tar.gz 21978756 BLAKE2B 65258c101d729bbd82f69ba4286ba8e64f9d3128be97243374d442dfcc4033f1238bb57530a34dc0142f55cc8f2692efab65452286c4769f24e8aa3a4a80abd1 SHA512 193a9b08752aa2479c19f5b56fdfe2296c7e6097e0c583290f0fce754ac7571e2ff345f66b69774d8e22f2caa147a3dc15658148017b09e5e7f49fd4569373d4
35 DIST go1.12.9.src.tar.gz 21979950 BLAKE2B dca7e3afcabd513c4b8193e93c0a1ed1a2326dccfce9b909d97b3731fffbe7e26712ab164645e06a316baa949b1e0b14a2fea8d23e6f90fd5b72afa0d15b432b SHA512 57041e7fb767f528aa9fc2592d205d3a7c120c73f92dc8d91f17f816e12aa6152c8421b333081800a5f50b1bb656f203a25faf8ed92c69a6ec164ce0a5619c13
36 DIST go1.13.src.tar.gz 21621948 BLAKE2B dff6024287c0805ec735cb40aef4ffd872bdc17df6e0d531be3d16806292edde2a63299fe7b9b3c97a79f6f864ab0f95962a0cd2e1a0ba0216b3f4bc59bf4bcf SHA512 c6346b1ab256cb743dd98625d8b16cdcc1365b186e039e99747d6c18041045daa065f6bdce17cca0a9800be2dbb34e90adf5518d5295693f80435c02fe5b2cd8
37
38 diff --git a/dev-lang/go/go-1.12.5.ebuild b/dev-lang/go/go-1.12.5.ebuild
39 deleted file mode 100644
40 index daee1d59a92..00000000000
41 --- a/dev-lang/go/go-1.12.5.ebuild
42 +++ /dev/null
43 @@ -1,246 +0,0 @@
44 -# Copyright 1999-2019 Gentoo Authors
45 -# Distributed under the terms of the GNU General Public License v2
46 -
47 -EAPI=7
48 -
49 -export CBUILD=${CBUILD:-${CHOST}}
50 -export CTARGET=${CTARGET:-${CHOST}}
51 -
52 -MY_PV=${PV/_/}
53 -
54 -inherit toolchain-funcs
55 -
56 -BOOTSTRAP_VERSION="bootstrap-1.8"
57 -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
58 -BOOTSTRAP_URI="
59 - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
60 - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
61 - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
62 - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
63 - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
64 - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
65 - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
66 - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
67 - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
68 - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
69 - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
70 -"
71 -
72 -case ${PV} in
73 -*9999*)
74 - EGIT_REPO_URI="https://github.com/golang/go.git"
75 - inherit git-r3
76 - ;;
77 -*)
78 - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
79 - S="${WORKDIR}"/go
80 - case ${PV} in
81 - *_beta*|*_rc*) ;;
82 - *)
83 - KEYWORDS="-* amd64 arm ~arm64 ~ppc64 ~s390 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
84 - # The upstream tests fail under portage but pass if the build is
85 - # run according to their documentation [1].
86 - # I am restricting the tests on released versions until this is
87 - # solved.
88 - # [1] https://golang.org/issues/18442
89 - RESTRICT="test"
90 - ;;
91 - esac
92 -esac
93 -
94 -# If gccgo or a previously installed version of dev-lang/go is not being
95 -# used to build Go, there is no way to know the architecture or operating system
96 -# of the build machine, so we need to download all of our bootstrap
97 -# archives to allow this ebuild to work under crossdev.
98 -#
99 -# https://bugs.gentoo.org/671394
100 -SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )"
101 -
102 -DESCRIPTION="A concurrent garbage collected and typesafe programming language"
103 -HOMEPAGE="https://golang.org"
104 -
105 -LICENSE="BSD"
106 -SLOT="0/${PV}"
107 -IUSE="gccgo system-bootstrap"
108 -
109 -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
110 -RDEPEND="!<dev-go/go-tools-0_pre20150902"
111 -
112 -# These test data objects have writable/executable stacks.
113 -QA_EXECSTACK="
114 - usr/lib/go/src/debug/elf/testdata/*.obj
115 - usr/lib/go/src/*.gox
116 - "
117 -
118 -# Do not complain about CFLAGS, etc, since Go doesn't use them.
119 -QA_FLAGS_IGNORED='.*'
120 -
121 -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
122 -
123 -# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
124 -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
125 -
126 -# Do not strip this package. Stripping is unsupported upstream and may
127 -# fail.
128 -RESTRICT+=" strip"
129 -
130 -DOCS=(
131 -AUTHORS
132 -CONTRIBUTING.md
133 -CONTRIBUTORS
134 -PATENTS
135 -README.md
136 -)
137 -
138 -go_arch()
139 -{
140 - # By chance most portage arch names match Go
141 - local portage_arch=$(tc-arch $@)
142 - case "${portage_arch}" in
143 - x86) echo 386;;
144 - x64-*) echo amd64;;
145 - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
146 - s390) echo s390x ;;
147 - *) echo "${portage_arch}";;
148 - esac
149 -}
150 -
151 -go_arm()
152 -{
153 - case "${1:-${CHOST}}" in
154 - armv5*) echo 5;;
155 - armv6*) echo 6;;
156 - armv7*) echo 7;;
157 - *)
158 - die "unknown GOARM for ${1:-${CHOST}}"
159 - ;;
160 - esac
161 -}
162 -
163 -go_os()
164 -{
165 - case "${1:-${CHOST}}" in
166 - *-linux*) echo linux;;
167 - *-darwin*) echo darwin;;
168 - *-freebsd*) echo freebsd;;
169 - *-netbsd*) echo netbsd;;
170 - *-openbsd*) echo openbsd;;
171 - *-solaris*) echo solaris;;
172 - *-cygwin*|*-interix*|*-winnt*)
173 - echo windows
174 - ;;
175 - *)
176 - die "unknown GOOS for ${1:-${CHOST}}"
177 - ;;
178 - esac
179 -}
180 -
181 -go_tuple()
182 -{
183 - echo "$(go_os $@)_$(go_arch $@)"
184 -}
185 -
186 -go_cross_compile()
187 -{
188 - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
189 -}
190 -
191 -pkg_pretend()
192 -{
193 - # make.bash does not understand cross-compiling a cross-compiler
194 - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
195 - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
196 - fi
197 - [[ ${MERGE_TYPE} != binary ]] &&
198 - use system-bootstrap && ! has_version "dev-lang/go" &&
199 - die "dev-lang/go must be installed to use the system-bootstrap use flag"
200 -}
201 -
202 -src_unpack()
203 -{
204 - if [[ ${PV} = 9999 ]]; then
205 - git-r3_src_unpack
206 - else
207 - unpack "go${MY_PV}.src.tar.gz"
208 - fi
209 - use gccgo || use system-bootstrap ||
210 - unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
211 -}
212 -
213 -src_compile()
214 -{
215 - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
216 - if use gccgo; then
217 - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
218 - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
219 - [[ -x ${go_binary} ]] || go_binary=$(
220 - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
221 - sort -V | tail -n1)
222 - [[ -x ${go_binary} ]] ||
223 - die "go-$(gcc-major-version): command not found"
224 - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
225 - elif use system-bootstrap; then
226 - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go
227 - fi
228 - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
229 - export GOROOT="$(pwd)"
230 - export GOBIN="${GOROOT}/bin"
231 -
232 - # Go's build script does not use BUILD/HOST/TARGET consistently. :(
233 - export GOHOSTARCH=$(go_arch ${CBUILD})
234 - export GOHOSTOS=$(go_os ${CBUILD})
235 - export CC=$(tc-getBUILD_CC)
236 -
237 - export GOARCH=$(go_arch)
238 - export GOOS=$(go_os)
239 - export CC_FOR_TARGET=$(tc-getCC)
240 - export CXX_FOR_TARGET=$(tc-getCXX)
241 - if [[ ${ARCH} == arm ]]; then
242 - export GOARM=$(go_arm)
243 - fi
244 -
245 - cd src
246 - ./make.bash || die "build failed"
247 -}
248 -
249 -src_test()
250 -{
251 - go_cross_compile && return 0
252 -
253 - cd src
254 - PATH="${GOBIN}:${PATH}" \
255 - ./run.bash -no-rebuild || die "tests failed"
256 -}
257 -
258 -src_install()
259 -{
260 - local bin_path f x
261 -
262 - dodir /usr/lib/go
263 -
264 - # There is a known issue which requires the source tree to be installed [1].
265 - # Once this is fixed, we can consider using the doc use flag to control
266 - # installing the doc and src directories.
267 - # [1] https://golang.org/issue/2775
268 - #
269 - # deliberately use cp to retain permissions
270 - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
271 - if go_cross_compile; then
272 - bin_path="bin/$(go_tuple)"
273 - else
274 - bin_path=bin
275 - fi
276 - for x in ${bin_path}/*; do
277 - f=${x##*/}
278 - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
279 - done
280 - einstalldocs
281 -
282 - if [[ ${CHOST} == *-darwin* ]] ; then
283 - # fix install_name for test object (binutils_test) on Darwin, it
284 - # is never used in real circumstances
285 - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
286 - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
287 - install_name_tool -id "${libmac64}" "${D}${libmac64}"
288 - fi
289 -}
290
291 diff --git a/dev-lang/go/go-1.12.6.ebuild b/dev-lang/go/go-1.12.6.ebuild
292 deleted file mode 100644
293 index a6151a8c829..00000000000
294 --- a/dev-lang/go/go-1.12.6.ebuild
295 +++ /dev/null
296 @@ -1,246 +0,0 @@
297 -# Copyright 1999-2019 Gentoo Authors
298 -# Distributed under the terms of the GNU General Public License v2
299 -
300 -EAPI=7
301 -
302 -export CBUILD=${CBUILD:-${CHOST}}
303 -export CTARGET=${CTARGET:-${CHOST}}
304 -
305 -MY_PV=${PV/_/}
306 -
307 -inherit toolchain-funcs
308 -
309 -BOOTSTRAP_VERSION="bootstrap-1.8"
310 -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
311 -BOOTSTRAP_URI="
312 - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
313 - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
314 - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
315 - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
316 - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
317 - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
318 - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
319 - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
320 - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
321 - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
322 - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
323 -"
324 -
325 -case ${PV} in
326 -*9999*)
327 - EGIT_REPO_URI="https://github.com/golang/go.git"
328 - inherit git-r3
329 - ;;
330 -*)
331 - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
332 - S="${WORKDIR}"/go
333 - case ${PV} in
334 - *_beta*|*_rc*) ;;
335 - *)
336 - KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
337 - # The upstream tests fail under portage but pass if the build is
338 - # run according to their documentation [1].
339 - # I am restricting the tests on released versions until this is
340 - # solved.
341 - # [1] https://golang.org/issues/18442
342 - RESTRICT="test"
343 - ;;
344 - esac
345 -esac
346 -
347 -# If gccgo or a previously installed version of dev-lang/go is not being
348 -# used to build Go, there is no way to know the architecture or operating system
349 -# of the build machine, so we need to download all of our bootstrap
350 -# archives to allow this ebuild to work under crossdev.
351 -#
352 -# https://bugs.gentoo.org/671394
353 -SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )"
354 -
355 -DESCRIPTION="A concurrent garbage collected and typesafe programming language"
356 -HOMEPAGE="https://golang.org"
357 -
358 -LICENSE="BSD"
359 -SLOT="0/${PV}"
360 -IUSE="gccgo system-bootstrap"
361 -
362 -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
363 -RDEPEND="!<dev-go/go-tools-0_pre20150902"
364 -
365 -# These test data objects have writable/executable stacks.
366 -QA_EXECSTACK="
367 - usr/lib/go/src/debug/elf/testdata/*.obj
368 - usr/lib/go/src/*.gox
369 - "
370 -
371 -# Do not complain about CFLAGS, etc, since Go doesn't use them.
372 -QA_FLAGS_IGNORED='.*'
373 -
374 -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
375 -
376 -# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
377 -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
378 -
379 -# Do not strip this package. Stripping is unsupported upstream and may
380 -# fail.
381 -RESTRICT+=" strip"
382 -
383 -DOCS=(
384 -AUTHORS
385 -CONTRIBUTING.md
386 -CONTRIBUTORS
387 -PATENTS
388 -README.md
389 -)
390 -
391 -go_arch()
392 -{
393 - # By chance most portage arch names match Go
394 - local portage_arch=$(tc-arch $@)
395 - case "${portage_arch}" in
396 - x86) echo 386;;
397 - x64-*) echo amd64;;
398 - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
399 - s390) echo s390x ;;
400 - *) echo "${portage_arch}";;
401 - esac
402 -}
403 -
404 -go_arm()
405 -{
406 - case "${1:-${CHOST}}" in
407 - armv5*) echo 5;;
408 - armv6*) echo 6;;
409 - armv7*) echo 7;;
410 - *)
411 - die "unknown GOARM for ${1:-${CHOST}}"
412 - ;;
413 - esac
414 -}
415 -
416 -go_os()
417 -{
418 - case "${1:-${CHOST}}" in
419 - *-linux*) echo linux;;
420 - *-darwin*) echo darwin;;
421 - *-freebsd*) echo freebsd;;
422 - *-netbsd*) echo netbsd;;
423 - *-openbsd*) echo openbsd;;
424 - *-solaris*) echo solaris;;
425 - *-cygwin*|*-interix*|*-winnt*)
426 - echo windows
427 - ;;
428 - *)
429 - die "unknown GOOS for ${1:-${CHOST}}"
430 - ;;
431 - esac
432 -}
433 -
434 -go_tuple()
435 -{
436 - echo "$(go_os $@)_$(go_arch $@)"
437 -}
438 -
439 -go_cross_compile()
440 -{
441 - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
442 -}
443 -
444 -pkg_pretend()
445 -{
446 - # make.bash does not understand cross-compiling a cross-compiler
447 - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
448 - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
449 - fi
450 - [[ ${MERGE_TYPE} != binary ]] &&
451 - use system-bootstrap && ! has_version "dev-lang/go" &&
452 - die "dev-lang/go must be installed to use the system-bootstrap use flag"
453 -}
454 -
455 -src_unpack()
456 -{
457 - if [[ ${PV} = 9999 ]]; then
458 - git-r3_src_unpack
459 - else
460 - unpack "go${MY_PV}.src.tar.gz"
461 - fi
462 - use gccgo || use system-bootstrap ||
463 - unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
464 -}
465 -
466 -src_compile()
467 -{
468 - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
469 - if use gccgo; then
470 - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
471 - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
472 - [[ -x ${go_binary} ]] || go_binary=$(
473 - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
474 - sort -V | tail -n1)
475 - [[ -x ${go_binary} ]] ||
476 - die "go-$(gcc-major-version): command not found"
477 - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
478 - elif use system-bootstrap; then
479 - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go
480 - fi
481 - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
482 - export GOROOT="$(pwd)"
483 - export GOBIN="${GOROOT}/bin"
484 -
485 - # Go's build script does not use BUILD/HOST/TARGET consistently. :(
486 - export GOHOSTARCH=$(go_arch ${CBUILD})
487 - export GOHOSTOS=$(go_os ${CBUILD})
488 - export CC=$(tc-getBUILD_CC)
489 -
490 - export GOARCH=$(go_arch)
491 - export GOOS=$(go_os)
492 - export CC_FOR_TARGET=$(tc-getCC)
493 - export CXX_FOR_TARGET=$(tc-getCXX)
494 - if [[ ${ARCH} == arm ]]; then
495 - export GOARM=$(go_arm)
496 - fi
497 -
498 - cd src
499 - ./make.bash || die "build failed"
500 -}
501 -
502 -src_test()
503 -{
504 - go_cross_compile && return 0
505 -
506 - cd src
507 - PATH="${GOBIN}:${PATH}" \
508 - ./run.bash -no-rebuild || die "tests failed"
509 -}
510 -
511 -src_install()
512 -{
513 - local bin_path f x
514 -
515 - dodir /usr/lib/go
516 -
517 - # There is a known issue which requires the source tree to be installed [1].
518 - # Once this is fixed, we can consider using the doc use flag to control
519 - # installing the doc and src directories.
520 - # [1] https://golang.org/issue/2775
521 - #
522 - # deliberately use cp to retain permissions
523 - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
524 - if go_cross_compile; then
525 - bin_path="bin/$(go_tuple)"
526 - else
527 - bin_path=bin
528 - fi
529 - for x in ${bin_path}/*; do
530 - f=${x##*/}
531 - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
532 - done
533 - einstalldocs
534 -
535 - if [[ ${CHOST} == *-darwin* ]] ; then
536 - # fix install_name for test object (binutils_test) on Darwin, it
537 - # is never used in real circumstances
538 - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
539 - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
540 - install_name_tool -id "${libmac64}" "${D}${libmac64}"
541 - fi
542 -}
543
544 diff --git a/dev-lang/go/go-1.12.7.ebuild b/dev-lang/go/go-1.12.7.ebuild
545 deleted file mode 100644
546 index a6151a8c829..00000000000
547 --- a/dev-lang/go/go-1.12.7.ebuild
548 +++ /dev/null
549 @@ -1,246 +0,0 @@
550 -# Copyright 1999-2019 Gentoo Authors
551 -# Distributed under the terms of the GNU General Public License v2
552 -
553 -EAPI=7
554 -
555 -export CBUILD=${CBUILD:-${CHOST}}
556 -export CTARGET=${CTARGET:-${CHOST}}
557 -
558 -MY_PV=${PV/_/}
559 -
560 -inherit toolchain-funcs
561 -
562 -BOOTSTRAP_VERSION="bootstrap-1.8"
563 -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
564 -BOOTSTRAP_URI="
565 - ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
566 - ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
567 - ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
568 - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
569 - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
570 - ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
571 - ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
572 - ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
573 - ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
574 - ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
575 - ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
576 -"
577 -
578 -case ${PV} in
579 -*9999*)
580 - EGIT_REPO_URI="https://github.com/golang/go.git"
581 - inherit git-r3
582 - ;;
583 -*)
584 - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
585 - S="${WORKDIR}"/go
586 - case ${PV} in
587 - *_beta*|*_rc*) ;;
588 - *)
589 - KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
590 - # The upstream tests fail under portage but pass if the build is
591 - # run according to their documentation [1].
592 - # I am restricting the tests on released versions until this is
593 - # solved.
594 - # [1] https://golang.org/issues/18442
595 - RESTRICT="test"
596 - ;;
597 - esac
598 -esac
599 -
600 -# If gccgo or a previously installed version of dev-lang/go is not being
601 -# used to build Go, there is no way to know the architecture or operating system
602 -# of the build machine, so we need to download all of our bootstrap
603 -# archives to allow this ebuild to work under crossdev.
604 -#
605 -# https://bugs.gentoo.org/671394
606 -SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )"
607 -
608 -DESCRIPTION="A concurrent garbage collected and typesafe programming language"
609 -HOMEPAGE="https://golang.org"
610 -
611 -LICENSE="BSD"
612 -SLOT="0/${PV}"
613 -IUSE="gccgo system-bootstrap"
614 -
615 -BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
616 -RDEPEND="!<dev-go/go-tools-0_pre20150902"
617 -
618 -# These test data objects have writable/executable stacks.
619 -QA_EXECSTACK="
620 - usr/lib/go/src/debug/elf/testdata/*.obj
621 - usr/lib/go/src/*.gox
622 - "
623 -
624 -# Do not complain about CFLAGS, etc, since Go doesn't use them.
625 -QA_FLAGS_IGNORED='.*'
626 -
627 -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
628 -
629 -# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
630 -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
631 -
632 -# Do not strip this package. Stripping is unsupported upstream and may
633 -# fail.
634 -RESTRICT+=" strip"
635 -
636 -DOCS=(
637 -AUTHORS
638 -CONTRIBUTING.md
639 -CONTRIBUTORS
640 -PATENTS
641 -README.md
642 -)
643 -
644 -go_arch()
645 -{
646 - # By chance most portage arch names match Go
647 - local portage_arch=$(tc-arch $@)
648 - case "${portage_arch}" in
649 - x86) echo 386;;
650 - x64-*) echo amd64;;
651 - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
652 - s390) echo s390x ;;
653 - *) echo "${portage_arch}";;
654 - esac
655 -}
656 -
657 -go_arm()
658 -{
659 - case "${1:-${CHOST}}" in
660 - armv5*) echo 5;;
661 - armv6*) echo 6;;
662 - armv7*) echo 7;;
663 - *)
664 - die "unknown GOARM for ${1:-${CHOST}}"
665 - ;;
666 - esac
667 -}
668 -
669 -go_os()
670 -{
671 - case "${1:-${CHOST}}" in
672 - *-linux*) echo linux;;
673 - *-darwin*) echo darwin;;
674 - *-freebsd*) echo freebsd;;
675 - *-netbsd*) echo netbsd;;
676 - *-openbsd*) echo openbsd;;
677 - *-solaris*) echo solaris;;
678 - *-cygwin*|*-interix*|*-winnt*)
679 - echo windows
680 - ;;
681 - *)
682 - die "unknown GOOS for ${1:-${CHOST}}"
683 - ;;
684 - esac
685 -}
686 -
687 -go_tuple()
688 -{
689 - echo "$(go_os $@)_$(go_arch $@)"
690 -}
691 -
692 -go_cross_compile()
693 -{
694 - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
695 -}
696 -
697 -pkg_pretend()
698 -{
699 - # make.bash does not understand cross-compiling a cross-compiler
700 - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
701 - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
702 - fi
703 - [[ ${MERGE_TYPE} != binary ]] &&
704 - use system-bootstrap && ! has_version "dev-lang/go" &&
705 - die "dev-lang/go must be installed to use the system-bootstrap use flag"
706 -}
707 -
708 -src_unpack()
709 -{
710 - if [[ ${PV} = 9999 ]]; then
711 - git-r3_src_unpack
712 - else
713 - unpack "go${MY_PV}.src.tar.gz"
714 - fi
715 - use gccgo || use system-bootstrap ||
716 - unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
717 -}
718 -
719 -src_compile()
720 -{
721 - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
722 - if use gccgo; then
723 - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
724 - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
725 - [[ -x ${go_binary} ]] || go_binary=$(
726 - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
727 - sort -V | tail -n1)
728 - [[ -x ${go_binary} ]] ||
729 - die "go-$(gcc-major-version): command not found"
730 - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
731 - elif use system-bootstrap; then
732 - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go
733 - fi
734 - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
735 - export GOROOT="$(pwd)"
736 - export GOBIN="${GOROOT}/bin"
737 -
738 - # Go's build script does not use BUILD/HOST/TARGET consistently. :(
739 - export GOHOSTARCH=$(go_arch ${CBUILD})
740 - export GOHOSTOS=$(go_os ${CBUILD})
741 - export CC=$(tc-getBUILD_CC)
742 -
743 - export GOARCH=$(go_arch)
744 - export GOOS=$(go_os)
745 - export CC_FOR_TARGET=$(tc-getCC)
746 - export CXX_FOR_TARGET=$(tc-getCXX)
747 - if [[ ${ARCH} == arm ]]; then
748 - export GOARM=$(go_arm)
749 - fi
750 -
751 - cd src
752 - ./make.bash || die "build failed"
753 -}
754 -
755 -src_test()
756 -{
757 - go_cross_compile && return 0
758 -
759 - cd src
760 - PATH="${GOBIN}:${PATH}" \
761 - ./run.bash -no-rebuild || die "tests failed"
762 -}
763 -
764 -src_install()
765 -{
766 - local bin_path f x
767 -
768 - dodir /usr/lib/go
769 -
770 - # There is a known issue which requires the source tree to be installed [1].
771 - # Once this is fixed, we can consider using the doc use flag to control
772 - # installing the doc and src directories.
773 - # [1] https://golang.org/issue/2775
774 - #
775 - # deliberately use cp to retain permissions
776 - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
777 - if go_cross_compile; then
778 - bin_path="bin/$(go_tuple)"
779 - else
780 - bin_path=bin
781 - fi
782 - for x in ${bin_path}/*; do
783 - f=${x##*/}
784 - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
785 - done
786 - einstalldocs
787 -
788 - if [[ ${CHOST} == *-darwin* ]] ; then
789 - # fix install_name for test object (binutils_test) on Darwin, it
790 - # is never used in real circumstances
791 - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
792 - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
793 - install_name_tool -id "${libmac64}" "${D}${libmac64}"
794 - fi
795 -}