# Maintainer: Runnytu < runnytu at gmail dot com >
# OldMaintainer: FreeK <stephan@confidr.me>
# Contributor: olav-st <olav.s.th@gmail.com>
# Contributor: David Manouchehri <manouchehri@riseup.net>

### BUILD OPTIONS
# Set to y to enable nomachine service autostart
_autoservice=n
# Set to y to enable firewall autorules
_autofirewall=n
### END BUILD OPTIONS

pkgname=nomachine
pkgver=9.8.2
_pkgvermain=9.8
_pkgrel_i686=1
_pkgrel_x86_64=1
_pkgrel_armv7h=1
_pkgrel_armv8h=1
_pkgrel_aarch64=${_pkgrel_armv8h}
_pkgrel_pentium4=${_pkgrel_i686}
pkgrel=1
pkgdesc="Remote desktop application"
groups=('network')
url="http://www.nomachine.com"
license=('custom:"NoMachine EULA"')
arch=('x86_64' 'i686' 'armv7h' 'armv8h' 'aarch64' 'pentium4')
options=('!strip')
conflicts=('nxmanager' 'nxwebplayer' 'nxserver' 'nxnode' 'nxclient')
depends=('bash' 'openssh' 'nawk' 'polkit' 'rpm-tools' 'dkms')
optdepends=('xorg-xauth: allows logging into a headless machine')
sha512sums_x86_64=('2fd993636543e143a94b6b0a67e47cd2ea195b5a9bd989bf64a978151630403911407b88afb4ebb452b8b35d4698429ff890413d9a49f1487cf28e22071f1eeb')
sha512sums_i686=('8d3d9b0dff82d43acd55ff5acf31509458c0105c9d839e510e1fc97175cf24db0a5f4cbe15704667dcb5e75f9beaf2c662bbe9861e771afd4948855b45655923')
sha512sums_armv7h=('b9e21bdb895e12c2f3863fcd0695af0b6d96bc7b7bf85766dc84f1e2c470491cf50364a3e7621a1cf6c3779cc403758a6ff01b1f401e138660e38eae7a911e87')
sha512sums_armv8h=('88b99ebd5f725e2090d73df07432943fd8df24df69c31eb37887a1fae29dbfd318dca7ae2940ce57d5e2e5b3b3c1b0ae55075131c75708ebb28823e55908373b')
sha512sums_aarch64=('88b99ebd5f725e2090d73df07432943fd8df24df69c31eb37887a1fae29dbfd318dca7ae2940ce57d5e2e5b3b3c1b0ae55075131c75708ebb28823e55908373b')
sha512sums_pentium4=('8d3d9b0dff82d43acd55ff5acf31509458c0105c9d839e510e1fc97175cf24db0a5f4cbe15704667dcb5e75f9beaf2c662bbe9861e771afd4948855b45655923')
source_x86_64=("https://download.nomachine.com/download/${_pkgvermain}/Linux/${pkgname}_${pkgver}_${_pkgrel_x86_64}_x86_64.tar.gz")
source_i686=("https://download.nomachine.com/download/${_pkgvermain}/Linux/${pkgname}_${pkgver}_${_pkgrel_i686}_i686.tar.gz")
source_armv7h=("https://download.nomachine.com/download/${_pkgvermain}/Arm/${pkgname}_${pkgver}_${_pkgrel_armv7h}_armv7hl.tar.gz")
source_armv8h=("https://download.nomachine.com/download/${_pkgvermain}/Arm/${pkgname}_${pkgver}_${_pkgrel_armv8h}_aarch64.tar.gz")
source_aarch64=("${source_armv8h[@]}")
source_pentium4=("${source_i686[@]}")
install=nomachine.install

