#!/bin/sh -ex
# Do you feel this scipt is horror? You are right. It just wants to show what should be done.
# Please bear with me, that this script is wraped in html.
# Currently there is only limited support for non-xml data in the
# wiki here, and no ressources left. (Scratching the own itch?...
# ... I'm using that script too, and I hate it. But I want to
# replace it with a real build procesa and not nurse yet another
# silly helper script.
sourcedir=`pwd`
targetdir=$HOME
distribution=rs-0.7.3.4-b7
stateofinstall=.stateofinstall
if [ -f $stateofinstall ]; then
state=`cat $stateofinstall | sed '-es% .*$%%'`
else
state=""
fi
if [ x$state = x ]; then
echo Press enter at the CVS login promt to continue!
echo public | cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/rscheme login || true
# wget -c http://belnet.dl.sourceforge.net/sourceforge/rscheme/$distribution.tar.gz
wget -c http://telia.dl.sourceforge.net/sourceforge/rscheme/$distribution.tar.gz
modules="rscheme-base rscheme-packages library"
for m in $modules; do
if [ -d $m ]; then cd $m; cvs up -d; cd ..;
else cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rscheme co $m;
fi;
done
eval echo 1 code checked out > $stateofinstall
exec $0 $*
fi
if [ x$state = x1 ]; then
cd /tmp
gunzip -c $sourcedir/$distribution.tar | tar -xf-
cd $distribution
make stage1
cd src
./configure --prefix=/tmp
make all
make rsc
cd $sourcedir
rm $distribution.tar
eval echo 2 rscheme in /tmp > $stateofinstall
exec $0 $*
fi
if [ x$state = x2 ]; then
PATH=/tmp/bin:$PATH
cd rscheme-base
rm -f packages
make distclean
make RS=`which rs`
cd src
./configure --enable-full-numeric-tower --prefix=$targetdir
make
make install-base
make shell
make install-shell
cd $sourcedir
eval echo 3 rscheme in $targetdir > $stateofinstall
exec $0 $*
fi
PATH=$targetdir/bin:$PATH
if [ x$state = x3 ]; then
ln -sf ../rscheme-packages/packages rscheme-base/packages
ln -sf ../rscheme-base/src rscheme-packages/src
cd rscheme-base/src
make rsc
make packages PACKAGES="general syscalls unixm threads lss rstore fasl calendar"
make fasl_shell
cd $sourcedir
eval echo 4 packages in $targetdir > $stateofinstall
exec $0 $*
fi
if [ x$state = x4 ]; then
# make -C library/dev makex
cd library/dev
autoconf
./configure --with-rs=$targetdir/bin/fshell
cd $sourcedir
cd $sourcedir/library/dev/srfi/18 && make
cd $sourcedir/library/dev/srfi/2 && make
cd $sourcedir
eval echo 5 packages in $targetdir > $stateofinstall
exec $0 $*
fi