31ec86b647
o Horde requires PHP to be built with XML (for online help) and gettext (for I18N), and this is not the default. PR: 53166 Submitted by: maintainer Prompted by: bento, kris
183 lines
6.2 KiB
Makefile
183 lines
6.2 KiB
Makefile
# Ports collection makefile for: horde2
|
|
# Date created: Sun Oct 07, 2001
|
|
# Whom: Thierry Thomas (<thierry@thomas.as>)
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= horde
|
|
PORTVERSION= 2.2.3
|
|
PORTREVISION= 1
|
|
CATEGORIES= www
|
|
MASTER_SITES= ftp://ftp.horde.org/pub/horde/ \
|
|
ftp://ftp.au.horde.org/pub/horde/ \
|
|
ftp://ftp.es.horde.org/pub/horde/ \
|
|
ftp://ftp.it.horde.org/pub/mirror/horde.org/horde/ \
|
|
ftp://ftp.nl.horde.org/mirror/horde-ftp/pub/horde/ \
|
|
ftp://ftp.pt.horde.org/pub/horde-ftp/horde/
|
|
|
|
MAINTAINER= thierry@pompo.net
|
|
COMMENT= A common code-base used by Horde applications, written in PHP
|
|
|
|
#-----------------------------------------------------------------------
|
|
# You may define these options:
|
|
#
|
|
# - WITHOUT_SUPPORTED_DB: if you run a database not in the ports tree;
|
|
#
|
|
#-----------------------------------------------------------------------
|
|
|
|
LIB_DEPENDS+= intl.4:${PORTSDIR}/devel/gettext
|
|
.if !defined(WITHOUT_MCAL)
|
|
LIB_DEPENDS+= mcal.0:${PORTSDIR}/misc/libmcal
|
|
.endif
|
|
# Remark: pear-XML_sql2xml is included, but never used.
|
|
RUN_DEPENDS= ${PEARDIR}/Date.php:${PORTSDIR}/devel/pear-Date \
|
|
${PEARDIR}/HTML/Common.php:${PORTSDIR}/devel/pear-HTML_Common \
|
|
${PEARDIR}/Log.php:${PORTSDIR}/sysutils/pear-Log \
|
|
${PEARDIR}/Mail/mime.php:${PORTSDIR}/mail/pear-Mail_Mime
|
|
|
|
IS_INTERACTIVE= 'need to build php4 with XML support.'
|
|
NO_BUILD= yes
|
|
USE_REINPLACE= yes
|
|
|
|
LDD= /usr/bin/ldd
|
|
|
|
REINPLACE_ARGS= -i.beforeHorde
|
|
DOCS= COPYING README docs/CHANGES docs/CODING_STANDARDS \
|
|
docs/CONTRIBUTING docs/CREDITS docs/HACKING docs/INSTALL \
|
|
docs/TRANSLATIONS
|
|
CONFFILE= horde.php html.php lang.php mime_drivers.php mime_mapping.php \
|
|
motd.php prefs.php registry.php
|
|
SUB_DIRS= config graphics lib locale po scripts templates util
|
|
|
|
LHORDEDIR?= www/horde
|
|
LHORDESBIN?= sbin
|
|
|
|
PLIST_SUB= HORDEDIR=${LHORDEDIR} HORDESBIN=${LHORDESBIN}
|
|
|
|
HORDEDIR= ${PREFIX}/${LHORDEDIR}
|
|
HORDESBIN= ${PREFIX}/${LHORDESBIN}
|
|
CONFDIR= ${HORDEDIR}/config
|
|
|
|
APACHE_CONF= ${APACHE_CNFDIR}/httpd.conf
|
|
PEARDIR?= ${LOCALBASE}/share/pear
|
|
.if defined(WITH_APACHE2)
|
|
APACHE_CNFDIR= ${LOCALBASE}/etc/apache2
|
|
MOD_DIR= libexec/apache2
|
|
.else
|
|
APACHE_CNFDIR= ${LOCALBASE}/etc/apache
|
|
MOD_DIR= libexec/apache
|
|
.endif
|
|
PHPSO= ${LOCALBASE}/${MOD_DIR}/libphp4.so
|
|
HORDE_INC= ${PREFIX}/etc/horde
|
|
LOG_FILE?= /var/log/horde.log
|
|
|
|
pre-everything::
|
|
@${ECHO_MSG} ""
|
|
@${ECHO_MSG} "If you plan to install IMP, it is better to configure"
|
|
@${ECHO_MSG} "PHP with IMAP / IMAP-SSL, OpenLDAP, OpenSSL, mcrypt, XML,"
|
|
@${ECHO_MSG} "FTP, gettext, zlib, MCAL and a database (like MySQL or"
|
|
@${ECHO_MSG} "PostgreSQL)."
|
|
@${ECHO_MSG} "For Japanese language, please enable mbstring."
|
|
@${ECHO_MSG} ""
|
|
|
|
pre-install:
|
|
@if [ -f ${HORDEDIR}/index.php3 ]; then \
|
|
${ECHO_MSG} "" ; \
|
|
${ECHO_MSG} "Please deinstall the port www/horde." ; \
|
|
${ECHO_MSG} "" ; \
|
|
${FALSE} ; \
|
|
fi
|
|
@if ! ${LDD} ${PHPSO} | ${GREP} -q -e "libxml2.so"; then \
|
|
${ECHO_MSG} "" ; \
|
|
${ECHO_MSG} "Please configure PHP with DOM XML support." ; \
|
|
${ECHO_MSG} "" ; \
|
|
${FALSE} ; \
|
|
fi
|
|
@if ! ${LDD} ${PHPSO} | ${GREP} -q -e "libintl.so"; then \
|
|
${ECHO_MSG} "" ; \
|
|
${ECHO_MSG} "Please configure PHP with gettext support." ; \
|
|
${ECHO_MSG} "" ; \
|
|
${FALSE} ; \
|
|
fi
|
|
# N.B.: database dependencies are binded with mod_php#, not with Horde
|
|
.if !defined(WITHOUT_SUPPORTED_DB)
|
|
@if ! ${LDD} ${PHPSO} | ${GREP} -q -e "libmysqlclient" ; then \
|
|
if ! ${LDD} ${PHPSO} | ${GREP} -q -e "libpq.so" ; then \
|
|
if ! ${LDD} ${PHPSO} | ${GREP} -q -e "libsybdb.so" ; then \
|
|
if ! ${LDD} ${PHPSO} | ${GREP} -q -e "libct.so" ; then \
|
|
${ECHO_MSG} "" ; \
|
|
${ECHO_MSG} "Please configure PHP with a database support." ; \
|
|
${ECHO_MSG} "MySQL, PostgreSQL and Sybase (CTLIB or DBLIB)" ; \
|
|
${ECHO_MSG} "can be used with PHP AND Horde." ; \
|
|
${ECHO_MSG} "" ; \
|
|
${ECHO_MSG} "(If everything will run on this machine, do not" ; \
|
|
${ECHO_MSG} " forget to install the database server-side!)" ; \
|
|
${ECHO_MSG} "" ; \
|
|
${FALSE} ; \
|
|
fi ; \
|
|
fi ; \
|
|
fi ; \
|
|
fi
|
|
.endif
|
|
|
|
do-install:
|
|
@${MKDIR} ${HORDEDIR}
|
|
.for REP in ${SUB_DIRS}
|
|
@${CP} -Rp ${WRKSRC}/${REP} ${HORDEDIR}
|
|
.endfor
|
|
@${CP} -p ${WRKSRC}/*.php ${HORDEDIR}
|
|
@if [ ! -f ${CONFDIR}/horde.php ]; then \
|
|
${CP} ${CONFDIR}/horde.php.dist ${CONFDIR}/horde.php ; \
|
|
${REINPLACE_CMD} -e "s:/tmp/horde.log:${LOG_FILE}:g" ${CONFDIR}/horde.php ; \
|
|
${RM} ${CONFDIR}/horde.php.beforeHorde ; \
|
|
fi
|
|
@${REINPLACE_CMD} -e "s:/etc/mpasswd:${LOCALBASE}/etc/mpasswd:g" \
|
|
${HORDEDIR}/lib/Auth/mcal.php
|
|
@${RM} ${HORDEDIR}/lib/Auth/mcal.php.beforeHorde
|
|
.for FILE in ${CONFFILE}
|
|
@if [ ! -f ${CONFDIR}/${FILE} ]; then \
|
|
${CP} ${CONFDIR}/${FILE}.dist ${CONFDIR}/${FILE} ; \
|
|
fi
|
|
.endfor
|
|
@${REINPLACE_CMD} -e "s:%%LOCALBASE%%:${LOCALBASE}:" ${CONFDIR}/mime_drivers.php
|
|
@${RM} ${CONFDIR}/mime_drivers.php.beforeHorde
|
|
@${CP} ${WRKSRC}/scripts/set_perms.sh ${HORDESBIN}/horde_set_perms.sh
|
|
@${REINPLACE_CMD} -e "s:UPDATED_BY_THE_PORT:${HORDEDIR}/:g" \
|
|
${HORDESBIN}/horde_set_perms.sh
|
|
@${RM} ${HORDESBIN}/horde_set_perms.sh.beforeHorde
|
|
@${CHMOD} u+x ${HORDESBIN}/horde_set_perms.sh
|
|
@(if [ -f ${APACHE_CONF} ] ; then \
|
|
${MKDIR} ${HORDE_INC} ; \
|
|
${CP} -p ${FILESDIR}/httpd.conf.horde ${HORDE_INC} ; \
|
|
${REINPLACE_CMD} -e "s:/home/httpd/html/horde:${HORDEDIR}:g ; \
|
|
s:/home/httpd/phplib:${PEARDIR}:g" ${HORDE_INC}/httpd.conf.horde ; \
|
|
${RM} ${HORDE_INC}/httpd.conf.horde.beforeHorde ; \
|
|
${ECHO_MSG} "===> Updating ${APACHE_CONF}..." ; \
|
|
${REINPLACE_CMD} -e "s:php_value auto_prepend_file:# php_value auto_prepend_file:g ; \
|
|
s:${HORDEDIR}/phplib:${PEARDIR}:g" ${APACHE_CONF} ; \
|
|
${ECHO_CMD} "# Horde's include directory" >> ${APACHE_CONF} ; \
|
|
${ECHO_CMD} "Include ${HORDE_INC}" >> ${APACHE_CONF} ; \
|
|
fi)
|
|
@${CHOWN} -R www:www ${HORDEDIR}
|
|
@${CHMOD} -R o-rwx ${CONFDIR}
|
|
@${TOUCH} ${LOG_FILE}
|
|
@${CHOWN} www:www ${LOG_FILE}
|
|
.if !defined(NOPORTDOCS)
|
|
@${MKDIR} ${DOCSDIR}
|
|
.for FILE in ${DOCS}
|
|
@${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR}
|
|
.endfor
|
|
@${REINPLACE_CMD} -e "s:/usr/local/apache/htdocs:${PREFIX}/www:g" ${DOCSDIR}/INSTALL
|
|
@${RM} ${DOCSDIR}/INSTALL.beforeHorde
|
|
@${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
|
|
.endif
|
|
|
|
post-install:
|
|
@${ECHO}
|
|
@${CAT} ${PKGMESSAGE} | ${SED} -e \
|
|
"s:%%HORDEDIR%%:${HORDEDIR}:g;s:%%APACHE_CONF%%:${APACHE_CONF}:g;s:%%HORDESBIN%%:${HORDESBIN}:g"
|
|
@${ECHO}
|
|
|
|
.include <bsd.port.mk>
|