# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Carl Smedstad <carsme@archlinux.org>
# Contributor: Dan McGee <dan@archlinux.org>
# Contributor: Michael Irwin <6d6469@gmail.com>

pkgname=memcached
pkgver=1.6.41
pkgrel=1
pkgdesc='Distributed memory object caching system'
url='https://memcached.org/'
arch=('x86_64' 'aarch64')
license=('BSD-3-Clause')
depends=(
  'glibc'
  'libevent'
  'libseccomp'
  'libseccomp.so'
)
makedepends=('git')
optdepends=('perl: for memcached-tool usage')
source=(
  "git+https://github.com/memcached/memcached.git#tag=${pkgver}"
  memcached.service.patch
  memcached.tmpfiles
  memcached.sysusers
  0001-tests-enable-drop_privileges-by-default-for-better-s.patch
  0001-seccomp-extend-syscalls-tested-on-Linux-6.1-with-gli.patch
  allow-ppoll-in-seccomp-config.patch
)
b2sums=('4aae4d254239647416835f7c6fcf679c2494720dc847bab5f950de91abd9830ae36f159333b1784acaea325b51be10f3292b520d007d52c8b46aaf308d6a0847'
        'ab94a7a7b94d210ad145d88dbc3ed6ba52c4bf7564490aacc94016b8b0681636bf0996deb37f433e962346c7e1cd7775c66cd3f23b7c9623e24a6fb60e3c66c5'
        '8c008783c4580e07463524c50ee7251cd9828c41d7e98f7516b1500ac538bc3ed0b42ce98987c6852475f0e9fbe135a5168c853626a98d2a021462b01c2dcbe8'
        '9ff28a3bebf84a14afb6413febefd346ec72401dce0ec3330fb0adb23682d89da576f9ef7d0387debabbe548c9386d373cb0d9e340bea039dc6c630db15f50df'
        'c7339653dd4e170c793f3c1e53f035f2bbc41a1a622b91fc31a6eebe7bd177b9173c50d8879b5c6a090f836fba50eeefcaaa867a39daad83e9ef8a7b30bb1888'
        '4db74ac2babe2a725f1b5de2b2ba43e650966ae528a3bd4beef4dcc781d1802a6a82cc814936cb9abfbd4fc23c4e0d399d6b801a03601e41e9bd0b57565012e4'
        'SKIP')

prepare() {
  cd ${pkgname}
  patch -Np1 < ../0001-seccomp-extend-syscalls-tested-on-Linux-6.1-with-gli.patch
  patch -Np1 < ../0001-tests-enable-drop_privileges-by-default-for-better-s.patch
  patch -Np1 < ../memcached.service.patch
  patch -Np1 < ../allow-ppoll-in-seccomp-config.patch
  sed -e 's/^##safer##//g' -i scripts/*.service

  ./autogen.sh
}

build() {
  cd ${pkgname}
  ./configure \
    --prefix=/usr \
    --enable-seccomp
  make
}

check() {
  cd ${pkgname}
  make test
}

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

  install -vDm 755 scripts/memcached-tool -t "${pkgdir}/usr/bin"
  install -vDm 644 scripts/memcached-tool.1 -t "${pkgdir}/usr/share/man/man1"

  install -vDm 644 scripts/*.service -t "${pkgdir}/usr/lib/systemd/system"
  install -vDm 644 ../memcached.tmpfiles "${pkgdir}/usr/lib/tmpfiles.d/memcached.conf"
  install -vDm 644 ../memcached.sysusers "${pkgdir}/usr/lib/sysusers.d/memcached.conf"

  install -vDm 644 -t "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
}
