# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Daniel Micay <danielmicay@gmail.com>
# Contributor: Patryk Kowalczyk < patryk at kowalczyk dot ws>
# Contributor: RocketDev <ma2014119@outlook.com>

pkgbase=libseccomp
pkgname=(libseccomp python-libseccomp)
pkgver=2.6.0
pkgrel=1
pkgdesc='Enhanced seccomp library'
arch=(x86_64 aarch64)
license=(LGPL-2.1-only)
url="https://github.com/seccomp/libseccomp"
checkdepends=(
  glibc-debug
  valgrind
)
makedepends=(
  cython
  git
  glibc
  gperf
  python-build
  python-installer
  python-setuptools
  python-wheel
)
source=(git+https://github.com/seccomp/libseccomp.git#tag=v${pkgver}?signed)
sha256sums=('2aa9a02d102753f4c4f23ff201dec3fbc4cf33d46dd64a0f2aaf5a5341227a93')
b2sums=('76fa0801936a970b0bdff3d3cbc9e8e65f0afbfa1d1e13bd4319a6fee4aa520234a2a5273354ed87671666abb1f961cf9c678d1b38c3afd594f9c8d7694630d2')
validpgpkeys=(
  '7100AADFAE6E6E940D2E0AD655E45A5AE8CA7C8A' # Paul Moore <paul@paul-moore.com>
  '47A68FCE37C7D7024FD65E11356CE62C2B524099' # Tom Hromatka <tom.hromatka@oracle.com>
)

prepare() {
  cd ${pkgbase}
  # Fix test failures with gcc 15 and LTO
  # hash: fix strict aliasing UB in MurMur hash implementation
  git cherry-pick -n 614530bc8b3c9f49aa59d7eaef4863b746504c23
  autoreconf -fiv
}

build() {
  cd ${pkgbase}
  ./configure --prefix=/usr
  make
  cd src/python
  VERSION_RELEASE=${pkgver} CPPFLAGS="$CPPFLAGS -I${srcdir}/${pkgbase}/include" python -m build --wheel --no-isolation
}

check() {
  cd ${pkgbase}
  make check
}

package_libseccomp() {
  depends=(glibc)
  provides=(libseccomp.so)
  cd ${pkgbase}
  make DESTDIR="${pkgdir}" install
  install -Dm 644 CHANGELOG README.md SECURITY.md -t "${pkgdir}/usr/share/doc/${pkgname}"
}

package_python-libseccomp() {
  depends=(python glibc)
  cd ${pkgbase}/src/python
  env VERSION_RELEASE=${pkgver} python -m installer --destdir="$pkgdir" dist/*.whl
}

# vim: ts=2 sw=2 et:
