commit: 9f5b2512594ff955f5b2d33a7c61cb957fa52204 parent: e2bd51a28b5914e374a2291fa6b01bb21867c9a7 Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me> Date: Sat, 6 Jul 2019 04:38:27 +0200 dev-lang/go-bootstrap: Move to dev-lang/go to avoid rewriting each version of dev-lang/go:0Diffstat:
D | dev-lang/go-bootstrap/Manifest | 1 | - |
D | dev-lang/go-bootstrap/go-bootstrap-20171003.ebuild | 72 | ------------------------------------------------------------------------ |
D | dev-lang/go-bootstrap/metadata.xml | 8 | -------- |
M | dev-lang/go/Manifest | 13 | +------------ |
A | dev-lang/go/go-0.20171003.ebuild | 72 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
D | dev-lang/go/go-1.10.3.ebuild | 236 | ------------------------------------------------------------------------------- |
M | dev-lang/go/metadata.xml | 4 | ---- |
7 files changed, 73 insertions(+), 333 deletions(-)
diff --git a/dev-lang/go-bootstrap/Manifest b/dev-lang/go-bootstrap/Manifest @@ -1 +0,0 @@ -DIST go-bootstrap-20171003.tar.gz 11009739 BLAKE2B 44653911a8276767ba5b357c1e759d8ab3c39b964c44e0c263a4a6a4d77a7dc8f8b31a56c51386e36ae2f749f406673e89ba8f6ade1bbe015ead79eb005aa709 SHA512 2f65d5035d2b4ae8610c3337e0fcba64692c63953b54bf735f634da3532c6573ed08927865bf068b00a3885663815c5efc7dbd9a1b3d6337c9a0c62168aabca7 diff --git a/dev-lang/go-bootstrap/go-bootstrap-20171003.ebuild b/dev-lang/go-bootstrap/go-bootstrap-20171003.ebuild @@ -1,72 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils toolchain-funcs - -DESCRIPTION="Boostrap Go from C (useful for musl libc)" -HOMEPAGE="https://golang.org/doc/install/source" -SRC_URI="https://dl.google.com/go/go1.4-bootstrap-${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -DEPEND="" -RDEPEND="" - -RESTRICT="mirror" - -# The go tools should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go1.4/pkg/tool/.*/.*" - -# The go language uses *.a files which are _NOT_ libraries and should not be -# stripped. The test data objects should also be left alone and unstripped. -STRIP_MASK="/usr/lib/go1.4/pkg/*.a - /usr/lib/go1.4/src/debug/elf/testdata/* - /usr/lib/go1.4/src/debug/dwarf/testdata/* - /usr/lib/go1.4/src/runtime/race/*.syso -" - -S="${WORKDIR}/go" - -src_prepare() { - sed -i -e 's/"-Werror",//g' src/cmd/dist/build.c - - default -} - -src_compile() { - export GOROOT_FINAL="${EPREFIX}/usr/lib/go1.4" - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - export CGO_ENABLED=0 - - tc-export CC - - cd src - ./make.bash || die "build failed" -} - -src_install() { - dodir /usr/lib/go1.4 - exeinto /usr/lib/go1.4/bin - doexe bin/* - insinto /usr/lib/go1.4 - doins -r lib pkg src - fperms -R +x /usr/lib/go1.4/pkg/tool -} - -pkg_postinst() { - # If the go tool sees a package file timestamped older than a dependancy it - # will rebuild that file. So, in order to stop go from rebuilding lots of - # packages for every build we need to fix the timestamps. The compiler and - # linker are also checked - so we need to fix them too. - ebegin "fixing timestamps to avoid unnecessary rebuilds" - tref="usr/lib/go1.4/pkg/*/runtime.a" - find "${EROOT}"usr/lib/go1.4 -type f \ - -exec touch -r "${EROOT}"${tref} {} \; - eend $? -} diff --git a/dev-lang/go-bootstrap/metadata.xml b/dev-lang/go-bootstrap/metadata.xml @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>contact@hacktivis.me</email> - <name>Haelwenn (lanodan) Monnier</name> - </maintainer> -</pkgmetadata> diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest @@ -1,12 +1 @@ -DIST go-darwin-amd64-bootstrap-1.8.tbz 55053831 BLAKE2B 7d87ff36b0e13b3b3c0b8ffc4516493e1a6dde1287675b85b591c1d0a8438c9cb9c8991dc53d3c94c5ebb26830da1c7177ef1f90c250c1efeb5868020abcc660 SHA512 4cc24d44c84c94feafab021c0977fcea2aca8f191c6395e38fff68154b1e64efc3f94331c3e36c7b69901af58e9d53545c682f0a742d36b2d230508bd69777c4 -DIST go-freebsd-386-bootstrap-1.8.tbz 53739013 BLAKE2B a91e0a6b601aadc965f774ffd25a185e1f300e7194e969337f32bf9cb3056769786d92ef697271e7434d72c04d9d6780bf0fb3cb70efa83fe53cc18dc23670ec SHA512 c92f849b2d92401657412cccc589042b2747e55b2f4813d674c5bc91c3f535ee60f8ed7b8cbf1320e216d22a16dade8b78bb8071982895901f2b3c304e38f478 -DIST go-freebsd-amd64-bootstrap-1.8.tbz 55103927 BLAKE2B 30e4e4bcb43da3a170f520b47cd032a524d4c4977a9c76c4d597bb50e21a3ad2ef764dec15085d97cb5791bd483d8fac10ef5949c56b46e7580468fc9c90a78c SHA512 c7d50731ff41147295ef5f3233aa1404081b47e786a300e1d0e4db8348e56bd73fe5f169fe8b807ffa37a53683e3aef16ebb6e877d802b86ff1a3d5d3a6f44cb -DIST go-linux-386-bootstrap-1.8.tbz 53843745 BLAKE2B 6bbb6df7ea0f7307386590524261f9ec477e7032171020ac3ed4a09bf9c39075ba4143c466611b0ab28cc4b494dec75063ecb291d2166a82bc7601562e7e3685 SHA512 b456f7572d04c805a6fc756647c050460f76e5404dba41963c861c92f1600e9fedafe181a1f69132518065737a88edb4b183ec8c3ca24bc8df31279117e92606 -DIST go-linux-amd64-bootstrap-1.8.tbz 55399105 BLAKE2B 2a0b101b9dfd9db8c62dfc12418a7b03d6a346de43f7c75a8272d05ca12c36b4844b0f631199c5944a436e50aeeb6cd591323268ecdf33ec2412283efab8c59b SHA512 89d68cfe0e6ce4be690cf52a4a02b17ef2cae3538b057d4690bfd6e93727bcdc1cbc17cba3403e652bb95bffd25d44bdd4efd0014d1d2f019838bde925139f57 -DIST go-linux-arm-bootstrap-1.8.tbz 53948103 BLAKE2B 515051e777ad273999c82f31b8a07ba61b77fbeede761a72b52c0bc3a7b55da013b5061af03a1b9634bf7b44429d7b371b89be85fb9e4f3a23d4d1a3c52bd90b SHA512 98ff0dbdb2aca9e54ea5327c9d31ce389e434a887015ef8555a8e85223a9998075c5013045275fb995a877a8d247704a21d726d46df7097adc0c4aa03af4cd68 -DIST go-linux-arm64-bootstrap-1.8.tbz 51947002 BLAKE2B 5899f5d304031eae96b66ed7aa21f5af13b0fdfdcd7a12095bda2eff0f5fe5610135f9370b34681e4c33f33c1e0428a2a09c1c8a581c6b170da223f57cac4607 SHA512 adfbe62c5594c267707078bf8afb94a793dfba004c04a1a60f96d023d96c2fc4a6a422dee93a0f3487b1f2e1e117c7c6c607b62126dd5535686aaed88f6659d9 -DIST go-linux-ppc64-bootstrap-1.8.tbz 52315782 BLAKE2B 6be0a48e8bc4e5fed4d34f8aaa8dfb6ad4d513064275dd940d0f58b25d442b33ad71c11687d317448b93d9c4690f7412e5a6a4553ec5298663409416cec04fbf SHA512 0aa32ac1514055ed9140b8c8330cbdbadfd9da6ad00b60d49b0685473be21e0b6510c31394678e32048f2f38d06a0d575f453c555614664eaef2bf5be6c91734 -DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8360e904c2545380513afd328077c584e8af0bf6bd818aa03e5a58c350cbb98facc1c9dccb02b06adcb27233875497cf5d33265912 SHA512 6931d999dd0ee1ff44c4cec48acb27af061f57f87aa74802dcebab78553b46bc8ac732f07fe91e5074dbdd32c55b707994875934bfb12bb4276d71eb1d06c4ba -DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a -DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d -DIST go1.10.3.src.tar.gz 18323736 BLAKE2B f07ea774378eb25e28fc29ce6d8d7ed84227d4b93bfa93d38a071fe294da30c3cdc3a559d643e7379873df56b0e2731dbd772e385ffcb4b2e93819db3b4e33f2 SHA512 fd2bd5fcb5c6d0a5336c4b1d2cacb368edbb01359297a83bdedc53f6018642598232f00633fc60fde879050f5f26a810c828d46b5d6626cbcc0702d93ad33fbb +DIST go-20171003.tar.gz 11009739 BLAKE2B 44653911a8276767ba5b357c1e759d8ab3c39b964c44e0c263a4a6a4d77a7dc8f8b31a56c51386e36ae2f749f406673e89ba8f6ade1bbe015ead79eb005aa709 SHA512 2f65d5035d2b4ae8610c3337e0fcba64692c63953b54bf735f634da3532c6573ed08927865bf068b00a3885663815c5efc7dbd9a1b3d6337c9a0c62168aabca7 diff --git a/dev-lang/go/go-0.20171003.ebuild b/dev-lang/go/go-0.20171003.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils toolchain-funcs + +DESCRIPTION="Boostrap Go from C (useful for musl libc)" +HOMEPAGE="https://golang.org/doc/install/source" +SRC_URI="https://dl.google.com/go/go1.4-bootstrap-${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +SLOT="bootstrap" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +RESTRICT="mirror" + +# The go tools should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go1.4/pkg/tool/.*/.*" + +# The go language uses *.a files which are _NOT_ libraries and should not be +# stripped. The test data objects should also be left alone and unstripped. +STRIP_MASK="/usr/lib/go1.4/pkg/*.a + /usr/lib/go1.4/src/debug/elf/testdata/* + /usr/lib/go1.4/src/debug/dwarf/testdata/* + /usr/lib/go1.4/src/runtime/race/*.syso +" + +S="${WORKDIR}/go" + +src_prepare() { + sed -i -e 's/"-Werror",//g' src/cmd/dist/build.c + + default +} + +src_compile() { + export GOROOT_FINAL="${EPREFIX}/usr/lib/go1.4" + export GOROOT="$(pwd)" + export GOBIN="${GOROOT}/bin" + export CGO_ENABLED=0 + + tc-export CC + + cd src + ./make.bash || die "build failed" +} + +src_install() { + dodir /usr/lib/go1.4 + exeinto /usr/lib/go1.4/bin + doexe bin/* + insinto /usr/lib/go1.4 + doins -r lib pkg src + fperms -R +x /usr/lib/go1.4/pkg/tool +} + +pkg_postinst() { + # If the go tool sees a package file timestamped older than a dependancy it + # will rebuild that file. So, in order to stop go from rebuilding lots of + # packages for every build we need to fix the timestamps. The compiler and + # linker are also checked - so we need to fix them too. + ebegin "fixing timestamps to avoid unnecessary rebuilds" + tref="usr/lib/go1.4/pkg/*/runtime.a" + find "${EROOT}"usr/lib/go1.4 -type f \ + -exec touch -r "${EROOT}"${tref} {} \; + eend $? +} diff --git a/dev-lang/go/go-1.10.3.ebuild b/dev-lang/go/go-1.10.3.ebuild @@ -1,236 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" -BOOTSTRAP_VERSION="bootstrap-1.8" -BOOTSTRAP_URI=" -amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz ) -arm? ( ${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz ) -arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz ) -ppc64? ( - ${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz - ${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz -) -s390? ( ${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz ) -x86? ( ${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz ) -amd64-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz ) -x86-fbsd? ( ${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz ) -x64-macos? ( ${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz ) -x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz ) -" - -case ${PV} in -*9999*) - EGIT_REPO_URI="https://github.com/golang/go.git" - inherit git-r3 - ;; -*) - SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz " - S="${WORKDIR}"/go - case ${PV} in - *_beta*|*_rc*) ;; - *) - KEYWORDS="~amd64 ~arm ~x86" - # The upstream tests fail under portage but pass if the build is - # run according to their documentation [1]. - # I am restricting the tests on released versions until this is - # solved. - # [1] https://golang.org/issues/18442 - RESTRICT="test" - ;; - esac -esac -SRC_URI+="!gccgo? ( !bootstrap? ( ${BOOTSTRAP_URI} ) )" - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" -IUSE="gccgo bootstrap" - -DEPEND=" - gccgo? ( >=sys-devel/gcc-5[go] ) - bootstrap? ( dev-lang/go-bootstrap ) -" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# These test data objects have writable/executable stacks. -QA_EXECSTACK=" - usr/lib/go/src/debug/elf/testdata/*.obj - usr/lib/go/src/go/internal/gccgoimporter/testdata/escapeinfo.gox - usr/lib/go/src/go/internal/gccgoimporter/testdata/unicode.gox - usr/lib/go/src/go/internal/gccgoimporter/testdata/time.gox - " - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*" - -# The tools in /usr/lib/go should not cause the multilib-strict check to fail. -QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*" - -# Do not strip this package. Stripping is unsupported upstream and may -# fail. -RESTRICT+=" strip" - -DOCS=( -AUTHORS -CONTRIBUTING.md -CONTRIBUTORS -PATENTS -README.md -) - -go_arch() -{ - # By chance most portage arch names match Go - local portage_arch=$(tc-arch $@) - case "${portage_arch}" in - x86) echo 386;; - x64-*) echo amd64;; - ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;; - s390) echo s390x ;; - *) echo "${portage_arch}";; - esac -} - -go_arm() -{ - case "${1:-${CHOST}}" in - armv5*) echo 5;; - armv6*) echo 6;; - armv7*) echo 7;; - *) - die "unknown GOARM for ${1:-${CHOST}}" - ;; - esac -} - -go_os() -{ - case "${1:-${CHOST}}" in - *-linux*) echo linux;; - *-darwin*) echo darwin;; - *-freebsd*) echo freebsd;; - *-netbsd*) echo netbsd;; - *-openbsd*) echo openbsd;; - *-solaris*) echo solaris;; - *-cygwin*|*-interix*|*-winnt*) - echo windows - ;; - *) - die "unknown GOOS for ${1:-${CHOST}}" - ;; - esac -} - -go_tuple() -{ - echo "$(go_os $@)_$(go_arch $@)" -} - -go_cross_compile() -{ - [[ $(go_tuple ${CBUILD}) != $(go_tuple) ]] -} - -pkg_pretend() -{ - # make.bash does not understand cross-compiling a cross-compiler - if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then - die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}" - fi -} - -src_unpack() -{ - if [[ ${PV} = 9999 ]]; then - git-r3_src_unpack - fi - default -} - -src_compile() -{ - export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os)-$(go_arch)-bootstrap - if use gccgo; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version) - [[ -x ${go_binary} ]] || go_binary=$( - find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) | - sort -V | tail -n1) - [[ -x ${go_binary} ]] || - die "go-$(gcc-major-version): command not found" - ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die - fi - if use bootstrap; then - mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die - ln -s "${EPREFIX}/usr/lib/go1.4/bin/go" "${GOROOT_BOOTSTRAP}/bin/go" || die - export GOROOT_BOOTSTRAP="${EPREFIX}/usr/lib/go1.4" - fi - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - - # Go's build script does not use BUILD/HOST/TARGET consistently. :( - export GOHOSTARCH=$(go_arch ${CBUILD}) - export GOHOSTOS=$(go_os ${CBUILD}) - export CC=$(tc-getBUILD_CC) - - export GOARCH=$(go_arch) - export GOOS=$(go_os) - export CC_FOR_TARGET=$(tc-getCC) - export CXX_FOR_TARGET=$(tc-getCXX) - if [[ ${ARCH} == arm ]]; then - export GOARM=$(go_arm) - fi - einfo "GOROOT_BOOTSTRAP is ${GOROOT_BOOTSTRAP}" - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" -} - -src_install() -{ - local bin_path f x - - dodir /usr/lib/go - - # There is a known issue which requires the source tree to be installed [1]. - # Once this is fixed, we can consider using the doc use flag to control - # installing the doc and src directories. - # [1] https://golang.org/issue/2775 - # - # deliberately use cp to retain permissions - cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go - if go_cross_compile; then - bin_path="bin/$(go_tuple)" - else - bin_path=bin - fi - for x in ${bin_path}/*; do - f=${x##*/} - dosym ../lib/go/${bin_path}/${f} /usr/bin/${f} - done - einstalldocs -} diff --git a/dev-lang/go/metadata.xml b/dev-lang/go/metadata.xml @@ -8,8 +8,4 @@ <longdescription lang="en"> Go is a new systems programming language developped at google by Rob Pike. It has garbage collection, coroutines, communication channels and a clean syntax. </longdescription> - <use> - <flag name="bootstrap">Use <pkg>dev-lang/go-bootstrap</pkg> instead of binairies</flag> - <flag name="gccgo">Enable bootstrapping using gccgo</flag> - </use> </pkgmetadata>