158 lines
4.5 KiB
Makefile
Raw Normal View History

2017-05-23 14:17:00 +00:00
# $OpenBSD: Makefile,v 1.226 2017/05/23 14:17:00 sthen Exp $
COMMENT-main= PostgreSQL RDBMS (client)
COMMENT-server= PostgreSQL RDBMS (server)
COMMENT-docs= PostgreSQL RDBMS documentation
COMMENT-contrib=PostgreSQL RDBMS contributions
COMMENT-plpython=Python procedural language for PostgreSQL
COMMENT-pg_upgrade=Support for upgrading PostgreSQL data from previous version
VERSION= 9.6.3
PREV_MAJOR= 9.5
DISTNAME= postgresql-${VERSION}
PKGNAME-main= postgresql-client-${VERSION}
PKGNAME-server= postgresql-server-${VERSION}
PKGNAME-docs= postgresql-docs-${VERSION}
PKGNAME-contrib=postgresql-contrib-${VERSION}
PKGNAME-plpython=postgresql-plpython-${VERSION}
PKGNAME-pg_upgrade=postgresql-pg_upgrade-${VERSION}
2017-05-23 14:17:00 +00:00
REVISION-server= 0
CATEGORIES= databases
SHARED_LIBS= ecpg 7.8 \
ecpg_compat 4.8 \
pgtypes 4.7 \
pq 6.9
HOMEPAGE= http://www.postgresql.org/
MAINTAINER= Pierre-Emmanuel Andre <pea@openbsd.org>
# BSD
PERMIT_PACKAGE_CDROM= Yes
WANTLIB += c crypto m readline ssl termcap z
MASTER_SITES= https://ftp.postgresql.org/pub/source/v${VERSION}/ \
ftp://ftp.postgresql.org/pub/source/v${VERSION}/
MULTI_PACKAGES= -docs -main -server -contrib -pg_upgrade -plpython
2001-02-22 19:28:12 +00:00
MAKE_FILE= GNUmakefile
V_MAJOR= ${VERSION:R}
SUBST_VARS= VERSION V_MAJOR PREV_MAJOR
Upgrade to postgresql 7.1. ok'd espie@ * The package is now called `postgresql' and not `pgsql'. * The default user that is suggested for the admin account is also `postgresql'. This will work with OpenBSD-current with long username support. If anything breaks please report to the maintainers. * pgwrap is no longer shipped or supported * Please note, you will HAVE TO BACKUP your old data if you are upgrading from a previous release of postgresql. Do this before removing the old pgsql package. From the announcement last weekend: Key New Features and Capabilities of Version 7.1 Include: * Write-ahead Log (WAL) increases data integrity and processing speed. To maintain database consistency in case of an operating system crash, previous releases of PostgreSQL have forced all all data modifications to disk before each transaction commit. With WAL, only one log file must be flushed to disk, greatly improving performance. (Tech note: can eliminate use of -F in to disable disk flushes) * TOAST (The Oversized-Attribute Storage Technique) Past releases had compiled-in row length limit typically between 8Kb & 32Kb. This restriction made storage of long text fields difficult, cumbersome and slow. TOAST enables rows of any length while maintaing the high performance PostgreSQL users have come to expect. * SQL92 Outer Joins are now supported. (Tech note: eliminates the UNION/NOT IN workaround) * 64-bit C Language Function Manager support The previous C function manager did not handle support 64-bit CPU's (e.g. Alpha, Sun, Itanium). (Tech note: This change should not impact existing custom functions developed for past versions, but performance will be improved through rewriting to use the new call interface.) * Complex Queries that are better, stronger and faster Many complex queries were unsupported in previous releases. With v7.1 combinations of views, aggregates, UNION, LIMIT, cursors, subqueries, and inherited tables are enabled. Inherited tables are now accessed by default, and subqueries in FROM are now supported.
2001-04-21 18:25:42 +00:00
USE_GMAKE= Yes
USE_GROFF= Yes
CONFIGURE_STYLE=gnu
MODULES= lang/python gcc4
MODPY_RUNDEP= No
# for __sync_lock_test_and_set
MODGCC4_ARCHS= arm
CONFIGURE_ENV= ac_cv_path_PYTHON=${MODPY_BIN} \
2014-04-21 13:13:29 +00:00
CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_ARGS= --disable-rpath --with-openssl=/usr \
--with-bsd-auth \
--with-perl \
--with-python \
--with-pam=no \
--with-uuid=bsd \
--enable-integer-datetimes \
--includedir="${PREFIX}/include/postgresql" \
--datadir="${PREFIX}/share/postgresql" \
--docdir="${PREFIX}/share/doc/postgresql" \
--with-includes="${INCLUDES}" \
--with-libraries="${LOCALBASE}/lib" \
--with-system-tzdata="/usr/share/zoneinfo" \
--with-openssl \
--with-libxml \
--disable-thread-safety
# There is no spinlock support for hppa and alpha yet. Until we have access to
# a system to get this working, disable them for now. There is
# (apparently) a serious performance hit doing this.
.if ${MACHINE_ARCH} == "hppa" || ${MACHINE_ARCH} == "alpha"
CONFIGURE_ARGS+=--disable-spinlocks
.endif
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/config
2000-11-30 19:23:14 +00:00
ALL_TARGET= world
INSTALL_TARGET= install-world
2010-11-15 12:44:20 +00:00
LIB_DEPENDS-main= textproc/libxml
2010-11-06 22:50:02 +00:00
WANTLIB-main = ${WANTLIB} xml2
2010-11-26 07:18:59 +00:00
LIB_DEPENDS-server= databases/postgresql=${VERSION} \
${LIB_DEPENDS-main}
WANTLIB-server= ${WANTLIB-main} perl pq>=4
RUN_DEPENDS-contrib= databases/postgresql,-server=${VERSION}
2010-11-26 07:18:59 +00:00
LIB_DEPENDS-contrib= databases/postgresql=${VERSION} \
${LIB_DEPENDS-main}
WANTLIB-contrib= ${WANTLIB-main} pq>=4
RUN_DEPENDS-pg_upgrade= databases/postgresql,-server=${VERSION} \
databases/postgresql-previous
LIB_DEPENDS-pg_upgrade= databases/postgresql=${VERSION} \
${LIB_DEPENDS-main}
WANTLIB-pg_upgrade= ${WANTLIB-main} pq>=4
LIB_DEPENDS-plpython= ${MODPY_LIB_DEPENDS}
2014-04-21 13:13:29 +00:00
WANTLIB-plpython = c m pthread util \
${MODPY_WANTLIB}
RUN_DEPENDS-plpython= databases/postgresql,-server=${VERSION}
2006-11-23 21:21:54 +00:00
WANTLIB-docs=
PKG_ARCH-docs= *
2006-01-07 11:11:17 +00:00
MAKE_ENV= LIBpq_MAJOR=${LIBpq_VERSION:R} \
LIBpq_MINOR=${LIBpq_VERSION:E} \
LIBecpg_MAJOR=${LIBecpg_VERSION:R} \
LIBecpg_MINOR=${LIBecpg_VERSION:E} \
LIBecpg_compat_MAJOR=${LIBecpg_compat_VERSION:R} \
LIBecpg_compat_MINOR=${LIBecpg_compat_VERSION:E} \
LIBpgtypes_MAJOR=${LIBpgtypes_VERSION:R} \
LIBpgtypes_MINOR=${LIBpgtypes_VERSION:E}
# Regression tests must be done manually and not as root. Successful
# runs have been achieved on the i386 using the following:
#
# $ ulimit -p 128
# $ ulimit -n 1024
2013-03-11 02:52:04 +00:00
# $ make test NO_TEST=No
#
# Note, you may also need to change a variety of SYSV IPC parameters.
2011-05-08 23:11:36 +00:00
# See pkg/README-server for more details
2013-03-11 02:52:04 +00:00
NO_TEST= Yes
DOCS= ${WRKSRC}/COPYRIGHT ${WRKSRC}/HISTORY \
${WRKSRC}/INSTALL ${WRKSRC}/README \
${WRKSRC}/doc/TODO
# Work around Makefile issue where it attempts to rebuild
# the documentation even if it is not necessary.
pre-build:
touch ${WRKSRC}/doc/src/sgml/*-stamp
INSTALL_REPLACE = 's/^install_bin = .*$$/ifdef BSD_INSTALL_SCRIPT\ninstall_bin
INSTALL_REPLACE += = \$$\(subst -m 755,,\$${BSD_INSTALL_SCRIPT}\)
INSTALL_REPLACE += \nelse\ninstall_bin = \/usr\/bin\/install -c -o ${BINOWN}
INSTALL_REPLACE += -g ${BINGRP}\nendif/'
1999-11-11 02:24:29 +00:00
post-install:
Upgrade to postgresql 7.1. ok'd espie@ * The package is now called `postgresql' and not `pgsql'. * The default user that is suggested for the admin account is also `postgresql'. This will work with OpenBSD-current with long username support. If anything breaks please report to the maintainers. * pgwrap is no longer shipped or supported * Please note, you will HAVE TO BACKUP your old data if you are upgrading from a previous release of postgresql. Do this before removing the old pgsql package. From the announcement last weekend: Key New Features and Capabilities of Version 7.1 Include: * Write-ahead Log (WAL) increases data integrity and processing speed. To maintain database consistency in case of an operating system crash, previous releases of PostgreSQL have forced all all data modifications to disk before each transaction commit. With WAL, only one log file must be flushed to disk, greatly improving performance. (Tech note: can eliminate use of -F in to disable disk flushes) * TOAST (The Oversized-Attribute Storage Technique) Past releases had compiled-in row length limit typically between 8Kb & 32Kb. This restriction made storage of long text fields difficult, cumbersome and slow. TOAST enables rows of any length while maintaing the high performance PostgreSQL users have come to expect. * SQL92 Outer Joins are now supported. (Tech note: eliminates the UNION/NOT IN workaround) * 64-bit C Language Function Manager support The previous C function manager did not handle support 64-bit CPU's (e.g. Alpha, Sun, Itanium). (Tech note: This change should not impact existing custom functions developed for past versions, but performance will be improved through rewriting to use the new call interface.) * Complex Queries that are better, stronger and faster Many complex queries were unsupported in previous releases. With v7.1 combinations of views, aggregates, UNION, LIMIT, cursors, subqueries, and inherited tables are enabled. Inherited tables are now accessed by default, and subqueries in FROM are now supported.
2001-04-21 18:25:42 +00:00
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/postgresql
${INSTALL_DATA} ${DOCS} ${PREFIX}/share/doc/postgresql
perl -i -pe ${INSTALL_REPLACE} \
${PREFIX}/lib/postgresql/pgxs/src/Makefile.global
1999-11-11 02:24:29 +00:00
.include <bsd.port.mk>