core/postgresql/PKGBUILD

129 lines
4.2 KiB
Bash

#
# Chakra Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgbase=postgresql
pkgname=('postgresql-libs' 'postgresql')
pkgver=9.0.4
pkgrel=3
arch=('i686' 'x86_64')
url="http://www.postgresql.org"
license=('custom:PostgreSQL')
makedepends=('libxml2' 'python2' 'perl')
source=("ftp://ftp.postgresql.org/pub/source/v${pkgver}/${pkgbase}-${pkgver}.tar.bz2"
postgresql postgresql.confd build.patch postgresql.pam postgresql.logrotate)
md5sums=('80390514d568a7af5ab61db1cda27e29'
'eacf91f987d230f2dc2d040618ea1817'
'd63a05943cf0a2726aa2070f3033c569'
'4d74f4227dc5e12bf95b3490758d86c9'
'96f82c38f3f540b53f3e5144900acf17'
'd28e443f9f65a5712c52018b84e27137')
install="postgresql.install"
build() {
cd "${srcdir}/${pkgbase}-${pkgver}"
# patch to remove regress/test make target (won't build with it present)
patch -Np1 -i "${srcdir}/build.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() {
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"
}
# vim:set ts=2 sw=2 et: