# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Ian Beringer <ian@ianberinger.com>

pkgname=usbguard
pkgver=1.1.3
pkgrel=3
pkgdesc='Software framework for implementing USB device authorization policies'
url='https://github.com/USBGuard/usbguard'
arch=(x86_64 aarch64)
license=(GPL-2.0-or-later)
depends=(
  abseil-cpp
  audit
  dbus-glib
  gcc-libs
  glibc
  libaudit.so
  libcap-ng
  libcap-ng.so
  libgio-2.0.so
  libglib-2.0.so
  libprotobuf.so
  libqb
  libqb.so
  libseccomp
  libseccomp.so
  libsodium
  polkit
  protobuf
)
makedepends=(
  asciidoc
  catch2-v2
  glib2-devel
  libxml2
  libxslt
  pegtl
  systemd
)
provides=(
  libusbguard.so
)
backup=(
  etc/usbguard/usbguard-daemon.conf
  etc/usbguard/rules.conf
)
source=(https://github.com/USBGuard/usbguard/releases/download/usbguard-${pkgver}/usbguard-${pkgver}.tar.gz{,.asc})
sha512sums=('530bfea12ec8497c30d530c73f868207aad8b0e0e917cb7c7506f6148681a6a4ff12de5cddcfea458eb2b91ce8bb8b0e68d42e2590a4dc6b15f43c18f8256cf1'
            'SKIP')
validpgpkeys=(
  'DE78B93EAED8A620F5AA14DF52F7E84653274B59' # Radovan Sroka <rsroka@redhat.com>
)

prepare() {
  cd ${pkgname}-${pkgver}
  autoreconf -fiv
}

build() {
  cd ${pkgname}-${pkgver}
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --localstatedir=/var \
    --sys=/etc \
    --sbindir=/usr/bin \
    --libdir=/usr/lib \
    --enable-systemd \
    --without-bundled-catch \
    --without-bundled-pegtl \
    --with-dbus \
    --with-polkit \
    --with-crypto-library=sodium
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
  make
  touch rules.conf
}

check() {
  cd ${pkgname}-${pkgver}
  make check
}

package() {
  cd ${pkgname}-${pkgver}
  make INSTALL='install -p' DESTDIR="${pkgdir}" install

  chmod 750 "${pkgdir}/etc/usbguard"
  install -Dpm 600 usbguard-daemon.conf rules.conf -t "${pkgdir}/etc/usbguard"
  install -dm 700 "${pkgdir}/etc/usbguard/rules.d"

  install -Dpm 644 scripts/bash_completion/usbguard -t "${pkgdir}/usr/share/bash-completion/completions"
  install -Dpm 644 scripts/usbguard-zsh-completion "${pkgdir}/usr/share/zsh/site-functions/_usbguard"

  install -Dm 644 CHANGELOG.md README.adoc -t "${pkgdir}/usr/share/doc/${pkgname}"
}

# vim: ts=2 sw=2 et:
