386 lines
12 KiB
Makefile
386 lines
12 KiB
Makefile
# Ports collection makefile for: horde2
|
|
# Date created: Sun Oct 07, 2001
|
|
# Whom: Thierry Thomas (<thierry@thomas.as>)
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME= horde
|
|
PORTVERSION= 3.1.2
|
|
CATEGORIES= www
|
|
MASTER_SITES= ftp://ftp.horde.org/pub/horde/ \
|
|
ftp://ftp.planetmirror.com/pub/horde/horde/ \
|
|
ftp://ftp.au.horde.org/pub/horde/horde/ \
|
|
ftp://ftp.be.horde.org/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.uk.horde.org/mirrors/ftp.horde.org/pub/horde/ \
|
|
http://ftp.horde.org/pub/horde/
|
|
|
|
MAINTAINER= shaun@FreeBSD.org
|
|
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.
|
|
#
|
|
# - WITHOUT_MYSQL: this port is built with MySQL by default
|
|
# but you might choose any other database
|
|
# supported by PHP (e.g. WITH_POSTGRESQL / WITH_SQLITE).
|
|
#
|
|
# - WITHOUT_IMAP: this port uses IMAP as a default authentication
|
|
# backend; use this knob if for
|
|
# example you only need Chora.
|
|
#
|
|
# - WITHOUT_LDAP: if you do not need OpenLDAP.
|
|
#
|
|
# - WITHOUT_FTP: if you do not need the VFS FTP driver.
|
|
#
|
|
# - WITH_MCAL: for mcal authentication back-end (deprecated).
|
|
#
|
|
# - WITH_IMSP: use IMSP as a preferences backend.
|
|
#
|
|
# - WITHOUT_FILEINFO: use native code to perform MIME magic lookups.
|
|
#
|
|
# - WITHOUT_GD: don't perform manipulations on image data with gd.
|
|
#
|
|
# - WITHOUT_ZLIB: don't compress pages and don't handle zip or gz data.
|
|
#
|
|
# - WITH_MAGICK: use ImageMagick to perform these image manipulations.
|
|
#
|
|
# - WITHOUT_ICONV: remove support for UTF-8 character sets.
|
|
# - WITHOUT_MBSTRING:
|
|
#
|
|
# - WITHOUT_WV if your users never receive MS-Word docs;
|
|
#
|
|
# - WITHOUT_XL if your users never receive MS-Excel sheets
|
|
# (or .ppt presentations);
|
|
#
|
|
# - WITHOUT_GEOIP don't activate MaxMind GeoIP Hostname to Country lookup.
|
|
#
|
|
# - WITHOUT_SW don't use the weather.com block on the portal page.
|
|
#
|
|
# - WITHOUT_WEBCPP: don't highlight sources with webcpp.
|
|
#
|
|
# - WITH_SRCHIGH: highlight sources with source-highlight.
|
|
#
|
|
# - WITH_ENSCRIPT: highlight sources with enscript.
|
|
#
|
|
# - WITH_RPM: handle RPM packages.
|
|
#
|
|
# - WITH_DEB: handle Debian packages.
|
|
#
|
|
# - WITH_SUPHP: Install appropriately for use with the www/suphp port.
|
|
#
|
|
#----------------------------------------------------------------------------
|
|
|
|
RUN_DEPENDS+= ${PEARDIR}/Date.php:${PORTSDIR}/devel/pear-Date \
|
|
${PEARDIR}/Log.php:${PORTSDIR}/sysutils/pear-Log \
|
|
${PEARDIR}/Mail/RFC822.php:${PORTSDIR}/mail/pear-Mail \
|
|
${PEARDIR}/Mail/mime.php:${PORTSDIR}/mail/pear-Mail_Mime \
|
|
${PEARDIR}/DB.php:${PORTSDIR}/databases/pear-DB \
|
|
${PEARDIR}/File.php:${PORTSDIR}/sysutils/pear-File \
|
|
${PEARDIR}/Net/SMTP.php:${PORTSDIR}/net/pear-Net_SMTP
|
|
|
|
CONFLICTS= horde-2.*
|
|
|
|
NO_BUILD= yes
|
|
USE_APACHE= 1.3+
|
|
USE_GETTEXT= yes # Already implied by USE_PHP =gettext, to pet portlint
|
|
USE_PHP= ctype gettext session
|
|
SUB_FILES= pkg-message pkg-deinstall pkg-install
|
|
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
|
|
PKGINSTALL= ${WRKDIR}/pkg-install
|
|
PKGMESSAGE= ${WRKDIR}/pkg-message
|
|
|
|
.if defined(WITH_SUPHP) && !defined(WITHOUT_SUPHP)
|
|
RUN_DEPENDS+= ${LOCALBASE}/sbin/suphp:${PORTSDIR}/www/suphp
|
|
WANT_PHP_CGI= yes
|
|
HORDEADMUSR?= horde
|
|
SUB_LIST= WITH_SUPHP=yes
|
|
.else
|
|
WANT_PHP_WEB= yes
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_FILEINFO)
|
|
USE_PHP+= fileinfo
|
|
.endif
|
|
.if !defined(WITHOUT_FTP)
|
|
USE_PHP+= ftp
|
|
.endif
|
|
.if !defined(WITHOUT_GD)
|
|
USE_PHP+= gd
|
|
.endif
|
|
.if !defined(WITHOUT_ICONV)
|
|
USE_PHP+= iconv
|
|
.endif
|
|
.if !defined(WITHOUT_IMAP)
|
|
USE_PHP+= imap
|
|
.endif
|
|
.if !defined(WITHOUT_LDAP)
|
|
USE_PHP+= ldap
|
|
.endif
|
|
.if !defined(WITHOUT_MBSTRING)
|
|
USE_PHP+= mbstring
|
|
.endif
|
|
.if !defined(NOCRYPT)
|
|
USE_PHP+= mcrypt
|
|
.endif
|
|
.if !defined(WITHOUT_SUPPORTED_DB)
|
|
. if !defined(WITHOUT_MYSQL)
|
|
USE_PHP+= mysql
|
|
. endif
|
|
. if defined(WITH_POSTGRESQL) || defined(WITH_PGSQL)
|
|
USE_PHP+= pgsql
|
|
. endif
|
|
. if defined(WITH_SQLITE)
|
|
USE_PHP+= sqlite
|
|
. endif
|
|
.endif
|
|
.if !defined(WITHOUT_ZLIB)
|
|
USE_PHP+= zlib
|
|
.endif
|
|
.if defined(WITH_MAGICK)
|
|
RUN_DEPENDS+= convert:${PORTSDIR}/graphics/ImageMagick
|
|
.endif
|
|
.if defined(WITH_IMSP)
|
|
RUN_DEPENDS+= imspd:${PORTSDIR}/databases/cyrus-imspd
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_X11)
|
|
. if !defined(WITHOUT_WV)
|
|
RUN_DEPENDS+= ${LOCALBASE}/bin/wvHtml:${PORTSDIR}/textproc/wv
|
|
. endif
|
|
. if !defined(WITHOUT_XL)
|
|
RUN_DEPENDS+= ${LOCALBASE}/bin/xlhtml:${PORTSDIR}/textproc/xlhtml
|
|
. endif
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_WEBCPP)
|
|
RUN_DEPENDS+= webcpp:${PORTSDIR}/textproc/webcpp
|
|
.endif
|
|
|
|
.if exists(${LOCALBASE}/bin/source-highlight)
|
|
WITH_SRCHIGH= yes
|
|
.endif
|
|
.if defined(WITH_SRCHIGH)
|
|
RUN_DEPENDS+= source-highlight:${PORTSDIR}/textproc/source-highlight
|
|
.endif
|
|
|
|
.if exists(${LOCALBASE}/bin/enscript)
|
|
WITH_ENSCRIPT= yes
|
|
.endif
|
|
.if defined(WITH_ENSCRIPT)
|
|
. if defined(A4)
|
|
RUN_DEPENDS+= enscript:${PORTSDIR}/print/enscript-a4
|
|
. elif defined(DJ)
|
|
RUN_DEPENDS+= enscript:${PORTSDIR}/print/enscript-letterdj
|
|
. else
|
|
RUN_DEPENDS+= enscript:${PORTSDIR}/print/enscript-letter
|
|
. endif
|
|
.endif
|
|
|
|
.if exists(${LOCALBASE}/bin/rpm)
|
|
WITH_RPM= yes
|
|
.endif
|
|
.if defined(WITH_RPM)
|
|
RUN_DEPENDS+= rpm:${PORTSDIR}/archivers/rpm4
|
|
.endif
|
|
|
|
.if exists(${LOCALBASE}/bin/dpkg)
|
|
WITH_DEB= yes
|
|
.endif
|
|
.if defined(WITH_DEB)
|
|
RUN_DEPENDS+= dpkg:${PORTSDIR}/archivers/dpkg
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_SW)
|
|
RUN_DEPENDS+= ${PEARDIR}/Services/Weather.php:${PORTSDIR}/misc/pear-Services_Weather
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_GEOIP)
|
|
RUN_DEPENDS+= ${LOCALBASE}/share/GeoIP/GeoIP.dat:${PORTSDIR}/net/GeoIP
|
|
.endif
|
|
|
|
REINPLACE_ARGS= -i.beforeHorde
|
|
DOCS= COPYING README docs/CHANGES docs/CODING_STANDARDS \
|
|
docs/CONTRIBUTING docs/CREDITS docs/HACKING docs/INSTALL \
|
|
docs/PERFORMANCE docs/RELEASE_NOTES docs/SECURITY docs/TODO \
|
|
docs/TRANSLATIONS docs/UPGRADING
|
|
CONFFILE= conf.php hooks.php mime_drivers.php motd.php nls.php prefs.php registry.php
|
|
SUB_DIRS= admin config js lib locale po scripts services templates themes util
|
|
|
|
LHORDEDIR?= www/horde
|
|
LHORDESBIN?= sbin
|
|
|
|
PLIST_SUB= HORDEDIR=${LHORDEDIR} HORDESBIN=${LHORDESBIN} \
|
|
HORDE_INC=${LHORDE_INC}
|
|
SUB_LIST+= HORDEDIR=${HORDEDIR} APACHE_CONF=${APACHE_CONF} \
|
|
HORDESBIN=${HORDESBIN} HORDEADMUSR=${HORDEADMUSR} HORDEGRP=${WWWGRP}
|
|
|
|
HORDEDIR= ${PREFIX}/${LHORDEDIR}
|
|
HORDESBIN= ${PREFIX}/${LHORDESBIN}
|
|
CONFDIR= ${HORDEDIR}/config
|
|
|
|
APACHE_CONF= ${APACHE_CNFDIR}/httpd.conf
|
|
PEARDIR?= ${LOCALBASE}/share/pear
|
|
LOG_FILE?= /var/log/horde.log
|
|
|
|
PATCHES2RM= po/translation.php config/conf.xml scripts/sql/README \
|
|
config/mime_drivers.php.dist config/registry.php.dist
|
|
SEDIN2RM= lib/Horde/Auth/mcal.php config/conf.xml docs/INSTALL \
|
|
config/mime_drivers.php.dist
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${PHP_VER} == 5
|
|
USE_PHP+= dom
|
|
.else
|
|
USE_PHP+= domxml
|
|
. if defined(WITH_MCAL)
|
|
USE_PHP+= mcal
|
|
. endif
|
|
.endif
|
|
|
|
.include "${PORTSDIR}/Mk/bsd.php.mk"
|
|
|
|
.if ${APACHE_VERSION} >= 20
|
|
APACHE_CNFDIR= ${LOCALBASE}/etc/apache${APACHE_VERSION:S/20/2/}
|
|
HORDE_INC= ${APACHE_CNFDIR}/Includes
|
|
LHORDE_INC= ${HORDE_INC:S|^${LOCALBASE}/||}
|
|
PLIST_SUB+= RMDIRINC="@comment "
|
|
.else
|
|
APACHE_CNFDIR= ${LOCALBASE}/etc/apache
|
|
HORDE_INC= ${PREFIX}/etc/horde
|
|
LHORDE_INC= ${HORDE_INC:S|^${PREFIX}/||}
|
|
PLIST_SUB+= RMDIRINC=""
|
|
.endif
|
|
|
|
pre-configure:
|
|
@${RM} ${PATCHES2RM:S|^|${WRKSRC}/|:S|$|.orig|}
|
|
@${SED} -e "s:/home/httpd/html/horde:${HORDEDIR}:" \
|
|
-e "s:php_value auto_prepend_file:# php_value auto_prepend_file:" \
|
|
-e "s:/home/httpd/phplib:${PEARDIR}:" \
|
|
${FILESDIR}/httpd.conf.horde > ${WRKDIR}/httpd-horde.conf
|
|
.if ${PHP_VER} == 5
|
|
@${REINPLACE_CMD} -e "s:mod_php4.c:mod_php5.c:" ${WRKDIR}/httpd-horde.conf
|
|
.endif
|
|
.if ${APACHE_VERSION} >= 22
|
|
@${REINPLACE_CMD} -e "s:IfModule mod_\([^ ]*\)\.c:IfModule \1_module:" \
|
|
${WRKDIR}/httpd-horde.conf
|
|
.endif
|
|
@${REINPLACE_CMD} -e "s:%%LOCALBASE%%:${LOCALBASE}:" ${WRKSRC}/config/mime_drivers.php.dist
|
|
.if !defined(WITHOUT_X11)
|
|
. if !defined(WITHOUT_WV)
|
|
@${REINPLACE_CMD} -e "s://UNCOMMENTIFWV::" ${WRKSRC}/config/mime_drivers.php.dist
|
|
. endif
|
|
. if !defined(WITHOUT_XL)
|
|
@${REINPLACE_CMD} -e "s://UNCOMMENTIFXL::" ${WRKSRC}/config/mime_drivers.php.dist
|
|
. endif
|
|
.endif
|
|
.if !defined(WITHOUT_WEBCPP)
|
|
@${REINPLACE_CMD} -e "s://UNCOMMENTIFWCPP::" ${WRKSRC}/config/mime_drivers.php.dist
|
|
.endif
|
|
.if defined(WITH_SRCHIGH)
|
|
@${REINPLACE_CMD} -e "s://UNCOMMENTIFSRCHIGH::" ${WRKSRC}/config/mime_drivers.php.dist
|
|
.endif
|
|
.if defined(WITH_ENSCRIPT)
|
|
@${REINPLACE_CMD} -e "s://UNCOMMENTIFES::" ${WRKSRC}/config/mime_drivers.php.dist
|
|
.endif
|
|
.if defined(WITH_RPM)
|
|
@${REINPLACE_CMD} -e "s://UNCOMMENTIFRPM::" ${WRKSRC}/config/mime_drivers.php.dist
|
|
.endif
|
|
.if defined(WITH_DEB)
|
|
@${REINPLACE_CMD} -e "s://UNCOMMENTIFDEB::" ${WRKSRC}/config/mime_drivers.php.dist
|
|
.endif
|
|
.if !defined(WITHOUT_GEOIP)
|
|
@${REINPLACE_CMD} -e "s:GeoIP lookup will not be performed.\"/>:GeoIP lookup will not be performed.\">${LOCALBASE}/share/GeoIP/GeoIP.dat</configstring>:" \
|
|
${WRKSRC}/config/conf.xml
|
|
.endif
|
|
@${REINPLACE_CMD} -e "s:/tmp/horde.log:${LOG_FILE}:" ${WRKSRC}/config/conf.xml
|
|
@${REINPLACE_CMD} -e "s:/etc/mpasswd:${LOCALBASE}/etc/mpasswd:g" \
|
|
${WRKSRC}/lib/Horde/Auth/mcal.php
|
|
@${REINPLACE_CMD} -e "s:/usr/local/apache/htdocs:${PREFIX}/www:g" \
|
|
${WRKSRC}/docs/INSTALL
|
|
@${RM} ${SEDIN2RM:S|^|${WRKSRC}/|:S|$|.beforeHorde|}
|
|
@(cd ${WRKSRC}/scripts && \
|
|
${FIND} . -name "*.php" -exec \
|
|
${REINPLACE_CMD} -e "s:/usr/local/bin/php: ${LOCALBASE}/bin/php:;s:/usr/bin/php: ${LOCALBASE}/bin/php:" {} \; && \
|
|
${FIND} . -name "*.beforeHorde" -delete)
|
|
|
|
pre-install:
|
|
.if !defined(WITHOUT_SUPPORTED_DB) && exists(${LOCALBASE}/bin/php)
|
|
@if ! php -m | ${GREP} -q -e "mysql" ; then \
|
|
if ! php -m | ${GREP} -q -e "pgsql" ; then \
|
|
if ! php -m | ${GREP} -q -e "sybase" ; then \
|
|
if ! php -m | ${GREP} -q -e "SQLite" ; then \
|
|
${ECHO_MSG} "" ; \
|
|
${ECHO_MSG} "Please configure PHP with a database support." ; \
|
|
${ECHO_MSG} "MySQL, PostgreSQL, SQLite 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
|
|
.if defined(WITH_SUPHP)
|
|
${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
|
|
.endif
|
|
|
|
# Copy RCSID tag from conf.xml into conf.php to stop Horde complaining
|
|
@if ! ${GREP} -q -e "$$Horde.*conf\.xml" ${WRKSRC}/config/conf.php.dist; then \
|
|
${GREP} -h "$$Horde.*conf\.xml" ${WRKSRC} ${WRKSRC}/config/conf.xml \
|
|
| ${SED} -e 's#^ *<!--#//#' -e 's# *--> *$$##g' \
|
|
>> ${WRKSRC}/config/conf.php.dist; \
|
|
fi
|
|
|
|
do-install:
|
|
@${MKDIR} ${HORDEDIR}
|
|
.for REP in ${SUB_DIRS}
|
|
@${CP} -Rp ${WRKSRC}/${REP} ${HORDEDIR}
|
|
.endfor
|
|
@${CP} -p ${WRKSRC}/*.php ${HORDEDIR}
|
|
|
|
@${CP} ${WRKSRC}/scripts/set_perms.sh ${HORDESBIN}/horde_set_perms.sh
|
|
@${CHMOD} u+x ${HORDESBIN}/horde_set_perms.sh
|
|
.if ${APACHE_VERSION} >= 20
|
|
${INSTALL_DATA} ${WRKDIR}/httpd-horde.conf ${HORDE_INC}
|
|
.else
|
|
@${MKDIR} ${HORDE_INC}
|
|
@${INSTALL_DATA} ${WRKDIR}/httpd-horde.conf ${HORDE_INC}
|
|
. if !defined(PACKAGE_BUILDING)
|
|
@(if [ -f ${APACHE_CONF} ] ; then \
|
|
${ECHO_MSG} "===> Updating ${APACHE_CONF}..." ; \
|
|
${CP} -p ${APACHE_CONF} ${APACHE_CONF}.beforeHorde ; \
|
|
${ECHO_CMD} "# Horde's include directory" >> ${APACHE_CONF} ; \
|
|
${ECHO_CMD} "Include ${HORDE_INC}" >> ${APACHE_CONF} ; \
|
|
fi)
|
|
. endif
|
|
.endif
|
|
@${CHOWN} -R ${WWWOWN}:${WWWGRP} ${HORDEDIR}
|
|
@${CHMOD} -R o-rwx ${CONFDIR}
|
|
@${TOUCH} ${LOG_FILE}
|
|
@${CHOWN} ${WWWOWN}:${WWWGRP} ${LOG_FILE}
|
|
.if !defined(NOPORTDOCS)
|
|
@${MKDIR} ${DOCSDIR}
|
|
.for FILE in ${DOCS}
|
|
@${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR}
|
|
.endfor
|
|
@${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
|
|
.endif
|
|
|
|
post-install:
|
|
@${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
|
|
@${ECHO_MSG}
|
|
@${CAT} ${PKGMESSAGE}
|
|
@${ECHO_MSG}
|
|
|
|
.include <bsd.port.post.mk>
|