Racketified unix installer.
This commit is contained in:
parent
4d23b11d8f
commit
3ddeb6df17
|
@ -1,10 +1,10 @@
|
|||
#!/bin/sh
|
||||
#| -*- scheme -*-
|
||||
tmp="/tmp/path-compare-$$"
|
||||
if [ -x "$PLTHOME/bin/mzscheme" ]; then
|
||||
"$PLTHOME/bin/mzscheme" -r "$0" "$@"
|
||||
if [ -x "$PLTHOME/bin/racket" ]; then
|
||||
"$PLTHOME/bin/racket" -r "$0" "$@"
|
||||
else
|
||||
"mzscheme" -r "$0" "$@"
|
||||
"racket" -r "$0" "$@"
|
||||
fi > "$tmp" || exit 1
|
||||
cd "`dirname \"$0\"`"
|
||||
if diff "paths-configure-snapshot" "$tmp"; then
|
||||
|
|
|
@ -73,13 +73,15 @@ echo "Note: the required diskspace for this installation is about $ORIGSIZE."
|
|||
echo ""
|
||||
echo "Do you want a Unix-style distribution?"
|
||||
echo " In this distribution mode files go into different directories according"
|
||||
echo " to Unix conventions. A \"plt-uninstall\" script will be generated to"
|
||||
echo " make it possible to remove the installation. If say 'no', the whole"
|
||||
echo " PLT directory is kept as a single (movable and erasable) unit, possibly"
|
||||
echo " with external links into it."
|
||||
echo " to Unix conventions. A \"racket-uninstall\" script will be generated"
|
||||
echo " to be used when you want to remove the installation. If you say 'no',"
|
||||
echo " the whole Racket directory is kept in a single installation directory"
|
||||
echo " (movable and erasable) unit, possibly with convenient external links"
|
||||
echo " into it -- this is often more convenient, especially if you want to"
|
||||
echo " install multiple versions or keep it in your home directory."
|
||||
if test ! "x$RELEASED" = "xyes"; then
|
||||
echo "*** This is a nightly build: such a distribution is not recommended"
|
||||
echo "*** because it cannot be used to install multiple versions."
|
||||
echo "*** This is a nightly build: such a unix-style distribution is *not*"
|
||||
echo "*** recommended because it cannot be used to install multiple versions."
|
||||
fi
|
||||
unixstyle="x"
|
||||
while test "$unixstyle" = "x"; do
|
||||
|
@ -101,7 +103,7 @@ if test "$unixstyle" = "yes"; then
|
|||
echo "Where do you want to base your installation of $DISTNAME?"
|
||||
echo " (Use an existing directory. If you've done such an installation in"
|
||||
echo " the past, either use the same place, or manually run"
|
||||
echo " 'plt-uninstaller' now.)"
|
||||
echo " 'racket-uninstall' now.)"
|
||||
TARGET1="..."
|
||||
else
|
||||
echo "Where do you want to install the \"$TARGET\" directory tree?"
|
||||
|
@ -114,7 +116,7 @@ echo " 4 - ./$TARGET1 (here)"
|
|||
if test "$unixstyle" = "yes"; then
|
||||
echo " Or enter a different directory prefix to install in."
|
||||
else
|
||||
echo " Or enter a different \"plt\" directory to install in."
|
||||
echo " Or enter a different \"racket\" directory to install in."
|
||||
fi
|
||||
echon "> "
|
||||
read where
|
||||
|
@ -169,19 +171,19 @@ set_prefix() {
|
|||
where="$1"
|
||||
# default dirs -- mimic configure behavior
|
||||
bindir="$WHERE1/bin"
|
||||
collectsdir="$WHERE1/lib/plt/collects"
|
||||
if test -d "$WHERE1/share"; then docdir="$WHERE1/share/plt/doc"
|
||||
elif test -d "$WHERE1/doc"; then docdir="$WHERE1/doc/plt"
|
||||
else docdir="$WHERE1/share/plt/doc"
|
||||
collectsdir="$WHERE1/lib/racket/collects"
|
||||
if test -d "$WHERE1/share"; then docdir="$WHERE1/share/racket/doc"
|
||||
elif test -d "$WHERE1/doc"; then docdir="$WHERE1/doc/racket"
|
||||
else docdir="$WHERE1/share/racket/doc"
|
||||
fi
|
||||
libdir="$WHERE1/lib"
|
||||
includepltdir="$WHERE1/include/plt"
|
||||
libpltdir="$WHERE1/lib/plt"
|
||||
includerktdir="$WHERE1/include/racket"
|
||||
librktdir="$WHERE1/lib/racket"
|
||||
mandir="$WHERE1/man"
|
||||
# The source tree is always removed -- no point keeping it if it won't work
|
||||
# if test -d "$WHERE1/share"; then srcdir="$WHERE1/share/plt/src"
|
||||
# elif test -d "$WHERE1/src"; then srcdir="$WHERE1/src/plt"
|
||||
# else srcdir="$WHERE1/share/plt/src"
|
||||
# if test -d "$WHERE1/share"; then srcdir="$WHERE1/share/racket/src"
|
||||
# elif test -d "$WHERE1/src"; then srcdir="$WHERE1/src/racket"
|
||||
# else srcdir="$WHERE1/share/racket/src"
|
||||
# fi
|
||||
}
|
||||
|
||||
|
@ -223,8 +225,8 @@ if test "$unixstyle" = "yes"; then
|
|||
show_dir_var "[s] Scheme Code " "$collectsdir"
|
||||
show_dir_var "[d] Core Docs " "$docdir"
|
||||
show_dir_var "[l] C Libraries " "$libdir"
|
||||
show_dir_var "[h] C headers " "$includepltdir"
|
||||
show_dir_var "[o] Extra C Objs " "$libpltdir"
|
||||
show_dir_var "[h] C headers " "$includerktdir"
|
||||
show_dir_var "[o] Extra C Objs " "$librktdir"
|
||||
show_dir_var "[m] Man Pages " "$mandir"
|
||||
if test "$PNAME" = "full"; then
|
||||
echo " (C sources are not kept)"
|
||||
|
@ -239,8 +241,8 @@ if test "$unixstyle" = "yes"; then
|
|||
[sS]* ) echon "New directory: "; collectsdir="`read_dir`" ;;
|
||||
[dD]* ) echon "New directory: "; docdir="`read_dir`" ;;
|
||||
[lL]* ) echon "New directory: "; libdir="`read_dir`" ;;
|
||||
[hH]* ) echon "New directory: "; includepltdir="`read_dir`" ;;
|
||||
[oO]* ) echon "New directory: "; libpltdir="`read_dir`" ;;
|
||||
[hH]* ) echon "New directory: "; includerktdir="`read_dir`" ;;
|
||||
[oO]* ) echon "New directory: "; librktdir="`read_dir`" ;;
|
||||
[mM]* ) echon "New directory: "; mandir="`read_dir`" ;;
|
||||
# [rR]* ) if test "$PNAME" = "full"; then
|
||||
# echon "New directory: "; srcdir="`read_dir`"
|
||||
|
@ -450,13 +452,14 @@ if test -e "$WHERE1/$TARGET"; then
|
|||
esac
|
||||
fi
|
||||
|
||||
if test -x "$bindir/plt-uninstall"; then
|
||||
echo "A previous PLT uninstaller is found at \"$bindir/plt-uninstall\","
|
||||
if test -x "$bindir/racket-uninstall"; then
|
||||
echo "A previous Racket uninstaller is found at"
|
||||
echo " \"$bindir/racket-uninstall\","
|
||||
echon " ok to run it? "
|
||||
read R
|
||||
case "$R" in
|
||||
[yY]* ) echon " running uninstaller..."
|
||||
"$bindir/plt-uninstall" || failwith "problems during uninstall"
|
||||
"$bindir/racket-uninstall" || failwith "problems during uninstall"
|
||||
echo " done." ;;
|
||||
* ) failwith "abort..." ;;
|
||||
esac
|
||||
|
@ -465,9 +468,9 @@ fi
|
|||
unpack_installation
|
||||
|
||||
cd "$where"
|
||||
"$TARGET/bin/mzscheme" "$TARGET/collects/setup/unixstyle-install.ss" \
|
||||
"$TARGET/bin/racket" "$TARGET/collects/setup/unixstyle-install.rkt" \
|
||||
"move" "$WHERE1/$TARGET" "$bindir" "$collectsdir" "$docdir" "$libdir" \
|
||||
"$includepltdir" "$libpltdir" "$mandir" \
|
||||
"$includerktdir" "$librktdir" "$mandir" \
|
||||
|| failwith "installation failed"
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user