blob: 62d891b830b1b0b12827efff13493ce07e3d58e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Eivind Uggedal <eivind@uggedal.com>
pkgname=go
pkgver=1.4.2
# This should be the latest commit on the corresponding release branch
_toolsver="abf43428cc239218424c7a44dc9b5987cd351c3e"
pkgrel=3
pkgdesc="Go programming language compiler"
url="http://www.golang.org/"
arch="x86 x86_64 armhf"
license="BSD"
depends=""
depends_dev=""
makedepends="bash perl"
options="!strip"
install=""
subpackages="$pkgname-doc $pkgname-tools $pkgname-cross"
source="
http://golang.org/dl/go${pkgver}.src.tar.gz
tools.tar.gz::https://github.com/golang/tools/archive/${_toolsver}.tar.gz
no-werror.patch
no-pic.patch
no-longjmp-redefine.patch
fix-arm-hackery.patch
default-sc-getpw-r-size-max.patch
"
_gotools="cover vet godoc"
_gocross="darwin freebsd openbsd windows"
_builddir="$srcdir"/$pkgname
_tooldir="$srcdir"/tools-${_toolsver}
prepare() {
cd "$_builddir"
for i in $source; do
case $i in
*.patch) patch -p1 -i "$srcdir"/$i || return 1 ;;
esac
done
}
build() {
cd "$_builddir/src"
unset CC # ccache breaks build for some reason
export GOPATH="$srcdir"
export GOROOT="$_builddir"
export GOBIN="$GOROOT"/bin
export GOROOT_FINAL=/usr/lib/go
case "$CARCH" in
x86) export GOARCH="386" ;;
x86_64) export GOARCH="amd64" ;;
arm*) export GOARCH="arm" ;;
*) return 1 ;;
esac
./make.bash --no-clean || return 1
for os in $_gocross; do
for arch in "386" "amd64"; do
GOARCH=$arch GOOS=$os ./make.bash --no-clean || return 1
done
done
# FIXME: race and bench tests fail:
#PATH="$GOROOT/bin:$PATH" ./run.bash --no-rebuild --banner || return 1
mkdir -p "$GOPATH"/src/golang.org/x/tools
cp -r "$_tooldir"/* "$GOPATH"/src/golang.org/x/tools
for tool in $_gotools; do
"$GOROOT"/bin/go install \
golang.org/x/tools/cmd/$tool || return 1
done
}
package() {
cd "$_builddir"
mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/lib/go "$pkgdir"/usr/share/doc/go
install -Dm755 bin/go "$pkgdir"/usr/bin || return 1
install -Dm755 bin/gofmt "$pkgdir"/usr/bin || return 1
# The source needs to be installed due to an upstream
# bug (https://github.com/golang/go/issues/2775).
# When this is resolved we can split out the source to a
# go-doc sub package.
cp -a pkg src "$pkgdir"/usr/lib/go || return 1
cp -r doc misc "$pkgdir"/usr/share/doc/go || return 1
# Remove tests from /usr/lib/go/src.
# Those shouldn't be affacted by the upstream bug (see above).
find "$pkgdir"/usr/lib/go \( -type f -a -iname '*_test*' \) \
-o \( -type d -name 'testdata' \) -exec rm -rf \{\} \+
}
tools() {
pkgdesc="Go programming language tools"
depends="$pkgname"
install -dm755 "$subpkgdir"/usr/lib/go/pkg/tool/linux_$GOARCH
install -Dm755 "$_builddir"/bin/godoc \
"$pkgdir"/usr/lib/go/pkg/tool/linux_$GOARCH/$tool
for tool in $_gotools; do
mv "$pkgdir"/usr/lib/go/pkg/tool/linux_$GOARCH/$tool \
"$subpkgdir"/usr/lib/go/pkg/tool/linux_$GOARCH/$tool || return 1
done
}
cross() {
pkgdesk="Go cross compilers"
depends="$pkgname"
mkdir -p "$subpkgdir"/usr/lib/go/pkg/tool \
"$subpkgdir"/usr/lib/go/src/runtime
for os in $_gocross; do
mv "$pkgdir"/usr/lib/go/pkg/tool/${os}_* \
"$subpkgdir"/usr/lib/go/pkg/tool || return 1
mv "$pkgdir"/usr/lib/go/pkg/${os}_* \
"$subpkgdir"/usr/lib/go/pkg || return 1
mv "$pkgdir"/usr/lib/go/src/runtime/zasm_${os}*.h \
"$subpkgdir"/usr/lib/go/src/runtime || return 1
done
}
md5sums="907f85c8fa765d31f7f955836fec4049 go1.4.2.src.tar.gz
a8bc7ad3d0deff01bd45e4938cc3adb6 tools.tar.gz
65330c61f6d6c881033b0a95ca228edb no-werror.patch
4391be88ce8bacdd7fee433b39635583 no-pic.patch
93ad940db4a6d51e086f80755eaa8f53 no-longjmp-redefine.patch
81ac9f3188df7a0c16c52cc4d8cc1ffa fix-arm-hackery.patch
fd4d1a7ccb5d37da4ff9c3a2d97aa976 default-sc-getpw-r-size-max.patch"
sha256sums="299a6fd8f8adfdce15bc06bde926e7b252ae8e24dd5b16b7d8791ed79e7b5e9b go1.4.2.src.tar.gz
e754f0e28092f19d70e2c229023ef9b2d935e81ba886ece40e02803a83825f3d tools.tar.gz
65d38b9485da2ff9417a2c44a81b6e52cc9bd2727b27e7add10d48a63805d4a3 no-werror.patch
86fc68a50bc4a9336a003239adf1dcc6d7cabfb9c1bcf09b0d53d09100ceff12 no-pic.patch
084020e0eb6cb0aceee047bd5962872ed51dbb45465174018d108eb195c26605 no-longjmp-redefine.patch
fced8436d9c32a43a5cc87f2243529e7a8209ba73a9afd4fd7733245bc55e4e3 fix-arm-hackery.patch
3757d5f7c4e6d3b2fed4b01c7da6e3e8c0b7789333219ab10ec0b151fb163980 default-sc-getpw-r-size-max.patch"
sha512sums="cda1a29d4418875dffaf3324004ddae8e1bbb573f7668e6e0c03d8b61284f4db7fca244c181f2859f8ccdd3db6391fb21e0d98a1a9fc15096c15883249d48a9c go1.4.2.src.tar.gz
1b4a6fb526029fe7f07a676cf2ee0b9e228e3b3b600e8607b04f129074892a85f39685257ffe25939478044ce1096ce053a283ef2b05465b4e6d8deb10da8e03 tools.tar.gz
3cf139723e6ff0cbf7aaf76295fe4208f2062f2d4086e36d05cad83919217b5355e0e79b0b515a06a578389301bd07b062cb58b98fc0f9e4badf190cd1c34826 no-werror.patch
a8e95c3c536a30e15b9bad5e623a085c521739639a58ac638679d99413a1bee8823729783123cbe4495ac42822df31f4776f0380a63786b9f4fc73190e012ae5 no-pic.patch
3a9b665f8fda89729c4c269ea82f82ee515f0026d26f1d51e2cf84054456e394afc14875e7ed29280a12488907d50c70af313e2e4a5b62c328bbade098db9d4d no-longjmp-redefine.patch
573146b72c980af5e41540fd7912b5579b050e41ac9d808e8d14268cf0a0fa1a70e6fade85011c0f18f1a428bc95b225d8b8345be1c50656dc69046ef1eb0b40 fix-arm-hackery.patch
5de9747fe60bbc60aa8ac9870f397fa8750723f919fea25a6afc22066be45a8ad193f7935d3deacbe85c032be89b8ace0a7e82b6c9981ddaf3b7f6e8d140c61f default-sc-getpw-r-size-max.patch"
|