aboutsummaryrefslogblamecommitdiff
path: root/mail/horde4-imp/Makefile
blob: d71c04a3b821e42c554b47f78323b449a9867e63 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                                                  
                     


                                                     
                                 




                                                                        
                                                  


                                                                      







                                                                      











                                                                      
                                                                  





                                                                        
                       

                                                  
     


                                                 
      
 
                                                                       



                                                                        
                                


                                                                 
                         
                                                                   

                                                                       




                                                                                
                                                                   


      



                                                               
                                                                   







                                                                    
                   


                            





                                                                        
                              





                                                       


                                           
                








                                                                                 

                                              
                                                                  


                              






                                                                     







                                                                          






                                                                         
      


                                                                      
                                                                




















                                                                                  




                                                                                 
                                                           


                                                                                 
                                                                       
                                                                        












                                                                                           
                                     
                                            



                                                                               
                                                                                





                                                                                               
                        



                                                                         



















                                                                                     


                                                      
                                                            
                                                           








                                                                                  
                                                                                


                                                                                     
# Ports collection makefile for:  imp
# Date created:			  Sun Jul 08, 2001
# Whom:				  Thierry Thomas (<thierry@thomas.as>)
# N.B.: parts of this ports come from the Horde's port by NetBSD (jlam@netbsd.org)
#
# $FreeBSD$
#

PORTNAME=	imp
PORTVERSION=	2.2.8
CATEGORIES=	mail www
MASTER_SITES=	ftp://ftp.horde.org/pub/imp/tarballs/

MAINTAINER=	thierry@pompo.net

#-----------------------------------------------------------------------
# You may define these options:
#
# - WITHOUT_LDAP	: if you do not need OpenLDAP;
# - WITH_LDAP2		: if you prefer OpenLDAP2.
#
# - WITHOUT_SUPPORTED_DB: if you run a database not in the ports tree;
#
# - WITHOUT_WV		: if your users never receive MS-Word docs;
#
# - WITHOUT_XL		: if your users never receive MS-Excel sheets;
#
# - WITHOUT_ZIP		: if not interested by zipinfo;
#
# - WITHOUT_ISPELL	: for spelling bees...
#
# - WITHOUT_IMAPSERVER	: if your IMAP server runs on another machine;
#
# or you can select to work with one of these servers:
#
# - WITH_CYRUS-IMAPD	: IMP will work with cyrus-imapd;
#
# - WITH_CYRUS		: IMP will work with cyrus;
#
# - WITH_IMAP-UW	: IMP will work with imap-uw;
#
# - WITH_COURIER-IMAP	: IMP will work with courier-imap.
#
# These choice are mutually exclusive, and imap-uw is the default.
#
#-----------------------------------------------------------------------

LIB_DEPENDS=	c-client4.8:${PORTSDIR}/mail/cclient

.if !defined(WITHOUT_LDAP)
.if defined(WITH_LDAP2)
LIB_DEPENDS+=	ldap.2:${PORTSDIR}/net/openldap2 \
		lber.2:${PORTSDIR}/net/openldap2
.else
LIB_DEPENDS+=	ldap.1:${PORTSDIR}/net/openldap \
		lber.1:${PORTSDIR}/net/openldap
.endif
.endif

RUN_DEPENDS+=	${LOCALBASE}/www/horde/index.php3:${PORTSDIR}/www/horde

# I have no report about the support of dkimap4 by IMP,
# but I shall be happy to add it if somebody report success with it.
# If an IMAP server is already installed, we just record the dependence,
# else we shall install imap-uw.
# IMAP servers are ordered according to my tastes, if several are
# installed, we just record the first one.
.if !defined(WITHOUT_IMAPSERVER)
.if defined(WITH_IMAP-UW)
RUN_DEPENDS+=	${LOCALBASE}/libexec/imapd:${PORTSDIR}/mail/imap-uw
.elif defined(WITH_CYRUS-IMAPD)
RUN_DEPENDS+=	${LOCALBASE}/lib/libacap.a:${PORTSDIR}/mail/cyrus-imapd
.elif defined(WITH_CYRUS)
RUN_DEPENDS+=	${LOCALBASE}/cyrus/:${PORTSDIR}/mail/cyrus
.elif defined(WITH_COURIER-IMAP)
RUN_DEPENDS+=	${LOCALBASE}/libexec/courier-imap/:${PORTSDIR}/mail/courier-imap
.else
RUN_DEPENDS+=	${LOCALBASE}/libexec/imapd:${PORTSDIR}/mail/imap-uw
.endif
.endif

