# Maintainer: Puqns67 <me@puqns67.icu>

pkgname='rustdesk-server'
pkgver=1.1.16
pkgrel=1
pkgdesc='RustDesk Server Program'
arch=('x86_64' 'aarch64')
url='https://github.com/rustdesk/rustdesk-server'
license=('AGPL-3.0-or-later')
depends=('gcc-libs' 'glibc')
makedepends=('git' 'rust')
backup=("etc/default/${pkgname}-hbbr"
        "etc/default/${pkgname}-hbbs")
options=('!lto')

source=("${pkgname}"::"git+${url}.git#tag=${pkgver}"
        "${pkgname}-hbb_common"::"git+https://github.com/rustdesk/hbb_common.git"
        "${pkgname}-sysusers.conf"
        "${pkgname}-tmpfiles.conf"
        "${pkgname}-hbbr.service"
        "${pkgname}-hbbs.service"
        "${pkgname}-hbbr.default"
        "${pkgname}-hbbs.default")

b2sums=('f2bde6269ca20d93985779da8a665da3ded540e8683453060bba1880b093b8457a6965f11fcb0b996af8b1c1597bd6aaf8ef0a9139b3a83f119ada25349bc48d'
        'SKIP'
        '736e07c9f81ca791e1ca05a209eb7551d6b87250f12554dbeb13b46f98795a3bcc556fc9548d856223b10566729988485e0376022afb1b59a333ec03d3b47cea'
        'ef24fd0191b6cb1e4a1919ea579f1568ceeccf58c562316990c5697c1a593d6e1bdaa780bde115a1f7bd6556c128b68515f5fb4e535c805a35b338fc3fca232a'
        '686bd84888eca8fea89335e375a98d146252435663d094d6bec9f5d567fa8133ef9fac6ef273ac195514666cd05881a48532238f3d46218df9ed70d621d134b9'
        '84cd988f66298a553aeea0fbf8916dcd8a95469a6002fbd921ba7cdee640503bd49b000060dd75249d18ce7a67bababeb9a7a60cf333175a3f25ef16c839c13a'
        'b6233f341a96439bd651b191052c06fd3f5518f9d3c91a7a39df0050d199981de7ec2dd4e380b771f30b8b7fc10687f678352b25338dd3390b5cb408b22140fd'
        'eb40517dbd14f51342651baf47b7e4acc8ca454b763efaa110d597243ea96c22bb3b28f3f168285e6ccb8f57584451ada2d0348ba7174ef0dd8a2ff5c0028b7a')

prepare() {
  export RUSTUP_TOOLCHAIN=stable

  cd "${srcdir}/${pkgname}"

  # Setup submodule
  git submodule init
  git config submodule.libs/hbb_common.url "${srcdir}/${pkgname}-hbb_common"
  git -c protocol.file.allow=always submodule update

  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}

build() {
  export RUSTUP_TOOLCHAIN=stable
  export CARGO_TARGET_DIR=target

  cd "${srcdir}/${pkgname}"

  cargo build --frozen --release --all-features
}

package() {
  install -Dm755 "${srcdir}/${pkgname}/target/release/hbbr" "${pkgdir}/usr/bin/${pkgname}-hbbr"
  install -Dm755 "${srcdir}/${pkgname}/target/release/hbbs" "${pkgdir}/usr/bin/${pkgname}-hbbs"
  install -Dm755 "${srcdir}/${pkgname}/target/release/rustdesk-utils" "${pkgdir}/usr/bin/rustdesk-utils"

  install -Dm644 "${srcdir}/${pkgname}-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
  install -Dm644 "${srcdir}/${pkgname}-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"

  install -Dm644 "${srcdir}/${pkgname}-hbbr.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}-hbbr.service"
  install -Dm644 "${srcdir}/${pkgname}-hbbs.service" "${pkgdir}/usr/lib/systemd/system/${pkgname}-hbbs.service"

  install -Dm644 "${srcdir}/${pkgname}-hbbr.default" "${pkgdir}/etc/default/${pkgname}-hbbr"
  install -Dm644 "${srcdir}/${pkgname}-hbbs.default" "${pkgdir}/etc/default/${pkgname}-hbbs"
}
