Blame docker-builder-data/build/script/packet/opentoonz-master.files/launch-opentoonz.sh

Ivan Mahonin e14835
#!/bin/sh
Ivan Mahonin e14835
Ivan Mahonin e7b20d
OLDDIR=`pwd`
Ivan Mahonin b0fa99
SCRIPT_DIR=$(cd `dirname "$0"`; pwd)
Ivan Mahonin e7b20d
cd "$OLDDIR"
Ivan Mahonin e14835
BASE_DIR=`dirname "$SCRIPT_DIR"`
Ivan Mahonin e14835
Ivan Mahonin abfde6
export LD_LIBRARY_PATH="$BASE_DIR/lib:$BASE_DIR/lib/opentoonz:$BASE_DIR/lib64:$LD_LIBRARY_PATH"
Ivan Mahonin f65cc2
export QT_XKB_CONFIG_ROOT=$QT_XKB_CONFIG_ROOT:/usr/local/share/X11/xkb:/usr/share/X11/xkb
Ivan Mahonin e14835
Ivan Mahonin f49009
# fix stuff
Ivan Mahonin f49009
CONFIG_DIR="$HOME/.config/OpenToonz"
Ivan Mahonin f49009
if [ ! -d "$CONFIG_DIR" ]; then
Ivan Mahonin f49009
    echo "fix config: copy stuff".
Ivan Mahonin f49009
    mkdir -p "$CONFIG_DIR"
Ivan Mahonin f49009
    cp -r "$BASE_DIR/share/opentoonz/stuff" "$CONFIG_DIR"
Ivan Mahonin f49009
Ivan Mahonin f49009
    echo "fix config: create SystemVar.ini" 
Ivan Mahonin f49009
    cat << EOF > "$CONFIG_DIR/SystemVar.ini"
Ivan Mahonin f49009
[General]
Ivan Mahonin f49009
OPENTOONZROOT="$HOME/.config/OpenToonz/stuff"
Ivan Mahonin f49009
OpenToonzPROFILES="$HOME/.config/OpenToonz/stuff/profiles"
Ivan Mahonin f49009
TOONZCACHEROOT="$HOME/.config/OpenToonz/stuff/cache"
Ivan Mahonin f49009
TOONZCONFIG="$HOME/.config/OpenToonz/stuff/config"
Ivan Mahonin f49009
TOONZFXPRESETS="$HOME/.config/OpenToonz/stuff/fxs"
Ivan Mahonin f49009
TOONZLIBRARY="$HOME/.config/OpenToonz/stuff/library"
Ivan Mahonin f49009
TOONZPROFILES="$HOME/.config/OpenToonz/stuff/profiles"
Ivan Mahonin f49009
TOONZPROJECTS="$HOME/.config/OpenToonz/stuff/projects"
Ivan Mahonin f49009
TOONZROOT="$HOME/.config/OpenToonz/stuff"
Ivan Mahonin f49009
TOONZSTUDIOPALETTE="$HOME/.config/OpenToonz/stuff/projects/studiopalette"
Ivan Mahonin f49009
EOF
Ivan Mahonin f49009
Ivan Mahonin f49009
else
Ivan Mahonin f49009
    # add mypaint brushes if need
Ivan Mahonin f49009
    if [ ! -d "$CONFIG_DIR/stuff/library/mypaint brushes" ]; then
Ivan Mahonin f49009
        echo "fix config: copy mypaint brushes" 
Ivan Mahonin f49009
        mkdir -p "$CONFIG_DIR/stuff/library"
Ivan Mahonin f49009
        cp -r "$BASE_DIR/share/opentoonz/stuff/library/mypaint brushes" "$CONFIG_DIR/stuff/library/" 
Ivan Mahonin f49009
    fi
Ivan Mahonin f49009
Ivan Mahonin f49009
    # fix paths
Ivan Mahonin f49009
    INI="$HOME/.config/OpenToonz/SystemVar.ini"
Ivan Mahonin f49009
    if [ -e "$INI" ]; then
Ivan Mahonin f49009
        [ -e "$INI.bak" ] || cp "$INI" "$INI.bak"
Ivan Mahonin f49009
Ivan Mahonin f49009
        # fix path to fxs
Ivan Mahonin f49009
        FX_PATH_OLD="$CONFIG_DIR/stuff/projects/fxs"
Ivan Mahonin f49009
        FX_PATH_NEW="$CONFIG_DIR/stuff/fxs"
Ivan Mahonin f49009
        FX_LINE_OLD="TOONZFXPRESETS=\"$FX_PATH_OLD\""
Ivan Mahonin f49009
        FX_LINE_NEW="TOONZFXPRESETS=\"$FX_PATH_NEW\""
Ivan Mahonin f49009
        if [ ! -z "`grep "$FX_LINE_OLD" "$INI"`" ] \
Ivan Mahonin f49009
         && ( [ ! -d "$FX_PATH_OLD" ] || [ -z "`ls -A "$FX_PATH_OLD"`" ] ); then
Ivan Mahonin f49009
            echo "fix config: fix path to fxs" 
Ivan Mahonin f49009
            cat "$INI" \
Ivan Mahonin f49009
              | sed "s|$FX_LINE_OLD|$FX_LINE_NEW|g" \
Ivan Mahonin f49009
              > "$INI.out"
Ivan Mahonin f49009
            cp "$INI.out" "$INI"
Ivan Mahonin f49009
            rm -f "$INI.out"
Ivan Mahonin f49009
        fi
Ivan Mahonin f49009
Ivan Mahonin f49009
        # fix path to library
Ivan Mahonin f49009
        LIBRARY_PATH_OLD="$CONFIG_DIR/stuff/projects/library"
Ivan Mahonin f49009
        LIBRARY_PATH_NEW="$CONFIG_DIR/stuff/library"
Ivan Mahonin f49009
        LIBRARY_LINE_OLD="TOONZLIBRARY=\"$LIBRARY_PATH_OLD\""
Ivan Mahonin f49009
        LIBRARY_LINE_NEW="TOONZLIBRARY=\"$LIBRARY_PATH_NEW\""
Ivan Mahonin f49009
        if [ ! -z "`grep "$LIBRARY_LINE_OLD" "$INI"`" ] \
Ivan Mahonin f49009
         && ( [ ! -d "$LIBRARY_PATH_OLD" ] || [ -z "`ls -A "$LIBRARY_PATH_OLD"`" ] ); then
Ivan Mahonin f49009
            echo "fix config: fix path to library" 
Ivan Mahonin f49009
            cat "$INI" \
Ivan Mahonin f49009
              | sed "s|$LIBRARY_LINE_OLD|$LIBRARY_LINE_NEW|g" \
Ivan Mahonin f49009
              > "$INI.out"
Ivan Mahonin f49009
            cp "$INI.out" "$INI"
Ivan Mahonin f49009
            rm -f "$INI.out"
Ivan Mahonin f49009
        fi
Ivan Mahonin f49009
    fi
Ivan Mahonin f49009
fi
Ivan Mahonin f49009
Ivan Mahonin e14835
cd "$BASE_DIR/bin"
Ivan Mahonin abfde6
if ! ./opentoonz "$@"; then
Ivan Mahonin abfde6
	cd "$OLDDIR"
Ivan Mahonin abfde6
	exit 1
Ivan Mahonin abfde6
fi
Ivan Mahonin e14835
cd "$OLDDIR"