# New ports collection makefile for: Firebird # Date created: 20 December 2000 # Whom: Geoffrey C. Speicher # # $FreeBSD$ # PORTNAME?= firebird PORTVERSION= 1.5.3 CATEGORIES?= databases MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR=firebird PKGNAMESUFFIX?= -server DISTNAME= firebird-1.5.3.4870 MAINTAINER= skv@FreeBSD.org COMMENT?= The open-source InterBase(tm) 6.0 spin-off (Classic version) LATEST_LINK= ${PORTNAME}${PKGNAMESUFFIX} USE_BISON= yes USE_BZIP2= yes USE_GMAKE= yes GNU_CONFIGURE= yes USE_AUTOTOOLS= autoconf:259 aclocal:19 libtool:15 ACLOCAL_ARGS= --acdir=${ACLOCAL_DIR} -I ${LOCALBASE}/share/aclocal USE_GCC= 3.4+ LOCALSTATEDIR= /var/db/firebird CONFDIR= ${PREFIX}/etc/firebird LIBEXECDIR= ${PREFIX}/libexec/firebird PLIST_SUB= FIREBIRD_VERSION=${PORTVERSION} \ LOCALSTATEDIR="var/db/firebird" CONFDIR="etc/firebird" # Don't use ld for linking, use gcc LD= ${CC} # Don't strip binary files STRIP= ONLY_FOR_ARCHS= i386 amd64 CONFLICTS= firebird-client-2* firebird-server-2* WRKSRC= ${WRKDIR}/${DISTNAME} INSTALL_FB= ${INSTALL} ${COPY} -g firebird .if !defined(CLIENT_ONLY) # Server part stuff LIB_DEPENDS+= fbembed.1:${PORTSDIR}/databases/firebird-client AUTOGENARGS= --with-lock-manager ALL_TARGET= firebird_boot ref_databases msgs libfbembed intl otherfiles \ inet_server extlib embed_gfix embed_gbak embed_gdef embed_util SUB_FILES= pkg-install pkg-message aliases.conf SUB_LIST+= LOCALSTATEDIR=${LOCALSTATEDIR} SUID_BIN= fb_inet_server fb_lock_mgr gds_drop UTIL_BIN= fb_lock_print gbak gdef gfix gsec gstat UDF_SO= ib_udf.so fbudf.so UDF_SQL= src/extlib/ib_udf.sql src/extlib/fbudf/fbudf.sql .else # Client part stuff AUTOGENARGS= --with-editline ALL_TARGET= firebird_basic libfbembed embed_isql embed_gpre \ embed_gdef embed_qli libfbclient extlib #ALL_TARGET= firebird_basic libfbembed libfbclient \ # client_gpre client_gdef client_isql client_qli extlib USE_LDCONFIG= yes CLIENT_BIN= gpre isql qli CONFIGURE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" PTHREAD_LIBS="${PTHREAD_LIBS}" .if !defined(NOPORTDOCS) PORTDOCS= * .endif .endif MAKE_ENV+= CC=${CC} CXX=${CXX} FIREBIRD_TMP="${WRKDIR}" FIREBIRD_LOCK="${WRKDIR}" .include .if !defined(CLIENT_ONLY) pre-everything:: @${ECHO_MSG} "NOTE: If the work directory is on an NFS mount, you will" @${ECHO_MSG} "require NFS client locking support for the build to" @${ECHO_MSG} "succeed. Currently this is only available on FreeBSD 5.0" @${ECHO_MSG} "or greater." @${ECHO_MSG} @${ECHO_MSG} "WARNING: The on-disk structure of the databases has" @${ECHO_MSG} "changed since version 1.0.x." @${ECHO_MSG} "Cancel this installation now and backup your databases" @${ECHO_MSG} "if you have not already done so." .if !defined(BATCH) @sleep 2 .endif .endif .if !defined(CLIENT_ONLY) pre-su-install: @${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PORTNAME} PRE-INSTALL post-install: @${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PORTNAME} POST-INSTALL @${CAT} ${PKGMESSAGE} .endif .ifndef WITHOUT_IPC_CLEANUP pre-build: .ifndef PACKAGE_BUILDING @if [ `${ID} -u` -eq 0 ]; then \ ${ECHO_MSG} "==> Please do not build ${PORTNAME} as 'root' because this may cause conflicts with SysV semaphores of running services."; exit 1; fi .endif [ -f ${WRKDIR}/ipcs.pre.build ] || /usr/bin/ipcs -s | ${TAIL} -n +3 | \ ${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.pre.build post-build: /usr/bin/ipcs -s | ${TAIL} -n +3 | ${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.post.build /usr/bin/diff -n ${WRKDIR}/ipcs.pre.build ${WRKDIR}/ipcs.post.build | \ ${TAIL} -n +2 | ${SED} -E 's/^s +([0-9]+).*$$/\/usr\/bin\/ipcrm -s \1/' > ${WRKDIR}/ipcrm.sh ${SH} ${WRKDIR}/ipcrm.sh .endif do-configure: @(cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${MAKE_ENV} MAKE=${GMAKE} \ ${AUTOTOOLS_VARS} ./autogen.sh --localstatedir=${LOCALSTATEDIR} \ --prefix=${LOCALSTATEDIR} --exec-prefix=${PREFIX} \ --libexecdir=${LIBEXECDIR} \ --sysconfdir=${CONFDIR} --datadir=${DATADIR} ${AUTOGENARGS}) post-configure: @${REINPLACE_CMD} -e 's|__attribute__ ((__unused__));||' \ ${WRKSRC}/src/dsql/parse.cpp do-install: .if !defined(CLIENT_ONLY) ${INSTALL_PROGRAM} ${UTIL_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/bin ${INSTALL_PROGRAM} -o firebird -g firebird -m 6550 \ ${SUID_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/sbin @${MKDIR} ${CONFDIR} ${INSTALL_DATA} ${WRKDIR}/aliases.conf ${CONFDIR}/aliases.conf.sample ${MKDIR} ${LIBEXECDIR}/udf ${LOCALSTATEDIR}/help ${LIBEXECDIR}/intl ${CHOWN} -R firebird:firebird ${LOCALSTATEDIR} ${INSTALL_FB} -m 0555 ${UDF_SO:S!^!${WRKSRC}/gen/firebird/UDF/!} ${LIBEXECDIR}/udf ${INSTALL_FB} -m 0444 ${UDF_SQL:S!^!${WRKSRC}/!} ${LIBEXECDIR}/udf .if !exists(${LOCALSTATEDIR}/security.fdb) ${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security.fdb \ ${LOCALSTATEDIR}/security.fdb .endif ${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security.fdb \ ${LOCALSTATEDIR}/security.fdb.sample ${INSTALL_FB} -m 0440 ${WRKSRC}/gen/firebird/help/help.fdb \ ${LOCALSTATEDIR}/help ${INSTALL_FB} -m 0555 ${WRKSRC}/gen/firebird/intl/libfbintl.so ${LIBEXECDIR}/intl/fbintl ${INSTALL_DATA} ${FILESDIR}/RELNOTES ${LOCALSTATEDIR} .else # defined CLIENT_ONLY ${INSTALL_PROGRAM} ${CLIENT_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} \ ${PREFIX}/bin ${SED} -e "s=%%PREFIX%%=${PREFIX}=g" ${WRKSRC}/gen/firebird/misc/firebird.conf > ${WRKDIR}/firebird.conf @${MKDIR} ${CONFDIR} .if !exists(${CONFDIR}/firebird.conf) ${INSTALL_DATA} ${WRKDIR}/firebird.conf ${CONFDIR} .endif ${INSTALL_DATA} ${WRKDIR}/firebird.conf ${CONFDIR}/firebird.conf.sample ${INSTALL_DATA} ${WRKSRC}/gen/firebird/lib/libib_util.so \ ${WRKSRC}/gen/firebird/lib/libfbclient.so.${PORTVERSION} \ ${WRKSRC}/gen/firebird/lib/libfbembed.so.${PORTVERSION} \ ${PREFIX}/lib ${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so.1 ${LN} -fs libfbclient.so.1 ${PREFIX}/lib/libfbclient.so ${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so.1 ${LN} -fs libfbembed.so.1 ${PREFIX}/lib/libfbembed.so ${LN} -fs libfbembed.so.1 ${PREFIX}/lib/libgds.so.1 ${LN} -fs libfbembed.so.1 ${PREFIX}/lib/libgds.so @${MKDIR} ${PREFIX}/include ${INSTALL_DATA} ${WRKSRC}/gen/firebird/include/*.h ${PREFIX}/include @${MKDIR} ${DATADIR} ${INSTALL_DATA} ${WRKSRC}/gen/firebird/*.msg ${DATADIR} .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR}/sql.extensions ${INSTALL_DATA} ${WRKSRC}/doc/WhatsNew ${WRKSRC}/doc/README.* ${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/doc/README.user ${DOCSDIR}/README ${INSTALL_DATA} ${WRKSRC}/doc/sql.extensions/README.* ${DOCSDIR}/sql.extensions .endif @${ECHO_MSG} "===> Installing examples for ${PKGNAME}" @${MKDIR} ${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/gen/firebird/examples/v5/* ${EXAMPLESDIR} .endif .include