#!/usr/bin/env sh

COPASIDIR="$(dirname "$(dirname "$(readlink -f "$0")")")"
export COPASIDIR

LIBDIR="${COPASIDIR}/share/copasi/lib"
CopasiUI="${LIBDIR}/CopasiUI"
LDD_OPTION="-r"

IS_FREEBSD=$(uname 2>&1 | grep -q 'FreeBSD' && echo true)

if [ _${IS_FREEBSD} = _true ]; then
  LDD_OPTION=""
fi

QT_MISSING=$(ldd "${LDD_OPTION}" "${CopasiUI}" 2>&1 | grep -q '\(undefined symbol:\|libQt.*\.so.*not found\)' && echo true)

if [ _${QT_MISSING} = _true ]; then
  LD_LIBRARY_PATH="${LIBDIR}:${LD_LIBRARY_PATH}"
  QT_QPA_PLATFORM_PLUGIN_PATH="${LIBDIR}/plugins"
  LIBGL_ALWAYS_SOFTWARE=1
  QT_OPENGL=software
  QT_QPA_PLATFORM=xcb
  QT_XKB_CONFIG_ROOT=${QT_XKB_CONFIG_ROOT}:/usr/share/X11/xkb
  export LD_LIBRARY_PATH QT_QPA_PLATFORM_PLUGIN_PATH LIBGL_ALWAYS_SOFTWARE QT_OPENGL QT_QPA_PLATFORM QT_XKB_CONFIG_ROOT
fi

"${CopasiUI}" "$@"
