1 # Created by: silence <oksala@videotron.ca>
2 # $FreeBSD: ports/www/cherokee/Makefile,v 1.110 2012/12/10 01:26:34 svnexp Exp $
8 MASTER_SITES= ${MASTER_SITE_SAMBA}
9 MASTER_SITE_SUBDIR=cherokee/1.2/${PORTVERSION}
11 MAINTAINER= ports@FreeBSD.org
12 COMMENT= Extremely fast and flexible web server
20 SUB_FILES= pkg-install pkg-message
23 CPPFLAGS+= -I${LOCALBASE}/include ${PTHREAD_CFLAGS}
24 LDFLAGS+= -L${LOCALBASE}/lib ${PTHREAD_LIBS}
26 PORTSCOUT= limit:^1\.2\.102
28 CHEROKEE_VARDIR?= /var
29 CHEROKEE_LOGDIR?= ${CHEROKEE_VARDIR}/log
30 CHEROKEE_ACCESSLOG?= ${CHEROKEE_LOGDIR}/cherokee.access
31 CHEROKEE_ERRORLOG?= ${CHEROKEE_LOGDIR}/cherokee.error
33 # Adjust this if you need to run Cherokee as a distinct user:group
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
43 # Directory where to put RRD files, by default
44 CHEROKEE_RRDDIR=/var/lib/cherokee/graphs
46 CONFIGURE_ARGS= --with-wwwroot=${PREFIX}/www/cherokee \
47 --localstatedir=${CHEROKEE_VARDIR} \
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
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
62 .include <bsd.port.options.mk>
64 .if ${PORT_OPTIONS:MADMIN}
68 CONFIGURE_ARGS+=--disable-admin
69 PLIST_SUB+= ADMIN="@comment "
72 CONFIGURE_ARGS+=--with-wwwuser=${CHEROKEE_USER} --with-wwwgroup=${CHEROKEE_GROUP}
74 .if ${PORT_OPTIONS:MIPV6}
75 CONFIGURE_ARGS+=--disable-ipv6
78 .if ${PORT_OPTIONS:MMYSQL}
80 CONFIGURE_ARGS+=--with-mysql=yes
83 CONFIGURE_ARGS+=--with-mysql=no
84 PLIST_SUB+= MYSQL="@comment "
87 .if ${PORT_OPTIONS:MLDAP}
89 CONFIGURE_ARGS+=--with-ldap=yes
92 CONFIGURE_ARGS+=--with-ldap=no
93 PLIST_SUB+= LDAP="@comment "
96 .if ${PORT_OPTIONS:MGEOIP}
97 LIB_DEPENDS+= GeoIP:${PORTSDIR}/net/GeoIP
98 CONFIGURE_ARGS+=--with-geoip=yes
101 CONFIGURE_ARGS+=--with-geoip=no
102 PLIST_SUB+= GEOIP="@comment "
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
111 CONFIGURE_ARGS+=--with-ffmpeg=no
114 .if ${PORT_OPTIONS:MNLS}
117 CONFIGURE_ARGS+=--disable-nls
118 PLIST_SUB+= NLS="@comment "
121 .if ${PORT_OPTIONS:MINTPCRE}
122 CONFIGURE_ARGS+=--enable-internal-pcre
124 LIB_DEPENDS+= pcre:${PORTSDIR}/devel/pcre
127 .if ${PORT_OPTIONS:MRRDTOOL}
128 RUN_DEPENDS+= rrdtool:${PORTSDIR}/databases/rrdtool
131 .if ${PORT_OPTIONS:MUWSGI}
132 RUN_DEPENDS+= uwsgi:${PORTSDIR}/www/uwsgi
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
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|' \
168 @${REINPLACE_CMD} -e 's|/usr/bin/env python|/usr/local/bin/python|' \
169 ${WRKSRC}/qa/run-tests.py
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
185 .if ${PORT_OPTIONS:MDOCS}
186 @cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${DOCSDIR}
189 .if ${PORT_OPTIONS:MADMIN}
190 @cd ${DATADIR}/admin && ${FIND} . -name "*.py" |\
191 ${XARGS} ${PYTHON_CMD} ${PYTHON_LIBDIR}/py_compile.py
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
206 @${ECHO_MSG} "==============================================================="
207 @${CAT} ${PKGMESSAGE}
208 @${ECHO_MSG} "==============================================================="
210 .include <bsd.port.mk>