.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
.if !defined(WITHOUT_ZIP)
RUN_DEPENDS+=	${LOCALBASE}/bin/zipinfo:${PORTSDIR}/archivers/unzip
.endif
.if !defined(WITHOUT_ISPELL)
RUN_DEPENDS+=	${LOCALBASE}/bin/ispell:${PORTSDIR}/textproc/ispell
.endif

NO_BUILD=	yes
USE_REINPLACE=	yes

REINPLACE_ARGS=	-i.beforeImp
DOCS=		COPYING README docs/CHANGES docs/CREDITS docs/DATABASE \
		docs/HELP docs/INSTALL docs/SECURITY docs/KNOWN_BUGS \
		docs/PACKAGES

LHORDEDIR?=	www/horde
LIMPDIR?=	${LHORDEDIR}/imp
HORDESBIN?=	${PREFIX}/sbin

PLIST_SUB=	HORDEDIR=${LHORDEDIR} IMPDIR=${LIMPDIR}

HORDEDIR=	${PREFIX}/${LHORDEDIR}
IMPDIR=		${PREFIX}/${LIMPDIR}

APACHE_CNFDIR?=	${LOCALBASE}/etc/apache
APACHE_CONF=	${APACHE_CNFDIR}/httpd.conf

pre-everything::
.if !defined(WITHOUT_IMAPSERVER)
	@${ECHO_MSG} ""
	@${ECHO_MSG} "Press CTRL-C and define WITHOUT_IMAPSERVER"
	@${ECHO_MSG} "if you intend to run an IMAP server on an other machine."
	@${ECHO_MSG} ""
.endif

pre-install:
# N.B.: database dependencies are binded with mod_php#, neither by Horde nor IMP.
	@if [ -f ${IMPDIR}/index.php ]; then \
	    ${ECHO_MSG} "" ; \
	    ${ECHO_MSG} "Please deinstall the port mail/imp3." ; \
	    ${ECHO_MSG} "" ; \
	    ${FALSE} ; \
	fi
	@if ! ${LDCONFIG} -r | ${GREP} -q -e "c-client4.8"; then \
	    ${ECHO_MSG} "" ; \
	    ${ECHO_MSG} "Please configure PHP with IMAP support." ; \
	    ${ECHO_MSG} "" ; \
	    ${FALSE} ; \
	fi
.if !defined(WITHOUT_LDAP)
.if defined(WITH_LDAP2)
	@if ! ${LDCONFIG} -r | ${GREP} -q -e "ldap.2"; then \
	    ${ECHO_MSG} "" ; \
	    ${ECHO_MSG} "Please configure PHP with OpenLDAP2 support." ; \
	    ${ECHO_MSG} "" ; \
	    ${FALSE} ; \
	fi
.else
	@if ! ${LDCONFIG} -r | ${GREP} -q -e "ldap.1"; then \
	    ${ECHO_MSG} "" ; \
	    ${ECHO_MSG} "Please configure PHP with OpenLDAP support." ; \
	    ${ECHO_MSG} "" ; \
	    ${FALSE} ; \
	fi
