5c871f4845
A note about how to install languages into a PostgreSQL database is added. PR: ports/29916 Submitted by: Palle Girgensohn <girgen@partitur.se> (MAINTAINER) Michal Pasternak <doc@lublin.t1.pl> (the note)
200 lines
7.2 KiB
Makefile
200 lines
7.2 KiB
Makefile
# New ports collection makefile for: PostgreSQL
|
|
# Date created: November 13, 1998
|
|
# Whom: Marc G. Fournier <scrappy@FreeBSD.org>
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= postgresql
|
|
PORTVERSION= 7.1.3
|
|
CATEGORIES= databases
|
|
MASTER_SITES= ftp://ftp.iodynamics.com/pub/mirror/postgresql/%SUBDIR%/ \
|
|
ftp://ftp.postgresql.org/pub/%SUBDIR%/ \
|
|
ftp://ftp.de.postgresql.org/%SUBDIR%/ \
|
|
ftp://ftp.digex.net/pub/packages/database/postgresql/%SUBDIR%/ \
|
|
ftp://ftp.sunet.se/pub/unix/databases/relational/postgresql/%SUBDIR%/ \
|
|
ftp://ftp.chg.ru/pub/databases/postgresql/%SUBDIR%/ \
|
|
${MASTER_SITE_RINGSERVER:S,%SUBDIR%,misc/db/postgresql/&,}
|
|
MASTER_SITE_SUBDIR= source/v${PORTVERSION}
|
|
DISTFILES= ${PORTNAME}-base-${PORTVERSION}${EXTRACT_SUFX} \
|
|
${PORTNAME}-opt-${PORTVERSION}${EXTRACT_SUFX}
|
|
.if !defined(NOPORTDOCS)
|
|
DISTFILES+= ${PORTNAME}-docs-${PORTVERSION}${EXTRACT_SUFX}
|
|
.endif
|
|
|
|
MAINTAINER= girgen@partitur.se
|
|
|
|
DIST_SUBDIR= postgresql
|
|
|
|
INSTALLS_SHLIB= YES
|
|
|
|
DOCDIR= ${WRKDIR}/${DISTNAME}/doc
|
|
PLIST= ${WRKDIR}/.PLIST.generated
|
|
|
|
USE_GMAKE= YES
|
|
HAS_CONFIGURE= YES
|
|
CONFIGURE_ARGS= --enable-locale \
|
|
--enable-syslog --with-CXX \
|
|
--sysconfdir=${PREFIX}/etc/postgresql \
|
|
--with-includes="${PREFIX}/include ${TCL_INCDIR} ${TK_INCDIR}" \
|
|
--with-libraries=${PREFIX}/lib
|
|
.if defined(WITH_OLD_LAYOUT)
|
|
CONFIGURE_ARGS+=--docdir=${PREFIX}/share/doc --includedir=${PREFIX}/pgsql/include \
|
|
--datadir=${PREFIX}/share \
|
|
--with-template=`uname -s | ${TR} '[A-Z]' '[a-z]'` \
|
|
--prefix=${PREFIX}/pgsql
|
|
PG_PREFIX= pgsql/
|
|
PG_INCLUDE= pgsql/include
|
|
LDCONFIG_DIRS= %%PREFIX%%/pgsql/lib
|
|
MANPREFIX= ${PREFIX}/pgsql
|
|
.else
|
|
GNU_CONFIGURE= YES
|
|
CONFIGURE_ARGS+=--docdir=${PREFIX}/share/doc --includedir=${PREFIX}/include/pgsql
|
|
PG_PREFIX=""
|
|
PG_INCLUDE= include/pgsql
|
|
.endif
|
|
|
|
PLIST_SUB= PG_PREFIX="${PG_PREFIX}" PG_INCLUDE="${PG_INCLUDE}" WITH_TCL="${WITH_TCL}"
|
|
|
|
MAN1= createdb.1 createlang.1 createuser.1 dropdb.1 droplang.1 \
|
|
dropuser.1 ecpg.1 initdb.1 initlocation.1 ipcclean.1 pg_config.1 \
|
|
pg_ctl.1 pg_dump.1 pg_dumpall.1 pg_passwd.1 pg_restore.1 \
|
|
pgaccess.1 pgtclsh.1 pgtksh.1 postgres.1 postmaster.1 psql.1 \
|
|
vacuumdb.1
|
|
MANL= abort.l alter_group.l alter_table.l alter_user.l \
|
|
begin.l checkpoint.l close.l cluster.l comment.l commit.l copy.l \
|
|
create_aggregate.l create_constraint_trigger.l \
|
|
create_database.l create_function.l create_group.l \
|
|
create_index.l create_language.l create_operator.l \
|
|
create_rule.l create_sequence.l create_table.l \
|
|
create_table_as.l create_trigger.l create_type.l \
|
|
create_user.l create_view.l declare.l delete.l \
|
|
drop_aggregate.l drop_database.l drop_function.l \
|
|
drop_group.l drop_index.l drop_language.l \
|
|
drop_operator.l drop_rule.l drop_sequence.l \
|
|
drop_table.l drop_trigger.l drop_type.l drop_user.l \
|
|
drop_view.l end.l explain.l fetch.l grant.l insert.l \
|
|
listen.l load.l lock.l move.l notify.l reindex.l \
|
|
reset.l revoke.l rollback.l select.l select_into.l \
|
|
set.l set_constraints.l set_transaction.l show.l \
|
|
truncate.l unlisten.l update.l vacuum.l
|
|
|
|
SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" \
|
|
WRKDIR="${WRKDIR}" \
|
|
FILESDIR="${FILESDIR}" \
|
|
TOUCH="${TOUCH}" \
|
|
MKDIR="${MKDIR}" \
|
|
NO_OPENSSL="${NO_OPENSSL}" \
|
|
DISTNAME="${DISTNAME}"
|
|
|
|
# We must .include here because we need the Makefile.inc @ pre-install
|
|
# to determine the correct plist.
|
|
.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc)
|
|
.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc"
|
|
.else
|
|
# make utility targets like depends and describe happy
|
|
LIB_DEPENDS= tcl83:${PORTSDIR}/lang/tcl83 \
|
|
tk83:${PORTSDIR}/x11-toolkits/tk83
|
|
.endif
|
|
|
|
pre-everything:
|
|
@ ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.postgresql
|
|
|
|
pre-install:
|
|
@ ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGDIR}/pkg-install ${PORTNAME} PRE-INSTALL
|
|
.if !defined(BATCH)
|
|
# remind folks twice for a while, so they really don't miss the layout shift
|
|
@ ${SED} "s|/usr/local|${PREFIX}|g" < ${PKGMESSAGE} | head -n 25 | more -e
|
|
.endif
|
|
@ ${CP} ${PKGDIR}/pkg-plist ${PLIST}
|
|
.if defined(WITHOUT_MULTIBYTE)
|
|
@${CP} ${PLIST} ${PLIST}.nomulti ;\
|
|
${GREP} -v bin/pg_encoding ${PLIST}.nomulti > ${PLIST}
|
|
.endif
|
|
.if defined(WITH_TCL)
|
|
@ ${CP} ${PLIST} ${PLIST}.notcl ;\
|
|
${CAT} ${PKGDIR}/${TCL_PLIST} ${PLIST}.notcl > ${PLIST} ;\
|
|
${RM} ${PLIST}.notcl
|
|
.endif
|
|
.if defined(WITH_ODBC)
|
|
@ ${CP} ${PLIST} ${PLIST}.noodbc ;\
|
|
${CAT} ${PKGDIR}/pkg-plist.odbc ${PLIST}.noodbc > ${PLIST} ;\
|
|
${RM} ${PLIST}.noodbc
|
|
.endif
|
|
.if defined(WITH_JDBC)
|
|
@ ${CP} ${PLIST} ${PLIST}.nojdbc ;\
|
|
${CAT} ${PKGDIR}/pkg-plist.jdbc ${PLIST}.nojdbc > ${PLIST} ;\
|
|
${RM} ${PLIST}.nojdbc
|
|
.endif
|
|
.if !defined(NOPORTDOCS)
|
|
@ ${CAT} ${PKGDIR}/pkg-plist.doc >> ${PLIST}
|
|
.endif
|
|
|
|
post-install:
|
|
# install shell defaults for pgsql user
|
|
.for i in profile cshrc
|
|
@ ${SED} "s|%%PREFIX%%|${PREFIX}|g; s|%%PG_PREFIX%%|${PG_PREFIX}|g" \
|
|
< ${FILESDIR}/dot.$i.in \
|
|
> ${PREFIX}/share/postgresql/dot.$i.dist; \
|
|
${CP} ${PREFIX}/share/postgresql/dot.$i.dist ~pgsql/; \
|
|
if [ ! -f ~pgsql/.$i ]; then \
|
|
${CP} ${PREFIX}/share/postgresql/dot.$i.dist ~pgsql/.$i; \
|
|
fi
|
|
.endfor
|
|
@ ${SED} -e "s|%%PREFIX%%|${PREFIX}|g; s|%%PG_PREFIX%%|${PG_PREFIX}|g" \
|
|
< ${FILESDIR}/pgsql.sh.tmpl \
|
|
> ${PREFIX}/etc/rc.d/010.pgsql.sh
|
|
@ ${CHMOD} 554 ${PREFIX}/etc/rc.d/010.pgsql.sh
|
|
@ ${CHOWN} root:pgsql ${PREFIX}/etc/rc.d/010.pgsql.sh
|
|
.if defined(WITH_TCL)
|
|
# Preparing a loadable TCL-package (pkgIndex.tcl)
|
|
@${MKDIR} ${PREFIX}/lib/tcl${WITH_TCL}/Pgtcl1.3
|
|
@${SED} "s|%%PREFIX%%|${PREFIX}|g" < ${FILESDIR}/pkgIndex.tcl.in \
|
|
> ${PREFIX}/lib/tcl${WITH_TCL}/Pgtcl1.3/pkgIndex.tcl
|
|
.endif
|
|
.if defined(WITH_JDBC)
|
|
@ ${MKDIR} -m 0555 ${PREFIX}/share/java/classes
|
|
@ ${INSTALL_DATA} ${WRKSRC}/src/interfaces/jdbc/jars/postgresql.jar \
|
|
${PREFIX}/share/java/classes/postgresql.jar
|
|
@ ${ECHO_MSG} "---------------------------------------------------------"
|
|
@ ${ECHO_MSG} "Putting postgresql.jar in"
|
|
@ ${ECHO_MSG} "${PREFIX}/share/java/classes/postgresql.jar"
|
|
@ ${ECHO_MSG} "Add this to your CLASSPATH!"
|
|
@ ${ECHO_MSG} "ALSO NOTE: path inside jar file modified from 6.5.x:"
|
|
@ ${ECHO_MSG} " 'postgresql.*' -> 'org.postgresql.*'!"
|
|
@ ${ECHO_MSG} "---------------------------------------------------------"
|
|
.if !defined(NOPORTDOCS)
|
|
@ ${MKDIR} -m 0555 ${PREFIX}/share/examples/postgresql ;\
|
|
cd ${WRKSRC}/src/interfaces/jdbc/example ;\
|
|
pax -rw . ${PREFIX}/share/examples/postgresql
|
|
.for i in README Implementation
|
|
@ ${INSTALL_DATA} ${WRKSRC}/src/interfaces/jdbc/$i \
|
|
${PREFIX}/share/examples/postgresql
|
|
.endfor
|
|
@ ${ECHO_MSG} "---------------------------------------------------------------"
|
|
@ ${ECHO_MSG} "Putting java examples into ${PREFIX}/share/examples/postgresql"
|
|
@ ${ECHO_MSG} "---------------------------------------------------------------"
|
|
.endif
|
|
.endif
|
|
.if !defined(DEBUG_FLAGS)
|
|
.for file in ecpg pg_dump pg_id pg_passwd pg_restore postgres psql
|
|
@ strip ${PREFIX}/${PG_PREFIX}bin/${file}
|
|
.endfor
|
|
.endif
|
|
# information overload mode activated, sorry about this... ;-)
|
|
@ ${CAT} ${FILESDIR}/post-install-notes ${PKGMESSAGE} |\
|
|
${SED} "s|/usr/local|${PREFIX}|g" |\
|
|
tee ${PREFIX}/share/postgresql/post-install-notes ;\
|
|
${INSTALL_DATA} ${PREFIX}/share/postgresql/post-install-notes ~pgsql/. ;\
|
|
${CHOWN} -R pgsql:pgsql ~pgsql/.
|
|
.if defined(WITH_OLD_LAYOUT)
|
|
@ ${CHOWN} root:pgsql ${PREFIX}/${PG_PREFIX}lib
|
|
.endif
|
|
|
|
post-clean:
|
|
@ ${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc
|
|
|
|
post-extract: ${POSTEXTRACT}
|
|
|
|
.include <bsd.port.mk>
|