diff options
author | jlam <jlam> | 2005-08-05 19:43:44 +0000 |
---|---|---|
committer | jlam <jlam> | 2005-08-05 19:43:44 +0000 |
commit | 53c7dbd6a2345f9594fc3dc5d0f14e2ecd652e08 (patch) | |
tree | 63eec019bfb4aeb95776bd987fe6d34dc836ea8c /databases/postgresql80/Makefile.common | |
parent | 350dbde1f1427bcd96ce1d18d573d665bed2f088 (diff) | |
download | pkgsrc-53c7dbd6a2345f9594fc3dc5d0f14e2ecd652e08.tar.gz |
Several changes to the postgresql80-* packages:
* Become maintainer for the postgresql80-* packages (ok'd by recht)
* Libtoolize postgresql80 build so that the shared libraries and
loadable shared modules are built using libtool. This should make
PostgreSQL 8.0.x in pkgsrc build correctly on more pkgsrc-supported
platforms. This is accomplished with the Makefile.libtool file
which replaces the Makefile.shlib file in the PostgreSQL distribution.
* Add libltdl modifications from the postgresql74-* packages so that
this can work on Interix (untested).
* Fix some mismatches between static function declarations and their
subsesquent definitions in the src/timezone module. Fixes provided
by Georg Schwarz.
* Convert PGSQL_USE_HIER into the PKG_OPTION "pgsql-hier-query", and
teach both postgresql80-client and postgresql80-server to use it.
* Use BUILDLINK_TRANSFORM's "rm" action to remove unwanted compiler
flags.
* Remove zlib/buildlink3.mk from postgresql80-client/buildlink3.mk
as zlib is only used by the pg_dump client.
* Convert some files in files/* into patches that can be fed back
to the PostgreSQL team.
* Install data and documentation files into share/postgresql instead
of share/postgresql80 -- it's only possible to install one PostgreSQL
version at a time in pkgsrc, and the new paths more closely match
the rest of the installation paths.
* Add more mirrors to the MASTER_SITES list, and add a new variable
POSTGRESQL_MIRRORS_SORT that has the same syntax as MASTER_SORT that
can help people pick a nearby mirror.
* Nuke references to libpgtcl which is no longer distributed as part
of a standard PostgreSQL installation as of version 8.0.
* Provide better documentation for Makefile.custom.
* Avoid linking in the pthread library in the correct way on NetBSD
by setting DLOPEN_REQUIRE_PTHREADS=no. Also, provide better
documentation on why we can't enable thread-safety in the PostgreSQL
libraries on NetBSD (at least for now).
* Preliminary support for installing postgresql80-* into a separate
subdirectory under ${LOCALBASE} so possibly allow for multiple
installations of PostgreSQL on the same machine. Note that THIS
DOES NOT WORK YET.
* Update the hierarchical-queries patch to "8.0.3-0.5.5" which fixes
a bug which was crashing the backend when PRIOR was used in the
target list. The _level_ column is no longer automatically added
to target list. This makes it possible to use hierarchical queries
as IN subqueries. To get _level_ back you just have to explicitly
mention it in target list.
Bump the following PKGREVISIONs:
postgresql80-client -> 2
postgresql80-server -> 2
postgresql80 -> 1
Diffstat (limited to 'databases/postgresql80/Makefile.common')
-rw-r--r-- | databases/postgresql80/Makefile.common | 113 |
1 files changed, 66 insertions, 47 deletions
diff --git a/databases/postgresql80/Makefile.common b/databases/postgresql80/Makefile.common index e560b7e71e6..9dadcd10996 100644 --- a/databases/postgresql80/Makefile.common +++ b/databases/postgresql80/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.5 2005/05/22 20:07:46 jlam Exp $ +# $NetBSD: Makefile.common,v 1.6 2005/08/05 19:43:44 jlam Exp $ # # This Makefile fragment is included by all PostgreSQL packages built from # the main sources of the PostgreSQL distribution except jdbc-postgresql. @@ -9,22 +9,17 @@ # <lang>-postgresql client-side interface to PostgreSQL # postgresql-<lang> server-side module for PostgreSQL backend -DISTNAME?= postgresql-${DIST_VERS} -CATEGORIES+= databases -MASTER_SITES?= \ - ftp://ftp.de.postgresql.org/mirror/postgresql/source/v${DIST_VERS}/ \ - ftp://gd.tuwien.ac.at/db/www.postgresql.org/pub/source/v${DIST_VERS}/ \ - ftp://ftp.sunsite.auc.dk/mirrors/postgresql/source/v${DIST_VERS}/ \ - ftp://ftp.jaist.ac.jp/pub/dbms/postgres95/source/v${DIST_VERS}/ \ - http://www.postgresql.org/ftpsite/source/v${DIST_VERS}/ \ - ftp://ftp.postgresql.org/pub/source/v${DIST_VERS}/ +.include "../postgresql80/Makefile.mirrors" -EXTRACT_SUFX= .tar.bz2 +DISTNAME?= postgresql-${DIST_VERS} +CATEGORIES+= databases +MASTER_SITES?= ${POSTGRESQL_MIRRORS:=source/v${DIST_VERS}/} +EXTRACT_SUFX= .tar.bz2 -MAINTAINER?= recht@NetBSD.org -HOMEPAGE?= http://www.postgresql.org/ +MAINTAINER?= jlam@NetBSD.org +HOMEPAGE?= http://www.postgresql.org/ -CONFLICTS+= postgresql-[0-9]* postgresql73-* postgresql74-* +CONFLICTS+= postgresql-[0-9]* postgresql73-* postgresql74-* DISTINFO_FILE?= ${.CURDIR}/../postgresql80/distinfo COMMON_FILESDIR?= ${.CURDIR}/../postgresql80/files @@ -36,10 +31,11 @@ PATCHDIR?= ${.CURDIR}/../postgresql80/patches # BASE_VERS pkgsrc-mangled version number (convert pl -> .) # # Note: Do not forget jdbc-postgresql when updating version +# DIST_VERS?= 8.0.3 BASE_VERS?= ${DIST_VERS} -BUILDLINK_DEPENDS.postgresql80-client?= postgresql80-client>=${BASE_VERS} +BUILDLINK_DEPENDS.postgresql80-client+= postgresql80-client>=${BASE_VERS} GNU_CONFIGURE= yes BUILD_USES_MSGFMT= yes @@ -48,71 +44,94 @@ 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+= pkglocaledir2 -SUBST_FILES.pkglocaledir2= configure config/programs.m4 -SUBST_STAGE.pkglocaledir2= pre-configure -SUBST_SED.pkglocaledir2= -e 's|\( localedir[ :]*=\).*|\1${_PKGLOCALEDIR}|' +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" -# Add support for hierarchical queries with Oracle like CONNECT BY syntax. -# see http://gppl.moonbone.ru/README.html for details. -.if defined(PGSQL_USE_HIER) && !empty(PGSQL_USE_HIER:M[yY][eE][sS]) -PATCH_SITES= http://gppl.moonbone.ru/ -PATCHFILES= hier-Pg8.0.1-0.5.4.diff.gz -PATCH_DIST_STRIP= -p1 +PGSQL_TEMPLATE.SunOS= solaris +PGSQL_TEMPLATE.IRIX= irix5 +.if !defined(PGSQL_TEMPLATE.${OPSYS}) +PGSQL_TEMPLATE.${OPSYS}= ${LOWER_OPSYS} .endif -BUILD_DEFS+= PGSQL_USE_HIER -PG_DIR= ${PREFIX} -GNU_CONFIGURE_PREFIX= ${PG_DIR} -INSTALLATION_DIRS+= ${PG_DIR} -PG_DATA_DIR= ${PREFIX}/share/postgresql80 -PG_DOC_DIR= ${PREFIX}/share/doc/postgresql80 +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}\//} -#CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} +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+= --with-zlib -CONFIGURE_ARGS+= --with-openssl +CONFIGURE_ARGS+= --without-zlib CONFIGURE_ARGS+= --enable-nls CONFIGURE_ARGS+= --without-java CONFIGURE_ARGS+= --without-perl CONFIGURE_ARGS+= --without-python CONFIGURE_ARGS+= --without-tcl -CONFIGURE_ARGS+= --without-tk -# enable Rendezvous (recommended on Mac OS X) +# Enable Rendezvous on Mac OS X .if ${OPSYS} == "Darwin" CONFIGURE_ARGS+= --with-rendezvous .endif # PostgreSQL explicitly forbids any use of -ffast-math -CFLAGS:= ${CFLAGS:S/-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 [ -d ${WRKSRC}/src ]; then \ + 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 [ -d ${WRKSRC}/src/interfaces/libpq ]; then \ + 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 [ -d ${WRKSRC}/src/interfaces/libpgtcl ]; then \ + 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 [ -d ${WRKSRC}/src/backend/port/dynloader ]; then \ - ${RM} -f ${WRKSRC}/src/backend/port/dynloader/netbsd.[ch];\ - ${CP} -f ${COMMON_FILESDIR}/netbsd.[ch] \ - ${WRKSRC}/src/backend/port/dynloader/; \ +.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 - -.include "../../devel/gettext-lib/buildlink3.mk" -.include "../../devel/zlib/buildlink3.mk" +.endif |