1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-01 01:17:02 +00:00
freebsd-ports/www/rt40/Makefile
Matthew Seaman 88df06ce85 - Update to 4.0.17
Yet another regression present in releases 4.0.14, 4.0.15, 4.0.16.
This one prevents upgrading from version 3.x.  If you are already
running 4.0.{14,15,16} then you do not need to upgrade.

Announcement:	       http://blog.bestpractical.com/2013/08/rt-4017-released.html
ChangeLog:	       https://github.com/bestpractical/rt/compare/rt-4.0.16...rt-4.0.17
2013-08-04 12:19:25 +00:00

240 lines
6.9 KiB
Makefile

# $FreeBSD$
PORTNAME= rt
PORTVERSION= 4.0.17
CATEGORIES= www
MASTER_SITES= http://download.bestpractical.com/pub/rt/release/ \
SF/requesttracker/
MAINTAINER= matthew@FreeBSD.org
COMMENT= RT is an industrial-grade ticketing system written in Perl
CONFLICTS= rt-3.8* brlcad-[0-9]*
LATEST_LINK= rt40
# 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 SSL_MAILGATE
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
LIGHTTPD_DESC= Deploy with lighttpd and mod_fastcgi
SPAWN_FCGI_DESC= Deploy with spawn_fcgi
SSL_MAILGATE_DESC= Enable HTTPS support for rt-mailgate
GROUPS?= rt
BUILD_DEPENDS+= ${LOCALBASE}/bin/jsmin:${PORTSDIR}/devel/jsmin
.include "${.CURDIR}/Makefile.cpan"
BUILD_DEPENDS+= ${CORE_DEPS} \
${MASON_DEPS} \
${PSGI_DEPS} \
${MAILGATE_DEPS} \
${CLI_DEPS} \
${ICAL_DEPS} \
${SMTP_DEPS} \
${DASHBOARDS_DEPS} \
${USERLOGO_DEPS} \
${HTML_DOC_DEPS}
RUN_DEPENDS:= ${BUILD_DEPENDS}
USES+= perl5
USE_AUTOTOOLS= autoconf
.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}
CONFIGURE_ARGS+= --with-apachectl=${LOCALBASE}/sbin/apachectl
.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}
CONFIGURE_ARGS+= --with-apachectl=${LOCALBASE}/sbin/apachectl
.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+= ${DEV_DEPS}
RUN_DEPENDS+= ${DEV_DEPS}
CONFIGURE_ARGS+= --enable-developer-mode
.endif
.if ${PORT_OPTIONS:MSSL_MAILGATE}
BUILD_DEPENDS+= ${SSL_MAILGATE_DEPS}
RUN_DEPENDS+= ${SSL_MAILGATE_DEPS}
CONFIGURE_ARGS+= --enable-ssl-mailgate
.endif
.if ${PORT_OPTIONS:MGRAPHVIZ}
BUILD_DEPENDS+= ${GRAPHVIZ_DEPS}
RUN_DEPENDS+= ${GRAPHVIZ_DEPS}
CONFIGURE_ARGS+= --enable-graphviz
.endif
.if ${PORT_OPTIONS:MGPG}
BUILD_DEPENDS+= ${GPG_DEPS}
RUN_DEPENDS+= ${GPG_DEPS}
CONFIGURE_ARGS+= --enable-gpg
.endif
.if ${PORT_OPTIONS:MGD}
BUILD_DEPENDS+= ${GD_DEPS}
RUN_DEPENDS+= ${GD_DEPS}
CONFIGURE_ARGS+= --enable-gd
.endif
RT_ETC_PATH?= ${PREFIX}/etc/${PORTNAME}40
RT_LAYOUT= FreeBSD
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}40
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} " 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%%!${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} ${DOCSDIR}/upgrade
(cd ${WRKSRC}/etc && \
${COPYTREE_SHARE} upgrade ${DOCSDIR} "! -name *\.in")
.endif
@[ -f ${RT_ETC_PATH}/RT_SiteConfig.pm ] || \
${CP} -p ${RT_ETC_PATH}/RT_SiteConfig.pm-dist ${RT_ETC_PATH}/RT_SiteConfig.pm
${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>