# Maintainer: Konstantinos Sideris <siderisk at auth dot gr>
# Maintainer: Joseph Donofry <joe at joedonofry dot com>

pkgname=nheko-git
pkgver=0.12.1.1.r102.gd9189e58
pkgrel=1
pkgdesc="Desktop client for the Matrix protocol"
arch=(armv7h aarch64 i686 x86_64)

url="https://github.com/Nheko-Reborn/nheko"
license=("GPL-3.0-or-later")

depends=(
  lmdb qt6-base qt6-svg qt6-multimedia qt6-declarative
  qtkeychain-qt6 kdsingleapplication
  openssl libmatrix_client.so libolm.so libspdlog.so libfmt.so
  cmark gst-plugins-base-libs gst-plugins-bad-libs gst-plugin-qml6
  gst-plugin-pipewire libxcb xcb-util-wm hicolor-icon-theme
)

makedepends=(git cmake qt6-tools nlohmann-json fontconfig lmdbxx pkg-config asciidoc mtxclient-git)

provides=("nheko")
conflicts=("nheko")

source=($pkgname::git+https://github.com/Nheko-Reborn/nheko.git#branch=master)
md5sums=('SKIP')

pkgver() {
  cd $pkgname
  git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
  cd $pkgname

  mkdir -p build
}

build() {
  cd $pkgname/build

  # build with more cores than the default
  # https://wiki.archlinux.org/title/CMake_package_guidelines
  cmake .. -DHUNTER_ENABLED=OFF \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=None
  make
}

package() {
  cd $pkgname/build

  make DESTDIR="$pkgdir" install

  # Use a different variable name to hide the automatically generated deps
  # from makepkg/devtools
  _deps=()

  cmarkver=$(objdump -p /usr/lib/libcmark.so | \
               grep SONAME | sed -e 's/.*cmark\.so\.//')
  [[ $cmarkver =~ ^([0-9]*)\.([0-9]*)\.([0-9]*) ]]
  maj_ver=${BASH_REMATCH[1]}
  min_ver=${BASH_REMATCH[2]}
  ((next_min=min_ver + 1))
  _deps+=("cmark>=${maj_ver}.${min_ver}"
          "cmark<${maj_ver}.${next_min}")

  _deps+=("mtxclient-git=$(pacman -Q mtxclient-git | cut -d \  -f 2 | sed 's/-.*//')")

  depends+=("${_deps[@]}")
}
