#!/bin/sh

set -eu

command=$1
shift

case "$command" in
  configure)
    upstream_dir=$1
    mkdir -p /opt/wine
    ln -fns "${upstream_dir}/Common_Files" /opt/wine/epson-easymp
    cat <<'EOF' > /usr/local/bin/epson-easymp
#!/bin/sh

set -eu

WINEPREFIX=~/.wineprefix-epson-easymp
export WINEPREFIX

# this option was introduced in 5.0.2; Bullseye is enough
# previously buster wine required using winetricks for this. it was slow.
# winecfg is fast, so we'll just do it every startup to minimize corner cases.
winecfg /v win2003

echo "Starting the application"
wine /opt/wine/epson-easymp/EMP_NSC.exe
EOF
    chmod 755 /usr/local/bin/epson-easymp

    cat <<'EOF' > /usr/share/applications/epson-easymp.desktop
[Desktop Entry]
Name=Epson EasyMP
Icon=/opt/wine/epson-easymp/EMP.ico
GenericName=Epson EasyMP
Path=/opt/wine/epson-easymp
Exec=/usr/local/bin/epson-easymp
Terminal=false
StartupNotify=false
Type=Application
Categories=Video;
Keywords=beamer;lan;wlan;projector;
EOF
    ;;
  unconfigure)
    rm -f /opt/wine/epson-easymp \
          /usr/local/bin/epson-easymp  \
          /usr/share/applications/epson-easymp.desktop
    ;;
  unpack)
    upstream_pack=$1
    upstream_dir=$2
    unzip "$upstream_pack" Setup.exe -d "$upstream_dir"
    cd "$upstream_dir"
    cabextract -F Inst*.[hc]?? Setup.exe
    unshield -g Common_Files x InstData/data1.cab
    rm -rf InstData Setup.exe
    wrestool -x -t 14 Common_Files/EMP_NSC.exe > Common_Files/EMP.ico
    chmod 755 Common_Files
    ;;
  *)
    ;;
esac
