# $Id: PKGBUILD 125329 2011-05-25 22:33:15Z dan $ # Maintainer: Dan McGee pkgbase=postgresql pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql') pkgver=9.0.4 pkgrel=4 arch=('i686' 'x86_64' 'mips64el') url="http://www.postgresql.org" license=('custom:PostgreSQL') makedepends=('libxml2' 'python2' 'perl') source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 \ postgresql postgresql.confd build.patch postgresql.pam postgresql.logrotate perl-5.14-fix.patch) install=postgresql.install build() { cd "${srcdir}/${pkgbase}-${pkgver}" # patch to remove regress/test make target (won't build with it present) patch -Np1 -i ../build.patch # fix for perl 5.14 patch -Np1 -i ../perl-5.14-fix.patch # configure ./configure --prefix=/usr --mandir=/usr/share/man --with-libxml \ --with-openssl --with-perl \ --with-python PYTHON=/usr/bin/python2 --with-pam \ --with-system-tzdata=/usr/share/zoneinfo --enable-nls \ --datadir=/usr/share/postgresql --enable-thread-safety sed -i -e '/interfaces/d' src/Makefile # build make world # build libs for dir in src/interfaces src/bin/pg_config; do pushd ${dir} make popd done } package_postgresql-libs() { pkgdesc="Libraries for use with PostgreSQL" depends=('openssl>=1.0.0') cd "${srcdir}/${pkgbase}-${pkgver}" # install license install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-libs/LICENSE" # install libs for dir in src/interfaces src/bin/pg_config; do pushd ${dir} make DESTDIR="${pkgdir}" install popd done install -D -m644 doc/src/sgml/man1/pg_config.1 "${pkgdir}/usr/share/man/man1/pg_config.1" cd src/include mkdir -p "${pkgdir}"/usr/include/{libpq,postgresql/internal/libpq} # these headers are needed by the public headers of the interfaces install -m644 pg_config.h "${pkgdir}/usr/include/" install -m644 pg_config_os.h "${pkgdir}/usr/include/" install -m644 postgres_ext.h "${pkgdir}/usr/include/" install -m644 libpq/libpq-fs.h "${pkgdir}/usr/include/libpq/" install -m644 pg_config_manual.h "${pkgdir}/usr/include/" # these headers are needed by the not-so-public headers of the interfaces install -m644 c.h "${pkgdir}/usr/include/postgresql/internal/" install -m644 port.h "${pkgdir}/usr/include/postgresql/internal/" install -m644 postgres_fe.h "${pkgdir}/usr/include/postgresql/internal/" install -m644 libpq/pqcomm.h "${pkgdir}/usr/include/postgresql/internal/libpq/" } package_postgresql-docs() { pkgdesc="HTML documentation for PostgreSQL" options=(docs) cd "${srcdir}/${pkgbase}-${pkgver}" # install license install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-docs/LICENSE" make -C doc/src/sgml DESTDIR="${pkgdir}" install-html chown -R root:root "${pkgdir}/usr/share/doc/postgresql/html/" } package_postgresql() { pkgdesc="A sophisticated object-relational DBMS" backup=('etc/conf.d/postgresql' 'etc/pam.d/postgresql' 'etc/logrotate.d/postgresql') depends=("postgresql-libs>=${pkgver}" 'libxml2' 'readline>=6.0') optdepends=('python2: for PL/Python support' 'perl: for PL/Perl support') provides=('postgresql-client') conflicts=('postgresql-client') cd "${srcdir}/${pkgbase}-${pkgver}" # install make DESTDIR="${pkgdir}" install make -C contrib DESTDIR="${pkgdir}" install make -C doc/src/sgml DESTDIR="${pkgdir}" install-man # we don't want this, it is in the -libs package make -C src/bin/pg_config DESTDIR="${pkgdir}" uninstall rm "${pkgdir}/usr/share/man/man1/pg_config.1" # install license install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE" # clean up unneeded installed items rm -rf "${pkgdir}/usr/include/postgresql/internal" rm -rf "${pkgdir}/usr/include/libpq" find "${pkgdir}/usr/include" -maxdepth 1 -type f -execdir rm {} + # install launch script install -D -m755 "${srcdir}/postgresql" "${pkgdir}/etc/rc.d/postgresql" # install conf file install -D -m644 ${srcdir}/postgresql.confd \ "${pkgdir}/etc/conf.d/postgresql" install -D -m644 ${srcdir}/postgresql.pam \ "${pkgdir}/etc/pam.d/postgresql" install -D -m644 ${srcdir}/postgresql.logrotate \ "${pkgdir}/etc/logrotate.d/postgresql" } md5sums=('80390514d568a7af5ab61db1cda27e29' 'eacf91f987d230f2dc2d040618ea1817' 'd63a05943cf0a2726aa2070f3033c569' '4d74f4227dc5e12bf95b3490758d86c9' '96f82c38f3f540b53f3e5144900acf17' 'd28e443f9f65a5712c52018b84e27137' '6606e4279d91fc617b5c4dae0d76c603')