#!/bin/sh set -x CWD=$(pwd) PRGNAM=$(basename $CWD) VERSION=${VERSION:=5.1.2} BUILD=${BUILD:=1} ARCH=${ARCH:=$(uname -m)} LIBSUFFIX=$(echo $ARCH | grep -o 64) TAG=${TAG:=cyco} OUTPUT=${OUTPUT:=/tmp} TMP=${TMP:=/tmp/$TAG} PKG=$TMP/pkg-$PRGNAM PREFIX=${PREFIX:=/usr} # Cleaning rm -fr $TMP/$PRGNAM-$VERSION $PKG mkdir -p $TMP cd $TMP # Fetching sources [ ! -e $CWD/$PRGNAM-$VERSION-src-unix.tgz ] && wget -c http://download.racket-lang.org/installers/$VERSION/$PRGNAM/$PRGNAM-$VERSION-src-unix.tgz -O $CWD/$PRGNAM-$VERSION-src-unix.tgz tar xvf $CWD/$PRGNAM-$VERSION-src-unix.tgz # Preparation cd $PRGNAM-$VERSION chown -R root:root . # Configuration cd src sed -i "s|lib/|lib$LIBSUFFIX/|g" Makefile.in ./configure \ --prefix=$PREFIX \ --mandir=$PREFIX/man \ --infodir=$PREFIX/info \ --libdir=$PREFIX/lib$LIBSUFFIX # Building make # Installation make install install.TAGS DESTDIR=$PKG # 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: Racket is a programming language. $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: $PRGNAM: http://racket-lang.org/ $PRGNAM: EOF makepkg -l n -c n $OUTPUT/$PRGNAM-$(echo $VERSION | tr -d '-')-$ARCH-$BUILD$TAG.txz