.endif
.endif
.if !defined(WITHOUT_SUPPORTED_DB)
	@if ! ${LDCONFIG} -r | ${GREP} -q -e "mysqlclient.10" ; then \
	 if ! ${LDCONFIG} -r | ${GREP} -q -e "pq.2" ; then \
	  if ! ${LDCONFIG} -r | ${GREP} -q -e "sybdb.1" ; then \
	   if ! ${LDCONFIG} -r | ${GREP} -q -e "ct.0" ; 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 IMP." ; \
	    ${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}  ${IMPDIR}
	${CP} -Rp ${WRKSRC}/config ${WRKSRC}/graphics ${WRKSRC}/lib ${IMPDIR}
	${CP} -Rp ${WRKSRC}/locale ${WRKSRC}/scripts ${WRKSRC}/templates ${IMPDIR}
	${CP} -p  ${WRKSRC}/*.php3 ${WRKSRC}/*.css ${IMPDIR}
	${REINPLACE_CMD} -e "s:/usr/bin/ispell:${LOCALBASE}/bin/ispell:g ;	\
		s:/usr/bin/wvHtml:${LOCALBASE}/bin/wvHtml:g ;			\
		s:/usr/bin/xlHtml:${LOCALBASE}/bin/xlhtml:g ;			\
		s:/bin/tar:/usr/bin/tar:g ;					\
		s:/usr/bin/zipinfo:${LOCALBASE}/bin/zipinfo:g"			\
			${IMPDIR}/config/defaults.php3.dist
	@${RM} ${IMPDIR}/config/defaults.php3.dist.beforeImp
	${REINPLACE_CMD} -e "s:sh ./secure.sh:${HORDESBIN}/horde_secure.sh:g ;	\
		s:sh ./install.sh:${HORDESBIN}/horde_setup.sh:g"		\
			${IMPDIR}/templates/index/imp_notconfigured.inc
	@${RM} ${IMPDIR}/templates/index/imp_notconfigured.inc.beforeImp
	@if [ ! -f ${IMPDIR}/config/defaults.php3 ]; then \
	    ${CP}     ${IMPDIR}/config/defaults.php3.dist ${IMPDIR}/config/defaults.php3; \
	fi
	${CHMOD}  777 ${IMPDIR}/config/defaults.php3
	@if [ ! -f ${IMPDIR}/config/mime.php3 ]; then \
	    ${CP}     ${IMPDIR}/config/mime.php3.dist ${IMPDIR}/config/mime.php3; \
	fi
	@if [ ! -f ${IMPDIR}/config/ldap.php3 ]; then \
	    ${CP}     ${IMPDIR}/config/ldap.php3.dist ${IMPDIR}/config/ldap.php3; \
	fi
	@if [ ! -f ${IMPDIR}/config/servers.php3 ]; then \
	    ${CP}     ${IMPDIR}/config/servers.php3.dist ${IMPDIR}/config/servers.php3; \
	fi
	${CHOWN} -R www:www ${IMPDIR}
	${CHMOD}  444 ${HORDEDIR}/setup.php3
	@(if [ -f ${APACHE_CONF} ] ; then \
	   (if [ ! -f ${APACHE_CONF}.beforeIMP ] ; then \
		${ECHO} "===> Updating ${APACHE_CONF}..." ; \
		${CP} -p ${.CURDIR}/httpd.conf.imp ${WRKDIR}/httpd.conf.imp ; \
		${REINPLACE_CMD} -e "s:/home/httpd/html/horde/imp:${IMPDIR}:g" \
			${WRKDIR}/httpd.conf.imp ; \
		${CP} -p ${APACHE_CONF} ${APACHE_CONF}.beforeIMP ; \
		${GREP} -qw 'Added for IMP' ${APACHE_CONF} || ${CAT} ${WRKDIR}/httpd.conf.imp \
			>> ${APACHE_CONF} ; \
	    fi) ; \
	fi)
.if !defined(NOPORTDOCS)
	${REINPLACE_CMD} -e "s:/home/httpd/html/horde:${HORDEDIR}:g ;	\
		s:/home/httpd/horde-phplib:${HORDEDIR}/phplib:g ;	\
		s:nobody:www:g"						\
			${WRKSRC}/docs/SECURITY
	${MKDIR} ${DOCSDIR}
.for FILE in ${DOCS}
	${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR}
.endfor
	@${ECHO} "Documentation installed in ${DOCSDIR}."
.endif

post-install:
	@${ECHO} "******************************************************************"
	@${ECHO} "IMP has been installed in ${IMPDIR} with your blank"
	@${ECHO} "configuration files."
	@${ECHO} ""
	@${ECHO} "Please refer to the file ${DOCSDIR}/SECURITY"
	@${ECHO} "on how to secure the IMP installation."
	@${ECHO} "It is at least recommended that you change the default database"
	@${ECHO} "password used by horde-phplib and imp."
	@${ECHO} ""
	@${ECHO} "In order to end IMP's configuration, please read the"
	@${ECHO} "file ${DOCSDIR}/INSTALL."
	@${ECHO} ""
	@${ECHO} "If ${APACHE_CONF} has been updated,"
	@${ECHO} "you have to restart Apache."
	@${ECHO} ""
	@${ECHO} "The configuration utitility is located at"
	@${ECHO} "<URL:http://localhost/horde/setup.php3>".
	@${ECHO} ""
	@${ECHO} "IMP requires an IMAP server. If you want to install one on this"
	@${ECHO} "machine, you may install the ports mail/cyrus-imapd, or"
	@${ECHO} "mail/imap-uw, or mail/courier-imap."
	@${ECHO} ""
	@${ECHO} "IMP uses c-client (from the port mail/cclient), the client of"
	@${ECHO} "IMAP-UW; you may want to reinstall it with SSL support, or"
	@${ECHO} "if you need an SSL connection to your IMAP server, you can"
	@${ECHO} "install the port security/stunnel."
	@${ECHO} "Note: without SSL, you have to choose the IMAP port 143/notls"
	@${ECHO} "******************************************************************"

.include <bsd.port.mk>