core/postgresql/PKGBUILD
Jan Mette 7af1af010c
2010-04-06 19:23:26 +00:00

130 lines
4.2 KiB
Bash

# $Id: PKGBUILD 75281 2010-04-01 07:02:49Z pierre $
# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
pkgbase=('postgresql')
pkgname=('postgresql-libs' 'postgresql')
pkgver=8.4.3
pkgrel=2
arch=('i686' 'x86_64')
url="http://www.postgresql.org"
license=('BSD')
makedepends=('libxml2' 'python')
options=('!makeflags')
source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 \
postgresql postgresql.confd build.patch postgresql.pam)
build() {
cd ${srcdir}/${pkgbase}-${pkgver} || return 1
# patch to remove regress/test make target (won't build with it present)
patch -Np1 -i ../build.patch || return 1
# configure
./configure --prefix=/usr --mandir=/usr/share/man --with-libxml \
--with-docdir=/usr/share/doc --with-openssl --with-python --with-pam \
--datadir=/usr/share/postgresql --enable-thread-safety || return 1
sed -i -e '/interfaces/d' src/Makefile || return 1
# build
make || return 1
# build libs
for dir in src/interfaces src/bin/pg_config; do
pushd ${dir} || return 1
make || return 1
popd
done
cd src/include || return 1
make || return 1
# build adminpack
cd ../../contrib/adminpack || return 1
make || return 1
}
package_postgresql-libs() {
pkgdesc="Libraries for use with PostgreSQL"
depends=('openssl>=0.9.8b' 'readline>=6.0')
cd ${srcdir}/${pkgbase}-${pkgver} || return 1
# install libs
for dir in src/interfaces src/bin/pg_config; do
pushd ${dir} || return 1
make DESTDIR=${pkgdir} install || return 1
popd
done
cd src/include || return 1
mkdir -p ${pkgdir}/usr/include/{libpq,postgresql/internal/libpq} || return 1
# these headers are needed by the public headers of the interfaces
install -m644 pg_config.h ${pkgdir}/usr/include/ || return 1
install -m644 pg_config_os.h ${pkgdir}/usr/include/ || return 1
install -m644 postgres_ext.h ${pkgdir}/usr/include/ || return 1
install -m644 libpq/libpq-fs.h ${pkgdir}/usr/include/libpq/ || return 1
install -m644 pg_config_manual.h ${pkgdir}/usr/include/ || return 1
# these headers are needed by the not-so-public headers of the interfaces
install -m644 c.h ${pkgdir}/usr/include/postgresql/internal/ || return 1
install -m644 port.h ${pkgdir}/usr/include/postgresql/internal/ || return 1
install -m644 postgres_fe.h ${pkgdir}/usr/include/postgresql/internal/ || return 1
install -m644 libpq/pqcomm.h ${pkgdir}/usr/include/postgresql/internal/libpq/ || return 1
install -Dm644 ../../COPYRIGHT ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE || return 1
}
package_postgresql() {
pkgdesc="A sophisticated object-relational DBMS"
backup=('etc/conf.d/postgresql' 'etc/pam.d/postgresql')
depends=("postgresql-libs>=${pkgver}" 'libxml2' 'python')
optdepends=('python: for PL/Python support')
provides=('postgresql-client')
conflicts=('postgresql-client')
cd ${srcdir}/${pkgbase}-${pkgver} || return 1
# install
make DESTDIR=${pkgdir} install || return 1
# install adminpack
cd contrib/adminpack || 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 -f ${pkgdir}/usr/include/*
find ${pkgdir}/usr/include -maxdepth 1 -type f -execdir rm {} + || return 1
rm -f ${pkgdir}/usr/bin/pg_config || return 1
# Maintaining the lib below because of qt
#rm -f ${pkgdir}/usr/lib/libpgport.a || return 1
# install launch script
install -D -m755 ${srcdir}/postgresql ${pkgdir}/etc/rc.d/postgresql || return 1
# install license
install -D -m644 ../../COPYRIGHT ${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE || return 1
# install conf file
install -D -m644 ${srcdir}/postgresql.confd \
${pkgdir}/etc/conf.d/postgresql || return 1
install -D -m644 ${srcdir}/postgresql.pam \
${pkgdir}/etc/pam.d/postgresql || return 1
chown root:root ${pkgdir}/usr/share/doc/postgresql/html/*
}
md5sums=('7f70e7b140fb190f268837255582b07e'
'de8da7eb3a2aa02d284bf904b2af4d20'
'd63a05943cf0a2726aa2070f3033c569'
'4d74f4227dc5e12bf95b3490758d86c9'
'96f82c38f3f540b53f3e5144900acf17')