void-packages/srcpkgs/go/template
2013-05-30 11:07:25 +02:00

107 lines
3.2 KiB
Text

# Template file for 'go'
pkgname=go
version=1.1
revision=1
wrksrc=go
makedepends="ed bison"
short_desc="The Go Programming Language"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://golang.org/"
license="BSD"
distfiles="http://go.googlecode.com/files/go${version}.src.tar.gz"
checksum="bf1d057d8386e840f9cd3f787252e26d8ee196852e9232a6f9ce762337b19cb6"
long_desc="
The Go programming language is an open source project to make programmers
more productive. Go is expressive, concise, clean, and efficient. Its
concurrency mechanisms make it easy to write programs that get the most out
of multicore and networked machines, while its novel type system enables
flexible and modular program construction. Go compiles quickly to machine
code yet has the convenience of garbage collection and the power of run-time
reflection. It's a fast, statically typed, compiled language that feels like
a dynamically typed, interpreted language."
do_build() {
cd ${wrksrc}
export GOROOT_FINAL="/usr/lib/go"
export GOOS=linux
export GOARCH=arm
cd src
bash make.bash
cd ${wrksrc}
export GOROOT_FINAL="/usr/lib/go"
export GOOS=linux
export GOARCH=386
cd src
bash make.bash
if [ "${XBPS_MACHINE}" = "x86_64" ]; then
cd ${wrksrc}
export GOROOT_FINAL="/usr/lib/go"
export GOOS=linux
export GOARCH=amd64
cd src
bash make.bash
fi
}
do_install() {
vinstall LICENSE 644 usr/share/licenses/go
vinstall misc/bash/go 644 usr/share/bash-completion/completions
vinstall misc/emacs/go-mode-load.el 644 usr/share/emacs/site-lisp
vinstall misc/emacs/go-mode.el 644 usr/share/emacs/site-lisp
vinstall misc/zsh/go 644 usr/share/zsh/site-functions _go
for f in ftdetect/gofiletype.vim autoload/go/complete.vim indent/go.vim \
ftplugin/go/fmt.vim ftplugin/go/import.vim \
syntax/go.vim syntax/godoc.vim plugin/godoc.vim; do
vinstall misc/vim/$f 644 usr/share/vim/vimfiles
done
install -d ${DESTDIR}/{etc/profile.d,usr/{share/go,lib/go,lib/go/src}}
cp -r doc misc -t ${DESTDIR}/usr/share/go
ln -s /usr/share/go/doc ${DESTDIR}/usr/lib/go/doc
cp -a bin ${DESTDIR}/usr
cp -a pkg ${DESTDIR}/usr/lib/go
cp -a src/pkg ${DESTDIR}/usr/lib/go/src/
cp -a src/cmd ${DESTDIR}/usr/lib/go/src/cmd
cp -a src/lib9 ${DESTDIR}/usr/lib/go/src/
cp -a lib ${DESTDIR}/usr/lib/go/
install -Dm644 src/Make.* ${DESTDIR}/usr/lib/go/src
# Remove object files from target src dir
find ${DESTDIR}/usr/lib/go/src/ -type f -name '*.[ao]' -delete
find ${DESTDIR}/usr/lib/go/src/pkg -type f -executable -delete
# Headers for C modules
vinstall src/pkg/runtime/runtime.h 644 usr/lib/go/src/pkg/runtime
vinstall src/pkg/runtime/cgocall.h 644 usr/lib/go/src/pkg/runtime
# For packages that source /etc/profile.d/go.sh
vinstall ${FILESDIR}/go.sh 755 etc/profile.d
# This is to make go get code.google.com/p/go-tour/gotour and
# then running the gotour executable work out of the box.
#
# Also, /usr/bin is the place for system-wide executables,
# not /usr/lib/go/bin. Users should use different paths by
# setting the appropriate environment variables.
#
ln -sf /usr/bin ${DESTDIR}/usr/lib/go/bin
# For godoc
vinstall favicon.ico 644 usr/lib/go
rm -f ${DESTDIR}/usr/share/go/doc/articles/wiki/get.bin
}
go_package() {
nostrip=yes
depends="perl gawk"
pkg_install() {
vmove etc
vmove usr
}
}