#! /bin/bash VERSION={{ sage_version }} DASH_VERSION={{ sage_dash_version }} SYMLINK=/var/tmp/sage-$VERSION-current APPNAME=SageMath-$DASH_VERSION APP=$APPNAME.app USERBASE=$HOME/Library/$APPNAME USE_MINIMAL_ENV=no for arg do shift if [ "$arg" = "--minenv" ]; then USE_MINIMAL_ENV="yes" continue; fi set -- "$@" "$arg" done if [ ! -e $SYMLINK ]; then CURRENT=Contents/Frameworks/Sage.framework/Versions/Current LSREGISTER=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister DUMP=$($LSREGISTER -apps ul -dump | grep $APP | grep -v Volumes | grep -v Trash) for ITEM in $DUMP; do if [ $(basename $ITEM) == $APP ]; then ln -s $ITEM/$CURRENT $SYMLINK; break; fi done fi if [ ! -e $SYMLINK ]; then echo Could not find $APP echo Please start sage from the GUI to restore your environment. exit 1 fi SSL_CERT_FILE=`$SYMLINK/venv/bin/python3 -c "import certifi; print(certifi.where())"` if [ "$USE_MINIMAL_ENV" == "yes" ]; then MIN_ENV="USER=$USER LOGNAME=$LOGNAME SHELL=$SHELL HOME=$HOME TERM=$TERM LANG=$LANG PYTHONUSERBASE=\"$USERBASE\" SSL_CERT_FILE=\"$SSL_CERTFILE\"" /usr/bin/env -i PATH="$PATH" $MIN_ENV "$SYMLINK"/venv/bin/sage "$@" else /usr/bin/env PYTHONUSERBASE="$USERBASE" SSL_CERT_FILE="$SSL_CERT_FILE" "$SYMLINK"/venv/bin/sage "$@" fi