Update devel/devhelp to version 3.14.0
[dports.git] / www / nginx / Makefile
1 # Created by: Sergey A. Osokin <osa@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       nginx
5 PORTVERSION=    1.6.2
6 PORTEPOCH=      2
7 CATEGORIES=     www
8 MASTER_SITES=   http://nginx.org/download/
9 MASTER_SITES+=  ${MASTER_SITE_LOCAL}
10 MASTER_SITE_SUBDIR=     osa
11 DISTFILES=      ${DISTNAME}${EXTRACT_SUFX}
12
13 MAINTAINER=     osa@FreeBSD.org
14 COMMENT=        Robust and small WWW server
15
16 LICENSE=        BSD
17
18 USES+=          cpe
19
20 CPE_VENDOR=     nginx
21 CPE_PRODUCT=    nginx
22
23 NO_OPTIONS_SORT=        yes
24 OPTIONS_DEFINE= \
25         DEBUG \
26         DEBUGLOG \
27         FILE_AIO \
28         IPV6 \
29         GOOGLE_PERFTOOLS \
30         HTTP \
31         HTTP_ADDITION \
32         HTTP_CACHE \
33         HTTP_DAV \
34         HTTP_FLV \
35         HTTP_GEOIP \
36         HTTP_GZIP_STATIC \
37         HTTP_GUNZIP_FILTER \
38         HTTP_IMAGE_FILTER \
39         HTTP_PERL \
40         HTTP_RANDOM_INDEX \
41         HTTP_REALIP \
42         HTTP_REWRITE \
43         HTTP_SECURE_LINK \
44         HTTP_SSL \
45         HTTP_STATUS \
46         HTTP_SUB \
47         HTTP_XSLT \
48         MAIL \
49         MAIL_IMAP \
50         MAIL_POP3 \
51         MAIL_SMTP \
52         MAIL_SSL \
53         SPDY \
54         WWW \
55         CACHE_PURGE \
56         CTPP2 \
57         ECHO \
58         HEADERS_MORE \
59         HTTP_ACCEPT_LANGUAGE \
60         HTTP_ACCESSKEY \
61         HTTP_AUTH_DIGEST \
62         HTTP_AUTH_LDAP \
63         HTTP_AUTH_PAM \
64         HTTP_AUTH_REQ \
65         HTTP_DAV_EXT \
66         HTTP_EVAL \
67         HTTP_FANCYINDEX \
68         HTTP_FOOTER \
69         HTTP_MOGILEFS \
70         HTTP_NOTICE \
71         HTTP_PUSH \
72         HTTP_PUSH_STREAM \
73         HTTP_REDIS \
74         HTTP_RESPONSE \
75         HTTP_SUBS_FILTER \
76         HTTP_UPLOAD \
77         HTTP_UPLOAD_PROGRESS \
78         HTTP_UPSTREAM_FAIR \
79         HTTP_UPSTREAM_HASH \
80         HTTP_UPSTREAM_STICKY \
81         HTTP_ZIP \
82         ARRAYVAR \
83         DRIZZLE \
84         ENCRYPTSESSION \
85         FORMINPUT \
86         GRIDFS \
87         ICONV \
88         LET \
89         LUA \
90         MEMC \
91         MODSECURITY \
92         NAXSI \
93         PASSENGER \
94         POSTGRES \
95         RDS_CSV \
96         RDS_JSON \
97         REDIS2 \
98         RTMP \
99         SET_MISC \
100         SFLOW \
101         SLOWFS_CACHE \
102         SRCACHE \
103         SUPERVISORD \
104         SYSLOG_SUPPORT \
105         TCP_PROXY \
106         UDPLOG \
107         XRID_HEADER \
108         XSS \
109         VIDEO
110
111 OPTIONS_RADIO=          VIDEO
112 OPTIONS_RADIO_VIDEO=    HTTP_MP4 HTTP_MP4_H264
113 OPTIONS_DEFAULT=        IPV6 HTTP HTTP_CACHE HTTP_REWRITE HTTP_SSL HTTP_STATUS WWW
114
115 DEBUGLOG_DESC=                  Enable debug log (--with-debug)
116 FILE_AIO_DESC=                  Enable file aio
117 GOOGLE_PERFTOOLS_DESC=          Enable google perftools module
118 HTTP_DESC=                      Enable HTTP module
119 HTTP_ADDITION_DESC=             Enable http_addition module
120 HTTP_CACHE_DESC=                Enable http_cache module
121 HTTP_DAV_DESC=                  Enable http_webdav module
122 HTTP_FLV_DESC=                  Enable http_flv module
123 HTTP_GEOIP_DESC=                Enable http_geoip module
124 HTTP_GZIP_STATIC_DESC=          Enable http_gzip_static module
125 HTTP_GUNZIP_FILTER_DESC=        Enable http_gunzip_filter module
126 HTTP_IMAGE_FILTER_DESC=         Enable http_image_filter module
127 HTTP_MP4_DESC=                  Enable http_mp4 module
128 HTTP_PERL_DESC=                 Enable http_perl module
129 HTTP_RANDOM_INDEX_DESC=         Enable http_random_index module
130 HTTP_REALIP_DESC=               Enable http_realip module
131 HTTP_REWRITE_DESC=              Enable http_rewrite module
132 HTTP_SECURE_LINK_DESC=          Enable http_secure_link module
133 HTTP_SSL_DESC=                  Enable http_ssl module
134 HTTP_STATUS_DESC=               Enable http_stub_status module
135 HTTP_SUB_DESC=                  Enable http_sub module
136 HTTP_XSLT_DESC=                 Enable http_xslt module
137 MAIL_DESC=                      Enable IMAP4/POP3/SMTP proxy module
138 MAIL_IMAP_DESC=                 Enable IMAP4 proxy module
139 MAIL_POP3_DESC=                 Enable POP3 proxy module
140 MAIL_SMTP_DESC=                 Enable SMTP proxy module
141 MAIL_SSL_DESC=                  Enable mail_ssl module
142 SPDY_DESC=                      Enable SPDY protocol support (SSL req.)
143 WWW_DESC=                       Enable html sample files
144 CACHE_PURGE_DESC=               3rd party cache_purge module
145 CTPP2_DESC=                     3rd party CT++ module
146 ECHO_DESC=                      3rd party echo module
147 HEADERS_MORE_DESC=              3rd party headers_more module
148 HTTP_ACCEPT_LANGUAGE_DESC=      3rd party accept_language module
149 HTTP_ACCESSKEY_DESC=            3rd party http_accesskey module
150 HTTP_AUTH_DIGEST_DESC=          3rd party http_authdigest module
151 HTTP_AUTH_LDAP_DESC=            3rd party http_auth_ldap module
152 HTTP_AUTH_PAM_DESC=             3rd party http_auth_pam module
153 HTTP_AUTH_REQ_DESC=             3rd party http_auth_request module
154 HTTP_DAV_EXT_DESC=              3rd party webdav_ext module
155 HTTP_EVAL_DESC=                 3rd party eval module
156 HTTP_FANCYINDEX_DESC=           3rd party http_fancyindex module
157 HTTP_FOOTER_DESC=               3rd party http_footer module
158 HTTP_MOGILEFS_DESC=             3rd party mogilefs module
159 HTTP_MP4_H264_DESC=             3rd party mp4/h264 module
160 HTTP_NOTICE_DESC=               3rd party notice module
161 HTTP_PUSH_DESC=                 3rd party push module
162 HTTP_PUSH_STREAM_DESC=          3rd party push stream module
163 HTTP_REDIS_DESC=                3rd party http_redis module
164 HTTP_RESPONSE_DESC=             3rd party http_response module
165 HTTP_SUBS_FILTER_DESC=          3rd party subs filter module
166 HTTP_UPLOAD_DESC=               3rd party upload module
167 HTTP_UPLOAD_PROGRESS_DESC=      3rd party uploadprogress module
168 HTTP_UPSTREAM_FAIR_DESC=        3rd party upstream fair module
169 HTTP_UPSTREAM_HASH_DESC=        3rd party upstream hash module
170 HTTP_UPSTREAM_STICKY_DESC=      3rd party upstream sticky module
171 HTTP_ZIP_DESC=                  3rd party http_zip module
172 ARRAYVAR_DESC=                  3rd party array_var module
173 DRIZZLE_DESC=                   3rd party drizzlie module
174 ENCRYPTSESSION_DESC=            3rd party encrypted_session module
175 FORMINPUT_DESC=                 3rd party form_input module
176 GRIDFS_DESC=                    3rd party gridfs module
177 ICONV_DESC=                     3rd party iconv module
178 LET_DESC=                       3rd party let module
179 LUA_DESC=                       3rd party lua module
180 MEMC_DESC=                      3rd party memc (memcached) module
181 MODSECURITY_DESC=               3rd party mod_security module
182 NAXSI_DESC=                     3rd party naxsi module
183 PASSENGER_DESC=                 3rd party passenger module
184 POSTGRES_DESC=                  3rd party postgresql module
185 RDS_CSV_DESC=                   3rd party rds_csv module
186 RDS_JSON_DESC=                  3rd party rds_json module
187 REDIS2_DESC=                    3rd party redis2 module
188 RTMP_DESC=                      3rd party rtmp module
189 SET_MISC_DESC=                  3rd party set_misc module
190 SFLOW_DESC=                     3rd party sflow module
191 SLOWFS_CACHE_DESC=              3rd party slowfs_cache module
192 SRCACHE_DESC=                   3rd party srcache module
193 SUPERVISORD_DESC=               3rd party supervisord module
194 SYSLOG_SUPPORT_DESC=            3rd party syslog support
195 TCP_PROXY_DESC=                 3rd party tcp_proxy module
196 UDPLOG_DESC=                    3rd party udplog (syslog) module
197 XRID_HEADER_DESC=               3rd party x-rid header module
198 XSS_DESC=                       3rd party xss module
199 VIDEO_DESC=                     Video module support
200
201 WANT_GNOME=     yes
202
203 .include <bsd.port.options.mk>
204
205 .if ${PORT_OPTIONS:MPASSENGER}
206 CATEGORIES+=    ruby
207 USE_RUBY=       yes
208 USE_RAKE=       yes
209 .endif
210
211 NGINX_VARDIR?=  /var
212 NGINX_LOGDIR?=  ${NGINX_VARDIR}/log
213 NGINX_RUNDIR?=  ${NGINX_VARDIR}/run
214 NGINX_TMPDIR?=  ${NGINX_VARDIR}/tmp/nginx
215 HTTP_PORT?=     80
216
217 NGINX_ACCESSLOG?=       ${NGINX_LOGDIR}/nginx-access.log
218 NGINX_ERRORLOG?=        ${NGINX_LOGDIR}/nginx-error.log
219
220 CONFLICTS?=     nginx-devel-1.*
221 USE_RC_SUBR=    nginx
222 SUB_LIST+=      WWWOWN=${WWWOWN} \
223                 WWWGRP=${WWWGRP} \
224                 NGINX_RUNDIR=${NGINX_RUNDIR} \
225                 NGINX_TMPDIR=${NGINX_TMPDIR}
226
227 HAS_CONFIGURE=  yes
228 CONFIGURE_ARGS+=--prefix=${ETCDIR} \
229                 --with-cc-opt="-I ${LOCALBASE}/include" \
230                 --with-ld-opt="-L ${LOCALBASE}/lib" \
231                 --conf-path=${ETCDIR}/nginx.conf \
232                 --sbin-path=${PREFIX}/sbin/nginx \
233                 --pid-path=${NGINX_RUNDIR}/nginx.pid \
234                 --error-log-path=${NGINX_ERRORLOG} \
235                 --user=${WWWOWN} --group=${WWWGRP}
236
237 .if empty(PORT_OPTIONS:MHTTP) && empty(PORT_OPTIONS:MMAIL)
238 IGNORE=         requires at least HTTP or MAIL to \
239                 be defined.  Please do 'make config' again
240 .endif
241
242 .if ${PORT_OPTIONS:MDEBUG}
243 CFLAGS+=        -g
244 STRIP=          #do not strip if nginx with debug information
245 .endif
246
247 .if ${PORT_OPTIONS:MDEBUGLOG}
248 CONFIGURE_ARGS+=--with-debug
249 .endif
250
251 .if ${PORT_OPTIONS:MFILE_AIO}
252 CONFIGURE_ARGS+=--with-file-aio
253 .endif
254
255 .if ${PORT_OPTIONS:MIPV6}
256 CONFIGURE_ARGS+=--with-ipv6
257 CATEGORIES+=    ipv6
258 .endif
259
260 .if ${PORT_OPTIONS:MGOOGLE_PERFTOOLS}
261 LIB_DEPENDS+=   libprofiler.so:${PORTSDIR}/devel/google-perftools
262 CONFIGURE_ARGS+=--with-google_perftools_module
263 .endif
264
265 .if ${PORT_OPTIONS:MHTTP}
266 CONFIGURE_ARGS+=--http-client-body-temp-path=${NGINX_TMPDIR}/client_body_temp \
267                 --http-fastcgi-temp-path=${NGINX_TMPDIR}/fastcgi_temp \
268                 --http-proxy-temp-path=${NGINX_TMPDIR}/proxy_temp \
269                 --http-scgi-temp-path=${NGINX_TMPDIR}/scgi_temp \
270                 --http-uwsgi-temp-path=${NGINX_TMPDIR}/uwsgi_temp \
271                 --http-log-path=${NGINX_ACCESSLOG}
272
273 .if ${PORT_OPTIONS:MHTTP_ACCEPT_LANGUAGE}
274 GIT_ACCEPT_LANGUAGE_VERSION=    2f69842
275 MASTER_SITES+=  https://github.com/giom/nginx_accept_language_module/tarball/master/:accept_language
276 DISTFILES+=     giom-nginx_accept_language_module-${GIT_ACCEPT_LANGUAGE_VERSION}.tar.gz:accept_language
277 CONFIGURE_ARGS+=--add-module=${WRKDIR}/giom-nginx_accept_language_module-${GIT_ACCEPT_LANGUAGE_VERSION}
278 .endif
279
280 .if ${PORT_OPTIONS:MHTTP_ACCESSKEY}
281 NGINX_ACCESSKEY_VERSION=        2.0.3
282 MASTER_SITES+=  ${MASTER_SITE_LOCAL:S/$/:accesskey/}
283 MASTER_SITE_SUBDIR+=    osa/:accesskey
284 DISTFILES+=     nginx-accesskey-${NGINX_ACCESSKEY_VERSION}.tar.gz:accesskey
285 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-accesskey-${NGINX_ACCESSKEY_VERSION}
286 .endif
287
288 .if ${PORT_OPTIONS:MHTTP_ADDITION}
289 CONFIGURE_ARGS+=--with-http_addition_module
290 .endif
291
292 .if ${PORT_OPTIONS:MHTTP_AUTH_DIGEST}
293 GIT_AUTH_DIGEST_VERSION=        bd1c86a
294 MASTER_SITES+=  https://github.com/samizdatco/nginx-http-auth-digest/tarball/master/:auth_digest
295 DISTFILES+=     samizdatco-nginx-http-auth-digest-${GIT_AUTH_DIGEST_VERSION}.tar.gz:auth_digest
296 CONFIGURE_ARGS+=--add-module=${WRKDIR}/samizdatco-nginx-http-auth-digest-${GIT_AUTH_DIGEST_VERSION}
297 .endif
298
299 .if ${PORT_OPTIONS:MHTTP_AUTH_LDAP}
300 # WWW: https://github.com/kvspb/nginx-auth-ldap
301 GIT_HTTP_AUTH_LDAP_VERSION=     c4dc7c9153
302 MASTER_SITES+=  LOCAL/rm:http_auth_ldap
303 DISTFILES+=     http_auth_ldap-${GIT_HTTP_AUTH_LDAP_VERSION}.tar.gz:http_auth_ldap
304 CONFIGURE_ARGS+=--add-module=${WRKDIR}/http_auth_ldap-${GIT_HTTP_AUTH_LDAP_VERSION}
305 USE_OPENLDAP=   yes
306 .endif
307
308 .if ${PORT_OPTIONS:MHTTP_AUTH_PAM}
309 NGINX_AUTH_PAM_VERSION= 1.2
310 MASTER_SITES+=  http://web.iti.upv.es/~sto/nginx/:auth_pam
311 DISTFILES+=     ngx_http_auth_pam_module-${NGINX_AUTH_PAM_VERSION}.tar.gz:auth_pam
312 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_auth_pam_module-${NGINX_AUTH_PAM_VERSION}
313 .endif
314
315 .if ${PORT_OPTIONS:MHTTP_AUTH_REQ}
316 NGINX_AUTH_REQ_VERSION= 0.2
317 MASTER_SITES+=  http://mdounin.ru/files/:auth_request
318 DISTFILES+=     ngx_http_auth_request_module-${NGINX_AUTH_REQ_VERSION}.tar.gz:auth_request
319 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_auth_request_module-${NGINX_AUTH_REQ_VERSION}
320 .endif
321
322 .if empty(PORT_OPTIONS:MHTTP_CACHE)
323 CONFIGURE_ARGS+=--without-http-cache
324 .endif
325
326 .if ${PORT_OPTIONS:MCACHE_PURGE}
327 NGINX_CACHE_PURGE_VERSION=      2.1
328 MASTER_SITES+=  http://labs.frickle.com/files/:cache_purge
329 DISTFILES+=     ngx_cache_purge-${NGINX_CACHE_PURGE_VERSION}.tar.gz:cache_purge
330 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_cache_purge-${NGINX_CACHE_PURGE_VERSION}
331 .endif
332
333 .if ${PORT_OPTIONS:MCTPP2}
334 IGNORE= CTPP2: update require
335 LIB_DEPENDS+=   libctpp2.so:${PORTSDIR}/textproc/ctpp2
336 NGINX_CTPP2_VERSION=    0.5
337 MASTER_SITES+=  http://dl.vbart.ru/ngx-ctpp/:ctpp2
338 DISTFILES+=     ngx_ctpp2-${NGINX_CTPP2_VERSION}.tar.gz:ctpp2
339 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_ctpp2-${NGINX_CTPP2_VERSION}
340 .endif
341
342 .if ${PORT_OPTIONS:MECHO}
343 NGINX_ECHO_VERSION=     0.51
344 GIT_ECHO_VERSION=       0-g44c92a5
345 MASTER_SITES+=  https://github.com/openresty/echo-nginx-module/tarball/v${NGINX_ECHO_VERSION}/:echo
346 DISTFILES+=     openresty-echo-nginx-module-v${NGINX_ECHO_VERSION}-${GIT_ECHO_VERSION}.tar.gz:echo
347 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-echo-nginx-module-${GIT_ECHO_VERSION:S/^0-g//}
348 .endif
349
350 .if ${PORT_OPTIONS:MHEADERS_MORE}
351 NGINX_HEADERS_MORE_VERSION=     0.25
352 GIT_HEADERS_MORE_VERSION=       0-g0c6e05d
353 MASTER_SITES+=  https://github.com/openresty/headers-more-nginx-module/tarball/v${NGINX_HEADERS_MORE_VERSION}/:headers_more
354 DISTFILES+=     openresty-headers-more-nginx-module-v${NGINX_HEADERS_MORE_VERSION}-${GIT_HEADERS_MORE_VERSION}.tar.gz:headers_more
355 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-headers-more-nginx-module-${GIT_HEADERS_MORE_VERSION:S/^0-g//}
356 .endif
357
358 .if ${PORT_OPTIONS:MHTTP_DAV} || defined(USE_HTTP_DAV)
359 CONFIGURE_ARGS+=--with-http_dav_module
360 .endif
361
362 .if ${PORT_OPTIONS:MHTTP_DAV_EXT}
363 USE_HTTP_DAV=   yes
364 LIB_DEPENDS+=   libexpat.so:${PORTSDIR}/textproc/expat2
365 NGINX_DAV_EXT_VERSION=  0.0.2
366 GIT_DAV_EXT_VERSION=    0-g0e07a3e
367 MASTER_SITES+=  https://github.com/arut/nginx-dav-ext-module/tarball/v${NGINX_DAV_EXT_VERSION}/:dav_ext
368 DISTFILES+=     arut-nginx-dav-ext-module-v${NGINX_DAV_EXT_VERSION}-${GIT_DAV_EXT_VERSION}.tar.gz:dav_ext
369 CONFIGURE_ARGS+=--add-module=${WRKDIR}/arut-nginx-dav-ext-module-${GIT_DAV_EXT_VERSION:S/^0-g//}
370 .endif
371
372 .if ${PORT_OPTIONS:MHTTP_EVAL}
373 NGINX_EVAL_VERSION=     1.0.3
374 GIT_EVAL_VERSION=       0-g125fa2e
375 MASTER_SITES+=  https://github.com/vkholodkov/nginx-eval-module/tarball/${NGINX_EVAL_VERSION}/:eval
376 DISTFILES+=     vkholodkov-nginx-eval-module-${NGINX_EVAL_VERSION}-${GIT_EVAL_VERSION}.tar.gz:eval
377 CONFIGURE_ARGS+=--add-module=${WRKDIR}/vkholodkov-nginx-eval-module-${GIT_EVAL_VERSION:S/^0-g//}
378 .endif
379
380 .if ${PORT_OPTIONS:MHTTP_FANCYINDEX}
381 NGINX_FANCYINDEX_VERSION=       0.3.1
382 MASTER_SITES+=  ${MASTER_SITE_LOCAL:S/$/:fancyindex/}
383 MASTER_SITE_SUBDIR+=    osa/:fancyindex
384 DISTFILES+=     ngx-fancyindex-${NGINX_FANCYINDEX_VERSION}.tar.gz:fancyindex
385 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx-fancyindex-${NGINX_FANCYINDEX_VERSION}
386 .endif
387
388 .if ${PORT_OPTIONS:MHTTP_FOOTER}
389 NGINX_FOOTER_VERSION=   1.2.2
390 GIT_FOOTER_VERSION=     0-g3572184
391 MASTER_SITES+=  https://github.com/alibaba/nginx-http-footer-filter/tarball/${NGINX_FOOTER_VERSION}/:footer
392 DISTFILES+=     alibaba-nginx-footer-filter-${NGINX_FOOTER_VERSION}-${GIT_FOOTER_VERSION}.tar.gz:footer
393 CONFIGURE_ARGS+=--add-module=${WRKDIR}/alibaba-nginx-http-footer-filter-${GIT_FOOTER_VERSION:S/^0-g//}
394 .endif
395
396 .if ${PORT_OPTIONS:MHTTP_FLV}
397 CONFIGURE_ARGS+=--with-http_flv_module
398 .endif
399
400 .if ${PORT_OPTIONS:MHTTP_GEOIP}
401 CONFIGURE_ARGS+=--with-http_geoip_module
402 LIB_DEPENDS+=   libGeoIP.so:${PORTSDIR}/net/GeoIP
403 .endif
404
405 .if ${PORT_OPTIONS:MHTTP_GZIP_STATIC}
406 CONFIGURE_ARGS+=--with-http_gzip_static_module
407 .endif
408
409 .if ${PORT_OPTIONS:MHTTP_GUNZIP_FILTER}
410 CONFIGURE_ARGS+=--with-http_gunzip_module
411 .endif
412
413 .if ${PORT_OPTIONS:MHTTP_IMAGE_FILTER}
414 LIB_DEPENDS+=   libgd.so:${PORTSDIR}/graphics/gd
415 CONFIGURE_ARGS+=--with-http_image_filter_module
416 .endif
417
418 .if ${PORT_OPTIONS:MHTTP_MP4}
419 CONFIGURE_ARGS+=--with-http_mp4_module
420 .endif
421
422 .if ${PORT_OPTIONS:MHTTP_MOGILEFS}
423 NGINX_MOGILEFS_VERSION= 1.0.4
424 MASTER_SITES+=  http://www.grid.net.ru/nginx/download/:mogilefs
425 DISTFILES+=     nginx_mogilefs_module-${NGINX_MOGILEFS_VERSION}.tar.gz:mogilefs
426 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_mogilefs_module-${NGINX_MOGILEFS_VERSION}
427 .endif
428
429 .if ${PORT_OPTIONS:MHTTP_MP4_H264}
430 NGINX_H264_VERSION=     2.2.7
431 MASTER_SITES+=  http://h264.code-shop.com/download/:mp4streaming
432 DISTFILES+=     nginx_mod_h264_streaming-${NGINX_H264_VERSION}.tar.gz:mp4streaming
433 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_mod_h264_streaming-${NGINX_H264_VERSION}
434 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_streaming_module.c
435 .endif
436
437 .if ${PORT_OPTIONS:MHTTP_NOTICE}
438 GIT_NOTICE_VERSION=     0-g3c95966
439 MASTER_SITES+=  https://github.com/kr/nginx-notice/tarball/master/:notice
440 DISTFILES+=     kr-nginx-notice-${GIT_NOTICE_VERSION}.tar.gz:notice
441 CONFIGURE_ARGS+=--add-module=${WRKDIR}/kr-nginx-notice-${GIT_NOTICE_VERSION:S/^0-g//}
442 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_notice_module.c
443 .endif
444
445 .if ${PORT_OPTIONS:MHTTP_PERL}
446 CATEGORIES+=    perl5
447 CONFIGURE_ARGS+=--with-http_perl_module
448 USES+=          perl5
449 .endif
450
451 .if ${PORT_OPTIONS:MHTTP_PUSH}
452 NGINX_PUSH_VERSION=     0.692
453 MASTER_SITES+=  http://pushmodule.slact.net/downloads/:push
454 DISTFILES+=     nginx_http_push_module-${NGINX_PUSH_VERSION}.tar.gz:push
455 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_http_push_module-${NGINX_PUSH_VERSION}
456 .endif
457
458 .if ${PORT_OPTIONS:MHTTP_PUSH_STREAM}
459 NGINX_PUSH_STREAM_VERSION=      0.3.5
460 GIT_PUSH_STREAM_VERSION=        0-gb6a8c46
461 MASTER_SITES+=  https://github.com/wandenberg/nginx-push-stream-module/tarball/${NGINX_PUSH_STREAM_VERSION}/:pushstream
462 DISTFILES+=     wandenberg-nginx-push-stream-module-${NGINX_PUSH_STREAM_VERSION}-${GIT_PUSH_STREAM_VERSION}.tar.gz:pushstream
463 CONFIGURE_ARGS+=--add-module=${WRKDIR}/wandenberg-nginx-push-stream-module-${GIT_PUSH_STREAM_VERSION:S/^0-g//}
464 .endif
465
466 .if ${PORT_OPTIONS:MHTTP_RANDOM_INDEX}
467 CONFIGURE_ARGS+=--with-http_random_index_module
468 .endif
469
470 .if ${PORT_OPTIONS:MHTTP_REALIP}
471 CONFIGURE_ARGS+=--with-http_realip_module
472 .endif
473
474 .if ${PORT_OPTIONS:MHTTP_REDIS}
475 NGINX_REDIS_VERSION=    0.3.7
476 MASTER_SITES+=  ${MASTER_SITE_LOCAL:S/$/:redis/}
477 MASTER_SITE_SUBDIR+=    osa/:redis
478 DISTFILES+=     ngx_http_redis-${NGINX_REDIS_VERSION}.tar.gz:redis
479 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_redis-${NGINX_REDIS_VERSION}
480 .endif
481
482 .if ${PORT_OPTIONS:MHTTP_RESPONSE}
483 NGINX_RESPONSE_VERSION= 0.3
484 MASTER_SITES+=  http://catap.ru/downloads/nginx/:response
485 DISTFILES+=     ngx_http_response-${NGINX_RESPONSE_VERSION}.tar.gz:response
486 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_response-${NGINX_RESPONSE_VERSION}
487 .endif
488
489 .if ${PORT_OPTIONS:MHTTP_SUBS_FILTER}
490 NGINX_HTTP_SUBS_FILTER_VERSION= 0.6.2
491 GIT_HTTP_SUBS_FILTER_VERSION=   0-g27a01b3
492 MASTER_SITES+=  https://github.com/yaoweibin/ngx_http_substitutions_filter_module/tarball/${NGINX_HTTP_SUBS_FILTER_VERSION}/:subs_filter
493 DISTFILES+=     yaoweibin-ngx_http_substitutions_filter_module-${NGINX_HTTP_SUBS_FILTER_VERSION}-${GIT_HTTP_SUBS_FILTER_VERSION}.tar.gz:subs_filter
494 CONFIGURE_ARGS+=--add-module=${WRKDIR}/yaoweibin-ngx_http_substitutions_filter_module-${GIT_HTTP_SUBS_FILTER_VERSION:S/^0-g//}
495 .endif
496
497 .if ${PORT_OPTIONS:MHTTP_SECURE_LINK}
498 CONFIGURE_ARGS+=--with-http_secure_link_module
499 .endif
500
501 .if ${PORT_OPTIONS:MHTTP_STATUS}
502 CONFIGURE_ARGS+=--with-http_stub_status_module
503 .endif
504
505 .if ${PORT_OPTIONS:MHTTP_SUB}
506 CONFIGURE_ARGS+=--with-http_sub_module
507 .endif
508
509 .if ${PORT_OPTIONS:MHTTP_UPLOAD}
510 NGINX_UPLOAD_VERSION=   2.2.0
511 MASTER_SITES+=  http://www.grid.net.ru/nginx/download/:upload
512 DISTFILES+=     nginx_upload_module-${NGINX_UPLOAD_VERSION}.tar.gz:upload
513 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upload_module-${NGINX_UPLOAD_VERSION}
514 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_upload_module.c
515 .endif
516
517 .if ${PORT_OPTIONS:MHTTP_UPLOAD_PROGRESS}
518 NGINX_UPLOADPROGRESS_VERSION=   0.9.0
519 GIT_UPLOADPROGRESS_VERSION=     0-ga788dea
520 MASTER_SITES+=  https://github.com/masterzen/nginx-upload-progress-module/tarball/v${NGINX_UPLOADPROGRESS_VERSION}/:uploadprogress
521 DISTFILES+=     masterzen-nginx-upload-progress-module-v${NGINX_UPLOADPROGRESS_VERSION}-${GIT_UPLOADPROGRESS_VERSION}.tar.gz:uploadprogress
522 CONFIGURE_ARGS+=--add-module=${WRKDIR}/masterzen-nginx-upload-progress-module-${GIT_UPLOADPROGRESS_VERSION:S/^0-g//}
523 .endif
524
525 .if !empty(PORT_OPTIONS:MHTTP_UPSTREAM_FAIR) || !empty(PORT_OPTIONS:MSUPERVISORD)
526 NGINX_UPSTREAM_FAIR_VERSION=    20090923
527 MASTER_SITES+=  ${MASTER_SITE_LOCAL:S/$/:upstreamfair/}
528 MASTER_SITE_SUBDIR+=    osa/:upstreamfair
529 DISTFILES+=     nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION}.tar.gz:upstreamfair
530 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION}
531 .endif
532
533 .if ${PORT_OPTIONS:MHTTP_UPSTREAM_HASH}
534 NGINX_UPSTREAM_HASH_VERSION=    0.3.1
535 MASTER_SITES+=  http://wiki.nginx.org/images/1/11/:upstreamhash
536 DISTFILES+=     Nginx_upstream_hash-${NGINX_UPSTREAM_HASH_VERSION}.tar.gz:upstreamhash
537 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upstream_hash-${NGINX_UPSTREAM_HASH_VERSION}
538 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_upstream.h
539 .endif
540
541 .if ${PORT_OPTIONS:MHTTP_UPSTREAM_STICKY}
542 USE_HTTP_SSL=   yes
543 NGINX_UPSTREAM_STICKY_VERSION=  1.2.4
544 MASTER_SITES+=  https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/:upstreamsticky
545 DISTFILES+=     ${NGINX_UPSTREAM_STICKY_VERSION}.tar.gz:upstreamsticky
546 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-goodies-nginx-sticky-module-ng-c825ea7c5c91/
547 .endif
548
549 .if ${PORT_OPTIONS:MHTTP_XSLT}
550 USE_GNOME=      libxml2 libxslt
551 CONFIGURE_ARGS+=--with-http_xslt_module
552 .endif
553
554 .if ${PORT_OPTIONS:MHTTP_ZIP}
555 NGINX_ZIP_VERSION=      1.1.6
556 MASTER_SITES+=  http://mod-zip.googlecode.com/files/:zip
557 DISTFILES+=     mod_zip-${NGINX_ZIP_VERSION}.tar.gz:zip
558 CONFIGURE_ARGS+=--add-module=${WRKDIR}/mod_zip-${NGINX_ZIP_VERSION}
559 .endif
560
561 .if ${PORT_OPTIONS:MDRIZZLE}
562 LIB_DEPENDS+=   libdrizzle.so:${PORTSDIR}/databases/libdrizzle
563 NGINX_DRIZZLE_VERSION=  0.1.7
564 GIT_DRIZZLE_VERSION=    0-gb83a8a9
565 MASTER_SITES+=  https://github.com/chaoslawful/drizzle-nginx-module/tarball/v${NGINX_DRIZZLE_VERSION}/:drizzle
566 DISTFILES+=     chaoslawful-drizzle-nginx-module-v${NGINX_DRIZZLE_VERSION}-${GIT_DRIZZLE_VERSION}.tar.gz:drizzle
567 CONFIGURE_ARGS+=--add-module=${WRKDIR}/chaoslawful-drizzle-nginx-module-${GIT_DRIZZLE_VERSION:S/^0-g//}
568 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-chaoslawful-drizzle-nginx-module-config
569 .endif
570
571 .if ${PORT_OPTIONS:MARRAYVAR} || ${PORT_OPTIONS:MENCRYPTSESSION} || ${PORT_OPTIONS:MFORMINPUT} || ${PORT_OPTIONS:MICONV} || ${PORT_OPTIONS:MLUA} || ${PORT_OPTIONS:MSET_MISC}
572 NGINX_DEVEL_KIT_VERSION=        0.2.19
573 GIT_DEVEL_KIT_VERSION=  0-g8dd0df5
574 MASTER_SITES+=  https://github.com/simpl/ngx_devel_kit/tarball/v${NGINX_DEVEL_KIT_VERSION}/:devel_kit
575 DISTFILES+=     simpl-ngx_devel_kit-v${NGINX_DEVEL_KIT_VERSION}-${GIT_DEVEL_KIT_VERSION}.tar.gz:devel_kit
576 CONFIGURE_ARGS+=--add-module=${WRKDIR}/simpl-ngx_devel_kit-${GIT_DEVEL_KIT_VERSION:S/^0-g//}
577 .endif
578
579 .if ${PORT_OPTIONS:MENCRYPTSESSION}
580 NGINX_ENCRYPTSESSION_VERSION=   0.03
581 GIT_ENCRYPTSESSION_VERSION=     0-g49d741b
582 MASTER_SITES+=  https://github.com/openresty/encrypted-session-nginx-module/tarball/v${NGINX_ENCRYPTSESSION_VERSION}/:encryptsession
583 DISTFILES+=     openresty-encrypted-session-nginx-module-v${NGINX_ENCRYPTSESSION_VERSION}-${GIT_ENCRYPTSESSION_VERSION}.tar.gz:encryptsession
584 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-encrypted-session-nginx-module-${GIT_ENCRYPTSESSION_VERSION:S/^0-g//}
585 .endif
586
587 .if ${PORT_OPTIONS:MGRIDFS}
588 NGINX_GRIDFS_VERSION=   0.8
589 GIT_GRIDFS_VERSION=     0-gb5f8113
590 MONGO_C_DRIVER_VERSION=         0.3.1
591 GIT_MONGO_C_DRIVER_VERSION=     0-g9b4b232
592 MASTER_SITES+=  https://github.com/mdirolf/nginx-gridfs/tarball/v${NGINX_GRIDFS_VERSION}/:gridfs
593 MASTER_SITES+=  https://github.com/mongodb/mongo-c-driver/tarball/v${MONGO_C_DRIVER_VERSION}/:mongo_c
594 DISTFILES+=     mdirolf-nginx-gridfs-v${NGINX_GRIDFS_VERSION}-${GIT_GRIDFS_VERSION}.tar.gz:gridfs
595 DISTFILES+=     mongodb-mongo-c-driver-v${MONGO_C_DRIVER_VERSION}-${GIT_MONGO_C_DRIVER_VERSION}.tar.gz:mongo_c
596 CONFIGURE_ARGS+=--add-module=${WRKDIR}/mdirolf-nginx-gridfs-${GIT_GRIDFS_VERSION:S/^0-g//}
597 .endif
598
599 .if ${PORT_OPTIONS:MLET}
600 NGINX_LET_VERSION=      0.0.4
601 GIT_LET_VERSION=        0-ga5e1dc5
602 MASTER_SITES+=  https://github.com/arut/nginx-let-module/tarball/v${NGINX_LET_VERSION}/:let
603 DISTFILES+=     arut-nginx-let-module-v${NGINX_LET_VERSION}-${GIT_LET_VERSION}.tar.gz:let
604 CONFIGURE_ARGS+=--add-module=${WRKDIR}/arut-nginx-let-module-${GIT_LET_VERSION:S/^0-g//}
605 .endif
606
607 .if ${PORT_OPTIONS:MLUA}
608 LIB_DEPENDS+=   libluajit-5.1.so:${PORTSDIR}/lang/luajit
609 CONFIGURE_ENV+= "LUAJIT_INC=${LOCALBASE}/include/luajit-2.0"
610 CONFIGURE_ENV+= "LUAJIT_LIB=${LOCALBASE}/lib"
611 NGINX_LUA_VERSION=      0.9.4
612 GIT_LUA_VERSION=        0-g6169a19
613 MASTER_SITES+=  https://github.com/openresty/lua-nginx-module/tarball/v${NGINX_LUA_VERSION}/:lua
614 DISTFILES+=     openresty-lua-nginx-module-v${NGINX_LUA_VERSION}-${GIT_LUA_VERSION}.tar.gz:lua
615 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-lua-nginx-module-${GIT_LUA_VERSION:S/^0-g//}
616 .endif
617
618 .if ${PORT_OPTIONS:MMEMC}
619 NGINX_MEMC_VERSION=     0.14
620 GIT_MEMC_VERSION=       0-gde4cf86
621 MASTER_SITES+=  https://github.com/openresty/memc-nginx-module/tarball/v${NGINX_MEMC_VERSION}/:memc
622 DISTFILES+=     openresty-memc-nginx-module-v${NGINX_MEMC_VERSION}-${GIT_MEMC_VERSION}.tar.gz:memc
623 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-memc-nginx-module-${GIT_MEMC_VERSION:S/^0-g//}
624 .endif
625
626 .if ${PORT_OPTIONS:MMODSECURITY}
627 NGINX_MODSECURITY_VERSION=      2.8.0
628 LIB_DEPENDS+=   libpcre.so:${PORTSDIR}/devel/pcre \
629                 libapr-1.so:${PORTSDIR}/devel/apr1 \
630                 libyajl.so:${PORTSDIR}/devel/yajl
631 USE_APACHE=     22+
632 USE_GNOME=      libxml2
633 MASTER_SITES+=  http://www.modsecurity.org/tarball/${NGINX_MODSECURITY_VERSION}/:modsecurity
634 DISTFILES+=     modsecurity-${NGINX_MODSECURITY_VERSION}.tar.gz:modsecurity
635 CONFIGURE_ARGS+=--add-module=${WRKDIR}/modsecurity-${NGINX_MODSECURITY_VERSION}/nginx/modsecurity
636 EXTRA_PATCHES+=         ${PATCHDIR}/extra-patch-nginx-modsecurity-configure
637 .endif
638
639 .if ${PORT_OPTIONS:MNAXSI}
640 NGINX_NAXSI_VERSION=    0.50
641 MASTER_SITES+=  http://naxsi.googlecode.com/files/:naxsi
642 DISTFILES+=     naxsi-core-${NGINX_NAXSI_VERSION}.tgz:naxsi
643 CONFIGURE_ARGS+=--add-module=${WRKDIR}/naxsi-core-${NGINX_NAXSI_VERSION}/naxsi_src
644 .endif
645
646 .if ${PORT_OPTIONS:MHTTP_REWRITE} || defined(USE_HTTP_REWRITE)
647 LIB_DEPENDS+=   libpcre.so:${PORTSDIR}/devel/pcre
648 CONFIGURE_ARGS+=--with-pcre
649 .else
650 PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-nopcre
651 CONFIGURE_ARGS+=--without-http_rewrite_module \
652                 --without-pcre
653 .endif
654
655 .if ${PORT_OPTIONS:MPASSENGER}
656 PASSENGER_VERSION=      4.0.53
657 MASTER_SITES+=  http://s3.amazonaws.com/phusion-passenger/releases/:passenger
658 DISTFILES+=     passenger-${PASSENGER_VERSION}.tar.gz:passenger
659 CONFIGURE_ARGS+=--add-module=${WRKDIR}/passenger-${PASSENGER_VERSION}/ext/nginx
660 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-passenger-build-nginx.rb
661 .if empty(PORT_OPTIONS:MDEBUG)
662 CONFIGURE_ENV+= OPTIMIZE="yes"
663 CFLAGS+=        -DNDEBUG
664 .endif
665 .endif
666
667 .if ${PORT_OPTIONS:MPOSTGRES}
668 IGNORE= POSTGRES: update require
669 USES+=  pgsql
670 NGINX_POSTGRES_VERSION= 0.9
671 MASTER_SITES+=  http://labs.frickle.com/files/:postgres
672 DISTFILES+=     ngx_postgres-${NGINX_POSTGRES_VERSION}.tar.gz:postgres
673 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_postgres-${NGINX_POSTGRES_VERSION}
674 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_postgres-config
675 .endif
676
677 .if ${PORT_OPTIONS:MRDS_CSV}
678 NGINX_RDS_CSV_VERSION=  0.05
679 GIT_RDS_CSV_VERSION=    0-g607e26b
680 MASTER_SITES+=  https://github.com/openresty/rds-csv-nginx-module/tarball/v${NGINX_RDS_CSV_VERSION}/:rdscsv
681 DISTFILES+=     openresty-rds-csv-nginx-module-v${NGINX_RDS_CSV_VERSION}-${GIT_RDS_CSV_VERSION}.tar.gz:rdscsv
682 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-rds-csv-nginx-module-${GIT_RDS_CSV_VERSION:S/^0-g//}
683 .endif
684
685 .if ${PORT_OPTIONS:MRDS_JSON}
686 NGINX_RDS_JSON_VERSION= 0.13
687 GIT_RDS_JSON_VERSION=   0-g8292070
688 MASTER_SITES+=  https://github.com/openresty/rds-json-nginx-module/tarball/v${NGINX_RDS_JSON_VERSION}/:rdsjson
689 DISTFILES+=     openresty-rds-json-nginx-module-v${NGINX_RDS_JSON_VERSION}-${GIT_RDS_JSON_VERSION}.tar.gz:rdsjson
690 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-rds-json-nginx-module-${GIT_RDS_JSON_VERSION:S/^0-g//}
691 .endif
692
693 .if ${PORT_OPTIONS:MREDIS2}
694 NGINX_REDIS2_VERSION=   0.10
695 GIT_REDIS2_VERSION=     0-g78a7622
696 MASTER_SITES+=  https://github.com/openresty/redis2-nginx-module/tarball/v${NGINX_REDIS2_VERSION}/:redis2
697 DISTFILES+=     openresty-redis2-nginx-module-v${NGINX_REDIS2_VERSION}-${GIT_REDIS2_VERSION}.tar.gz:redis2
698 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-redis2-nginx-module-${GIT_REDIS2_VERSION:S/^0-g//}
699 .endif
700
701 .if ${PORT_OPTIONS:MRTMP}
702 NGINX_RTMP_VERSION=     1.1.5
703 MASTER_SITES+=  https://github.com/arut/nginx-rtmp-module/archive/v${NGINX_RTMP_VERSION}/:rtmp
704 DISTFILES+=     rtmp-nginx-module-v${NGINX_RTMP_VERSION}.tar.gz:rtmp
705 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-rtmp-module-${NGINX_RTMP_VERSION}
706 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-arut-rtmp-module
707 .endif
708
709 .if ${PORT_OPTIONS:MSET_MISC}
710 NGINX_SET_MISC_VERSION= 0.24
711 GIT_SET_MISC_VERSION=   0-g36fd035
712 MASTER_SITES+=  https://github.com/openresty/set-misc-nginx-module/tarball/v${NGINX_SET_MISC_VERSION}/:setmisc
713 DISTFILES+=     openresty-set-misc-nginx-module-v${NGINX_SET_MISC_VERSION}-${GIT_SET_MISC_VERSION}.tar.gz:setmisc
714 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-set-misc-nginx-module-${GIT_SET_MISC_VERSION:S/^0-g//}
715 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-openresty-set-misc-nginx-module-config
716 .endif
717
718 .if ${PORT_OPTIONS:MSFLOW}
719 NGINX_SFLOW_VERSION=    0.9.7
720 MASTER_SITES+=  http://nginx-sflow-module.googlecode.com/files/:sflow
721 DISTFILES+=     nginx-sflow-module-${NGINX_SFLOW_VERSION}.tar.gz:sflow
722 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-sflow-module-${NGINX_SFLOW_VERSION}
723 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_sflow_config.c \
724                 ${PATCHDIR}/extra-patch-ngx_http_sflow_config.h
725 .endif
726
727 .if ${PORT_OPTIONS:MSLOWFS_CACHE}
728 NGINX_SLOWFS_CACHE_VERSION=     1.10
729 MASTER_SITES+=  http://labs.frickle.com/files/:slowfs_cache
730 DISTFILES+=     ngx_slowfs_cache-${NGINX_SLOWFS_CACHE_VERSION}.tar.gz:slowfs_cache
731 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_slowfs_cache-${NGINX_SLOWFS_CACHE_VERSION}
732 .endif
733
734 .if ${PORT_OPTIONS:MSRCACHE}
735 NGINX_SRCACHE_VERSION=  0.25
736 GIT_SRCACHE_VERSION=    0-gf25fe90
737 MASTER_SITES+=  https://github.com/openresty/srcache-nginx-module/tarball/v${NGINX_SRCACHE_VERSION}/:srcache
738 DISTFILES+=     openresty-srcache-nginx-module-v${NGINX_SRCACHE_VERSION}-${GIT_SRCACHE_VERSION}.tar.gz:srcache
739 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-srcache-nginx-module-${GIT_SRCACHE_VERSION:S/^0-g//}
740 .endif
741
742 .if ${PORT_OPTIONS:MSUPERVISORD}
743 NGINX_SUPERVISORD_VERSION=      1.4
744 MASTER_SITES+=  http://labs.frickle.com/files/:supervisord
745 DISTFILES+=     ngx_supervisord-${NGINX_SUPERVISORD_VERSION}.tar.gz:supervisord
746 CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_supervisord-${NGINX_SUPERVISORD_VERSION}
747 .endif
748
749 .if ${PORT_OPTIONS:MSYSLOG_SUPPORT}
750 #GIT_SYSLOG_PATCH_VERSION=3ca5ba65541637f74467038aa032e2586321d0cb
751 GIT_SYSLOG_PATCH_VERSION=3ca5ba6
752 MASTER_SITES+=  https://github.com/yaoweibin/nginx_syslog_patch/tarball/${GIT_SYSLOG_PATCH_VERSION}/:syslog_patch
753 DISTFILES+=     nginx_syslog_patch-${GIT_SYSLOG_PATCH_VERSION}.tar.gz:syslog_patch
754 CONFIGURE_ARGS+=        --add-module=${WRKDIR}/yaoweibin-nginx_syslog_patch-${GIT_SYSLOG_PATCH_VERSION}
755 .endif
756
757 .if ${PORT_OPTIONS:MTCP_PROXY}
758 IGNORE= TCP_PROXY: update require
759 NGINX_TCP_PROXY_VERSION=        0.26
760 GIT_TCP_PROXY_VERSION=  0-gb83e5a6
761 MASTER_SITES+=  https://github.com/yaoweibin/nginx_tcp_proxy_module/tarball/v${NGINX_TCP_PROXY_VERSION}/:tcp_proxy
762 DISTFILES+=     yaoweibin-nginx_tcp_proxy_module-v${NGINX_TCP_PROXY_VERSION}-${GIT_TCP_PROXY_VERSION}.tar.gz:tcp_proxy
763 CONFIGURE_ARGS+=--add-module=${WRKDIR}/yaoweibin-nginx_tcp_proxy_module-${GIT_TCP_PROXY_VERSION:S/^0-g//}
764 .endif
765
766 .if ${PORT_OPTIONS:MUDPLOG}
767 NGINX_UDPLOG_VERSION=   1.0.0
768 MASTER_SITES+=  http://www.grid.net.ru/nginx/download/:udplog
769 DISTFILES+=     nginx_udplog_module-${NGINX_UDPLOG_VERSION}.tar.gz:udplog
770 CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_udplog_module-${NGINX_UDPLOG_VERSION}
771 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-ngx_http_udplog_module.c
772 .endif
773
774 .if ${PORT_OPTIONS:MXRID_HEADER}
775 GIT_XRID_VERSION=       0daa3cc
776 MASTER_SITES+=  https://github.com/gabor/nginx-x-rid-header/tarball/master/:xrid
777 DISTFILES+=     gabor-nginx-x-rid-header-${GIT_XRID_VERSION}.tar.gz:xrid
778 CONFIGURE_ARGS+=--add-module=${WRKDIR}/gabor-nginx-x-rid-header-${GIT_XRID_VERSION}
779 .endif
780
781 .if ${PORT_OPTIONS:MXSS}
782 NGINX_XSS_VERSION=      0.04
783 GIT_XSS_VERSION=        0-g7e37038
784 MASTER_SITES+=  https://github.com/openresty/xss-nginx-module/tarball/v${NGINX_XSS_VERSION}/:xss
785 DISTFILES+=     openresty-xss-nginx-module-v${NGINX_XSS_VERSION}-${GIT_XSS_VERSION}.tar.gz:xss
786 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-xss-nginx-module-${GIT_XSS_VERSION:S/^0-g//}
787 .endif
788
789 .if ${PORT_OPTIONS:MSPDY}
790 NGINX_OPENSSL=  yes
791 USE_HTTP_SSL=   yes
792 CONFIGURE_ARGS+=--with-http_spdy_module
793 .endif
794
795 .if ${PORT_OPTIONS:MWWW}
796 PLIST_SUB+=     WWWDATA=""
797 .else
798 PLIST_SUB+=     WWWDATA="@comment "
799 .endif
800
801 .else
802 CONFIGURE_ARGS+=--without-http
803 PLIST_SUB+=     WWWDATA="@comment "
804 .endif          # WITH_HTTP
805
806 .if ${PORT_OPTIONS:MMAIL}
807 CONFIGURE_ARGS+=--with-mail
808 .if empty(PORT_OPTIONS:MMAIL_IMAP)
809 CONFIGURE_ARGS+=--without-mail_imap_module
810 .endif
811 .if empty(PORT_OPTIONS:MMAIL_POP3)
812 CONFIGURE_ARGS+=--without-mail_pop3_module
813 .endif
814 .if empty(PORT_OPTIONS:MMAIL_SMTP)
815 CONFIGURE_ARGS+=--without-mail_smtp_module
816 .endif
817 .if ${PORT_OPTIONS:MMAIL_SSL}
818 NGINX_OPENSSL=  yes
819 CONFIGURE_ARGS+=--with-mail_ssl_module
820 .endif
821 .endif          # WITH_MAIL
822
823 .if ${PORT_OPTIONS:MHTTP_SSL} || defined(USE_HTTP_SSL)
824 NGINX_OPENSSL=  yes
825 CONFIGURE_ARGS+=--with-http_ssl_module
826 .endif
827
828 .if ${PORT_OPTIONS:MARRAYVAR}
829 NGINX_ARRAYVAR_VERSION= 0.03
830 GIT_ARRAYVAR_VERSION=   0-g4676747
831 MASTER_SITES+=  https://github.com/openresty/array-var-nginx-module/tarball/v${NGINX_ARRAYVAR_VERSION}/:arrayvar
832 DISTFILES+=     openresty-array-var-nginx-module-v${NGINX_ARRAYVAR_VERSION}-${GIT_ARRAYVAR_VERSION}.tar.gz:arrayvar
833 CONFIGURE_ARGS+=--add-module=${WRKDIR}/openresty-array-var-nginx-module-${GIT_ARRAYVAR_VERSION:S/^0-g//}
834 .endif
835
836 .if ${PORT_OPTIONS:MFORMINPUT}
837 NGINX_FORMINPUT_VERSION=        0.07
838 GIT_FORMINPUT_VERSION=  0-g78de845
839 MASTER_SITES+=  https://github.com/calio/form-input-nginx-module/tarball/v${NGINX_FORMINPUT_VERSION}/:forminput
840 DISTFILES+=     calio-form-input-nginx-module-v${NGINX_FORMINPUT_VERSION}-${GIT_FORMINPUT_VERSION}.tar.gz:forminput
841 CONFIGURE_ARGS+=--add-module=${WRKDIR}/calio-form-input-nginx-module-${GIT_FORMINPUT_VERSION:S/^0-g//}
842 .endif
843
844 .if ${PORT_OPTIONS:MICONV}
845 USES+=          iconv
846 NGINX_ICONV_VERSION=    0.10
847 GIT_ICONV_VERSION=      0-gb37efb5
848 MASTER_SITES+=  https://github.com/calio/iconv-nginx-module/tarball/v${NGINX_ICONV_VERSION}/:iconv
849 DISTFILES+=     calio-iconv-nginx-module-v${NGINX_ICONV_VERSION}-${GIT_ICONV_VERSION}.tar.gz:iconv
850 CONFIGURE_ARGS+=--add-module=${WRKDIR}/calio-iconv-nginx-module-${GIT_ICONV_VERSION:S/^0-g//}
851 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-calio-iconv-nginx-module-config
852 .endif
853
854 PLIST_SUB+=     NGINX_TMPDIR=${NGINX_TMPDIR} WWWOWN=${WWWOWN} WWWGRP=${WWWGRP}
855
856 USERS?= ${WWWOWN}
857 GROUPS?=${WWWGRP}
858
859 .if defined(NGINX_OPENSSL)
860 USE_OPENSSL=    yes
861 .if ${PORT_OPTIONS:MSPDY}
862 .if ${OSVERSION} < 1000028
863 WITH_OPENSSL_PORT=      yes
864 .endif
865 .endif
866 .endif
867
868 pre-everything::
869         @${ECHO_MSG}
870 .if ${PORT_OPTIONS:MHTTP_UPSTREAM_FAIR}
871         @${ECHO_MSG} "Enable http_ssl module to build upstream_fair with SSL support"
872 .endif
873 .if ${PORT_OPTIONS:MPASSENGER}
874         @${ECHO_MSG} "This port install Passenger module only"
875 .endif
876         @${ECHO_MSG}
877
878 post-extract:
879 .if ${PORT_OPTIONS:MGRIDFS}
880         @${RMDIR} ${WRKDIR}/mdirolf-nginx-gridfs-${GIT_GRIDFS_VERSION:S/^0-g//}/mongo-c-driver/
881         @${MV} \
882         ${WRKDIR}/mongodb-mongo-c-driver-${GIT_MONGO_C_DRIVER_VERSION:S/^0-g//}/ \
883         ${WRKDIR}/mdirolf-nginx-gridfs-${GIT_GRIDFS_VERSION:S/^0-g//}/mongo-c-driver/
884 .endif
885
886 post-patch:
887         @${REINPLACE_CMD} 's!%%HTTP_PORT%%!${HTTP_PORT}!; \
888                 s!%%PREFIX%%!${PREFIX}!' \
889                 ${WRKSRC}/conf/nginx.conf
890 .if ${PORT_OPTIONS:MHTTP_ACCESSKEY}
891         @${REINPLACE_CMD} \
892                 's!$$HTTP_ACCESSKEY_MODULE!ngx_http_accesskey_module!' \
893                 ${WRKDIR}/nginx-accesskey-${NGINX_ACCESSKEY_VERSION}/config
894 .endif
895 # linker error acquire if --std=c99 defined, add "static" to inline function
896 .if ${PORT_OPTIONS:MHTTP_ZIP}
897         @${REINPLACE_CMD} \
898                 's!^inline!static inline!' \
899                 ${WRKDIR}/mod_zip-${NGINX_ZIP_VERSION}/ngx_http_zip_parsers.*
900 .endif
901 .if ${PORT_OPTIONS:MDRIZZLE}
902         @${REINPLACE_CMD} \
903                 's!%%PREFIX%%!${LOCALBASE}!g' \
904                 ${WRKDIR}/chaoslawful-drizzle-nginx-module-${GIT_DRIZZLE_VERSION:S/^0-g//}/config
905 .endif
906 # Respect CFLAGS by remove needless --std=c99 flag
907 .if ${PORT_OPTIONS:MGRIDFS}
908         @${REINPLACE_CMD} \
909                 's!--std=c99!-DMONGO_HAVE_STDINT!' \
910                 ${WRKDIR}/mdirolf-nginx-gridfs-${GIT_GRIDFS_VERSION:S/^0-g//}/config
911 .endif
912 .if ${PORT_OPTIONS:MPASSENGER}
913         @${REINPLACE_CMD} \
914                 '177,179s!true!false!' \
915                 ${WRKDIR}/passenger-${PASSENGER_VERSION}/build/basics.rb
916         @${REINPLACE_CMD} \
917                 's!-I/usr/include/libev!!; \
918                 s!-lev!!; \
919                 s!-Iext/libev!!; \
920                 s!-I/usr/include/libeio!!; \
921                 s!-leio!!; \
922                 s!-Iext/libeio!!' \
923                 ${WRKDIR}/passenger-${PASSENGER_VERSION}/build/common_library.rb
924         @${REINPLACE_CMD} \
925                 's!-lpthread!${PTHREAD_LIBS}!g' \
926                 ${WRKDIR}/passenger-${PASSENGER_VERSION}/lib/phusion_passenger/platform_info/cxx_portability.rb
927 .endif
928 .if ${PORT_OPTIONS:MPOSTGRES}
929         @${REINPLACE_CMD} \
930                 's!%%PREFIX%%!${LOCALBASE}!g' \
931                 ${WRKDIR}/ngx_postgres-${NGINX_POSTGRES_VERSION}/config
932 .endif
933 .if ${PORT_OPTIONS:MSFLOW}
934         @${REINPLACE_CMD} \
935                 's!%%PREFIX%%!${LOCALBASE}!g' \
936                 ${WRKDIR}/nginx-sflow-module-${NGINX_SFLOW_VERSION}/ngx_http_sflow_config.h
937 .endif
938 .if ${PORT_OPTIONS:MSPDY}
939 .if ${PORT_OPTIONS:MDRIZZLE}
940         @${REINPLACE_CMD} '589d' \
941                 ${WRKDIR}/chaoslawful-drizzle-nginx-module-${GIT_DRIZZLE_VERSION:S/^0-g//}/src/ngx_http_drizzle_util.c
942 .endif
943 .if ${PORT_OPTIONS:MLUA}
944         @${REINPLACE_CMD} '464d' \
945                 ${WRKDIR}/openresty-lua-nginx-module-${GIT_LUA_VERSION:S/^0-g//}/src/ngx_http_lua_socket_tcp.c
946 .endif
947 .endif
948 .if ${PORT_OPTIONS:MSUPERVISORD}
949         ( cd ${WRKDIR}/nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION} && \
950                 ${PATCH} -p0 < \
951                         ${WRKDIR}/ngx_supervisord-${NGINX_SUPERVISORD_VERSION}/patches/ngx_http_upstream_fair_module.patch )
952         ( cd ${WRKSRC} && \
953                 ${PATCH} -p0 < \
954                         ${WRKDIR}/ngx_supervisord-${NGINX_SUPERVISORD_VERSION}/patches/ngx_http_upstream_init_busy-0.8.17.patch )
955 .endif
956 .if ${PORT_OPTIONS:MTCP_PROXY}
957         ( cd ${WRKSRC} && \
958                 ${PATCH} -p1 < \
959                         ${WRKDIR}/yaoweibin-nginx_tcp_proxy_module-${GIT_TCP_PROXY_VERSION:S/^0-g//}/tcp.patch )
960 .endif
961 .if ${PORT_OPTIONS:MSYSLOG_SUPPORT}
962         ( cd ${WRKSRC} && \
963                 ${PATCH} -p1 < \
964                         ${WRKDIR}/yaoweibin-nginx_syslog_patch-${GIT_SYSLOG_PATCH_VERSION}/syslog-1.5.6.patch )
965 .endif
966 .if ${PORT_OPTIONS:MICONV}
967         @${REINPLACE_CMD} \
968                 's!%%PREFIX%%!${LOCALBASE}!g' \
969                 ${WRKDIR}/calio-iconv-nginx-module-${GIT_ICONV_VERSION:S/^0-g//}/config
970 .endif
971 .if ${PORT_OPTIONS:MMODSECURITY}
972         @${REINPLACE_CMD} \
973                 's!%%PREFIX%%!${LOCALBASE}!g' \
974                 ${WRKDIR}/modsecurity-${NGINX_MODSECURITY_VERSION}/configure
975 .endif
976
977 pre-configure:
978 .if ${PORT_OPTIONS:MMODSECURITY}
979         ( cd ${WRKDIR}/modsecurity-${NGINX_MODSECURITY_VERSION} && \
980                 CC="${CC}" ./${CONFIGURE_SCRIPT} --enable-standalone-module && \
981                 ${MAKE} )
982 .endif
983
984 do-build:
985         @cd ${WRKSRC} && ${MAKE}
986
987 do-install:
988         ${MKDIR} ${STAGEDIR}${ETCDIR}
989         ${INSTALL_PROGRAM} ${WRKSRC}/objs/nginx ${STAGEDIR}${PREFIX}/sbin
990 .for i in koi-utf koi-win win-utf
991         ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}
992 .endfor
993 .for i in fastcgi_params mime.types nginx.conf scgi_params uwsgi_params
994         ${INSTALL_DATA} ${WRKSRC}/conf/${i} ${STAGEDIR}${ETCDIR}/${i}-dist
995 .endfor
996 .if !empty(PORT_OPTIONS:MHTTP) && !empty(PORT_OPTIONS:MWWW)
997         ${MKDIR} ${STAGEDIR}${PREFIX}/www/nginx-dist
998 .for i in index.html 50x.html
999         ${INSTALL_DATA} ${WRKSRC}/html/${i} ${STAGEDIR}${PREFIX}/www/nginx-dist
1000 .endfor
1001         ${ECHO_CMD} "" >>${STAGEDIR}${PREFIX}/www/nginx-dist/EXAMPLE_DIRECTORY-DONT_ADD_OR_TOUCH_ANYTHING
1002 .endif
1003
1004 .if !empty(PORT_OPTIONS:MHTTP) && !empty(PORT_OPTIONS:MHTTP_PERL)
1005         ${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx
1006         ${INSTALL_PROGRAM} ${WRKSRC}/objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so \
1007                 ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx
1008         ${INSTALL_DATA} ${WRKSRC}/objs/src/http/modules/perl/blib/lib/nginx.pm \
1009                 ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}/
1010 .endif
1011
1012 .if ${PORT_OPTIONS:MNAXSI}
1013         ${INSTALL_DATA} \
1014         ${WRKDIR}/naxsi-core-${NGINX_NAXSI_VERSION}/naxsi_config/naxsi_core.rules \
1015         ${STAGEDIR}${ETCDIR}
1016 .endif
1017
1018 post-install:
1019 .if !empty(PORT_OPTIONS:MHTTP) && !empty(PORT_OPTIONS:MHTTP_PERL)
1020         ${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx/nginx.so >> ${TMPPLIST}
1021         ${ECHO_CMD} ${SITE_PERL_REL}/${PERL_ARCH}/nginx.pm >> ${TMPPLIST}
1022         ${ECHO_CMD} @dirrm ${SITE_PERL_REL}/${PERL_ARCH}/auto/nginx >> ${TMPPLIST}
1023 .endif
1024         @${INSTALL_MAN} ${WRKSRC}/objs/nginx.8 ${STAGEDIR}${MAN8PREFIX}/man/man8
1025
1026 .if ${PORT_OPTIONS:MNAXSI}
1027         ${ECHO_CMD} etc/nginx/naxsi_core.rules >> ${TMPPLIST}
1028 .endif
1029
1030 .include <bsd.port.mk>