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