aboutsummaryrefslogtreecommitdiffstats
path: root/deskutils/kronolith/Makefile
blob: e97256594969b0be62d1587190dd7e6d87ffdb78 (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.1
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}/${LHORDEDIR}/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>