#!/bin/sh set -x CWD=$(pwd) PRGNAM=$(basename $CWD) VERSION=$(date +"%Y.%m.%d_%H.%M") BUILD=1 ARCH=$(uname -m) LIBSUFFIX=$(echo $ARCH | grep -o 64) TAG=cyco OUTPUT=/tmp TMP=/tmp/$TAG PKG=$TMP/pkg-$PRGNAM REPOSITORIES=/home/installs/SlackBuilds/repositories/ PREFIX=/usr # Cleaning cd $TMP rm -fr $PRGNAM-$VERSION rm -fr $PKG # Fetching sources if [ ! -e $REPOSITORIES/$PRGNAM ] ; then git clone git://git.savannah.gnu.org/gforth.git $REPOSITORIES/$PRGNAM else ( cd $REPOSITORIES/$PRGNAM git pull ) fi cp -R $REPOSITORIES/$PRGNAM $TMP/$PRGNAM-$VERSION # Preparation cd $TMP/$PRGNAM-$VERSION chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; # Configuration #sed -i "s|lib/|lib$LIBSUFFIX/|g" $(grep -l "lib/" * -r) [ ! -e configure ] && ./autogen.sh #autoreconf ./configure \ --prefix=$PREFIX \ --mandir=$PREFIX/man \ --infodir=$PREFIX/info \ --libdir=$PREFIX/lib$LIBSUFFIX \ --libexecdir=$PREFIX/libexec # Building make libdir=$PREFIX/lib$LIBSUFFIX #make libdir=$PREFIX/lib$LIBSUFFIX doc #make libdir=$PREFIX/lib$LIBSUFFIX more # Installation #make install install.TAGS DESTDIR=$PKG make install DESTDIR=$PKG mkdir -p $PKG$PREFIX/share/emacs/site-lisp/$PRGNAM cp gforth.el* $PKG$PREFIX/share/emacs/site-lisp/$PRGNAM # mkdir -p $PKG$PREFIX/doc/$PRGNAM # cp -R doc/*.{dvi,ps,pdf,txt} doc/gforth doc/vmgen AUTHORS BUGS COPYING* ChangeLog INSTALL* NEWS* README* TAGS ToDo $PKG$PREFIX/doc/$PRGNAM # Cleaning cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find $PKG$PREFIX/man -type f -name "*.?" -exec gzip -9 {} \; find $PKG$PREFIX/info -name "dir" -exec rm {} \; find $PKG$PREFIX/info -type f -exec gzip -9 {} \; chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; # Packaging mkdir 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 (programming language) $PRGNAM: $PRGNAM: Gforth is a fast and portable implementation of the ANS Forth language. $PRGNAM: It works nicely with the Emacs editor, offers some nice features such as $PRGNAM: input completion and history and a powerful locals facility, and it even $PRGNAM: has (the beginnings of) a manual. Gforth employs traditional implementation $PRGNAM: techniques: its inner interpreter is indirect or direct threaded. $PRGNAM: $PRGNAM: $PRGNAM: http://www.gnu.org/software/gforth $PRGNAM: EOF makepkg -l n -c n $OUTPUT/$PRGNAM-$(echo $VERSION | tr -d '-')-$ARCH-$BUILD$TAG.txz