diff options
author | William Hubbs <williamh@gentoo.org> | 2020-11-15 15:15:27 -0600 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2020-11-15 15:18:02 -0600 |
commit | ec56133b486dc13e5e462510653df559aa223396 (patch) | |
tree | abb1e1fb9fed0bc2422fae1fe38b470ac8eaa328 /dev-lang | |
parent | dev-libs/libclangformat-ide: Assign zx2c4 as maintainer (diff) | |
download | gentoo-ec56133b486dc13e5e462510653df559aa223396.tar.gz gentoo-ec56133b486dc13e5e462510653df559aa223396.tar.bz2 gentoo-ec56133b486dc13e5e462510653df559aa223396.zip |
dev-lang/go: remove vulnerable versions
Bug: https://bugs.gentoo.org/754210
Signed-off-by: William Hubbs <williamh@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/go/Manifest | 4 | ||||
-rw-r--r-- | dev-lang/go/go-1.14.10.ebuild | 188 | ||||
-rw-r--r-- | dev-lang/go/go-1.14.11.ebuild | 188 | ||||
-rw-r--r-- | dev-lang/go/go-1.15.3.ebuild | 188 | ||||
-rw-r--r-- | dev-lang/go/go-1.15.4.ebuild | 188 |
5 files changed, 0 insertions, 756 deletions
diff --git a/dev-lang/go/Manifest b/dev-lang/go/Manifest index e5721fc39ea2..8ae550c5ca00 100644 --- a/dev-lang/go/Manifest +++ b/dev-lang/go/Manifest @@ -1,6 +1,2 @@ -DIST go1.14.10.src.tar.gz 22542956 BLAKE2B 9f056e5cf69ca7e0a73372b9b373c534fb638868e32ae37258c4d7d927f880879b337274111d1d1bb8ad253c3a629c5d618ad00a2a973a55d784c8989013ab3a SHA512 f33fd3a06088f9b3594632e0429d3543987f0f93bf52a7383a05e0d845f981fd437d5545cebed6c146a500570f3fbdc35765d842c4c08cfc695a2c3b64223626 -DIST go1.14.11.src.tar.gz 22552087 BLAKE2B d75ecaa1fd385c2efc578db30bd9f2146c9f06bc5a9293937a83bae95e74cb026d2d0dd601442ebc3fcae6f2a364a524f076c3fc0369136b46d8e1874f5cf4f1 SHA512 93cac0ee9f499417dfdc196eb12a91f335ec5693be59d08f9fa3fa5202f717789408077b8180ce9122079768cb94a7293875c0fab2ebef2ecf2c83a86ca0a4ec DIST go1.14.12.src.tar.gz 22553834 BLAKE2B f2b3f750cc451c00376846962a5337c8e57aa9f4f737c7a8ab826772547ca0677bb3c6e52d004259f7e53d49efb013f645ce5223241fd29b35121149dc09a76c SHA512 cba26b97878d5bd57d75bd1541932786779ddb7e9fa0bfb7bf003c7ae9e7bee8318c0d2108ce918453b863892b8f562e481bd0ed6cfc44e43d901522603adff2 -DIST go1.15.3.src.tar.gz 23015071 BLAKE2B a2f4f944cdd7347c2b01abe1e4da66559e07571c3f822a8502164a791e3c5d5e7b36907910392ec940361b644a08609f0a7635bfea9f990ec1ae8fd499cb2b87 SHA512 883fb327ce8aec77381aaa01e95acd0826c74d56a769d2077449b964411e30a5844117fdd941737015983c451a3e8d419bd40954842b199a09c26704577b5bca -DIST go1.15.4.src.tar.gz 23017785 BLAKE2B f398ea81f925d342ddc24bd24d4081278b7329757436bf5f3835bc8ac830b61965d96d2b4f72c5a491c13a83102abce2344c826da52066faf7e7670cda35de63 SHA512 84fc687806d7904be0afcdfb4f45a74b4b45820c5c79b21b0c82cd51d07f3f8ae37e7f80730a411b96bdcf7f635b473ab0233c1bce977d2cf307d9a63aeb3df5 DIST go1.15.5.src.tar.gz 23019303 BLAKE2B 549f0e9c4e22432db7a1c6e06724d6ada0ac90c09c0886d3053296390d85686df89bcaff86c703e8a2789119f670ffb2c6c11f4bf7e186c14a75896e8e6b8c6e SHA512 8e1d71f628d364b949b1e124af8950a563bbe9d9ae73b94c66af6ce029f67c26e2654556c0c118d0bc8566af52a7e9ed736b4667bbef7ccdab2bd338c43e6eb4 diff --git a/dev-lang/go/go-1.14.10.ebuild b/dev-lang/go/go-1.14.10.ebuild deleted file mode 100644 index 178eb1504f2f..000000000000 --- a/dev-lang/go/go-1.14.10.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -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 arm64 ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" - -BDEPEND="|| ( - dev-lang/go - dev-lang/go-bootstrap )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# 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) ]] -} - -src_compile() -{ - if has_version -b dev-lang/go; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b dev-lang/go-bootstrap; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - 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 - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -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 - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - 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 - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.14.11.ebuild b/dev-lang/go/go-1.14.11.ebuild deleted file mode 100644 index fa07749bdeb3..000000000000 --- a/dev-lang/go/go-1.14.11.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -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 ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" - -BDEPEND="|| ( - dev-lang/go - dev-lang/go-bootstrap )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# 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) ]] -} - -src_compile() -{ - if has_version -b dev-lang/go; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b dev-lang/go-bootstrap; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - 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 - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -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 - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - 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 - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.15.3.ebuild b/dev-lang/go/go-1.15.3.ebuild deleted file mode 100644 index 178eb1504f2f..000000000000 --- a/dev-lang/go/go-1.15.3.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -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 arm64 ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" - -BDEPEND="|| ( - dev-lang/go - dev-lang/go-bootstrap )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# 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) ]] -} - -src_compile() -{ - if has_version -b dev-lang/go; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b dev-lang/go-bootstrap; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - 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 - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -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 - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - 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 - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} diff --git a/dev-lang/go/go-1.15.4.ebuild b/dev-lang/go/go-1.15.4.ebuild deleted file mode 100644 index fa07749bdeb3..000000000000 --- a/dev-lang/go/go-1.15.4.ebuild +++ /dev/null @@ -1,188 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -export CBUILD=${CBUILD:-${CHOST}} -export CTARGET=${CTARGET:-${CHOST}} - -MY_PV=${PV/_/} - -inherit toolchain-funcs - -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 ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" - ;; - esac -esac - -DESCRIPTION="A concurrent garbage collected and typesafe programming language" -HOMEPAGE="https://golang.org" - -LICENSE="BSD" -SLOT="0/${PV}" - -BDEPEND="|| ( - dev-lang/go - dev-lang/go-bootstrap )" -RDEPEND="!<dev-go/go-tools-0_pre20150902" - -# Do not complain about CFLAGS, etc, since Go doesn't use them. -QA_FLAGS_IGNORED='.*' - -# 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) ]] -} - -src_compile() -{ - if has_version -b dev-lang/go; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go" - elif has_version -b dev-lang/go-bootstrap; then - export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap" - else - eerror "Go cannot be built without go or go-bootstrap installed" - die "Should not be here, please report a bug" - 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 - - cd src - bash -x ./make.bash || die "build failed" -} - -src_test() -{ - go_cross_compile && return 0 - - cd src - PATH="${GOBIN}:${PATH}" \ - ./run.bash -no-rebuild || die "tests failed" - cd .. - rm -fr pkg/*_race || die - rm -fr pkg/obj/go-build || die -} - -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 - # testdata directories are not needed on the installed system - rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print) - 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 - - if [[ ${CHOST} == *-darwin* ]] ; then - # fix install_name for test object (binutils_test) on Darwin, it - # is never used in real circumstances - local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/ - libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64 - install_name_tool -id "${libmac64}" "${D}${libmac64}" - fi -} |