#!/bin/bash
export AXIOMA_ENV_BACKUP="$(env)"

# create venv
# ./run-python -m venv axioma_venv --system-site-packages
# run simple example
# ./run-python -c "import axipy; axipy.init_axioma()"

DIR="$( cd "$( dirname "$0" )" && pwd )"
export BASE_DIR=`readlink -f $DIR/..`
export PATH=$BASE_DIR/python/bin:$PATH
export LD_LIBRARY_PATH=$BASE_DIR/bin:$BASE_DIR/bin/lib:$LD_LIBRARY_PATH
export AXIOMA_HOME=$BASE_DIR/sbin
if [[ -d /etc/fonts ]]; then
  export FONTCONFIG_PATH=/etc/fonts
fi
DISTRIB_ID=$(source /etc/os-release && echo "$ID" | xargs)
if [[ $DISTRIB_ID == 'alteros' ]]; then export LD_LIBRARY_PATH=$BASE_DIR/bin/lib1:$LD_LIBRARY_PATH; fi
if [[ 'wayland' == $XDG_SESSION_TYPE  ]]; then export QT_QPA_PLATFORM='xcb;wayland'; fi
python3 "$@"

argc=$#
argv=("$@")
for (( j = 0; j < argc; j++ )); do
  if [[ ${argv[j]} == "-m" && $((j+2)) -le $argc && ${argv[j+1]} == "venv" ]]; then
    ENV_FOLDER=${argv[j+2]}
    ACTIVATE_FILE="$ENV_FOLDER/bin/activate"
    PYTHON_RUN_FILE="$ENV_FOLDER/bin/python_axioma"
    if [ -f "$ACTIVATE_FILE" ]; then
      echo "" >> $ACTIVATE_FILE
      echo "#---axioma---" >> $ACTIVATE_FILE
      echo "BASE_DIR=$BASE_DIR" >> $ACTIVATE_FILE
      echo "export PATH=$BASE_DIR/python/bin:\$PATH" >> $ACTIVATE_FILE
      echo "export LD_LIBRARY_PATH=$BASE_DIR/bin:$BASE_DIR/bin/lib:\$LD_LIBRARY_PATH" >> $ACTIVATE_FILE
      echo "export AXIOMA_HOME=$BASE_DIR/sbin" >> $ACTIVATE_FILE
      echo "export LD_PRELOAD=$BASE_DIR/bin/libsqlite3.so" >> $ACTIVATE_FILE
      echo "if [[ -d /etc/fonts ]]; then" >> $ACTIVATE_FILE
      echo "  export FONTCONFIG_PATH=/etc/fonts" >> $ACTIVATE_FILE
      echo "fi" >> $ACTIVATE_FILE
      echo "if [[ $DISTRIB_ID == 'alteros' ]]; then export LD_LIBRARY_PATH=$BASE_DIR/bin/lib1:\$LD_LIBRARY_PATH; fi" >> $ACTIVATE_FILE
      echo "if [[ 'wayland' == $XDG_SESSION_TYPE  ]]; then export QT_QPA_PLATFORM='xcb;wayland'; fi" >> $ACTIVATE_FILE
      echo "#---axioma---" >> $ACTIVATE_FILE
    fi
    echo "#!/bin/bash" > $PYTHON_RUN_FILE
    echo "export LD_LIBRARY_PATH=$BASE_DIR/bin:$BASE_DIR/bin/lib:\$LD_LIBRARY_PATH" >> $PYTHON_RUN_FILE
    echo "export LD_PRELOAD=$BASE_DIR/bin/libsqlite3.so" >> $PYTHON_RUN_FILE
    echo "if [[ $DISTRIB_ID == 'alteros' ]]; then export LD_LIBRARY_PATH=$BASE_DIR/bin/lib1:\$LD_LIBRARY_PATH; fi" >> $PYTHON_RUN_FILE
    echo "DIR=\"\$( cd \"\$( dirname \"\$0\" )\" && pwd )\"" >> $PYTHON_RUN_FILE
    echo "\$DIR/python3 \"\$@\"" >> $PYTHON_RUN_FILE
    chmod +x $PYTHON_RUN_FILE
    break
  fi
done
