# Contributor: Stefan Reimer <stefan@zero-downtime.net>
# Maintainer: Stefan Reimer <stefan@zero-downtime.net>
pkgname=falco
pkgver=0.38.1
pkgrel=0
pkgdesc="Falco is the open source solution for runtime security for hosts, containers, Kubernetes and the cloud"
url="https://github.com/falcosecurity/falco"
arch="x86_64 aarch64"
license="AGPL-3.0"
makedepends="cmake clang bpftool linux-headers bash perl autoconf elfutils-dev libtool argp-standalone
             musl-fts-dev
             musl-libintl
             musl-legacy-error
             musl-obstack-dev "
#            protobuf-dev
#            c-ares-dev
#            openssl-dev
#            curl-dev
#            grpc-dev
#            yaml-cpp-dev
#           "
options="!check"

# Original config
# https://raw.githubusercontent.com/falcosecurity/rules/main/rules/falco_rules.yaml
# https://raw.githubusercontent.com/falcosecurity/falco/master/falco.yaml

source="
  $pkgname-$pkgver.tar.gz::https://github.com/falcosecurity/falco/archive/refs/tags/$pkgver.tar.gz
  falco.patch
  rules.patch
  falco.initd
  "

prepare() {
  [[ -d build ]] || mkdir build
}

build() {
  cd build

  cmake \
    -DCPACK_GENERATOR=TGZ \
    -DCMAKE_BUILD_TYPE=Release \
    -DFALCO_VERSION=$pkgver \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DFALCO_ETC_DIR=/etc/falco \
    -DUSE_BUNDLED_DEPS=On \
    -DMINIMAL_BUILD=On \
    -DUSE_DYNAMIC_LIBELF=Off \
    -DMUSL_OPTIMIZED_BUILD=On \
    -DBUILD_DRIVER=Off \
    -DBUILD_BPF=Off \
    -DBUILD_LIBSCAP_MODERN_BPF=On \
    ..

  make falco
}

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

  # patch falco config
  cd $pkgdir/etc/falco
  patch --no-backup-if-mismatch -i $srcdir/falco.patch
  patch --no-backup-if-mismatch -i $srcdir/rules.patch

  # We dont build anything on targets so remove sources
  rm -rf $pkgdir/usr/src
  rm -rf $pkgdir/usr/lib
  rm -rf $pkgdir/usr/include

  install -Dm755 "$srcdir"/$pkgname.initd \
    "$pkgdir"/etc/init.d/$pkgname
}

sha512sums="
f76b228328a3cf29f5795f7239393d7d05101f488e6ff09f5434237e906ec04a0139a5c91089c36cf3d01058584773b8fe0b1742e760a3e4953237fbc49e834f  falco-0.38.1.tar.gz
b152fcf6cd81895efa37797ab7ff1aac7350b5f51f2648aa9e3cce9d5ece55791ddf82c396e9da216293e2379a785a294cc972f28a91162dc5bc88ab09e1ab08  falco.patch
487b8b64d2399fd7b706be29e3722983bcdfde3ab5cf0f78b2e9fe1055a4ad958976f591e739491e25a06d7cdf6894c1e153e892a87b83c7a962e23c9a104528  rules.patch
9d1292a99bab7792bfe344940fa41ccf01318d5f30f854b01457e9f53ccca27f7f334466c061a11fbe8ebf918aeeb7f723b16a233c9e3bd60dd632d831ae9f5c  falco.initd
"