From f4115d230c2485607b15bdc5df601553b6639721 Mon Sep 17 00:00:00 2001 From: Nick Owens Date: Tue, 26 Apr 2016 12:57:10 -0700 Subject: [PATCH] dev-lang/go{,-bootstrap}: bump bootstrap to 1.5.3 go 1.5+ can't be compiled without go, and so does not work on arm64 systems. switch go-bootstrap to use a binary package, and use that to build a new go. --- .../dev-lang/go-bootstrap/Manifest | 18 +--- .../go-bootstrap/go-bootstrap-1.4.2-r1.ebuild | 87 ------------------- .../go-bootstrap/go-bootstrap-1.5.3.ebuild | 81 +++++++++++++++++ .../{go-1.5.4.ebuild => go-1.5.4-r1.ebuild} | 0 .../coreos-overlay/dev-lang/go/go-9999.ebuild | 5 +- 5 files changed, 86 insertions(+), 105 deletions(-) delete mode 100644 sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.4.2-r1.ebuild create mode 100644 sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.5.3.ebuild rename sdk_container/src/third_party/coreos-overlay/dev-lang/go/{go-1.5.4.ebuild => go-1.5.4-r1.ebuild} (100%) diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/Manifest b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/Manifest index cfd94e3d40..110c990929 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/Manifest @@ -1,16 +1,2 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - -DIST go1.4.1.src.tar.gz 10921282 SHA256 3d9bb27ad4be51f60dc44f3d0026036ef07142797b1df1b5ae816277e6c31bb3 SHA512 47cbd67cdca8d67e8d09fee6d9a9fd5ddfa65f59413bd583c83b27c598f7b1b23e51e894888c10202bada560a16758eb847bff963d77726724aefecaea5cf644 WHIRLPOOL 0e63fce9674204c79dafad2daea1b8e097370ae7a5b5ee0e463235925cec4a3e74fa0980de8fe6fa1adbc072c2921cef494c5eafe251fe4e26a0f1586bd217e0 -DIST go1.4.2.src.tar.gz 10921896 SHA256 299a6fd8f8adfdce15bc06bde926e7b252ae8e24dd5b16b7d8791ed79e7b5e9b SHA512 cda1a29d4418875dffaf3324004ddae8e1bbb573f7668e6e0c03d8b61284f4db7fca244c181f2859f8ccdd3db6391fb21e0d98a1a9fc15096c15883249d48a9c WHIRLPOOL d06c27f6ff3a6499a6c7cb3c5eccd53eb588896c4d837e1fe9855c22ee3caa5cc48fd68cbeceff105b7c47fafbbf0eb3dc28ee3af7196692c5bf18511c6760ef -EBUILD go-bootstrap-1.4.1.ebuild 2066 SHA256 5c5ff9487daf58cb540674f4f1251bad65153d90bd5fa1797dd81b8a9d8e7db4 SHA512 b3c9e44ea9cdc43fa1376642182b9164792f11dcc75661e330a439384344a334c62a2e5e049839c1d5b6a4e2ce008154dc93ed1cc97bcd11267f1eb78f03e629 WHIRLPOOL 780b64ce3a0f722cd1599756d7708a029cf6ba23617763bb690216d56a9fd134d9d1d2200818cb3965c7ac35e7abe638af8fc56f76d99b06e24f0061345fd6f7 -EBUILD go-bootstrap-1.4.2.ebuild 2066 SHA256 91ed737ba74a5fca23420812f1f62a636b02542b0630a7606b6fb5289865c2c7 SHA512 eea3725f87e88f66827f0f794aa2945d37fed5117503c756077613fdd86306a285e7b008b5fb2be899a004dd745c1b688b9a8343f2d2c32b8d6486ae3d7dc09e WHIRLPOOL cdc2eab3371b3bed591f31c187b508cd4035af2cdacbb69893f2d16d2cc8638b3fe766218a0ac39f5ecc5157f198e1a719d87353757e07052c52d89642fd6a78 -MISC ChangeLog 686 SHA256 da1550391b5cf7590987efdb8a40e2b94cb831ed2ecf44667d91d079c3e41ab1 SHA512 0215a663d9aa55a5fa3082b33e106b75d1ffc87a8677dfd8dea6e313084df6878d5b55d2438809d3d2bd459efc5a2c5d645fefad859dff98a09692a95cdaa396 WHIRLPOOL 40b583494fee7f46ec1a7f2dc220558d72c857d7984a758d0fca31f95d06f8a7010f33a80224ba7bc8364e874bd7bb2ddb9dcc82016e5f14338dfe055c3f5b44 -MISC metadata.xml 467 SHA256 3f0e04fc62e643abd20c541d2739faa9ac03a72add79b873ad5e705dbb154820 SHA512 ce1062602cc5c6391154c9ea7d0c2c4b68e91a904fae059867a77e54d74d2e4a648176d12606ab558a509c3a3dc45b533258ae7ba9b15fa138d5faf6a4d8069b WHIRLPOOL 5fac459140bc77aa26d20c57103be488e690d04ac9c1868fbb2314a4ec84a06b9a5ded3a4ee5860c74d777e9f5cf450da4e5d22b94cb7841e7ba7dda0c741643 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2 - -iEYEAREIAAYFAlUIzBkACgkQblQW9DDEZTj1tgCgkOZUl162QKS3mbqJWevqDczb -5aMAnjpvMl/rsnq15bsxnQnD/qkb0i6S -=vjg4 ------END PGP SIGNATURE----- +DIST go-linux-amd64-bootstrap.tbz 48722911 SHA256 0ab0842fb1f6cc6f10a85f225ff1a2b9e5e4b38128a7136d0c1896819421a986 SHA512 ce4dbc979b63a4612f4a8f7e7a6c5247e11bbc3a2d62ab0537a1b405ec8ab22f153012421d2240a7d6a4f91a79bb3f1370454f9e843fac43b99757c17134e5b7 WHIRLPOOL a94d0e0a1c44e3385d23f8973d15e6ef041450a3578c38987f158c4f9f231d315bc5204539d9dc7322cc9ecb96b7618b22d023f906474e1348c5d666792dff58 +DIST go-linux-arm64-bootstrap.tbz 45369354 SHA256 810c998e6701580fe0f26d46c5796eefce648e252ff9d6d761304e60556b7fc0 SHA512 3f64869430c03efa77796ed74d07a337e2a205802485605cbdd67778a08e5ce041ce3925b7a5cca0a6b4ad24ab70e07ee54091b010f67ec7370a985022f5a21e WHIRLPOOL f6f470081d5f23c190310280aaf7454a4f58fe4e7545bbd219046711f8d27ce97cc5f5f1c207e777067d1f6332e4b3f2c819b178e899d21c2d5d1d466a42cc37 diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.4.2-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.4.2-r1.ebuild deleted file mode 100644 index 68ca142fc9..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.4.2-r1.ebuild +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/go-bootstrap/go-bootstrap-1.4.2.ebuild,v 1.1 2015/03/18 00:51:29 williamh Exp $ - -EAPI=5 - -export CTARGET=${CTARGET:-${CHOST}} - -inherit eutils toolchain-funcs - -SRC_URI="https://storage.googleapis.com/golang/go${PV}.src.tar.gz" -# Upstream only supports go on amd64, arm and x86 architectures. -KEYWORDS="-* amd64 ~arm ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos ~x86-macos" - -DESCRIPTION="Version of go compiler used for bootstrapping" -HOMEPAGE="http://www.golang.org" - -LICENSE="BSD" -SLOT="0" -IUSE="" - -DEPEND="" -RDEPEND="" - -# 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. -STRIP_MASK="/usr/lib/go1.4/pkg/linux*/*.a - /usr/lib/go1.4/pkg/freebsd*/*.a /usr/lib/go1.4/pkg/darwin*/*.a" - -S="${WORKDIR}"/go - -src_prepare() -{ - sed -i -e 's/"-Werror",//g' src/cmd/dist/build.c - - # Fix-up for dev-lang/go file collisions when FEATURES=splitdebug. - # https://bugs.gentoo.org/show_bug.cgi?id=549598 - rm src/debug/dwarf/testdata/typedef.elf -} - -src_compile() -{ - export GOROOT_FINAL="${EPREFIX}"/usr/lib/go1.4 - export GOROOT="$(pwd)" - export GOBIN="${GOROOT}/bin" - if [[ $CTARGET = armv5* ]] - then - export GOARM=5 - fi - tc-export CC - - cd src - ./make.bash || die "build failed" -} - -src_test() -{ - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash --no-rebuild --banner || die "tests 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/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.5.3.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.5.3.ebuild new file mode 100644 index 0000000000..4975587158 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go-bootstrap/go-bootstrap-1.5.3.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils toolchain-funcs + +BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist" +SRC_URI="amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-bootstrap.tbz ) + arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-bootstrap.tbz ) +" + +KEYWORDS="-* amd64 arm64" + +DESCRIPTION="Version of go compiler used for bootstrapping" +HOMEPAGE="http://www.golang.org" + +LICENSE="BSD" +SLOT="0" +IUSE="" + +DEPEND="" +RDEPEND="" + +# The go tools should not cause the multilib-strict check to fail. +QA_MULTILIB_PATHS="usr/lib/go-bootstrap/pkg/tool/.*/.*" + +# The go language uses *.a files which are _NOT_ libraries and should not be +# stripped. +STRIP_MASK="/usr/lib/go-bootstrap/pkg/linux*/*.a + /usr/lib/go-bootstrap/src/debug/elf/testdata/* + /usr/lib/go-bootstrap/src/debug/dwarf/testdata/* + /usr/lib/go-bootstrap/src/runtime/race/*.syso" + +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;; + *) echo "${portage_arch}";; + esac +} + +go_os() +{ + case "${1:-${CHOST}}" in + *-linux*) echo linux;; + *) + die "unknown GOOS for ${1:-${CHOST}}" + ;; + esac +} + +S="${WORKDIR}"/go-$(go_os)-$(go_arch)-bootstrap + +src_install() +{ + dodir /usr/lib/go-bootstrap + exeinto /usr/lib/go-bootstrap/bin + doexe bin/* + insinto /usr/lib/go-bootstrap + doins -r lib pkg src + fperms -R +x /usr/lib/go-bootstrap/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/go-bootstrap/pkg/*/runtime.a" + find "${EROOT}"usr/lib/go-bootstrap -type f \ + -exec touch -r "${EROOT}"${tref} {} \; + eend $? +} + diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.5.4.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.5.4-r1.ebuild similarity index 100% rename from sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.5.4.ebuild rename to sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-1.5.4-r1.ebuild diff --git a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-9999.ebuild b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-9999.ebuild index 52c94ef50d..17054a4e26 100644 --- a/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-9999.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/dev-lang/go/go-9999.ebuild @@ -25,7 +25,8 @@ LICENSE="BSD" SLOT="0/${PV}" IUSE="cros_host arm64-extras" -DEPEND="cros_host? ( >=dev-lang/go-bootstrap-1.4.1 )" +# can't build go without go +DEPEND=">=dev-lang/go-bootstrap-1.5.3" RDEPEND="" # These test data objects have writable/executable stacks. @@ -115,7 +116,7 @@ src_prepare() src_compile() { - export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go1.4 + export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go-bootstrap export GOROOT_FINAL="${EPREFIX}"/usr/lib/go export GOROOT="$(pwd)" export GOBIN="${GOROOT}/bin"