# Maintainer: jason <jason@oxen.io>
pkgname=lokinet
pkgver=0.9.10
pkgrel=1
pkgdesc="Anonymous, decentralized and IP based overlay network for the internet."
arch=('x86_64' 'aarch64')
url="https://lokinet.org"
license=('GPL3')
depends=('libuv' 'libsodium' 'unbound' 'jemalloc' 'systemd-libs' 'zeromq' 'nlohmann-json' 'spdlog' 'fmt')
makedepends=('git' 'cmake' 'pkgconf')
conflicts=('lokinet-bin')
source=("$pkgname::git+https://github.com/oxen-io/lokinet#branch=makepkg")
b2sums=('SKIP')

prepare() {
          cd "$srcdir/$pkgname"
          git submodule update --init --recursive
}

build() {
    cmake -G "Unix Makefiles" \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_C_FLAGS="$CFLAGS" \
        -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
        -DFORCE_OXENMQ_SUBMODULE=ON \
        -DFORCE_OXENC_SUBMODULE=ON \
        -DWITH_TESTS=OFF \
        -DWITH_SYSTEMD=ON \
        -DWITH_SETCAP=OFF \
        -DWITH_BOOTSTRAP=OFF \
        -DWITH_PEERSTATS_BACKEND=OFF \
        -DBUILD_LIBLOKINET=OFF \
        -S "$srcdir/$pkgname" -B build
    make -C build
}

package() {

    install -D -m 644 "$srcdir/$pkgname/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
    make DESTDIR="$pkgdir" install -C build

    install -D -m 644 "$srcdir/$pkgname/contrib/bootstrap/mainnet.signed"                 "$pkgdir/var/lib/lokinet/bootstrap.signed"
    install -D -m 644 "$srcdir/$pkgname/contrib/archlinux/lokinet.service"                "$pkgdir/usr/lib/systemd/system/lokinet.service"
    install -D -m 644 "$srcdir/$pkgname/contrib/archlinux/lokinet-vpn@.service"           "$pkgdir/usr/lib/systemd/system/lokinet-vpn@.service"
    install -D -m 644 "$srcdir/$pkgname/contrib/archlinux/lokinet-default-config.service" "$pkgdir/usr/lib/systemd/system/lokinet-default-config.service"
    install -D -m 644 "$srcdir/$pkgname/contrib/archlinux/lokinet-resume.service"         "$pkgdir/usr/lib/systemd/system/lokinet-resume.service"
    install -D -m 644 "$srcdir/$pkgname/contrib/archlinux/lokinet.sysusers"               "$pkgdir/usr/lib/sysusers.d/lokinet.conf"
    install -D -m 644 "$srcdir/$pkgname/contrib/archlinux/lokinet.tmpfiles"               "$pkgdir/usr/lib/tmpfiles.d/lokinet.conf"
    install -D -m 644 "$srcdir/$pkgname/contrib/systemd-resolved/lokinet.pkla"            "$pkgdir/var/lib/polkit-1/localauthority/10-vendor.d/lokinet.pkla"
    install -D -m 750 -d "$pkgdir/usr/share/polkit-1/rules.d"
    install -D -m 644 "$srcdir/$pkgname/contrib/systemd-resolved/lokinet.rules"           "$pkgdir/usr/share/polkit-1/rules.d/lokinet.rules"
}