pkgsrc/databases/postgresql84/Makefile.common
adam ac6bf88de0 Changes 8.4.5:
* Use a separate interpreter for each calling SQL userid in PL/Perl and PL/Tcl
* Prevent possible crashes in pg_get_expr() by disallowing it from being called
  with an argument that is not one of the system catalog columns it's intended
  to be used with
* Treat exit code 128 (ERROR_WAIT_NO_CHILDREN) as non-fatal on Windows
* Fix incorrect placement of placeholder evaluation
* Fix possible duplicate scans of UNION ALL member relations
* Fix "cannot handle unplanned sub-select" error
* Fix mishandling of whole-row Vars that reference a view or sub-select and
  appear within a nested sub-select
* Fix mishandling of cross-type IN comparisons
* Fix computation of "ANALYZE" statistics for tsvector columns
* Improve planner's estimate of memory used by array_agg(), string_agg(), and
  similar aggregate functions
* Fix failure to mark cached plans as transient
* Reduce PANIC to ERROR in some occasionally-reported btree failure cases, and
  provide additional detail in the resulting error messages
* Fix incorrect search logic for partial-match queries with GIN indexes
* Prevent show_session_authorization() from crashing within autovacuum
  processes
* Defend against functions returning setof record where not all the returned
  rows are actually of the same rowtype
* Fix possible corruption of pending trigger event lists during subtransaction
  rollback
* Fix possible failure when hashing a pass-by-reference function result
* Improve merge join's handling of NULLs in the join columns
* Take care to fsync the contents of lockfiles (both "postmaster.pid" and the
  socket lockfile) while writing them
* Avoid recursion while assigning XIDs to heavily-nested subtransactions
* Avoid holding open old WAL segments in the walwriter process
* Fix log_line_prefix's %i escape, which could produce junk early in backend
  startup
* Prevent misinterpretation of partially-specified relation options
  for TOAST tables
* Fix inheritance count tracking in "ALTER TABLE ... ADD CONSTRAINT"
* Fix possible data corruption in "ALTER TABLE ... SET TABLESPACE" when
  archiving is enabled
* Allow "CREATE DATABASE" and "ALTER DATABASE ... SET TABLESPACE" to be
  interrupted by query-cancel
* Improve "CREATE INDEX"'s checking of whether proposed index
  expressions are immutable
* Fix "REASSIGN OWNED" to handle operator classes and families
* Fix possible core dump when comparing two empty tsquery values
* Fix LIKE's handling of patterns containing % followed by _
2010-10-07 15:53:22 +00:00

147 lines
4.8 KiB
Makefile

# $NetBSD: Makefile.common,v 1.7 2010/10/07 15:53:22 adam Exp $
#
# used by databases/postgresql84-adminpack/Makefile
# used by databases/postgresql84-client/Makefile
# used by databases/postgresql84-plperl/Makefile
# used by databases/postgresql84-plpython/Makefile
# used by databases/postgresql84-pltcl/Makefile
# used by databases/postgresql84-server/Makefile
#
# This Makefile fragment is included by all PostgreSQL packages built from
# the main sources of the PostgreSQL distribution except jdbc-postgresql.
#
# The PostgreSQL package naming scheme, aside from the obvious piecewise
# packages, is as follows:
#
# <lang>-postgresql client-side interface to PostgreSQL
# postgresql-<lang> server-side module for PostgreSQL backend
.include "../../databases/postgresql84/Makefile.mirrors"
DISTNAME?= postgresql-${DIST_VERS}
CATEGORIES+= databases
MASTER_SITES?= ${PGSQL_MIRRORS:=source/v${DIST_VERS}/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER?= adam@NetBSD.org
HOMEPAGE?= http://www.postgresql.org/
CONFLICTS+= postgresql-[0-9]*
CONFLICTS+= postgresql73-*
CONFLICTS+= postgresql74-*
CONFLICTS+= postgresql80-*
CONFLICTS+= postgresql81-*
CONFLICTS+= postgresql82-*
CONFLICTS+= postgresql83-*
DISTINFO_FILE?= ${.CURDIR}/../postgresql84/distinfo
COMMON_FILESDIR?= ${.CURDIR}/../postgresql84/files
PATCHDIR?= ${.CURDIR}/../postgresql84/patches
# Version numbering scheme:
# DIST_VERS version number on the postgresql distfile
# BASE_VERS pkgsrc-mangled version number (convert pl -> .)
# Note: Do not forget jdbc-postgresql84 when updating version
DIST_VERS?= 8.4.5
BASE_VERS?= ${DIST_VERS}
BUILDLINK_API_DEPENDS.postgresql84-client+= postgresql84-client>=${BASE_VERS}
USE_PKGLOCALEDIR= yes
USE_TOOLS+= bison gmake lex msgfmt
PKG_SYSCONFSUBDIR= postgresql
.include "../../mk/bsd.prefs.mk"
PG_TEMPLATE.SunOS= solaris
PG_TEMPLATE.IRIX= irix5
.if !defined(PG_TEMPLATE.${OPSYS})
PG_TEMPLATE.${OPSYS}= ${LOWER_OPSYS}
.endif
PG_SUBPREFIX= # empty
.if empty(PG_SUBPREFIX)
PG_PREFIX= ${PREFIX}
PLIST_SUBST+= PG_SUBPREFIX=
.else
PG_PREFIX= ${PREFIX}/${PG_SUBPREFIX}
BUILD_DEFS+= PG_SUBPREFIX
PLIST_SUBST+= PG_SUBPREFIX=${PG_SUBPREFIX}/
BUILDLINK_PASSTHRU_DIRS+= ${PG_PREFIX}
.endif
PG_DATA_DIR= ${PG_PREFIX}/share/postgresql
PG_DOC_DIR= ${PG_PREFIX}/share/doc/postgresql
PG_LOCALE_DIR= ${PG_PREFIX}/${PKGLOCALEDIR}/locale
PG_ETC_DIR= ${PKG_SYSCONFDIR:S/^${PREFIX}\//${PG_PREFIX}\//}
GNU_CONFIGURE= yes
GNU_CONFIGURE_PREFIX= ${PG_PREFIX}
CONFIGURE_ARGS+= --sysconfdir=${PG_ETC_DIR}
CONFIGURE_ARGS+= --datadir=${PG_DATA_DIR}
CONFIGURE_ARGS+= --localedir=${PG_LOCALE_DIR}
CONFIGURE_ARGS+= --with-docdir=${PG_DOC_DIR}
CONFIGURE_ARGS+= --with-template=${PG_TEMPLATE.${OPSYS}}
CONFIGURE_ARGS+= --without-readline
CONFIGURE_ARGS+= --without-zlib
CONFIGURE_ARGS+= --enable-nls
CONFIGURE_ARGS+= --without-perl
CONFIGURE_ARGS+= --without-python
CONFIGURE_ARGS+= --without-tcl
# Enable Bonjour on Mac OS X
.if ${OPSYS} == "Darwin"
CONFIGURE_ARGS+= --with-bonjour
.endif
# PostgreSQL explicitly forbids any use of -ffast-math
BUILDLINK_TRANSFORM+= rm:-ffast-math
# USE_LIBLTDL is "yes" or "no" depending on whether we're using libltdl
# to provide "dlopen" functionality for the PostgreSQL backend.
.if ${OPSYS} == "Interix"
USE_LIBLTDL?= yes
.endif
USE_LIBLTDL?= no
FILES_SUBST+= PG_PREFIX=${PG_PREFIX:Q}
.include "../../devel/gettext-lib/buildlink3.mk"
.if !defined(META_PACKAGE)
post-extract:
cp -f ${COMMON_FILESDIR}/Makefile.custom ${WRKSRC}/src/Makefile.custom
cp -f ${COMMON_FILESDIR}/Makefile.libtool ${WRKSRC}/src/Makefile.shlib
. if !empty(USE_LIBLTDL:M[yY][eE][sS])
cp -f ${COMMON_FILESDIR}/dynloader-ltdl.h \
${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.h
${ECHO} "static int dummy = 0;" \
> ${WRKSRC}/src/backend/port/dynloader/${PG_TEMPLATE.${OPSYS}:Q}.c
. endif
touch ${WRKSRC}/src/template/dragonfly
cp ${WRKSRC}/src/backend/port/dynloader/freebsd.c \
${WRKSRC}/src/backend/port/dynloader/dragonfly.c
cp ${WRKSRC}/src/backend/port/dynloader/freebsd.h \
${WRKSRC}/src/backend/port/dynloader/dragonfly.h
cp ${WRKSRC}/src/include/port/freebsd.h \
${WRKSRC}/src/include/port/dragonfly.h
cp ${WRKSRC}/src/makefiles/Makefile.freebsd \
${WRKSRC}/src/makefiles/Makefile.dragonfly
.endif
# PGSQL_BLCKSZ is the size in bytes of a PostgreSQL disk page or block.
# This also limits the size of a tuple. The valid values are powers
# of 2 up to 32768, and the default size is 8196 (hardcoded in the
# PostgreSQL sources). Please don't change this value unless you know
# what you are doing.
BUILD_DEFS+= PGSQL_BLCKSZ
.if defined(PGSQL_BLCKSZ)
.PHONY: pgsql-blcksz
pre-configure: pgsql-blcksz
pgsql-blcksz:
for file in ${WRKSRC}/src/include/pg_config_manual.h; do \
${SED} -e "/^#define[ ]*BLCKSZ[ ]*/s/^\(#define[ ]*BLCKSZ\).*/\1 ${PGSQL_BLCKSZ}/" $$file > $$file.new; \
${MV} -f $$file.new $$file; \
done
.endif