Import www/cherokee version 1.2.101_3
[dports.git] / www / cherokee / Makefile
1 # Created by: silence <oksala@videotron.ca>
2 # $FreeBSD: ports/www/cherokee/Makefile,v 1.110 2012/12/10 01:26:34 svnexp Exp $
3
4 PORTNAME=       cherokee
5 PORTVERSION=    1.2.101
6 PORTREVISION=   3
7 CATEGORIES=     www
8 MASTER_SITES=   ${MASTER_SITE_SAMBA}
9 MASTER_SITE_SUBDIR=cherokee/1.2/${PORTVERSION}
10
11 MAINTAINER=     ports@FreeBSD.org
12 COMMENT=        Extremely fast and flexible web server
13
14 USE_GNOME=      gnomehack
15 USE_PKGCONFIG=  build
16 USE_OPENSSL=    yes
17 USE_LDCONFIG=   yes
18 USE_GETTEXT=    yes
19 USE_RC_SUBR=    cherokee
20 SUB_FILES=      pkg-install pkg-message
21 USE_GMAKE=      yes
22 GNU_CONFIGURE=  yes
23 CPPFLAGS+=      -I${LOCALBASE}/include ${PTHREAD_CFLAGS}
24 LDFLAGS+=       -L${LOCALBASE}/lib ${PTHREAD_LIBS}
25
26 PORTSCOUT=      limit:^1\.2\.102
27
28 CHEROKEE_VARDIR?=       /var
29 CHEROKEE_LOGDIR?=       ${CHEROKEE_VARDIR}/log
30 CHEROKEE_ACCESSLOG?=    ${CHEROKEE_LOGDIR}/cherokee.access
31 CHEROKEE_ERRORLOG?=     ${CHEROKEE_LOGDIR}/cherokee.error
32
33 # Adjust this if you need to run Cherokee as a distinct user:group
34 CHEROKEE_USER=  www
35 CHEROKEE_GROUP= www
36
37 # This should be ok since 1.0.9, cherokee drops privileges
38 # after opening logfiles as a security measure
39 CHEROKEE_LOGFILE_FILEMODE=      0600
40 CHEROKEE_LOGFILE_USER=  root
41 CHEROKEE_LOGFILE_GROUP= wheel
42
43 # Directory where to put RRD files, by default
44 CHEROKEE_RRDDIR=/var/lib/cherokee/graphs
45
46 CONFIGURE_ARGS= --with-wwwroot=${PREFIX}/www/cherokee \
47                 --localstatedir=${CHEROKEE_VARDIR} \
48                 --disable-static
49 DEFCONFS=       cherokee.conf
50 CONFSUBDIRS=    ssl mods-available mods-enabled sites-available sites-enabled
51 MAN1=           cget.1 cherokee-config.1 cherokee.1 cherokee-admin.1 cherokee-admin-launcher.1 \
52                 cherokee-tweak.1 cherokee-worker.1
53 PORTDOCS=       *
54
55 OPTIONS_DEFINE= IPV6 MYSQL LDAP GEOIP FFMPEG NLS INTPCRE ADMIN ADMIN RRDTOOL UWSGI DOCS
56 OPTIONS_DEFAULT=IPV6 GEOIP ADMIN
57 ADMIN_DESC=     Build the Admin Interface
58 INTPCRE_DESC=   Use internal PCRE library
59 RRDTOOL_DESC=   Usage graphs support
60 UWSGI_DESC=     uWSGI support
61
62 .include <bsd.port.options.mk>
63
64 .if ${PORT_OPTIONS:MADMIN}
65 USE_PYTHON=     2.5+
66 PLIST_SUB+=     ADMIN=""
67 .else
68 CONFIGURE_ARGS+=--disable-admin
69 PLIST_SUB+=     ADMIN="@comment "
70 .endif
71
72 CONFIGURE_ARGS+=--with-wwwuser=${CHEROKEE_USER} --with-wwwgroup=${CHEROKEE_GROUP}
73
74 .if ${PORT_OPTIONS:MIPV6}
75 CONFIGURE_ARGS+=--disable-ipv6
76 .endif
77
78 .if ${PORT_OPTIONS:MMYSQL}
79 USE_MYSQL=      yes
80 CONFIGURE_ARGS+=--with-mysql=yes
81 PLIST_SUB+=     MYSQL=""
82 .else
83 CONFIGURE_ARGS+=--with-mysql=no
84 PLIST_SUB+=     MYSQL="@comment "
85 .endif
86
87 .if ${PORT_OPTIONS:MLDAP}
88 USE_OPENLDAP=   yes
89 CONFIGURE_ARGS+=--with-ldap=yes
90 PLIST_SUB+=     LDAP=""
91 .else
92 CONFIGURE_ARGS+=--with-ldap=no
93 PLIST_SUB+=     LDAP="@comment "
94 .endif
95
96 .if ${PORT_OPTIONS:MGEOIP}
97 LIB_DEPENDS+=   GeoIP:${PORTSDIR}/net/GeoIP
98 CONFIGURE_ARGS+=--with-geoip=yes
99 PLIST_SUB+=     GEOIP=""
100 .else
101 CONFIGURE_ARGS+=--with-geoip=no
102 PLIST_SUB+=     GEOIP="@comment "
103 .endif
104
105 .if ${PORT_OPTIONS:MFFMPEG}
106 LIB_DEPENDS+=   avformat:${PORTSDIR}/multimedia/ffmpeg \
107                 avcodec:${PORTSDIR}/multimedia/ffmpeg \
108                 avutil:${PORTSDIR}/multimedia/ffmpeg
109 CONFIGURE_ARGS+=--with-ffmpeg=yes
110 .else
111 CONFIGURE_ARGS+=--with-ffmpeg=no
112 .endif
113
114 .if ${PORT_OPTIONS:MNLS}
115 PLIST_SUB+=     NLS=""
116 .else
117 CONFIGURE_ARGS+=--disable-nls
118 PLIST_SUB+=     NLS="@comment "
119 .endif
120
121 .if ${PORT_OPTIONS:MINTPCRE}
122 CONFIGURE_ARGS+=--enable-internal-pcre
123 .else
124 LIB_DEPENDS+=   pcre:${PORTSDIR}/devel/pcre
125 .endif
126
127 .if ${PORT_OPTIONS:MRRDTOOL}
128 RUN_DEPENDS+=   rrdtool:${PORTSDIR}/databases/rrdtool
129 .endif
130
131 .if ${PORT_OPTIONS:MUWSGI}
132 RUN_DEPENDS+=   uwsgi:${PORTSDIR}/www/uwsgi
133 .endif
134
135 post-patch:
136         @${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} \
137                 ${REINPLACE_CMD} -e 's|@mkdir_p@|${MKDIR} --|g'
138         @${REINPLACE_CMD} -e '/cherokee_replace.*%sysconfdir%/d;/^SUBDIRS/s|doc ||;\
139                 /^install-data-am/s|install-data-local|install-data-local-config|;\
140                 /^SUBDIRS/s|windows||'\
141                 ${WRKSRC}/Makefile.in
142         @for i in ${BUILD_WRKSRC}/*.sample.pre;do ${SED} -e \
143                 's:%wwwroot%:${PREFIX}/www/cherokee:g; \
144                 s:%prefix%:${PREFIX}:g; \
145                 s:%localstatedir%:/var:g' \
146                 $$i > $${i%.pre};done
147
148         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
149                 ${WRKSRC}/admin/CTK/CTK-run.pre
150         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
151                 ${WRKSRC}/cherokee/cherokee-admin-launcher
152         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
153                 ${WRKSRC}/admin/server.py
154         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
155                 ${WRKSRC}/admin/upgrade_config.py
156         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
157                 ${WRKSRC}/cherokee/cherokee-tweak
158         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
159                 ${WRKSRC}/doc/cookbook_dbslayer.html
160         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
161                 ${WRKSRC}/doc/test_images.py
162         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
163                 ${WRKSRC}/contrib/tracelor.py
164         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
165                 ${WRKSRC}/po/po_stats.py
166         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
167                 ${WRKSRC}/qa/fcgi.py
168         @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
169                 ${WRKSRC}/qa/run-tests.py
170
171 post-install:
172         @${INSTALL} -d ${CONFSUBDIRS:S|^|${PREFIX}/etc/cherokee/|}
173         @for i in ${DEFCONFS};do\
174                 ${INSTALL_DATA} ${WRKSRC}/$$i.sample ${PREFIX}/etc/cherokee/$$i.default;done
175         @${INSTALL_DATA} ${WRKSRC}/performance.conf.sample ${PREFIX}/etc/cherokee/cherokee.conf.perf_sample
176         @:>${PREFIX}/etc/cherokee/mods-enabled/.empty
177         @:>${PREFIX}/etc/cherokee/sites-available/.empty
178         @:>${PREFIX}/etc/cherokee/sites-enabled/.empty
179         @:>${PREFIX}/etc/cherokee/ssl/.empty
180         @for i in `${FIND} ${PREFIX}/etc/cherokee/ -name \*.default`;do\
181                 if [ ! -f $${i%.default} ];then ${CP} $$i $${i%.default};fi;done
182         @for i in `${FIND} ${PREFIX}/etc/cherokee/ -name \*.sample`;do\
183                 if [ ! -f $${i%.sample} ];then ${CP} $$i $${i%.sample};fi;done
184
185 .if ${PORT_OPTIONS:MDOCS}
186         @cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${DOCSDIR}
187 .endif
188
189 .if ${PORT_OPTIONS:MADMIN}
190         @cd ${DATADIR}/admin && ${FIND} . -name "*.py" |\
191         ${XARGS} ${PYTHON_CMD} ${PYTHON_LIBDIR}/py_compile.py
192 .endif
193
194         @${SETENV} \
195              CHEROKEE_LOGFILE_FILEMODE=${CHEROKEE_LOGFILE_FILEMODE} \
196              CHEROKEE_LOGFILE_USER=${CHEROKEE_LOGFILE_USER} \
197              CHEROKEE_LOGFILE_GROUP=${CHEROKEE_LOGFILE_GROUP} \
198              CHEROKEE_ERRORLOG=${CHEROKEE_ERRORLOG} \
199              CHEROKEE_ACCESSLOG=${CHEROKEE_ACCESSLOG} \
200              CHEROKEE_WITH_RRDTOOL=${WITH_RRDTOOL} \
201              CHEROKEE_RRDDIR=${CHEROKEE_RRDDIR} \
202              CHEROKEE_RRDDIR_USER=${CHEROKEE_USER} \
203              CHEROKEE_RRDDIR_GROUP=${CHEROKEE_GROUP} \
204              ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
205
206         @${ECHO_MSG} "==============================================================="
207         @${CAT} ${PKGMESSAGE}
208         @${ECHO_MSG} "==============================================================="
209
210 .include <bsd.port.mk>