# Maintainer: Sven-Hendrik Haase <svenstaro@gmail.com>
# Contributor: Javier Torres <javitonino [at] gmail [dot] com>
# Contributor: Jameson Pugh <imntreal@gmail.com>
# Contributor: Xiao-Long Chen <chenxiaolong@cxl.epac.to>

pkgname=389-ds-base
pkgver=1.4.1.6
pkgdesc="389 Directory Server (base)"
pkgrel=7
arch=(x86_64)
url="http://port389.org/"
license=(GPL)
provides=(libsvrcore.so)
replaces=(python-lib389)
backup=(etc/dirsrv/config/certmap.conf
        etc/dirsrv/config/ldap-agent.conf
        etc/dirsrv/config/slapd-collations.conf
        etc/dirsrv/config/template-initconfig)
depends=(libevent nspr nss net-snmp pam openldap python-argcomplete python-dateutil python-ldap)
makedepends=(cargo rsync doxygen cmocka python-setuptools python-argparse-manpage)
source=("https://releases.pagure.org/389-ds-base/${pkgname}-${pkgver}.tar.bz2"
        389-ds-base.sysusers
        389-ds-base.tmpfiles)
sha512sums=('0a943453cbcd8b43b4fdc58563c8802d9270d9a3cf4dcd76e3f77168d45e84b8e07d8df8ddadb09ba9294e7ba7e9304ce329bc37edeb16a9161797c902fadc1c'
            '8689b60f13517e6541e1faa62e61781654a8e4678990d14a3fe0cfe4673697cdde1c46763fdc7ef6203e4026286fa004c73b2857fd7fecff69483e6d1e8e6d68'
            '5dff695ae866a591a711f836f2f72f2005b4afdb20760cda8711791910299e2c6ec71dff5eca9a2d9832cad8f9e9904dbbcf2d314cd9b20432bc8fd05c097868')

prepare() {
  cd "${pkgbase}-${pkgver}"

  autoreconf -fiv
}

build() {
  cd "${pkgbase}-${pkgver}"

  # Build 389-ds-base
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --sbindir=/usr/bin \
    --localstatedir=/var \
    --libexecdir=/usr/lib/${pkgbase} \
    --with-tmpfiles-d=/usr/lib/tmpfiles.d \
    --with-systemd \
    --with-systemdsystemunitdir=/usr/lib/systemd/system \
    --with-systemdsystemconfdir=/etc/systemd/system \
    --with-journald \
    --enable-autobind \
    --enable-cmocka \
    --with-openldap \
    --enable-rust
  make

  # Build lib389
  cd src/lib389
  python setup.py build
}

check() {
  cd "${pkgbase}-${pkgver}"
  make check
}

package() {
  cd "${pkgbase}-${pkgver}"
  make -j1 DESTDIR="${pkgdir}/" install

  install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE

  # Upstream expects lib389 and 389-ds-base to be shipped in the same package more or less
  # so that's why it's not a split package.
  cd src/lib389
  python setup.py install --skip-build -O1 --root=${pkgdir}
  mv ${pkgdir}/usr/sbin/* ${pkgdir}/usr/bin/
  rmdir ${pkgdir}/usr/sbin

  install -Dm644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
  install -Dm644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
}
