1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-12 03:00:28 +00:00
freebsd-ports/www/rt40/Makefile
Matthew Seaman b142289e7d Prepare for perl-5.22
- Add dependency on www/p5-CGI conditional on perl version.  CGI is
    no-longer a core module with 5.22.

  - Make the default web server interface Apache + FCGI rather than
    Apache + mod_perl.  Current versions of mod_perl aren't compatible
    with perl-5.22
2015-08-29 21:05:58 +00:00

219 lines
6.4 KiB
Makefile

# $FreeBSD$
PORTNAME= rt
PORTVERSION= 4.0.24
PORTREVISION= 1
CATEGORIES= www
MASTER_SITES= http://download.bestpractical.com/pub/rt/release/
PKGNAMESUFFIX= 40
MAINTAINER= matthew@FreeBSD.org
COMMENT= RT is an industrial-grade ticketing system written in Perl
CONFLICTS_INSTALL= rt-3.8* rt42-4.2* brlcad-[0-9]*
NO_ARCH= 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
# matter 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 SSL_MAILGATE DOCS
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_MODFASTCGI GD GPG MYSQL
USERS?= www
GROUPS?= rt www
RUN_DEPENDS+= ${LOCALBASE}/bin/jsmin:${PORTSDIR}/devel/jsmin
.include "${.CURDIR}/Makefile.cpan"
RUN_DEPENDS+= ${CORE_DEPS} \
${MASON_DEPS} \
${PSGI_DEPS} \
${MAILGATE_DEPS} \
${CLI_DEPS} \
${ICAL_DEPS} \
${SMTP_DEPS} \
${DASHBOARDS_DEPS} \
${USERLOGO_DEPS} \
${HTML_DOC_DEPS}
USES= cpe perl5
CPE_VENDOR= bestpractical
RT_LAYOUT= FreeBSD
RT_ETC_DIR?= etc/${PORTNAME}${PKGNAMESUFFIX}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
RT_ETC_PATH= ${PREFIX}/${RT_ETC_DIR}
AP_MODPERL_DESC= Deploy with apache and mod_perl
AP_MODPERL_RUN_DEPENDS= ${MODPERL2_DEPS}
AP_MODPERL_CONFIGURE_ON= --with-apachectl=${LOCALBASE}/sbin/apachectl
AP_MODFASTCGI_DESC= Deploy with apache and mod_fastcgi
AP_MODFASTCGI_USE= APACHE_RUN=22+
AP_MODFASTCGI_RUN_DEPENDS= ${LOCALBASE}/${APACHEMODDIR}/mod_fastcgi.so:${PORTSDIR}/www/mod_fastcgi \
${FASTCGI_DEPS}
AP_MODFASTCGI_CONFIGURE_ON= --with-apachectl=${LOCALBASE}/sbin/apachectl
LIGHTTPD_DESC= Deploy with lighttpd and mod_fastcgi
LIGHTTPD_RUN_DEPENDS= ${LOCALBASE}/sbin/lighttpd:${PORTSDIR}/www/lighttpd
SPAWN_FCGI_DESC= Deploy with spawn_fcgi
SPAWN_FCGI_RUN_DEPENDS= ${LOCALBASE}/bin/spawn-fcgi:${PORTSDIR}/www/spawn-fcgi
MYSQL_USE= MYSQL=yes
MYSQL_RUN_DEPENDS= ${MYSQL_DEPS}
PGSQL_USES= pgsql
PGSQL_RUN_DEPENDS= ${PGSQL_DEPS}
ORACLE_RUN_DEPENDS= ${ORACLE_DEPS}
SQLITE_USE= SQLITE=yes
SQLITE_RUN_DEPENDS= ${SQLITE_DEPS}
DEV_DESC= Configure for Developers
DEV_RUN_DEPENDS= ${DEV_DEPS}
DEV_CONFIGURE_ON= --enable-developer-mode
SSL_MAILGATE_DESC= Enable HTTPS support for rt-mailgate
SSL_MAILGATE_RUN_DEPENDS= ${SSL_MAILGATE_DEPS}
SSL_MAILGATE_CONFIGURE_ENABLE= ssl-mailgate
GRAPHVIZ_RUN_DEPENDS= ${GRAPHVIZ_DEPS}
GRAPHVIZ_CONFIGURE_ENABLE= graphviz
GPG_DESC= Enable GnuPG support
GPG_RUN_DEPENDS= ${GPG_DEPS}
GPG_CONFIGURE_ENABLE= gpg
GD_DESC= Enable GD Graphs and Charts
GD_RUN_DEPENDS= ${GD_DEPS}
GD_CONFIGURE_ENABLE= gd
BUILD_DEPENDS+= ${RUN_DEPENDS}
.include <bsd.port.options.mk>
.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
.endif
.if ${PORT_OPTIONS:MPGSQL}
DB_TYPE= Pg
.endif
.if ${PORT_OPTIONS:MORACLE}
DB_TYPE= Oracle
.endif
.if ${PORT_OPTIONS:MSQLITE}
DB_TYPE= SQLite
.endif
.if ${PORT_OPTIONS:MPGSQL}
DB_DBA_USER?= pgsql
.else
DB_DBA_USER?= root
.endif
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}
PLIST_SUB= RT_ETC_DIR=${RT_ETC_DIR}
pre-fetch:
@${ECHO} ""
@${ECHO} " DB_TYPE=type mysql, Oracle, Pg or SQLite (mysql)"
@${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%%!${PREFIX}/${SITE_PERL_REL}!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:
@${RM} -rf ${STAGEDIR}/${WWWDIR}${PKGNAMESUFFIX}
${MKDIR} ${STAGEDIR}${DOCSDIR}/upgrade
(cd ${WRKSRC}/etc && \
${COPYTREE_SHARE} upgrade ${STAGEDIR}${DOCSDIR} "! -name *\.in")
.include <bsd.port.pre.mk>
.if ${PERL_LEVEL} >= 502200
CORE_DEPS+= p5-CGI>0:${PORTSDIR}/www/p5-CGI
.endif
.include <bsd.port.post.mk>