# $Id$ # Maintainer: Alexander F Rødseth # Maintainer: Pierre Neidhardt # Contributor: Vesa Kaihlavirta # Contributor: Rémy Oudompheng # Contributor: Andres Perera # Contributor: Matthew Bauer # Contributor: Christian Himpel # Contributor: Mike Rosset # Contributor: Daniel YC Lin # Contributor: John Luebs # ALARM: Kevin Mihelich # - added switches for our architectures # - upstream patch for AArch64 pkgname=('go' 'go-tools') epoch=2 pkgver=1.8 pkgrel=1.2 arch=('arm' 'armv6h' 'armv7h' 'aarch64') url='http://golang.org/' license=('BSD') makedepends=('inetutils' 'git' 'go') options=('!strip' 'staticlibs') source=("$pkgname-$pkgver::git+https://go.googlesource.com/go#tag=$pkgname$pkgver") md5sums=('SKIP') _gourl=golang.org/x/tools/cmd prepare() { cd "$pkgname-$pkgver" git cherry-pick -n 3557d546090c7fedd69562c88d20767397de835d } build() { cd "$pkgname-$pkgver/src" export GOARCH=arm [ "$CARCH" == 'arm' ] && export GOARM=5 [ "$CARCH" == 'armv6h' ] && export GOARM=6 [ "$CARCH" == 'armv7h' ] && export GOARM=7 [ "$CARCH" == 'aarch64' ] && export GOARCH=arm64 export GOROOT_FINAL=/usr/lib/go export GOROOT_BOOTSTRAP=/usr/lib/go export GOOS=linux export GOPATH="$srcdir/" export GOROOT="$srcdir/$pkgname-$pkgver" export GOBIN="$GOROOT/bin" bash make.bash --no-clean # System-wide tools for tool in godex godoc goimports gomvpkg gorename gotype; do $GOROOT/bin/go get -d golang.org/x/tools/cmd/$tool $GOROOT/bin/go build -v -x -o $GOPATH/bin/$tool $_gourl/$tool done # Distribution tools for tool in benchcmp bundle callgraph digraph eg fiximports guru html2article present ssadump stress stringer ; do $GOROOT/bin/go get -d golang.org/x/tools/cmd/$tool $GOROOT/bin/go build -v -x -o $GOPATH/pkg/tool/${GOOS}_$GOARCH/$tool golang.org/x/tools/cmd/$tool done } check() { cd "$pkgname-$pkgver" export GOARCH=arm [ "$CARCH" == 'arm' ] && export GOARM=5 [ "$CARCH" == 'armv6h' ] && export GOARM=6 [ "$CARCH" == 'armv7h' ] && export GOARM=7 [ "$CARCH" == 'aarch64' ] && export GOARCH=arm64 export GOROOT="$srcdir/$pkgname-$pkgver" export GOBIN="$GOROOT/bin" export PATH="$srcdir/$pkgname-$pkgver/bin:$PATH" export GOROOT_BOOTSTRAP=/usr/lib/go for tool in goimports gomvpkg gorename gotype \ benchcmp bundle callgraph digraph eg fiximports guru html2article present ssadump stress stringer; do GOPATH="$srcdir" $GOROOT/bin/go test -v -x $_gourl/$tool done # TestSimpleMulticastListener will fail in standard chroot cd src && bash run.bash --no-rebuild || true } package_go() { pkgdesc='Compiler and tools for the Go programming language from Google' optdepends=('mercurial: for fetching sources from mercurial repositories' 'git: for fetching sources from git repositories' 'bzr: for fetching sources from bazaar repositories' 'subversion: for fetching sources from subversion repositories' 'go-tools: doc, goimports, gorename, and other tools.') cd "$pkgname-$pkgver" export GOROOT="$srcdir/$pkgname-$pkgver" export GOBIN="$GOROOT/bin" export GOROOT_BOOTSTRAP=/usr/lib/go install -Dm644 LICENSE "$pkgdir/usr/share/licenses/go/LICENSE" mkdir -p "$pkgdir/usr/"{share/go,lib/go,lib/go/pkg,lib/go/src,lib/go/site/src} cp -r doc misc -t "$pkgdir/usr/share/go" ln -s /usr/share/go/doc "$pkgdir/usr/lib/go/doc" cp -a bin "$pkgdir/usr" cp -a pkg/{include,linux_$GOARCH,tool} "$pkgdir/usr/lib/go/pkg" # The 'race' folder is not always generated for all architectures. [ -d "pkg/linux_${GOARCH}_race" ] && cp -a pkg/linux_${GOARCH}_race "$pkgdir/usr/lib/go/pkg" cp -a "$GOROOT/src" "$pkgdir/usr/lib/go/" cp -a "$GOROOT/lib" "$pkgdir/usr/lib/go/" # This is to make `# go get golang.org/x/tour/gotour` and then running the # gotour executable work out of the box. ln -sf /usr/bin "$pkgdir/usr/lib/go/bin" install -Dm644 VERSION "$pkgdir/usr/lib/go/VERSION" # For godoc command install -Dm644 favicon.ico "$pkgdir/usr/lib/go/favicon.ico" # Clean Windows specific files. rm -fv "$pkgdir"/usr/lib/go/src/*.bat } package_go-tools() { pkgdesc='Developer tools for the Go programming language (includes godoc)' depends=('go') GOOS=linux install -Dm644 "$srcdir/src/$_gourl/../LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" # System-wide tools install -dm755 "$pkgdir/usr/bin" install -p -m755 "$srcdir/bin"/* "$pkgdir/usr/bin" # Distribution tools install -dm755 "$pkgdir/usr/lib/go/pkg/tool/${GOOS}_$GOARCH" install -p -m755 "$srcdir/pkg/tool/${GOOS}_$GOARCH"/* "$pkgdir/usr/lib/go/pkg/tool/${GOOS}_$GOARCH" } # vim:set ts=2 sw=2 et: