pkgsrc/databases/postgresql81/Makefile.common
adam 3bce9d1004 Changes 8.1.15:
* Fix GiST index corruption due to marking the wrong index entry
  "dead" after a deletion.
  This would result in index searches failing to find rows they
  should have found.
* Fix backend crash when the client encoding cannot represent a
  localized error message.
  We have addressed similar issues before, but it would still fail if
  the "character has no equivalent" message itself couldn't be
  converted. The fix is to disable localization and send the plain
  ASCII error message when we detect such a situation.
* Fix possible crash when deeply nested functions are invoked from a
  trigger.
* Fix mis-expansion of rule queries when a sub-SELECT appears in a
  function call in FROM, a multi-row VALUES list, or a RETURNING list
* Ensure an error is reported when a newly-defined PL/pgSQL trigger
  function is invoked as a normal function.
* Prevent possible collision of relfilenode numbers when moving a
  table to another tablespace with "ALTER SET TABLESPACE".
  The command tried to re-use the existing filename, instead of
  picking one that is known unused in the destination directory.
* Fix incorrect tsearch2 headline generation when single query item
  matches first word of text.
* Fix improper display of fractional seconds in interval values when
  using a non-ISO datestyle in an "--enable-integer-datetimes" build
* Ensure SPI_getvalue and SPI_getbinval behave correctly when the
  passed tuple and tuple descriptor have different numbers of columns.
* Fix ecpg's parsing of "CREATE ROLE".
* Fix recent breakage of pg_ctl restart.
* Update time zone data files to tzdata release 2008i (for DST law
  changes in Argentina, Brazil, Mauritius, Syria)
2008-11-04 09:52:29 +00:00

176 lines
5.7 KiB
Text

# $NetBSD: Makefile.common,v 1.19 2008/11/04 09:52:29 adam Exp $
#
# 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/postgresql81/Makefile.mirrors"
DISTNAME?= postgresql-${DIST_VERS}
CATEGORIES+= databases
MASTER_SITES?= ${PGSQL_MIRRORS:=source/v${DIST_VERS}/}
EXTRACT_SUFX= .tar.bz2
MAINTAINER?= jlam@NetBSD.org
HOMEPAGE?= http://www.postgresql.org/
CONFLICTS+= postgresql-[0-9]*
CONFLICTS+= postgresql73-*
CONFLICTS+= postgresql74-*
CONFLICTS+= postgresql80-*
CONFLICTS+= postgresql82-*
CONFLICTS+= postgresql83-*
DISTINFO_FILE?= ${.CURDIR}/../postgresql81/distinfo
COMMON_FILESDIR?= ${.CURDIR}/../postgresql81/files
PATCHDIR?= ${.CURDIR}/../postgresql81/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-postgresql81 when updating version
#
DIST_VERS?= 8.1.15
BASE_VERS?= ${DIST_VERS}
BUILDLINK_API_DEPENDS.postgresql81-client+= postgresql81-client>=${BASE_VERS}
GNU_CONFIGURE= yes
USE_TOOLS+= bison gmake lex msgfmt
PKG_SYSCONFSUBDIR= postgresql
# in 7.4.x/8.0.x, this is done by autoconf stuff which has leading whitespace
USE_PKGLOCALEDIR= yes
SUBST_CLASSES+= pglocale
SUBST_FILES.pglocale= configure config/programs.m4
SUBST_STAGE.pglocale= pre-configure
SUBST_SED.pglocale= -e 's|\( localedir[ :]*=\).*|\1${PG_LOCALE_DIR}|'
.include "../../mk/bsd.prefs.mk"
PGSQL_TEMPLATE.SunOS= solaris
PGSQL_TEMPLATE.IRIX= irix5
.if !defined(PGSQL_TEMPLATE.${OPSYS})
PGSQL_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_PREFIX= ${PG_PREFIX}
CONFIGURE_ARGS+= --sysconfdir=${PG_ETC_DIR}
CONFIGURE_ARGS+= --datadir=${PG_DATA_DIR}
CONFIGURE_ARGS+= --with-docdir=${PG_DOC_DIR}
CONFIGURE_ARGS+= --with-template=${PGSQL_TEMPLATE.${OPSYS}}
CONFIGURE_ARGS+= --without-readline
CONFIGURE_ARGS+= --without-zlib
CONFIGURE_ARGS+= --enable-nls
CONFIGURE_ARGS+= --without-java
CONFIGURE_ARGS+= --without-perl
CONFIGURE_ARGS+= --without-python
CONFIGURE_ARGS+= --without-tcl
# Enable Rendezvous on Mac OS X
.if ${OPSYS} == "Darwin"
CONFIGURE_ARGS+= --with-rendezvous
.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"
post-extract:
if ${TEST} -d ${WRKSRC}/src; then \
rm -f ${WRKSRC}/src/Makefile.custom; \
cp -f ${COMMON_FILESDIR}/Makefile.custom \
${WRKSRC}/src/Makefile.custom; \
rm -f ${WRKSRC}/src/Makefile.shlib; \
cp -f ${COMMON_FILESDIR}/Makefile.libtool \
${WRKSRC}/src/Makefile.shlib; \
fi
if ${TEST} -d ${WRKSRC}/src/interfaces/libpq; then \
rm -f ${WRKSRC}/src/interfaces/libpq/GNUmakefile; \
cp -f ${COMMON_FILESDIR}/GNUmakefile.libpq \
${WRKSRC}/src/interfaces/libpq/GNUmakefile; \
fi
if ${TEST} -d ${WRKSRC}/src/interfaces/libpgtcl; then \
rm -f ${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile; \
cp -f ${COMMON_FILESDIR}/GNUmakefile.libpgtcl \
${WRKSRC}/src/interfaces/libpgtcl/GNUmakefile; \
fi
.if !empty(USE_LIBLTDL:M[yY][eE][sS])
if ${TEST} -d ${WRKSRC}/src/backend/port/dynloader; then \
template=${PGSQL_TEMPLATE.${OPSYS}:Q}; \
rm -f ${WRKSRC}/src/backend/port/dynloader/$$template.[ch]; \
cp -f ${COMMON_FILESDIR}/dynloader-ltdl.h \
${WRKSRC}/src/backend/port/dynloader/$$template.h; \
${ECHO} "static int dummy = 0;" \
>${WRKSRC}/src/backend/port/dynloader/$$template.c
fi
.endif
if ${TEST} -d ${WRKSRC}/src/template; then \
touch ${WRKSRC}/src/template/dragonfly; \
fi
if ${TEST} -d ${WRKSRC}/src/backend/port/dynloader; then \
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; \
fi
if ${TEST} -d ${WRKSRC}/src/include/port; then \
cp ${WRKSRC}/src/include/port/freebsd.h \
${WRKSRC}/src/include/port/dragonfly.h; \
fi
if ${TEST} -d ${WRKSRC}/src/makefiles; then \
cp ${WRKSRC}/src/makefiles/Makefile.freebsd \
${WRKSRC}/src/makefiles/Makefile.dragonfly; \
fi
# 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