diff options
author | Jose Alonso Cardenas Marquez <acm@FreeBSD.org> | 2010-12-20 08:48:54 +0000 |
---|---|---|
committer | Jose Alonso Cardenas Marquez <acm@FreeBSD.org> | 2010-12-20 08:48:54 +0000 |
commit | 889c99903996bea265f44e95327fbd9f3ea2d3c2 (patch) | |
tree | 37f6c971c2214cd62fe896b7b0f2d87a6bb7304c /databases/firebird25-server/Makefile | |
parent | 71996850bbc46b90097f091b5c2bfdb8d13d8007 (diff) | |
download | ports-889c99903996bea265f44e95327fbd9f3ea2d3c2.tar.gz ports-889c99903996bea265f44e95327fbd9f3ea2d3c2.zip |
- New port: databases/firebird25-server
Firebird is a relational database offering many ANSI SQL-99 features
that runs on Linux, Windows, and a variety of Unix platforms. Firebird
offers excellent concurrency, high performance, and powerful language
support for stored procedures and triggers. It has been used in
production systems, under a variety of names since 1981.
Firebird is completely free of any registration, licensing or deployment
fees. It may be deployed freely for use with any third-party software,
whether commercial or not.
WWW: http://sourceforge.net/projects/firebird/
WWW: http://www.firebirdsql.org/
Notes
Notes:
svn path=/head/; revision=266628
Diffstat (limited to 'databases/firebird25-server/Makefile')
-rw-r--r-- | databases/firebird25-server/Makefile | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/databases/firebird25-server/Makefile b/databases/firebird25-server/Makefile new file mode 100644 index 000000000000..3a92ad9ea2dd --- /dev/null +++ b/databases/firebird25-server/Makefile @@ -0,0 +1,226 @@ +# New ports collection makefile for: firebird25-server +# Date created: 2010-12-20 +# Whom: Alonso Cárdenas Márquez <acm@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= firebird +PORTVERSION= 2.5.0 +PORTREVISION?= 0 +CATEGORIES?= databases +MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}-Release/ +PKGNAMESUFFIX?= -server +DISTNAME= ${PORTNAME:S/f/F/}-${PORTVERSION}.26074-0 +DIST_SUBDIR= ${PORTNAME} + +MAINTAINER= acm@FreeBSD.org +COMMENT?= Firebird-2 relational database (server) + +LIB_DEPENDS= icuuc:${PORTSDIR}/devel/icu + +LATEST_LINK= ${PORTNAME}25${PKGNAMESUFFIX} + +USE_BISON= build +USE_BZIP2= yes +USE_GMAKE= yes +GNU_CONFIGURE= yes +MAKE_JOBS_UNSAFE= yes + +CONFIGURE_ARGS= --with-system-editline \ + --with-system-icu \ + --prefix=${LOCALSTATEDIR} \ + --exec-prefix=${PREFIX} \ + --with-fbconf=${CONFDIR} \ + --with-fbglock=${LOCALSTATEDIR} \ + --with-fbhelp=${LOCALSTATEDIR}/help \ + --with-fbintl=${LIBEXECDIR}/intl \ + --with-fblog=${LOCALSTATEDIR} \ + --with-fbmsg=${DATADIR} \ + --with-fbplugins=${LIBEXECDIR}/plugins \ + --with-fbsbin=${PREFIX}/sbin \ + --with-fbsecure-db=${LOCALSTATEDIR} \ + --with-fbudf=${LIBEXECDIR}/UDF +CONFIGURE_ENV+= CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \ + PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \ + PTHREAD_LIBS="${PTHREAD_LIBS}" + +CFLAGS+= -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib + +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.0* firebird-server-2.0* \ + firebird-client-2.1* firebird-server-2.1* + +INSTALL_FB= ${INSTALL} ${COPY} -g firebird +IPCRM_CMD= /usr/bin/ipcrm +IPCS_CMD= /usr/bin/ipcs + +IPCCHECK!= ${IPCRM_CMD} -q 0 2>&1 || true +.if ${IPCCHECK:Mimplemented} +IGNORE= your system does not support sysvipc +.endif + +.if !defined(CLIENT_ONLY) +# Server part stuff +LIB_DEPENDS+= fbembed.2:${PORTSDIR}/databases/firebird25-client + +ALL_TARGET= firebird_embedded + +USE_RC_SUBR= firebird +SUB_FILES= pkg-install pkg-message + +UTIL_SBIN= fb_inet_server fb_lock_print fb_smp_server +UTIL_BIN= fbguard fbstat fbsvcmgr fbtracemgr gbak gdef gfix gsec gsplit \ + nbackup +UDF_SO= ib_udf.so fbudf.so +UDF_SQL= src/extlib/ib_udf2.sql src/extlib/fbudf/fbudf.sql +.else +# Client part stuff +ALL_TARGET= firebird_basic libfbembed libfbclient embed_isql embed_gpre \ + embed_gdef embed_qli extlib + +USE_LDCONFIG= yes +CLIENT_BIN= gpre isql-fb qli + +.if !defined(NOPORTDOCS) +PORTDOCS= * +FB_DOCS_FILES= WhatsNew README.* Firebird* ReleaseNotes.pdf ambiguity.txt \ + ods11-index-structure.html +FB_DOCS_DIRS= sql.extensions license upgrade +.endif +.endif + +MAKE_ENV+= FIREBIRD_TMP="${WRKDIR}" FIREBIRD_LOCK="${WRKDIR}" + +post-extract: + @${RM} -rf ${WRKSRC}/extern/icu + +post-patch: + ${FIND} ${WRKSRC} -name "*.sh" -exec ${CHMOD} +x {} \+ + ${REINPLACE_CMD} -e \ + 's|/isql|/isql-fb|g' -e \ + 's|/gstat|/fbstat|g' ${WRKSRC}/builds/posix/make.defaults + +.include <bsd.port.pre.mk> + +.if ${ARCH} == "amd64" +CFLAGS+= -DAMD64 +.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 + ${MAKE} -C ${WRKSRC}/extern/btyacc + [ -f ${WRKDIR}/ipcs.pre.build ] || ${IPCS_CMD} -s | ${TAIL} -n +3 | \ + ${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.pre.build + +post-build: + ${IPCS_CMD} -s | ${TAIL} -n +3 | ${GREP} -F `${ID} -un` | ${CAT} > ${WRKDIR}/ipcs.post.build + ${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-install: +.if !defined(CLIENT_ONLY) + + ${INSTALL_PROGRAM} ${UTIL_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/bin + ${INSTALL_PROGRAM} ${UTIL_SBIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/sbin + + @${MKDIR} ${CONFDIR} + ${INSTALL_DATA} ${WRKSRC}/gen/install/misc/aliases.conf ${CONFDIR}/aliases.conf.sample +.if !exists(${CONFDIR}/aliases.conf) + ${INSTALL_DATA} ${WRKSRC}/gen/install/misc/aliases.conf ${CONFDIR}/aliases.conf +.endif + ${INSTALL_DATA} ${WRKSRC}/gen/install/misc/fbintl.conf ${CONFDIR}/fbintl.conf + ${INSTALL_DATA} ${WRKSRC}/gen/install/misc/fbtrace.conf ${CONFDIR}/fbtrace.conf + + ${MKDIR} ${LIBEXECDIR}/udf ${LOCALSTATEDIR}/help ${LIBEXECDIR}/intl \ + ${LIBEXECDIR}/plugins + + ${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 + ${INSTALL_FB} -m 0555 ${WRKSRC}/gen/firebird/plugins/libfbtrace.so ${LIBEXECDIR}/plugins + +.if !exists(${LOCALSTATEDIR}/security2.fdb) + ${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security2.fdb ${LOCALSTATEDIR}/security2.fdb +.endif + ${INSTALL_FB} -m 0660 -o firebird ${WRKSRC}/gen/firebird/security2.fdb ${LOCALSTATEDIR}/security2.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 +.else +# defined CLIENT_ONLY + ${INSTALL_PROGRAM} ${CLIENT_BIN:S!^!${WRKSRC}/gen/firebird/bin/!} ${PREFIX}/bin + + ${SED} -e "s=%%PREFIX%%=${PREFIX}=g" ${WRKSRC}/gen/install/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.2.5 + ${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so.2 + ${LN} -fs libfbclient.so.${PORTVERSION} ${PREFIX}/lib/libfbclient.so + + ${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so.2.5 + ${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so.2 + ${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libfbembed.so + + ${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so.2.5 + ${LN} -fs libfbembed.so.${PORTVERSION} ${PREFIX}/lib/libgds.so.2 + ${LN} -fs libfbembed.so.${PORTVERSION} ${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) + @${ECHO_MSG} "===> Installing documentation for ${PKGNAME}" + @${MKDIR} ${FB_DOCS_DIRS:S!^!${DOCSDIR}/!} + @${INSTALL_DATA} ${FB_DOCS_FILES:S!^!${WRKSRC}/doc/!} ${DOCSDIR} + @${LN} -sf ${DOCSDIR}/README.user ${DOCSDIR}/README + @${INSTALL_DATA} ${WRKSRC}/doc/sql.extensions/* ${DOCSDIR}/sql.extensions + @${INSTALL_DATA} ${WRKSRC}/doc/license/* ${DOCSDIR}/license + @${INSTALL_DATA} ${WRKSRC}/src/misc/upgrade/v2/* ${DOCSDIR}/upgrade +.endif +.endif + +.include <bsd.port.post.mk> |