# Maintainer: David Runge <dvzrv@archlinux.org>
# Maintainer: Morten Linderud <foxboron@archlinux.org>

pkgname=netavark
pkgver=1.17.0
pkgrel=2
pkgdesc="Container network stack"
arch=(x86_64 aarch64)
url="https://github.com/containers/netavark"
license=(Apache-2.0)
depends=(
  aardvark-dns
  gcc-libs
  glibc
)
makedepends=(
  cargo
  git
  go-md2man
  protobuf
)
provides=(container-network-stack=2)
source=(git+$url#tag=v$pkgver)
sha512sums=('7a19a3bb8a952a07c7bb98907a86d60a93e00e637289186fc3291f8157fb7ac82eefacccb6021ff078140c928c4eafb8a17f3bd18253bd42b853179def2b3ab8')
b2sums=('98285968af880cb9b959ba5160a116710f57e5a350eab481a2317c4baa19b400f33b373a5f94f5d425257220b3328424e3013a66816f8f34322580249fd835fd')

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

build() {
  cd $pkgname
  make -C docs
  # create service file manually as we are not using the Makefile
  sed "s|@@NETAVARK@@|/usr/lib/podman/netavark|" contrib/systemd/system/netavark-dhcp-proxy.service.in > contrib/systemd/system/netavark-dhcp-proxy.service
  sed "s|@@NETAVARK@@|/usr/lib/podman/netavark|" contrib/systemd/system/netavark-firewalld-reload.service.in > contrib/systemd/system/netavark-firewalld-reload.service
  cargo build --frozen --release --all-features
}

check() {
  cd $pkgname
  cargo test --frozen --all-features
}

package() {
  cd $pkgname
  install -vDm 755 target/release/$pkgname -t "$pkgdir/usr/lib/podman/"
  install -vDm 644 docs/*.1 -t "$pkgdir/usr/share/man/man1/"
  install -vDm 644 docs/*.7 -t "$pkgdir/usr/share/man/man7/"
  install -vDm 644 contrib/systemd/system/*.{service,socket} -t "$pkgdir/usr/lib/systemd/system/"
  install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname/"
}
