127 lines
2.7 KiB
Text
127 lines
2.7 KiB
Text
|
#!/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
|