prepare() {
  #Fix Fedora Version Var And Libstdc++ Rename
  tar -zxf "$srcdir/NX/etc/NX/server/packages/nxrunner.tar.gz" NX/scripts/setup/nxrunner
  sed -i 's/    majorFedoraVersion.*/    majorFedoraVersion=23/' "$srcdir/NX/scripts/setup/nxrunner"
  tar -zxf "$srcdir/NX/etc/NX/server/packages/nxrunner.tar.gz" "NX/lib/"
  for _libstdc in "$srcdir/NX/lib/"libstdc++.*; do
    mv "${_libstdc}" ${_libstdc}.nomachine
  done
  gzip -d "$srcdir/NX/etc/NX/server/packages/nxrunner.tar.gz"
  tar -rf "$srcdir/NX/etc/NX/server/packages/nxrunner.tar" NX/scripts/setup/nxrunner -C "$srcdir/NX/scripts/setup/nxrunner"
  tar --delete -f "$srcdir/NX/etc/NX/server/packages/nxrunner.tar" "NX/lib/"
  tar -rf "$srcdir/NX/etc/NX/server/packages/nxrunner.tar" "NX/lib/" -C "$srcdir/NX/lib/"
  gzip "$srcdir/NX/etc/NX/server/packages/nxrunner.tar"
  rm -fr "$srcdir/NX/scripts"*
  rm -fr "$srcdir/NX/lib"*
  #Change Automatic Service Start And/Or Firewall Automatic Rules If Apply
  if [ $_autoservice = y ] && [ $_autofirewall = y ]; then
    echo "##################################################################"
    echo "#Enabling Automatic Service Start And Firewall Automatic Rules#"
    echo "##################################################################"
  elif [ $_autoservice = y ] && [ $_autofirewall = n ]; then
    echo "#####################################"
    echo "#Enabling Automatic Service Start#"
    echo "#####################################"
    tar -zxf "$srcdir/NX/etc/NX/server/packages/nxserver.tar.gz" NX/etc/server-fedora.cfg.sample
    sed -i 's/#EnableFirewallConfiguration 1/EnableFirewallConfiguration 0/' NX/etc/server-fedora.cfg.sample
    gzip -d "$srcdir/NX/etc/NX/server/packages/nxserver.tar.gz"
    tar -rf "$srcdir/NX/etc/NX/server/packages/nxserver.tar" NX/etc/server-fedora.cfg.sample -C "$srcdir/NX/etc/server-fedora.cfg.sample"
    gzip "$srcdir/NX/etc/NX/server/packages/nxserver.tar"
    rm -fr "$srcdir/NX/etc/server-fedora.cfg.sample"
  elif [ $_autoservice = n ] && [ $_autofirewall = y ]; then
    echo "######################################"
    echo "#Enabling Firewall Automatic Rules#"
    echo "######################################"
    tar -zxf "$srcdir/NX/etc/NX/server/packages/nxserver.tar.gz" NX/etc/server-fedora.cfg.sample
    sed -i 's/#StartNXDaemon Automatic/StartNXDaemon Manual/' NX/etc/server-fedora.cfg.sample
    gzip -d "$srcdir/NX/etc/NX/server/packages/nxserver.tar.gz"
    tar -rf "$srcdir/NX/etc/NX/server/packages/nxserver.tar" NX/etc/server-fedora.cfg.sample -C "$srcdir/NX/etc/server-fedora.cfg.sample"
    gzip "$srcdir/NX/etc/NX/server/packages/nxserver.tar"
    rm -fr "$srcdir/NX/etc/server-fedora.cfg.sample"
  elif [ $_autoservice = n ] && [ $_autofirewall = n ]; then
    echo "###################################################################"
    echo "#Disabling Automatic Service Start And Firewall Automatic Rules#"
    echo "###################################################################"
    tar -zxf "$srcdir/NX/etc/NX/server/packages/nxserver.tar.gz" NX/etc/server-fedora.cfg.sample
    sed -i 's/#EnableFirewallConfiguration 1/EnableFirewallConfiguration 0/' NX/etc/server-fedora.cfg.sample
    sed -i 's/#StartNXDaemon Automatic/StartNXDaemon Manual/' NX/etc/server-fedora.cfg.sample
    gzip -d "$srcdir/NX/etc/NX/server/packages/nxserver.tar.gz"
    tar -rf "$srcdir/NX/etc/NX/server/packages/nxserver.tar" NX/etc/server-fedora.cfg.sample -C "$srcdir/NX/etc/server-fedora.cfg.sample"
    gzip "$srcdir/NX/etc/NX/server/packages/nxserver.tar"
    rm -fr "$srcdir/NX/etc/server-fedora.cfg.sample"
  fi
}

package() {
  cd "$srcdir"
  mkdir "$srcdir/NX/etc" -p
  install -d "$pkgdir/usr/"
  cp -a NX "$pkgdir/usr/NX"
}
