# In this example, we use a trusty deb

APP=RetroArch
LOWERAPP=${APP,,}

mkdir -p ./$APP/$APP.AppDir/usr/lib

cd ./$APP/

. ./functions.sh

generate_status

# Needs a specific version (FIXME)
sed -i -e 's|libegl1-mesa|xxxlibegl1-mesa|g' status
cat > status <<\EOF
Package: libegl-mesa
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: libegl1-mesa
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: libwayland-egl1-mesa
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: libgl1-mesa-glx
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: libgl1-mesa-dri
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: debconf
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: libc6
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: libstdc++6
Status: install ok installed
Architecture: all
Version: 9:999.999.999

Package: libgcc1
Status: install ok installed
Architecture: all
Version: 9:999.999.999

EOF

echo "deb http://archive.ubuntu.com/ubuntu/ trusty main universe multiverse
deb http://ppa.launchpad.net/libretro/testing/ubuntu trusty main
" > sources.list
apt-get $OPTIONS update
URLS=$(apt-get $OPTIONS -y install --print-uris $LOWERAPP | cut -d "'" -f 2 | grep -e "^http")
wget -c $URLS

cd ./$APP.AppDir/

find ../*.deb -exec dpkg -x {} . \; || true

get_desktop
# get_icon
# Dear upstream developers, this is a nonstandard location for an app icon;
# please consider using a standard location instead
cp ./usr/share/libretro/assets/xmb/retroactive/png/retroarch.png .
get_apprun

mv ./usr/lib/x86_64-linux-gnu/pulseaudio/* ./usr/lib/x86_64-linux-gnu/ || true

# Workaround for:
# /usr/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1: error: symbol lookup error:
# undefined symbol: drmGetNodeTypeFromFd (fatal)
# libGL error: unable to load driver: swrast_dri.so
# libGL error: failed to load driver: swrast
rm -rf ./usr/lib/x86_64-linux-gnu/libdrm.* || true

# patch_usr
# Patching only the executable files seems not to be enough for some apps
find usr/ -type f -exec sed -i -e "s|/usr|././|g" {} \;

# Patch to make it load usr/share/retroarch from inside the AppDir
mv etc e
sed -i -e 's|/etc|../e|g' ./usr/bin/retroarch
sed -i -e 's|/usr|././|g' e/retroarch.cfg

# Workaround for:
# Two icons in dock
# https://github.com/probonopd/AppImageKit/issues/260
echo "StartupWMClass=retroarch" >> retroarch.desktop

VERSION=$(find ../*.deb -name $LOWERAPP"_*" | head -n 1 | cut -d "~" -f 1 | cut -d "_" -f 2 | cut -d "-" -f 1 | sed -e 's|1%3a||g' )

echo $VERSION

get_desktopintegration $LOWERAPP

# Go out of AppImage
cd ..

generate_type2_appimage
