summaryrefslogtreecommitdiff
path: root/deskutils/horde4-kronolith/Makefile
blob: 6f576cc8d166a8748b097cbb97f65fd2b5db481b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Ports collection makefile for:  Kronolith
# Date created:			  Sun Dec 02, 2001
# Whom:				  Thierry Thomas (<thierry@thomas.as>)
#
# $FreeBSD$
#

PORTNAME=	kronolith
PORTVERSION=	2.0
CATEGORIES=	deskutils www
MASTER_SITES=	ftp://ftp.horde.org/pub/kronolith/				\
		ftp://ftp.planetmirror.com/pub/horde/kronolith/			\
		ftp://ftp.au.horde.org/pub/horde/kronolith/			\
		ftp://ftp.be.horde.org/kronolith/				\
		ftp://ftp.es.horde.org/pub/kronolith/				\
		ftp://ftp.it.horde.org/pub/mirror/horde.org/kronolith/		\
		ftp://ftp.nl.horde.org/mirror/horde-ftp/pub/kronolith/		\
		ftp://ftp.uk.horde.org/mirrors/ftp.horde.org/pub/kronolith/	\
		http://ftp.horde.org/pub/kronolith/
DISTNAME=	${PORTNAME}-h3-${PORTVERSION}

MAINTAINER=	thierry@FreeBSD.org
COMMENT=	Kronolith is the Horde calendar application

#----------------------------------------------------------------------------
# You may define this option:
#
# - WITHOUT_MCAL:	you won't use the MCAL driver but a database backend
#			(only for PHP4).
#
#----------------------------------------------------------------------------

RUN_DEPENDS+=	${LOCALBASE}/www/horde/rpc.php:${PORTSDIR}/www/horde

NO_BUILD=	yes
USE_PHP=	yes	# modules set by Horde, but needed to get PHP_VER
USE_REINPLACE=	yes

REINPLACE_ARGS=	-i ""
DOCS=		COPYING README docs/CHANGES docs/CREDITS docs/INSTALL	\
		docs/RELEASE_NOTES docs/TODO docs/UPGRADING
CONFFILE=	keywords.php menu.php prefs.php
SUB_DIRS=	config lib locale po scripts templates themes

LHORDEDIR?=	www/horde
LKRONOLITHDIR?=	${LHORDEDIR}/kronolith

PLIST_SUB=	KRONOLITHDIR=${LKRONOLITHDIR}
PKGMESSAGE=	${WRKDIR}/pkg-message

KRONOLITHDIR=	${PREFIX}/${LKRONOLITHDIR}
CONFDIR=	${KRONOLITHDIR}/config
VAR_CAL=	/var/calendar

HORDE_INC=	${LOCALBASE}/etc/horde

.include <bsd.port.pre.mk>

.if exists(${LOCALBASE}/sbin/htpasswd)
HTPASSWD=	${LOCALBASE}/sbin/htpasswd
.else
HTPASSWD=	${LOCALBASE}/bin/htpasswd
.endif

pre-configure:
	@${RM} ${WRKSRC}/config/conf.xml.orig
	@${SED} -e "s:/home/httpd/html/horde/kronolith:${KRONOLITHDIR}:"	\
		${FILESDIR}/httpd.conf.kronolith > ${WRKDIR}/httpd.conf.kronolith

do-install:
	@${MKDIR}  ${KRONOLITHDIR}
.for REP in ${SUB_DIRS}
	@${CP} -Rp ${WRKSRC}/${REP} ${KRONOLITHDIR}
.endfor
	@${CP} -p  ${WRKSRC}/*.php ${KRONOLITHDIR}
.for FILE in ${CONFFILE}
	@if [ ! -f ${CONFDIR}/${FILE} ]; then \
	  ${CP} ${CONFDIR}/${FILE}.dist ${CONFDIR}/${FILE} ; \
	fi
.endfor
	@${CHOWN} -R ${WWWOWN}:${WWWGRP} ${KRONOLITHDIR}
	@${CHMOD} -R o-rwx ${CONFDIR}
	@${INSTALL_DATA} ${WRKDIR}/httpd.conf.kronolith ${HORDE_INC}
.if !defined(NOPORTDOCS)
	@${MKDIR} ${DOCSDIR}
.for FILE in ${DOCS}
	@${INSTALL_DATA} ${WRKSRC}/${FILE} ${DOCSDIR}
.endfor
	@${ECHO_MSG} "===> Documentation installed in ${DOCSDIR}."
.endif

post-install:
.if !defined(WITHOUT_MCAL) && (${PHP_VER} == 4)
	@if [ ! -d ${VAR_CAL} ]; then \
	  ${ECHO_MSG} "===> Creating ${VAR_CAL}" ; \
	  ${MKDIR} ${VAR_CAL} ; \
	  ${CHMOD} 1777 ${VAR_CAL} ; \
	fi
.if !defined(BATCH)
	@if [ ! -f ${LOCALBASE}/etc/mpasswd ] ; then \
	  ${ECHO_MSG} "===> Creating ${LOCALBASE}/etc/mpasswd" ; \
	  ${ECHO} -n "Please enter a password for www's calendar: " ; \
	  (read PASSCAL;						\
	   ${HTPASSWD} -bc ${LOCALBASE}/etc/mpasswd www $${PASSCAL}; \
	   ${REINPLACE_CMD} -e "s:%%PASSCAL%%:$${PASSCAL}:" ${CONFDIR}/conf.xml) \
	elif ! ${GREP} -q -e "^www" ${LOCALBASE}/etc/mpasswd ; then \
	  ${ECHO_MSG} "===> Adding www into ${LOCALBASE}/etc/mpasswd" ; \
	  ${ECHO} -n "Please enter a password for www's calendar: " ; \
	  (read PASSCAL;						\
	   ${HTPASSWD} -b ${LOCALBASE}/etc/mpasswd www $${PASSCAL} ; \
	   ${REINPLACE_CMD} -e "s:%%PASSCAL%%:$${PASSCAL}:" ${CONFDIR}/conf.xml) \
	else \
	   ${REINPLACE_CMD} -e "s:%%PASSCAL%%:www_cal_password:" ${CONFDIR}/conf.xml ; \
	fi
. endif
.endif
	@${SED} -e "s:%%KRONOLITHDIR%%:${KRONOLITHDIR}:g;s:%%DOCSDIR%%:${DOCSDIR}:g"	\
		-e "s:%%LOCALBASE%%:${LOCALBASE}:" < ${FILESDIR}/pkg-message.in		\
		 > ${PKGMESSAGE}
	@${ECHO_MSG}
	@${CAT} ${PKGMESSAGE}
	@${ECHO_MSG}

.include <bsd.port.post.mk>