slackbuilds/d/go/go.SlackBuild

127 lines
2.7 KiB
Text
Raw Normal View History

#!/bin/sh -x
# variables
VERSION=git$(date +"%Y%m%d")
BUILD=1
PACKAGER=cyco
TMP=/tmp
CWD=$(pwd)
PRGNAM=$(basename $CWD)
PKG=$TMP/$PACKAGER/pkg-$PRGNAM
ARCH=$(uname -m)
REPOSITORY=/home/cycojesus/projets/packages/repositories/$PRGNAM
PREFIX=/usr
# nettoyage préalable
rm -fr $PKG $TMP/$PRGNAM-$VERSION
mkdir -p $PKG
# mise en place
cd $TMP
if [ ! -e $REPOSITORY ] ; then
mkdir -p $(dirname $REPOSITORY)
cd $(dirname $REPOSITORY)
hg clone -r release https://go.googlecode.com/hg/ $PRGNAM
fi
( cd $REPOSITORY
hg pull -u
)
mkdir -p $PKG$PREFIX/libexec/ $PREFIX/libexec/
cp -R $REPOSITORY $PREFIX/libexec/$PRGNAM
( cd $PREFIX/libexec/$PRGNAM
GOROOT=$(pwd)
GOBIN=$GOROOT/bin
GOOS=linux
case $ARCH in
x86_64)
GOARCH=amd64
;;
"i?86")
GOARCH=386
;;
*)
GOARCH=arm
esac
mkdir -p $GOBIN
find $GOROOT -name ".hg*" -exec rm -fr {} \;
cd $GOROOT/src
GOROOT=$GOROOT GOBIN=$GOBIN GOOS=$GOOS GOARCH=$GOARCH bash ./all.bash
mv $PREFIX/libexec/$PRGNAM $PKG$PREFIX/libexec/
mkdir -p $PKG$PREFIX/bin
( cd $PKG$PREFIX/bin
for i in ../libexec/$PRGNAM/bin/* ; do
ln -s $i ;
done
)
mkdir -p $PKG/etc/profile.d
cat <<EOF > $PKG/etc/profile.d/go.sh
GOROOT=$PREFIX/libexec/$PRGNAM
GOBIN=\$GOROOT/bin
GOOS=linux
case $ARCH in
x86_64)
GOARCH=amd64
;;
"i?86")
GOARCH=386
;;
*)
GOARCH=arm
esac
export GOROOT GOBIN GOOS GOARCH
EOF
chmod +x $PKG/etc/profile.d/go.sh
mkdir -p $PKG$PREFIX/doc
( cd $PKG$PREFIX/doc
ln -s ../libexec/$PRGNAM/doc $PRGNAM-$VERSION
)
)
# correction
( cd $PKG
chown -R root:root *
[ -d $PKG/usr/man ] && find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
[ -d $PKG/usr/info ] && find $PKG/usr/info -type f -name "*" -exec gzip -9f {} \;
)
# embaumement
mkdir -p $PKG/install
cat <<EOF > $PKG/install/slack-desc
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
$PRGNAM: $PRGNAM (a systems programming language)
$PRGNAM:
$PRGNAM: Go is…
$PRGNAM: …simple
$PRGNAM: …fast
$PRGNAM: …safe
$PRGNAM: …concurrent
$PRGNAM: …fun
$PRGNAM: …open source
$PRGNAM:
$PRGNAM: http://golang.org/
EOF
# empaquetage
cd $PKG
makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD$PACKAGER.txz