aboutsummaryrefslogtreecommitdiff
path: root/www/rt42/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'www/rt42/Makefile')
-rw-r--r--www/rt42/Makefile243
1 files changed, 243 insertions, 0 deletions
diff --git a/www/rt42/Makefile b/www/rt42/Makefile
new file mode 100644
index 000000000000..efe83508bfb4
--- /dev/null
+++ b/www/rt42/Makefile
@@ -0,0 +1,243 @@
+# $FreeBSD$
+
+PORTNAME= rt
+DISTVERSION= 4.2.1
+CATEGORIES= www
+MASTER_SITES= http://download.bestpractical.com/pub/rt/release/
+PKGNAMESUFFIX= 42
+
+MAINTAINER= matthew@FreeBSD.org
+COMMENT= RT is an industrial-grade ticketing system written in Perl
+
+CONFLICTS= rt-3.8* rt-4.0* brlcad-[0-9]*
+NEED_ROOT= yes
+
+# See doc/web_deployment.pod for info on the choices of webserver /
+# webapp combinations. Note: if using apache, apache-2.2+ is
+# recommended. For deployment with nginx, use the SPAWN_FCGI method
+# or the builtin webserver with a FCGI handler.
+#
+# The builtin standalone PSGI based webserver is always available, no
+# mater what choice of web deployment platform, or none, that you
+# make. Best Practical state that this is really only suitable for
+# development usage, although I have heard reports of people using it
+# successfully for medium sized deployments. If you only want the
+# builtin webserver, simply deselect all of the web options.
+#
+# See doc/full_text_indexing.pod if you need to set up full text
+# indexes on your ticket database. PostgreSQL or Oracle are
+# recommended in this case: the MYSQL / SphinxSearch combination
+# mentioned in the docs is currently unsupported in the ports, but see
+# http://www.infracaninophile.co.uk/articles/sphinxse.html
+
+OPTIONS_DEFINE= DEV GD GPG GRAPHVIZ SMIME
+OPTIONS_SINGLE= DB
+OPTIONS_SINGLE_DB= MYSQL ORACLE PGSQL SQLITE
+OPTIONS_RADIO= WEB
+OPTIONS_RADIO_WEB= AP_MODFASTCGI AP_MODPERL LIGHTTPD SPAWN_FCGI
+
+OPTIONS_DEFAULT= AP_MODPERL GD GPG MYSQL
+
+AP_MODFASTCGI_DESC= Deploy with apache and mod_fastcgi
+AP_MODPERL_DESC= Deploy with apache and mod_perl
+DEV_DESC= Configure for Developers
+GD_DESC= Enable GD Graphs and Charts
+GPG_DESC= Enable GnuPG support
+SMIME_DESC= Enable Secure MIME support
+LIGHTTPD_DESC= Deploy with lighttpd and mod_fastcgi
+SPAWN_FCGI_DESC= Deploy with spawn_fcgi
+
+USERS?= www
+GROUPS?= rt www
+
+BUILD_DEPENDS+= ${LOCALBASE}/bin/jsmin:${PORTSDIR}/devel/jsmin
+
+.include "${.CURDIR}/Makefile.cpan"
+
+BUILD_DEPENDS+= ${CLI_DEPS} \
+ ${CORE_DEPS} \
+ ${DASHBOARDS_DEPS} \
+ ${ICAL_DEPS} \
+ ${MAILGATE_DEPS} \
+ ${USERLOGO_DEPS}
+
+RUN_DEPENDS:= ${BUILD_DEPENDS}
+
+USES+= perl5
+USE_AUTOTOOLS= autoconf
+
+DATADIR= ${LOCALBASE}/share/${PORTNAME}${PKGNAMESUFFIX}
+
+.include <bsd.port.options.mk>
+
+.if !${PORT_OPTIONS:MDOCS}
+EXTRA_PATCHES+= ${FILESDIR}/extra-patch-noportdocs-Makefile.in
+.endif
+
+.if ${PORT_OPTIONS:MAP_MODPERL}
+BUILD_DEPENDS+= ${MODPERL2_DEPS}
+RUN_DEPENDS+= ${MODPERL2_DEPS}
+.endif
+
+.if ${PORT_OPTIONS:MAP_MODFASTCGI}
+USE_APACHE_RUN= 22+
+BUILD_DEPENDS+= ${LOCALBASE}/${APACHEMODDIR}/mod_fastcgi.so:${PORTSDIR}/www/mod_fastcgi
+RUN_DEPENDS+= ${LOCALBASE}/${APACHEMODDIR}/mod_fastcgi.so:${PORTSDIR}/www/mod_fastcgi \
+ ${FASTCGI_DEPS}
+.endif
+
+.if ${PORT_OPTIONS:MLIGHTTPD}
+BUILD_DEPENDS+= ${LOCALBASE}/sbin/lighttpd:${PORTSDIR}/www/lighttpd
+RUN_DEPENDS+= ${LOCALBASE}/sbin/lighttpd:${PORTSDIR}/www/lighttpd
+.endif
+
+.if ${PORT_OPTIONS:MSPAWN_FCGI}
+BUILD_DEPENDS+= ${LOCALBASE}/bin/spawn-fcgi:${PORTSDIR}/www/spawn-fcgi
+RUN_DEPENDS+= ${LOCALBASE}/bin/spawn-fcgi:${PORTSDIR}/www/spawn-fcgi
+.endif
+
+.if !${PORT_OPTIONS:MMYSQL} && !${PORT_OPTIONS:MPGSQL} && \
+ ! ${PORT_OPTIONS:MORACLE} && !${PORT_OPTIONS:MSQLITE}
+IGNORE= please select one of MYSQL, PGSQL, ORACLE or SQLITE
+.endif
+
+.if ${PORT_OPTIONS:MMYSQL}
+DB_TYPE= mysql
+USE_MYSQL= yes
+BUILD_DEPENDS+= ${MYSQL_DEPS}
+RUN_DEPENDS+= ${MYSQL_DEPS}
+.endif
+
+.if ${PORT_OPTIONS:MPGSQL}
+DB_TYPE= Pg
+USE_PGSQL= yes
+BUILD_DEPENDS+= ${PGSQL_DEPS}
+RUN_DEPENDS+= ${PGSQL_DEPS}
+.endif
+
+.if ${PORT_OPTIONS:MORACLE}
+DB_TYPE= Oracle
+BUILD_DEPENDS+= ${ORACLE_DEPS}
+RUN_DEPENDS+= ${ORACLE_DEPS}
+.endif
+
+.if ${PORT_OPTIONS:MSQLITE}
+DB_TYPE= SQLite
+USE_SQLITE= yes
+BUILD_DEPENDS+= ${SQLITE_DEPS}
+RUN_DEPENDS+= ${SQLITE_DEPS}
+.endif
+
+.if ${PORT_OPTIONS:MDEV}
+BUILD_DEPENDS+= ${DEVELOPER_DEPS}
+RUN_DEPENDS+= ${DEVELOPER_DEPS}
+CONFIGURE_ARGS+= --enable-developer
+.else
+CONFIGURE_ARGS+= --disable-developer
+.endif
+
+.if ${PORT_OPTIONS:MSMIME}
+BUILD_DEPENDS+= ${SMIME_DEPS}
+RUN_DEPENDS+= ${SMIME_DEPS}
+CONFIGURE_ARGS+= --enable-smime
+.else
+CONFIGURE_ARGS+= --disable-smime
+.endif
+
+.if ${PORT_OPTIONS:MGRAPHVIZ}
+BUILD_DEPENDS+= ${GRAPHVIZ_DEPS}
+RUN_DEPENDS+= ${GRAPHVIZ_DEPS}
+CONFIGURE_ARGS+= --enable-graphviz
+.else
+CONFIGURE_ARGS+= --disable-graphviz
+.endif
+
+.if ${PORT_OPTIONS:MGPG}
+BUILD_DEPENDS+= ${GPG_DEPS}
+RUN_DEPENDS+= ${GPG_DEPS}
+CONFIGURE_ARGS+= --enable-gpg
+.else
+CONFIGURE_ARGS+= --disable-gpg
+.endif
+
+.if ${PORT_OPTIONS:MGD}
+BUILD_DEPENDS+= ${GD_DEPS}
+RUN_DEPENDS+= ${GD_DEPS}
+CONFIGURE_ARGS+= --enable-gd
+.else
+CONFIGURE_ARGS+= --disable-gd
+.endif
+
+RT_ETC_PATH?= ${PREFIX}/etc/${PORTNAME}${PKGNAMESUFFIX}
+RT_LAYOUT= FreeBSD
+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
+
+DB_DBA_USER?= root
+DB_DBA_PASSWORD?=
+DB_USER?= rt_user
+DB_PASSWORD?= rt_pass
+DB_HOST?= localhost
+DB_DATABASE?= rt4
+
+WEB_USER?= ${WWWOWN}
+WEB_GROUP?= ${WWWGRP}
+LIBS_GROUP?= wheel
+
+HAS_CONFIGURE= yes
+NO_BUILD= yes
+
+CONFIGURE_ARGS+= --enable-layout=${RT_LAYOUT} \
+ --with-web-user=${WEB_USER} \
+ --with-web-group=${WEB_GROUP} \
+ --with-libs-group=${LIBS_GROUP} \
+ --with-db-host=${DB_HOST} \
+ --with-db-port=${DB_PORT} \
+ --with-db-type=${DB_TYPE} \
+ --with-db-rt-user=${DB_USER} \
+ --with-db-rt-pass=${DB_PASSWORD} \
+ --with-db-database=${DB_DATABASE} \
+ --with-db-dba=${DB_DBA_USER}
+
+CONFIGURE_ENV+= PERL=${LOCALBASE}/bin/perl
+
+PKGMESSAGE= ${WRKDIR}/pkg-message
+SUB_FILES= pkg-message
+SUB_LIST= RT_ETC_PATH=${RT_ETC_PATH}
+
+run-autotools: run-autotools-autoconf
+
+pre-fetch:
+ @${ECHO} ""
+ @${ECHO} "Additional database related settings you can use:"
+ @${ECHO} " DB_HOST=hostname The database host (localhost)"
+ @${ECHO} " DB_PORT=port The database port"
+ @${ECHO} " DB_DATABASE=dbname The database name (rt4)"
+ @${ECHO} ""
+ @${ECHO} " DB_DBA_USER=username Name of database administrator (root)"
+ @${ECHO} " DB_DBA_PASSWORD=password Password of database administrator"
+ @${ECHO} " DB_USER=username Name of database user for RT (rt_user)"
+ @${ECHO} " DB_PASSWORD=password Name of database password for RT (rt_pass)"
+.if ${PORT_OPTIONS:MSQLITE}
+ @${ECHO} ""
+ @${ECHO} "SQLITE is not recommended for production use"
+.endif
+
+post-patch:
+ @${RM} -f ${WRKSRC}/lib/RT.pm.in.orig
+ @${REINPLACE_CMD} -e 's!%%PREFIX%%!${PREFIX}!g' ${WRKSRC}/config.layout
+ @${REINPLACE_CMD} -e 's!%%SITE_PERL%%!${SITE_PERL}!g' ${WRKSRC}/config.layout
+ @${REINPLACE_CMD} -e 's!/path/to/your/etc!${RT_ETC_PATH}!g' ${WRKSRC}/etc/RT_SiteConfig.pm
+ @${REINPLACE_CMD} -e 's!/bin:/usr/bin!/bin:/usr/bin:${LOCALBASE}/bin!' ${WRKSRC}/lib/RT/Interface/CLI.pm && \
+ ${RM} ${WRKSRC}/lib/RT/Interface/CLI.pm.bak
+
+pre-install:
+ @${RM} -f ${WRKSRC}/lib/RT.pm.in
+
+post-install:
+.if ${PORT_OPTIONS:MDOCS}
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/upgrade
+ (cd ${WRKSRC}/etc && \
+ ${COPYTREE_SHARE} upgrade ${STAGEDIR}${DOCSDIR} "! -name *\.in")
+.endif
+
+.include <bsd.port.mk>