# Maintainer: Phillip Smith <fukawi2@NOSPAM.gmail.com>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>

pkgbase=postgresql
pkgname=('postgresql-server' 'postgresql-client')
pkgver=8.4.3
pkgrel=1
pkgdesc="A sophisticated object-relational DBMS"
arch=('i686' 'x86_64')
license=('BSD')
backup=('etc/conf.d/postgresql' 'etc/pam.d/postgresql')
url="http://www.postgresql.org/"
depends=("postgresql-libs>=$pkgver" "libxml2" 'readline>=6.0')
options=('!makeflags')
provides=('postgresql')
source=("ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2" "rc.postgresql" "confd.postgresql")
md5sums=('7f70e7b140fb190f268837255582b07e'
         '4ed9bb6ea489ef1c3859a093f1eba607'
         '09460fbfd3039bd9a0e753d5df360b5c')

# If changing this, update postgresql.install file too
_PKG_MAJOR_VER='8.4'

build() {
  cd $srcdir/$pkgbase-$pkgver || return 1
  
  # build and install
  ./configure \
    --prefix=/usr \
    --with-system-tzdata=/usr/share/zoneinfo || return 1

  make || return 1
}

package_postgresql-server() {
  install="$pkgname.install"

  cd $srcdir/$pkgbase-$pkgver || return 1
  
  make DESTDIR=$pkgdir install || return 1
  
  # Install the adminpack contrib
  (
    cd contrib/adminpack || return 1;
    make || return 1;
    make DESTDIR=$pkgdir install || return 1;
  )
  
  # clean up unneeded installed items
  rm -Rf $pkgdir/usr/include/postgresql/internal || return 1
  rm -Rf $pkgdir/usr/include/libpq || return 1
  # the below line is expected to produce an error; fix this one day
  rm -Rf $pkgdir/usr/include/* || return 1
  rm -f $pkgdir/usr/bin/pg_config || return 1
  
  # install rc script
  install -Dm755 $srcdir/rc.postgresql $pkgdir/etc/rc.d/postgresql || return 1
  
  # install conf file
  install -Dm644 $srcdir/confd.postgresql $pkgdir/etc/conf.d/postgresql || return 1
  
  # install license
  install -Dm644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/LICENSE || return 1
}

package_postgresql-client() {
  cd $srcdir/postgresql-$pkgver || return 1
  
  # install
  make -C src/bin DESTDIR=$pkgdir install || return 1
  make -C src/include DESTDIR=$pkgdir install || return 1
  make -C src/interfaces DESTDIR=$pkgdir install || return 1
  #make -C doc DESTDIR=$pkgdir install || return 1
  
  # clean up unneeded installed items
  rm -rf $pkgdir/usr/include/postgresql/internal || return 1
  rm -rf $pkgdir/usr/include/libpq || return 1
  # the below line is expected to produce an error; fix this one day
  rm -f $pkgdir/usr/include/*
  rm -f $pkgdir/usr/bin/pg_config || return 1
  
  rm -f $pkgdir/usr/bin/ecpg || return 1
  rm -f $pkgdir/usr/include/postgresql/informix/esql/datetime.h || return 1
  rm -f $pkgdir/usr/include/postgresql/informix/esql/decimal.h || return 1
  rm -f $pkgdir/usr/include/postgresql/informix/esql/sqlda.h || return 1
  rm -f $pkgdir/usr/include/postgresql/informix/esql/sqltypes.h || return 1
  rm -f $pkgdir/usr/lib/libecpg.a || return 1
  rm -f $pkgdir/usr/lib/libecpg.so || return 1
  rm -f $pkgdir/usr/lib/libecpg.so.6 || return 1
  rm -f $pkgdir/usr/lib/libecpg.so.6.1 || return 1
  rm -f $pkgdir/usr/lib/libecpg_compat.a || return 1
  rm -f $pkgdir/usr/lib/libecpg_compat.so || return 1
  rm -f $pkgdir/usr/lib/libecpg_compat.so.3 || return 1
  rm -f $pkgdir/usr/lib/libecpg_compat.so.3.1 || return 1
  rm -f $pkgdir/usr/lib/libpgtypes.a || return 1
  rm -f $pkgdir/usr/lib/libpgtypes.so || return 1
  rm -f $pkgdir/usr/lib/libpgtypes.so.3 || return 1
  rm -f $pkgdir/usr/lib/libpgtypes.so.3.1 || return 1
  rm -f $pkgdir/usr/lib/libpq.a || return 1
  rm -f $pkgdir/usr/lib/libpq.so || return 1
  rm -f $pkgdir/usr/lib/libpq.so.5 || return 1
  rm -f $pkgdir/usr/lib/libpq.so.5.2 || return 1
  rm -f $pkgdir/usr/share/postgresql/pg_service.conf.sample || return 1
  
  # install license
  install -D -m644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/LICENSE || return 1
}

# vim:set ts=2 sw=2 et:
