#@IgnoreInspection BashAddShebang
# Maintainer: Natalia Portillo <claunia@claunia.com>
_netcoretarget='net10.0'
_aarubase='Aaru'
packager='Natalia Portillo <claunia@claunia.com>'
pkgname='aaru'
pkgver=6.0.0~alpha19
pkgrel=1
pkgdesc='Disc image management and creation tool for disks, tapes, optical and solid state media'
arch=('x86_64' 'armv7h' 'aarch64')
url='http://www.aaru.app'
license=('GPL')
source=('aaru-src-6.0.0-alpha.19.tar.xz::local://aaru-src-6.0.0-alpha.19.tar.xz'
        'aaru-src-6.0.0-alpha.19.tar.xz.asc::local://aaru-src-6.0.0-alpha.19.tar.xz.asc')
makedepends=('dotnet-sdk>=10.0.0')
options=('!strip' 'staticlibs')
validpgpkeys=('236F1E21B540FC0D40F7AD1751D20488C724CA9F')
provides=('aaru')
conflicts=('aaru')
depends=('icu' 'krb5' 'libunwind' 'openssl' 'zlib')

if [ $arch == 'aarch64' ]; then
    dotnet_rid=linux-arm64
elif [ $arch == 'armv7h' ]; then
    dotnet_rid=linux-arm
else
    dotnet_rid=linux-x64
fi

build() {
    cd "${srcdir}"/"${_aarubase}"
    dotnet publish -f ${_netcoretarget} -c Release --self-contained -r ${dotnet_rid}
}

package() {
    # Install MIME database file
    cd "${srcdir}"/"${_aarubase}"
    install -d -m0755 -g 0 "${pkgdir}"/usr/share/mime/packages
    install -m0644 -g 0 -t "${pkgdir}"/usr/share/mime/packages aaruformat.xml

    # Install desktop file
    install -d -m0755 -g 0 "${pkgdir}"/usr/share/applications
    install -m0644 -g 0 -t "${pkgdir}"/usr/share/applications aaru.desktop

    # Install icons
    cd "${srcdir}"
    install -d -m0755 -g 0 "${pkgdir}"/usr/share/icons/hicolor/32x32/apps
    install -m0644 -g 0 -t "${pkgdir}"/usr/share/icons/hicolor/32x32/apps icons/32x32/aaru.png

    install -d -m0755 -g 0 "${pkgdir}"/usr/share/icons/hicolor/64x64/apps
    install -m0644 -g 0 -t "${pkgdir}"/usr/share/icons/hicolor/64x64/apps icons/64x64/aaru.png

    install -d -m0755 -g 0 "${pkgdir}"/usr/share/icons/hicolor/128x128/apps
    install -m0644 -g 0 -t "${pkgdir}"/usr/share/icons/hicolor/128x128/apps icons/128x128/aaru.png

    install -d -m0755 -g 0 "${pkgdir}"/usr/share/icons/hicolor/256x256/apps
    install -m0644 -g 0 -t "${pkgdir}"/usr/share/icons/hicolor/256x256/apps icons/256x256/aaru.png

    install -d -m0755 -g 0 "${pkgdir}"/usr/share/icons/hicolor/512x512/apps
    install -m0644 -g 0 -t "${pkgdir}"/usr/share/icons/hicolor/512x512/apps icons/512x512/aaru.png

    cd "${srcdir}"/"${_aarubase}"/bin/Release/${_netcoretarget}/${dotnet_rid}/publish

    # Create destination directory
    install -d -m0755 -g 0 "${pkgdir}"/opt/Aaru

    # Copy Linux binary
    install -m0755 -g 0 -t "${pkgdir}"/opt/Aaru aaru

    cd "${srcdir}"/"${_aarubase}"/bin/Release/${_netcoretarget}/${dotnet_rid}

    # Copy documentation files
    install -m0644 -g 0 -t "${pkgdir}"/opt/Aaru *.md
    install -m0644 -g 0 -t "${pkgdir}"/opt/Aaru LICENSE*

    # Link executable
    install -d -m0755 -g 0 "${pkgdir}"/usr/bin
    ln -sf /opt/Aaru/aaru "${pkgdir}"/usr/bin/aaru
}

post_install() {
  xdg-icon-resource forceupdate --theme hicolor &>/dev/null
  update-mime-database usr/share/mime &>/dev/null
  update-desktop-database -q
}

post_upgrade() {
  post_install "$1"
}

post_remove() {
  post_install "$1"
}
