# Maintainer: Bruno Pagani <archange@archlinux.org>
# Contributor: Baptiste Jonglez <baptiste--aur at jonglez dot org>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - set -DOPENDHT_LTO=OFF
#  - move cppunit to makedepends from checkdepends

buildarch=28

pkgname=opendht
epoch=1
pkgver=2.3.1.r7+ga89e4d62
pkgrel=4
pkgdesc="C++14 Distributed Hash Table (DHT) implementation"
arch=(x86_64)
url="https://github.com/savoirfairelinux/opendht"
license=(GPL3)
depends=(glibc gnutls nettle readline argon2 jsoncpp libjsoncpp.so fmt http-parser openssl)
makedepends=(git cmake msgpack-c msgpack-cxx asio restinio cython python-setuptools cppunit)
optdepends=('python: to use the Python bindings')
_commit=a89e4d626eae388bfd4049faadcb5deec58fb6fc
source=(git+${url}#commit=${_commit})
sha256sums=(SKIP)

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

build() {
  cmake -B build -S ${pkgname} \
    -DCMAKE_BUILD_TYPE=None \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DOPENDHT_DOCUMENTATION=OFF \
    -DOPENDHT_TESTS=ON \
    -DOPENDHT_STATIC=OFF \
    -DOPENDHT_SYSTEMD=ON \
    -DOPENDHT_SYSTEMD_UNIT_FILE_LOCATION=/usr/lib/systemd/system/ \
    -DOPENDHT_LTO=ON \
    -DOPENDHT_INDEX=ON \
    -DOPENDHT_PYTHON=ON \
    -DOPENDHT_HTTP=ON \
    -DOPENDHT_PROXY_SERVER=ON \
    -DOPENDHT_PROXY_CLIENT=ON \
    -DOPENDHT_PUSH_NOTIFICATIONS=ON \
    -DOPENDHT_LTO=OFF
  make -C build
}

check() {
  # https://github.com/savoirfairelinux/opendht/issues/568
  make -C build test || echo "Tests failed"
}

package() {
  make -C build DESTDIR="${pkgdir}" install
}