summaryrefslogtreecommitdiff
path: root/scripts/context/stubs/install/first-setup.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/context/stubs/install/first-setup.sh')
-rw-r--r--scripts/context/stubs/install/first-setup.sh120
1 files changed, 120 insertions, 0 deletions
diff --git a/scripts/context/stubs/install/first-setup.sh b/scripts/context/stubs/install/first-setup.sh
new file mode 100644
index 000000000..9249fd2e0
--- /dev/null
+++ b/scripts/context/stubs/install/first-setup.sh
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+# Takes the same arguments as mtx-update
+
+# you may change this if you want ...
+CONTEXTROOT="$PWD/tex"
+
+# suggested by Tobias Florek to check for ruby & rsync
+if [ ! -x "`which rsync`" ]; then
+ echo "You need to install rsync first."
+ exit 1
+fi
+if [ ! -x "`which ruby`" ]; then
+ echo "You might want to install Ruby first if you want to use pdfTeX or XeTeX."
+fi
+
+system=`uname -s`
+cpu=`uname -m`
+
+case "$system" in
+ # linux
+ Linux)
+ case "$cpu" in
+ i*86) platform="linux" ;;
+ x86_64|ia64) platform="linux-64" ;;
+ # a little bit of cheating with ppc64 (won't work on Gentoo)
+ ppc|ppc64) platform="linux-ppc" ;;
+ # we currently support just mipsel, but Debian is lying (reports mips64)
+ # we need more hacks to fix the situation, this is just a temporary solution
+ mips|mips64|mipsel|mips64el) platform="linux-mipsel" ;;
+ *) platform="unknown" ;;
+ esac ;;
+ # Mac OS X
+ Darwin)
+ case "$cpu" in
+ i*86) platform="osx-intel" ;;
+ x86_64) platform="osx-64" ;;
+ ppc*|powerpc|power*|Power*) platform="osx-ppc" ;;
+ *) platform="unknown" ;;
+ esac ;;
+ # FreeBSD
+ FreeBSD|freebsd)
+ case "$cpu" in
+ i*86) platform="freebsd" ;;
+ x86_64) platform="freebsd" ;; # no special binaries are available yet
+ amd64) platform="freebsd-amd64" ;;
+ *) platform="unknown" ;;
+ esac ;;
+ # kFreeBSD (debian)
+ GNU/kFreeBSD)
+ case "$cpu" in
+ i*86) platform="kfreebsd-i386" ;;
+ x86_64|amd64) platform="kfreebsd-amd64" ;;
+ *) platform="unknown" ;;
+ esac ;;
+ # cygwin
+ CYGWIN*)
+ case "$cpu" in
+ i*86) platform="cygwin" ;;
+ x86_64|ia64) platform="cygwin-64" ;;
+ *) platform="unknown" ;;
+ esac ;;
+ # SunOS/Solaris
+ SunOS)
+ case "$cpu" in
+ sparc) platform="solaris-sparc" ;;
+ i86pc) platform="solaris-intel" ;;
+ *) platform="unknown" ;;
+ esac ;;
+ *) platform="unknown"
+esac
+
+# temporary patch for 64-bit Leopard with 32-bit kernel
+if test "$platform" = "osx-intel"; then
+ # if running Snow Leopard or later
+ # better: /usr/bin/sw_vers -productVersion
+ if test `uname -r|cut -f1 -d"."` -ge 10 ; then
+ # if working on 64-bit hardware
+ if test `sysctl -n hw.cpu64bit_capable` = 1; then
+ # snowleopard32=TRUE
+ platform="osx-64"
+ fi
+ fi
+fi
+
+if test "$platform" = "unknown" ; then
+ echo "Error: your system \"$system $cpu\" is not supported yet."
+ echo "Please report to the ConTeXt mailing-list (ntg-context@ntg.nl)"
+ exit
+fi
+
+# if you want to enforce some specific platform
+# (when 'uname' doesn't agree with true architecture), uncomment and modify next line:
+# platform=linux
+
+# download or rsync the latest scripts first
+rsync -rlptv rsync://contextgarden.net/minimals/setup/$platform/bin .
+
+# download or update the distribution
+# you may remove the --context=beta switch if you want to use "current"
+# you can use --engine=luatex if you want just mkiv
+env PATH="$PWD/bin:$CONTEXTROOT/texmf-$platform/bin:$PATH" \
+mtxrun --script ./bin/mtx-update.lua --force --update --make --context=beta --platform=$platform --texroot="$CONTEXTROOT" $@
+
+echo
+echo "When you want to use context, you need to initialize the tree by typing:"
+echo
+echo " . $CONTEXTROOT/setuptex"
+echo
+echo "in your shell or add"
+echo " \"$CONTEXTROOT/texmf-$platform/bin\""
+echo "to PATH variable if you want to set it permanently."
+echo "This can usually be done in .bashrc, .bash_profile"
+echo "(or whatever file is used to initialize your shell)."
+echo
+
+if [ ! -x "`which ruby`" ]; then
+ echo "You might want to install Ruby first if you want to use pdfTeX or XeTeX."
+ echo
+fi