#!/bin/sh # variables CWD=$(pwd) PRGNAM=$(basename $CWD) VERSION=4.6.0 ARCH=$(uname -m) BUILD=1 TAG=gwh TMP=/tmp/$TAG PKG=$TMP/pkg-$PRGNAM OUTPUT=/tmp PREFIX=/usr DOCS="ABOUT-NLS AUTHORS ChangeLog COPYING* INSTALL NEWS README THANKS TODO" SLCKFLAGS="-O2" case $ARCH in "x86_64") SLCKFLAGS="$SLCKFLAGS -fPIC" ;; *) esac # nettoyage préalable rm -fr $PKG $TMP/$PRGNAM-$VERSION mkdir -p $PKG # mise en place ( cd $TMP TMPVER=v$(echo $VERSION | tr . _) [ ! -e $CWD/gambc-$TMPVER-devel.tgz ] && \ wget -c http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-$TMPVER-devel.tgz \ -O $CWD/gambc-$TMPVER-devel.tgz tar xf $CWD/gambc-$TMPVER-devel.tgz mv gambc-$TMPVER-devel $PRGNAM-$VERSION ) ( cd $TMP/$PRGNAM-$VERSION # configuration CCPFLAGS=$SLCKFLAGS \ CFLAGS=$SLCKFLAGS \ ./configure \ --prefix=$PREFIX \ --mandir=$PREFIX/man \ --infodir=$PREFIX/info \ --docdir=$PREFIX/doc/$PRGNAM-$VERSION \ --includedir=$PREFIX/include \ --libdir=$PREFIX/lib$(echo $ARCH | grep -o 64) \ --enable-single-host \ --enable-gcc-opts # compilation make -j3 PREFIX=$PREFIX # installation make install DESTDIR=$PKG # WTF .bat for b in $PKG$PREFIX/bin/*.bat ; do mv $b ${b%bat}sh done ) # correction chown -R root:root $PKG/* mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION ( cd $TMP/$PRGNAM-$VERSION cp -R $DOCS $PKG/usr/doc/$PRGNAM-$VERSION ) [ -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 "*.info*" -exec gzip -9f {} \; [ -d $PKG/usr/info ] && rm $PKG/usr/info/dir # Strip binaries find $PKG | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find $PKG | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null # embaumement mkdir -p $PKG/install cat < $PKG/install/doinst.sh cd /usr/info [ -e dir ] && rm dir [ -e dir.gz ] && rm dir.gz [ -e dir.new ] && rm dir.new for file in \$(ls *.gz | grep -v ".*\-[0-9]\+\.gz") do install-info \$file ./dir done EOF cat < $PKG/install/slack-desc $PRGNAM: $PRGNAM (Scheme programming system) $PRGNAM: $PRGNAM: Gambit-C includes a Scheme interpreter and a Scheme compiler which can be used $PRGNAM: to build standalone executables. Because the compiler generates portable $PRGNAM: C code it is fairly easy to port to any platform with a decent C compiler. $PRGNAM: $PRGNAM: The Gambit-C system conforms to the R4RS, R5RS and IEEE Scheme standards. $PRGNAM: $PRGNAM: $PRGNAM: http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page $PRGNAM: EOF # empaquetage ( cd $PKG makepkg -l y -c n $OUTPUT/$PRGNAM-$(echo $VERSION | tr -d -)-$ARCH-$BUILD$TAG.txz )