# Example setup file for ConTeXt distribution # # Author: Hans Hagen # Patches: Arthur R. & Mojca M. # # Usage: # . setuptex [texroot] # # On the first run also execute: # mktexlsr # texexec --make --alone # # PLATFORM # # we will try to guess the platform first # (needs to be kept in sync with first-setup.sh and mtxrun) # if yours is missing, let us know 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" ;; *) 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" ;; 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 ;; # MSYS2|MSYS_NT-10.0) case "$cpu" in i*86) platform="win32" ;; x86_64) platform="win64" ;; *) 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 fix for Snow Leopard if test "$platform" = "osx-intel"; then # running Snow Leopard or later if test `uname -r|cut -f1 -d"."` -ge 10 ; then # working on 64-bit hardware if test `sysctl -n hw.cpu64bit_capable` = 1; then 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)" fi # # PATH # # this resolves to path of the setuptex script # We use $0 for determine the path to the script, except for: # * bash where $0 always is bash; here we use BASH_SOURCE # * ksh93 where we use ${.sh.file} # Thanks to Vasile Gaburici and Alessandro Perucchi for reporting this # * http://www.ntg.nl/pipermail/ntg-context/2008/033953.html # * http://www.ntg.nl/pipermail/ntg-context/2012/068658.html if [ z"$BASH_SOURCE" != z ]; then SCRIPTPATH="$BASH_SOURCE" elif [ z"$KSH_VERSION" != z ]; then SCRIPTPATH="${.sh.file}" else SCRIPTPATH="$0" fi OWNPATH=$(cd -P -- "$(dirname -- "$SCRIPTPATH")" && pwd -P) # but one can also call # . setuptex path-to-tree TEXROOT="" # first check if any path has been provided in the argument, and try to use that one if [ $# -ne 0 ] ; then # TODO: resolve any errors ARGPATH=$(cd -P -- "$(dirname -- "$1")" && pwd -P) && ARGPATH=$ARGPATH/$(basename -- "$1") if test -f "$ARGPATH/texmf/tex/plain/base/plain.tex" ; then if [ -d "$ARGPATH/texmf-$platform/bin" ]; then TEXROOT="$ARGPATH" else echo "Binaries for platform '$platform' are missing." echo "(There is no folder \"$ARGPATH/texmf-$platform/bin\")" fi else echo "The argument \"$ARGPATH\" is not a valid TEXROOT path." echo "(There is no file \"$ARGPATH/texmf/tex/plain/base/plain.tex\")" if [ -f "$OWNPATH/texmf/tex/plain/base/plain.tex" ]; then TEXROOT="$OWNPATH" fi fi else if [ -f "$OWNPATH/texmf/tex/plain/base/plain.tex" ]; then if [ -d "$OWNPATH/texmf-$platform/bin" ]; then TEXROOT="$OWNPATH" else echo "Binaries for platform '$platform' are missing." echo "(There is no folder \"$OWNPATH/texmf-$platform/bin\")" fi else echo "\"$OWNPATH\" is not a valid TEXROOT path." echo "(There is no file \"$OWNPATH/texmf/tex/plain/base/plain.tex\")" fi fi if [ "$TEXROOT" != "" ]; then # for Alan Braslau's server :) if [ "x$PS1" != "x" ] ; then echo "Setting \"$TEXROOT\" as ConTeXt root." fi # ConTeXt binaries have to be added to PATH TEXMFOS=$TEXROOT/texmf-$platform export PATH=$TEXMFOS/bin:$PATH # unset variables that won't be used lately unset platform cpu system OWNPATH SCRIPTPATH ARGPATH TEXMFOS # not sure why this would be needed # export CTXMINIMAL=yes else echo "provide a proper tex root (like '. setuptex /something/tex')" ; fi