makedepends=(jansson rpcsvc-proto libtirpc docbook-xsl talloc tevent avahi  libgpg-error popt  cups kerberos  openldap tdb ldb perl-parse-yapp perl-json pam)

description="SMB Fileserver and AD Domain server"
url="http://www.samba.org"

packager="Great-OS Team"
maintainer="Great-OS Team"

name=samba
version=4.24.3
release=1

source=(https://download.samba.org/pub/samba/stable/$name-$version.tar.gz)

build() {

  cd $name-$version

  sed -r 's/nss_(setpw|endpw|setgr|endgr)ent/my_&/' \
    -i nsswitch/nsstest.c

  _pythonver=$(python3 -V)
  _pythonver=${_pythonver//Python /}
  _pythonver=${_pythonver:0:4}

  python3 -m venv pyvenv
  ./pyvenv/bin/pip3 install cryptography pyasn1 iso8601

  echo "^samba4.rpc.echo.*on.*ncacn_np.*with.*object.*nt4_dc" >> selftest/knownfail

  PYTHON=$PWD/pyvenv/bin/python3                     \
  CFLAGS+=" -I/usr/include/tirpc"                    \
  LDFLAGS+=" -ltirpc"                                \
  PATH=$PWD/pyvenv/bin:$PATH                         \
  ./configure --prefix=/usr                          \
              --libdir=/usr/lib                      \
              --sysconfdir=/etc                      \
              --localstatedir=/var                   \
              --with-piddir=/run/samba               \
              --with-pammodulesdir=/usr/lib/security \
              --without-ad-dc                        \
              --without-ldap                         \
              --without-ads                          \
              --enable-fhs                           \
              --with-systemd                         \
              --enable-selftest                      \
              --disable-rpath-install                \
              --bundled-libraries=!talloc,!pytalloc-util,!tevent,!popt,!tdb,!ldb

  make
  make DESTDIR=$PKG install

  install -v -m644 examples/smb.conf.default $PKG/etc/samba/smb.conf.default

  mkdir -pv $PKG/etc/openldap/schema
  install -v -m644 examples/LDAP/README $PKG/etc/openldap/schema/README.LDAP
  install -v -m644 examples/LDAP/samba* $PKG/etc/openldap/schema
  install -v -m755 examples/LDAP/{get*,ol*} $PKG/etc/openldap/schema

  # cups
  cd $PKG/usr/lib/
  install -d cups/backend
  ln -v -sf /usr/bin/smbspool $PKG/usr/lib/cups/backend/smb

  # remove shared files with tdb & tevents
  rm $PKG/usr/lib/python${_pythonver}/site-packages/_tdb_text.py
  rm $PKG/usr/lib/python${_pythonver}/site-packages/tdb.cpython-${_pythonver/./}-x86_64-linux-gnu.so
  rm $PKG/usr/lib/python${_pythonver}/site-packages/_tevent.cpython-${_pythonver/./}-x86_64-linux-gnu.so
  rm $PKG/usr/lib/python${_pythonver}/site-packages/tevent.py

}
