# $Id: PKGBUILD 81228 2010-05-27 15:14:39Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>

#
### Attention: remove old pkg before building - it links against itself! ###
#

pkgname=heimdal
pkgver=1.3.3
pkgrel=1
pkgdesc="Implementation of Kerberos V5 libraries"
arch=('i686' 'x86_64')
url="http://www.h5l.org/"
license=('custom')
depends=('db' 'openssl' 'sqlite3' 'e2fsprogs')
backup=(etc/krb5.conf)
options=('!libtool' '!emptydirs')
install=heimdal.install
source=(http://www.h5l.org/dist/src/${pkgname}-${pkgver}.tar.gz
	001_all_heimdal-no_libedit.patch
	002_all_heimal-fPIC.patch
	003_all_heimdal-rxapps.patch
	005_all_heimdal-suid_fix.patch
	012_all_heimdal-berkdb.patch
	013_all_heimdal-pthread-lib.patch
	014_all_heimdal-path.patch
	heimdal-kdc.rc
	kadmind.rc
	kpasswd.rc)
md5sums=('963c09f1b14c41660be70b55fae9f163'
         '98e28f11f906c967aac22d6184102c9e'
         '6d5571bdedba2e2423b90bccdbac2c0a'
         '2feec3924ee5230b54175b4d4000c872'
         '45aeb207f360f9f4e9e0fabc8bfeecbc'
         '56f5d10d0ec40f2fda82ef144ffac1e0'
         '1b8665b771c4eb6b56ea8582c96e56e3'
         '8208ae8c0b6ff5ab4f64af1693e9e396'
         'e59650992b9541a30dfce727a194f6e0'
         '1f2f86a67bbfddb7af581d35fdca9627'
         'f8f1eca95b9d3f2b4ebf2417b71b81cf')

build() {
  cd ${srcdir}/heimdal-${pkgver}
  patch -Np0 -i ${srcdir}/001_all_heimdal-no_libedit.patch || return 1
  patch -Np0 -i ${srcdir}/002_all_heimal-fPIC.patch || return 1
  patch -Np0 -i ${srcdir}/003_all_heimdal-rxapps.patch || return 1
  patch -Np0 -i ${srcdir}/005_all_heimdal-suid_fix.patch || return 1
  patch -Np1 -i ${srcdir}/012_all_heimdal-berkdb.patch || return 1
  patch -Np1 -i ${srcdir}/013_all_heimdal-pthread-lib.patch || return 1
  patch -Np0 -i ${srcdir}/014_all_heimdal-path.patch || return 1

  sed -i -e 's|var/heimdal|var/lib/heimdal|g' configure.in \
	doc/setup.texi doc/heimdal.info kadmin/kadmind.8 kdc/kdc.8 \
	lib/hdb/hdb.h lib/krb5/krb5.conf.5 lib/krb5/krb5.conf.cat5

  libtoolize --force || return 1
  aclocal -I cf || return 1
  autoconf || return 1
  automake || return 1

  ./configure --prefix=/usr --enable-shared=yes --without-x \
	--sysconfdir=/etc --mandir=/usr/share/man \
	--datadir=/var/lib/heimdal \
	--localstatedir=/var/lib/heimdal \
	--with-openssl=/usr \
	--with-readline-lib=/usr/lib \
	--with-readline-include=/usr/include/readline \
	--with-sqlite3-lib=/usr/lib \
	--with-sqlite3-include=/usr/include \
	--libexecdir=/usr/sbin
	
  make || return 1
  make DESTDIR=${pkgdir} install || return 1

  # Rename daemons and their manpages
  for i in telnetd ftpd rshd; do
    mv ${pkgdir}/usr/share/man/man8/{,k}${i}.8 || return 1
    mv ${pkgdir}/usr/sbin/{,k}${i} || return 1
  done
  
  # Rename clients and their manpages
  for i in rcp rsh telnet ftp su login; do
    if [ -f ${pkgdir}/usr/share/man/man1/${i}.1 ]; then
      mv ${pkgdir}/usr/share/man/man1/{,k}${i}.1 || return 1
    fi
    mv ${pkgdir}/usr/bin/{,k}${i} || return 1
  done
  rm -rf ${pkgdir}/usr/share/man/cat{1,3,5,8}
  
  # Arch could be a KDC too
  install -d ${pkgdir}/etc/rc.d
  install -m644 ${srcdir}/heimdal-${pkgver}/krb5.conf ${pkgdir}/etc/ || return 1
  for i in heimdal-kdc kadmind kpasswd; do
    install -m755 ${srcdir}/${i}.rc ${pkgdir}/etc/rc.d/${i} || return 1
  done

  # Remove conflicts
  rm ${pkgdir}/usr/share/man/man5/ftpusers.5*		          # man-pages
  rm ${pkgdir}/usr/share/man/man3/{DES,DH,EVP,OpenSSL,RAND,RSA}*  # openssl (a bit overzealous...)
  rm ${pkgdir}/usr/share/man/man3/os.3*                           # erlang

  # Install the license
  install -Dm644 ${srcdir}/${pkgname}-${pkgver}/LICENSE \
  	${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
}