#!/bin/sh -x # variables VERSION=hg$(date +"%Y.%m.%d_%H.%M") BUILD=1 TAG=cyco OUTPUT=/tmp TMP=/tmp/$TAG CWD=$(pwd) PRGNAM=$(basename $CWD) PKG=$TMP/pkg-$PRGNAM ARCH=$(uname -m) REPOSITORY=/home/installs/SlackBuilds/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) hg clone -r release https://go.googlecode.com/hg/ $(dirname $REPOSITORY)/$PRGNAM else ( cd $REPOSITORY hg pull -u ) fi mkdir -p $PKG$PREFIX/libexec/ $PREFIX/libexec/ cp -R $REPOSITORY $PREFIX/libexec/ ( 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/ ( cd misc/emacs find . -type f -name \*.el -exec emacs -batch -f batch-byte-compile {} \; ) mkdir -p $PKG$PREFIX/bin ( cd $PKG$PREFIX/bin for i in ../libexec/$PRGNAM/bin/* ; do ln -s $i ; done ) mkdir -p $PKG$PREFIX/share/emacs/site-lisp/ ( cd $PKG$PREFIX/share/emacs/site-lisp/ ln -s ../../../libexec/$PRGNAM/misc/emacs golang ) mkdir -p $PKG/etc/profile.d cat < $PKG/etc/profile.d/go.sh GOROOT=$PREFIX/libexec/$PRGNAM GOBIN=\$GOROOT/bin GOOS=linux case \$(uname -m) 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 {} \; ) # embaumement mkdir -p $PKG/install cat < $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 $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.txz