Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
fox-overlay
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Spotlight Deveaux
fox-overlay
Commits
015bf9fa
Verified
Commit
015bf9fa
authored
5 years ago
by
Spotlight Deveaux
Browse files
Options
Downloads
Patches
Plain Diff
dev-lang/go: sync with tree
parent
ab3a548a
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
dev-lang/go/Manifest
+4
-0
4 additions, 0 deletions
dev-lang/go/Manifest
dev-lang/go/go-1.13.4.ebuild
+246
-0
246 additions, 0 deletions
dev-lang/go/go-1.13.4.ebuild
dev-lang/go/go-1.13.6.ebuild
+246
-0
246 additions, 0 deletions
dev-lang/go/go-1.13.6.ebuild
with
496 additions
and
0 deletions
dev-lang/go/Manifest
+
4
−
0
View file @
015bf9fa
...
...
@@ -12,9 +12,13 @@ DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe59
DIST go1.12.13.src.tar.gz 21980338 BLAKE2B 205bee35a947ccd08f36547530e3de7928f5f3970be89580ddff80f7710dd1dcf4f292c10ec93c27717ce25ce2575f7151129430b80d1fb927872f891166d8db SHA512 a8210ba909c1bb26799625bbf648204dbef5a9f91af323277f76caee489f5912a08e9de686b71fe97d30c7dc171d5f4bcf8a2c2227d02353cfbb7d292c9efc22
DIST go1.12.14.src.tar.gz 20726032 BLAKE2B 2defecd29568974c1618ce0da42d9e28ef41904ed3f759b51c7e392ed9dea950a4984efa333e52b413fab3dac8270bb99f60e113712bfc648c4c9af0e19aba7d SHA512 6cd225282fbade8bd7e96789744c7db07f223f5309358ca3768c95c34a099b44bd9ba9adc2ce293a5bbd608237ae6473b86e7bb451db395c647809fc2750dd4c
DIST go1.12.9.src.tar.gz 21979950 BLAKE2B dca7e3afcabd513c4b8193e93c0a1ed1a2326dccfce9b909d97b3731fffbe7e26712ab164645e06a316baa949b1e0b14a2fea8d23e6f90fd5b72afa0d15b432b SHA512 57041e7fb767f528aa9fc2592d205d3a7c120c73f92dc8d91f17f816e12aa6152c8421b333081800a5f50b1bb656f203a25faf8ed92c69a6ec164ce0a5619c13
DIST go1.13.4.src.tar.gz 21619153 BLAKE2B 2efc86fd0830b9c8935c856244baaec1e63232dd08b696544da900927ba56fd686b5899ec1640fbcbb21c8c5ac9581cfde3fcb5c06ccfabd0fd2f181b398da46 SHA512 e8155cdceca2ebefd386feef98223bbdc92d9316f7188d4ba701cf43a723b75a9bf67a1eb92ac80987b7a113a2fb6981ef235292bec7dd3964805b7c33abdbb1
DIST go1.13.5.src.tar.gz 21629437 BLAKE2B c39a52e73136a322a1b6b4ee6888672848ff2b3278d8034ec25b93101fff2b63212d66c065d3d974ca7e8686cba8a9ea9c4fedb23cad51b6cd76adae6db6eb42 SHA512 bc9ddb12855c66dba5fe859bd13b7b3163259b8a8b0d3cbf6892e528ae4c6418c6b4c0d49838e7a5fc2e9f404484899b8f30c45e49e7d30109093025b62ed6c0
DIST go1.13.6.src.tar.gz 21631050 BLAKE2B 8923021d5ff785f5422ee204ee81c986fc066a878a347bc73625974f05045689f694f76147c9bf7956dc59d6e3d3a543f0970e0716df8cd4f6556c28fe23808b SHA512 dffb6e06eea0b1541901dfbed8d28e8cc1eac3184dc40a19ed3637737df796a67a2e7170b228e1003d36b14e6f0f13bb8be9d2a702834a9c06228d1821659528
EBUILD go-1.12.13.ebuild 6459 BLAKE2B 5f8230b43cf41aa3adffa806b2c1191d4467fae48c73f3d767739cacb31c10a5eef31419466e56ee0f8ede0470e608a1eef4f41510c7812e029c21be96b7163a SHA512 ed0c98e3cb842866ea3d1623df7f90a8d84e9744db9986fd2f0a750e011454f18ae34d3532ad02c0b8189b55fa467b68b29d66970f8cc3a8539b4c480c293dd3
EBUILD go-1.12.14.ebuild 6463 BLAKE2B 4b1491baf6b1dfc2395bdafef3080765c4367cbdb056b62ba3ae345aa749dca0efe2cfa98cfd968939a9ab960310f71ef5f6feb2ff58f3602c0218075cd71019 SHA512 5a3312f1c50990d7665f0f99a9377d4656651ca60b424968fa7a410a5c63f0dc6c0e2da443319dbfc8c5ae89353b8181b4d9b52541381c09530b8756347f4920
EBUILD go-1.12.9.ebuild 6463 BLAKE2B 4b1491baf6b1dfc2395bdafef3080765c4367cbdb056b62ba3ae345aa749dca0efe2cfa98cfd968939a9ab960310f71ef5f6feb2ff58f3602c0218075cd71019 SHA512 5a3312f1c50990d7665f0f99a9377d4656651ca60b424968fa7a410a5c63f0dc6c0e2da443319dbfc8c5ae89353b8181b4d9b52541381c09530b8756347f4920
EBUILD go-1.13.4.ebuild 6463 BLAKE2B ed2bd3ae5238f29f9efeb8a27e6ea0aef2e2de1cce8be15ebf8ac042788ab4202cfef0c7dde57f32126273765ad3d852e33328e4b4ba782959666d62f3311569 SHA512 33ecbc211390bb98cd653a6e1547674818b8711d682ec5e65f405be37eebd72015ad2f12e908d61ee8033b9dc18d0e0dc743713ef14e25699d902faea88314cb
EBUILD go-1.13.5.ebuild 6463 BLAKE2B 4b1491baf6b1dfc2395bdafef3080765c4367cbdb056b62ba3ae345aa749dca0efe2cfa98cfd968939a9ab960310f71ef5f6feb2ff58f3602c0218075cd71019 SHA512 5a3312f1c50990d7665f0f99a9377d4656651ca60b424968fa7a410a5c63f0dc6c0e2da443319dbfc8c5ae89353b8181b4d9b52541381c09530b8756347f4920
EBUILD go-1.13.6.ebuild 6463 BLAKE2B ed2bd3ae5238f29f9efeb8a27e6ea0aef2e2de1cce8be15ebf8ac042788ab4202cfef0c7dde57f32126273765ad3d852e33328e4b4ba782959666d62f3311569 SHA512 33ecbc211390bb98cd653a6e1547674818b8711d682ec5e65f405be37eebd72015ad2f12e908d61ee8033b9dc18d0e0dc743713ef14e25699d902faea88314cb
MISC metadata.xml 591 BLAKE2B 9c8a6f1a3abc49749ae22e02e7ec73cc44b829ad43407f474d0cca6a2881afb01e1f11329d8a45c30b47cb47b4967750703f8b1ce8ea7922496e620a5f44821b SHA512 bc398bdbc2453ea152188cb0ad68fd1280ff32fcc018e99195799ea48a34968e2f763a936c9c8b2a01825fd0ad5830fade09dd96ee7032ff6e9b6199b0530ad4
This diff is collapsed.
Click to expand it.
dev-lang/go/go-1.13.4.ebuild
0 → 100644
+
246
−
0
View file @
015bf9fa
# 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
BOOTSTRAP_VERSION
=
"bootstrap-1.8"
BOOTSTRAP_DIST
=
"https://dev.gentoo.org/~williamh/dist"
BOOTSTRAP_URI
=
"
${
BOOTSTRAP_DIST
}
/go-linux-amd64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-arm-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-arm64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-ppc64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-ppc64le-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-s390x-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-386-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-freebsd-amd64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-freebsd-386-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-darwin-amd64-
${
BOOTSTRAP_VERSION
}
.tbz
${
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 ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
# 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
# If gccgo or a previously installed version of dev-lang/go is not being
# used to build Go, there is no way to know the architecture or operating system
# of the build machine, so we need to download all of our bootstrap
# archives to allow this ebuild to work under crossdev.
#
# https://bugs.gentoo.org/671394
SRC_URI+
=
"!gccgo? ( !system-bootstrap? (
${
BOOTSTRAP_URI
}
) )"
DESCRIPTION
=
"A concurrent garbage collected and typesafe programming language"
HOMEPAGE
=
"https://golang.org"
LICENSE
=
"BSD"
SLOT
=
"0/
${
PV
}
"
IUSE
=
"gccgo system-bootstrap"
BDEPEND
=
"gccgo? ( >=sys-devel/gcc-5[go] )"
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/*.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
[[
${
MERGE_TYPE
}
!=
binary
]]
&&
use system-bootstrap
&&
!
has_version
"dev-lang/go-bootstrap"
&&
die
"dev-lang/go-bootstrap must be installed to use the system-bootstrap use flag"
}
src_unpack
()
{
if
[[
${
PV
}
=
9999
]]
;
then
git-r3_src_unpack
else
unpack
"go
${
MY_PV
}
.src.tar.gz"
fi
use gccgo
||
use system-bootstrap
||
unpack
"go-
$(
go_os
${
CBUILD
}
)
-
$(
go_arch
${
CBUILD
}
)
-
${
BOOTSTRAP_VERSION
}
.tbz"
}
src_compile
()
{
export
GOROOT_BOOTSTRAP
=
"
${
WORKDIR
}
"
/go-
$(
go_os
${
CBUILD
}
)
-
$(
go_arch
${
CBUILD
}
)
-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
elif
use system-bootstrap
;
then
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
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
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
}
This diff is collapsed.
Click to expand it.
dev-lang/go/go-1.13.6.ebuild
0 → 100644
+
246
−
0
View file @
015bf9fa
# 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
BOOTSTRAP_VERSION
=
"bootstrap-1.8"
BOOTSTRAP_DIST
=
"https://dev.gentoo.org/~williamh/dist"
BOOTSTRAP_URI
=
"
${
BOOTSTRAP_DIST
}
/go-linux-amd64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-arm-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-arm64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-ppc64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-ppc64le-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-s390x-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-linux-386-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-freebsd-amd64-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-freebsd-386-
${
BOOTSTRAP_VERSION
}
.tbz
${
BOOTSTRAP_DIST
}
/go-darwin-amd64-
${
BOOTSTRAP_VERSION
}
.tbz
${
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 ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
# 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
# If gccgo or a previously installed version of dev-lang/go is not being
# used to build Go, there is no way to know the architecture or operating system
# of the build machine, so we need to download all of our bootstrap
# archives to allow this ebuild to work under crossdev.
#
# https://bugs.gentoo.org/671394
SRC_URI+
=
"!gccgo? ( !system-bootstrap? (
${
BOOTSTRAP_URI
}
) )"
DESCRIPTION
=
"A concurrent garbage collected and typesafe programming language"
HOMEPAGE
=
"https://golang.org"
LICENSE
=
"BSD"
SLOT
=
"0/
${
PV
}
"
IUSE
=
"gccgo system-bootstrap"
BDEPEND
=
"gccgo? ( >=sys-devel/gcc-5[go] )"
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/*.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
[[
${
MERGE_TYPE
}
!=
binary
]]
&&
use system-bootstrap
&&
!
has_version
"dev-lang/go-bootstrap"
&&
die
"dev-lang/go-bootstrap must be installed to use the system-bootstrap use flag"
}
src_unpack
()
{
if
[[
${
PV
}
=
9999
]]
;
then
git-r3_src_unpack
else
unpack
"go
${
MY_PV
}
.src.tar.gz"
fi
use gccgo
||
use system-bootstrap
||
unpack
"go-
$(
go_os
${
CBUILD
}
)
-
$(
go_arch
${
CBUILD
}
)
-
${
BOOTSTRAP_VERSION
}
.tbz"
}
src_compile
()
{
export
GOROOT_BOOTSTRAP
=
"
${
WORKDIR
}
"
/go-
$(
go_os
${
CBUILD
}
)
-
$(
go_arch
${
CBUILD
}
)
-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
elif
use system-bootstrap
;
then
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
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
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
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment