Date: Wednesday, March 8, 2017 @ 18:13:52 Author: bpiotrowski Revision: 290146
community2extra: Moving go from community to extra Added: go/ go/repos/ go/trunk/ go/trunk/PKGBUILD ----------+ PKGBUILD | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) Added: go/trunk/PKGBUILD =================================================================== --- go/trunk/PKGBUILD (rev 0) +++ go/trunk/PKGBUILD 2017-03-08 18:13:52 UTC (rev 290146) @@ -0,0 +1,186 @@ +# $Id$ +# Maintainer: Alexander F Rødseth <xypr...@archlinux.org> +# Maintainer: Pierre Neidhardt <ambre...@gmail.com> +# Contributor: Vesa Kaihlavirta <ve...@iki.fi> +# Contributor: Rémy Oudompheng <r...@archlinux.org> +# Contributor: Andres Perera <andres87p gmail> +# Contributor: Matthew Bauer <mjbaue...@gmail.com> +# Contributor: Christian Himpel <chres...@gmail.com> +# Contributor: Mike Rosset <mike.ros...@gmail.com> +# Contributor: Daniel YC Lin <dlin...@gmail.com> +# Contributor: John Luebs <jklu...@gmail.com> + +pkgname=('go' 'go-tools') +epoch=2 +pkgver=1.8 +pkgrel=1 +arch=('x86_64' 'i686') +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 + +build() { + cd "$pkgname-$pkgver/src" + + export GOROOT="$srcdir/$pkgname-$pkgver" + export GOBIN="$GOROOT/bin" + export GOPATH="$srcdir/" + export GOROOT_FINAL=/usr/lib/go + export GOROOT_BOOTSTRAP=/usr/lib/go + + # + # Arch Linux normally does not enable SSE2 for i686 because of older CPUs. + # + # However, exceptions are made for: + # * Chromium, which is not expected to be used on older i686 CPUs + # * Julia, which requires SSE2 + # + # Go is so slow that it is unusable on i686 when SSE2 is not enabled, + # so I am also making an exception for Go. + # + # If you really want to build Go without SSE2 support, just uncomment the + # following export and rebuild: + # + # export GO386=387 + # + + # Crosscompilation for various platforms. This is not strictly required as the + # compiler can generate libraries on the fly. Prebuilding the libs speeds up + # crosscompilation time. + # + # for os in darwin freebsd linux windows; do + # for arch in 386 amd64 arm; do + # export GOOS="$os" + # export GOARCH="$arch" + # bash make.bash --no-clean + # done + # done + + export GOOS=linux + case "$CARCH" in + x86_64) export GOARCH=amd64 ;; + i686) export GOARCH=386 ;; + esac + + 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 GO386=387 + + export GOOS=linux + case "$CARCH" in + x86_64) GOARCH=amd64 ;; + i686) GOARCH=386 ;; + esac + + 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 + + case "$CARCH" in + x86_64) GOARCH=amd64 ;; + i686) GOARCH=386 ;; + esac + + 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 + + # Strip manually since `strip` will not process Go's static libraries. + for i in "$pkgdir/usr/bin"/* \ + "$pkgdir/usr/lib/go/pkg/tool/linux_$GOARCH"/*; do + strip -s "$i" + done +} + +package_go-tools() { + pkgdesc='Developer tools for the Go programming language (includes godoc)' + depends=('go') + + GOOS=linux + case "$CARCH" in + x86_64) GOARCH=amd64 ;; + i686) GOARCH=386 ;; + esac + + 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" + + for i in "$pkgdir/usr/bin"/* \ + "$pkgdir/usr/lib/go/pkg/tool/linux_$GOARCH"/*; do + strip -s "$i" + done +} + +# vim:set ts=2 sw=2 et: Property changes on: go/trunk/PKGBUILD ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property