diff options
-rw-r--r-- | www/nginx-devel/Makefile | 4 | ||||
-rw-r--r-- | www/nginx/Makefile | 124 | ||||
-rw-r--r-- | www/nginx/distinfo | 30 | ||||
-rw-r--r-- | www/nginx/files/extra-patch-ngx_http_fancyindex_module.c | 37 | ||||
-rw-r--r-- | www/nginx/files/nginx.sh.in | 49 |
5 files changed, 228 insertions, 16 deletions
diff --git a/www/nginx-devel/Makefile b/www/nginx-devel/Makefile index 0389c4156f0a..4098e69727b2 100644 --- a/www/nginx-devel/Makefile +++ b/www/nginx-devel/Makefile @@ -17,6 +17,8 @@ PKGNAMESUFFIX= -devel MAINTAINER= osa@FreeBSD.org COMMENT= Robust and small WWW server +IGNORE= The same version available in www/nginx + OPTIONS= DEBUG "Enable nginx debugging" off \ IPV6 "Enable IPv6" off \ GOOGLE_PERFTOOLS "Enable google perftools module" off \ @@ -69,7 +71,7 @@ NGINX_RUNDIR?= ${NGINX_VARDIR}/run NGINX_TMPDIR?= ${NGINX_VARDIR}/tmp/nginx HTTP_PORT?= 80 -CONFLICTS?= nginx-0.6.* +CONFLICTS?= nginx-0.7.* USE_RC_SUBR= nginx.sh SUB_LIST+= RC_SUBR_SUFFIX=${RC_SUBR_SUFFIX} WWWOWN=${WWWOWN} diff --git a/www/nginx/Makefile b/www/nginx/Makefile index b079b3402d82..2df9fc58a048 100644 --- a/www/nginx/Makefile +++ b/www/nginx/Makefile @@ -6,7 +6,7 @@ # PORTNAME= nginx -PORTVERSION= 0.6.37 +PORTVERSION= 0.7.59 CATEGORIES= www MASTER_SITES= http://sysoev.ru/nginx/ MASTER_SITES+= ${MASTER_SITE_LOCAL} @@ -17,29 +17,49 @@ MAINTAINER= osa@FreeBSD.org COMMENT= Robust and small WWW server OPTIONS= DEBUG "Enable nginx debugging" off \ + IPV6 "Enable IPv6" off \ GOOGLE_PERFTOOLS "Enable google perftools module" off \ HTTP_MODULE "Enable HTTP module" on \ HTTP_ACCESSKEY_MODULE "Enable http_accesskey module" off \ HTTP_ADDITION_MODULE "Enable http_addition module" off \ HTTP_DAV_MODULE "Enable http_webdav module" off \ + HTTP_FANCYINDEX_MODULE "Enable http_fancyindex module" off \ HTTP_FLV_MODULE "Enable http_flv module" off \ HTTP_GZIP_STATIC_MODULE "Enable http_gzip_static module" off \ + HTTP_MOGILEFS_MODULE "Enable mogilefs module" off \ HTTP_PERL_MODULE "Enable http_perl module" off \ + HTTP_RANDOM_INDEX_MODULE "Enable http_random_index module" off \ HTTP_REALIP_MODULE "Enable http_realip module" off \ + HTTP_RESPONSE_MODULE "Enable http_response module" off \ HTTP_REWRITE_MODULE "Enable http_rewrite module" on \ + HTTP_SECURE_LINK_MODULE "Enable http_secure_link module" off \ HTTP_SSL_MODULE "Enable http_ssl module" off \ HTTP_STATUS_MODULE "Enable http_stub_status module" on \ HTTP_SUB_MODULE "Enable http_sub module" off \ + HTTP_UPLOAD_MODULE "Enable upload module" off \ + HTTP_UPLOAD_PROGRESS "Enable upload_progress module" off \ HTTP_UPSTREAM_FAIR "Enable upstream fair module" off \ + HTTP_UPSTREAM_KEEPALIVE "Enable upstream keepalive module" off \ + HTTP_XSLT_MODULE "Enable http_xslt module" off \ + HTTP_ZIP_MODULE "Enable http_zip module" off \ MAIL_MODULE "Enable IMAP4/POP3/SMTP proxy module" off \ MAIL_IMAP_MODULE "Enable IMAP4 proxy module" off \ MAIL_POP3_MODULE "Enable POP3 proxy module" off \ MAIL_SMTP_MODULE "Enable SMTP proxy module" off \ MAIL_SSL_MODULE "Enable mail_ssl module" off \ + PASSENGER_MODULE "Enable passenger module" off \ WWW "Enable html sample files" on +WANT_GNOME= yes MAKE_JOBS_SAFE= yes +.include <bsd.port.options.mk> + +.if defined(WITH_PASSENGER_MODULE) +USE_RUBY= yes +USE_RAKE= yes +.endif + .include <bsd.port.pre.mk> NGINX_VARDIR?= /var @@ -73,6 +93,11 @@ CONFIGURE_ARGS+=--with-debug STRIP= #do not strip if nginx with debug information .endif +.if defined(WITH_IPV6) +CONFIGURE_ARGS+=--with-ipv6 +CATEGORIES+= ipv6 +.endif + .if defined(WITH_GOOGLE_PERFTOOLS) LIB_DEPENDS+= profiler.0:${PORTSDIR}/devel/google-perftools CONFIGURE_ARGS+=--with-google_perftools_module @@ -100,6 +125,15 @@ CONFIGURE_ARGS+=--with-http_addition_module CONFIGURE_ARGS+=--with-http_dav_module .endif +.if defined(WITH_HTTP_FANCYINDEX_MODULE) +NGINX_FANCYINDEX_MODULE_VERSION= 0.1b5 +MASTER_SITES+= http://furi-ku.org/nginx/fancyindex/:fancyindex +MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:fancyindex/} +MASTER_SITE_SUBDIR+= osa/:fancyindex +DISTFILES+= nginx-fancyindex-${NGINX_FANCYINDEX_MODULE_VERSION:S/b/_beta/}.tar.bz2:fancyindex +CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx-fancyindex-${NGINX_FANCYINDEX_MODULE_VERSION:S/b/_beta/} +.endif + .if defined(WITH_HTTP_FLV_MODULE) CONFIGURE_ARGS+=--with-http_flv_module .endif @@ -108,16 +142,38 @@ CONFIGURE_ARGS+=--with-http_flv_module CONFIGURE_ARGS+=--with-http_gzip_static_module .endif +.if defined(WITH_HTTP_MOGILEFS_MODULE) +NGINX_MOGILEFS_MODULE_VERSION= 1.0.1 +MASTER_SITES+= http://www.grid.net.ru/nginx/download/:mogilefs +DISTFILES+= nginx_mogilefs_module-${NGINX_MOGILEFS_MODULE_VERSION}.tar.gz:mogilefs +CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_mogilefs_module-${NGINX_MOGILEFS_MODULE_VERSION} +.endif + .if defined(WITH_HTTP_PERL_MODULE) CATEGORIES+= perl5 CONFIGURE_ARGS+=--with-http_perl_module USE_PERL5= yes .endif +.if defined(WITH_HTTP_RANDOM_INDEX_MODULE) +CONFIGURE_ARGS+=--with-http_random_index_module +.endif + .if defined(WITH_HTTP_REALIP_MODULE) CONFIGURE_ARGS+=--with-http_realip_module .endif +.if defined(WITH_HTTP_RESPONSE_MODULE) +NGINX_RESPONSE_MODULE_VERSION= 0.3 +MASTER_SITES+= http://catap.ru/downloads/nginx/:response +DISTFILES+= ngx_http_response-${NGINX_RESPONSE_MODULE_VERSION}.tar.gz:response +CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_response-${NGINX_RESPONSE_MODULE_VERSION} +.endif + +.if defined(WITH_HTTP_SECURE_LINK_MODULE) +CONFIGURE_ARGS+=--with-http_secure_link_module +.endif + .if defined(WITH_HTTP_SSL_MODULE) NGINX_OPENSSL= yes CONFIGURE_ARGS+=--with-http_ssl_module @@ -131,6 +187,21 @@ CONFIGURE_ARGS+=--with-http_stub_status_module CONFIGURE_ARGS+=--with-http_sub_module .endif +.if defined(WITH_HTTP_UPLOAD_MODULE) +NGINX_UPLOAD_MODULE_VERSION= 2.0.9 +MASTER_SITES+= http://www.grid.net.ru/nginx/download/:upload +DISTFILES+= nginx_upload_module-${NGINX_UPLOAD_MODULE_VERSION}.tar.gz:upload +CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upload_module-${NGINX_UPLOAD_MODULE_VERSION} +.endif + +.if defined(WITH_HTTP_UPLOAD_PROGRESS) +NGINX_UPLOAD_PROGRESS_MODULE_VERSION= 0.5 +MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:uploadprogress/} +MASTER_SITE_SUBDIR+= osa/:uploadprogress +DISTFILES+= nginx_uploadprogress_module-${NGINX_UPLOAD_PROGRESS_MODULE_VERSION}.tar.gz:uploadprogress +CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_uploadprogress_module +.endif + .if defined(WITH_HTTP_UPSTREAM_FAIR) NGINX_UPSTREAM_FAIR_VERSION= 20081012 MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:upstreamfair/} @@ -139,12 +210,40 @@ DISTFILES+= nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION}.tar.gz:upstreamfa CONFIGURE_ARGS+=--add-module=${WRKDIR}/nginx_upstream_fair-${NGINX_UPSTREAM_FAIR_VERSION} .endif +.if defined(WITH_HTTP_UPSTREAM_KEEPALIVE) +NGINX_UPSTREAM_KEEPALIVE_VERSION= 0.1 +MASTER_SITES+= http://mdounin.ru/files/:upstream +DISTFILES+= ngx_http_upstream_keepalive-${NGINX_UPSTREAM_KEEPALIVE_VERSION}.tar.gz:upstream +CONFIGURE_ARGS+=--add-module=${WRKDIR}/ngx_http_upstream_keepalive-${NGINX_UPSTREAM_KEEPALIVE_VERSION} +.endif + +.if defined(WITH_HTTP_XSLT_MODULE) +USE_GNOME= libxml2 libxslt +CONFIGURE_ARGS+=--with-http_xslt_module +.endif + +.if defined(WITH_HTTP_ZIP_MODULE) +NGINX_ZIP_MODULE_VERSION= 1.1.4 +MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:zip/} +MASTER_SITE_SUBDIR+= osa/:zip +DISTFILES+= nginx_mod_zip-${NGINX_ZIP_MODULE_VERSION}.tar.gz:zip +CONFIGURE_ARGS+=--add-module=${WRKDIR}/mod_zip-${NGINX_ZIP_MODULE_VERSION} +.endif + .if defined(WITHOUT_HTTP_REWRITE_MODULE) || defined(WITHOUT_PCRE) -PKGNAMESUFFIX+= -nopcre +PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-nopcre CONFIGURE_ARGS+=--without-http_rewrite_module \ --without-pcre .else LIB_DEPENDS+= pcre.0:${PORTSDIR}/devel/pcre +CONFIGURE_ARGS+=--with-pcre +.endif + +.if defined(WITH_PASSENGER_MODULE) +PASSENGER_VERSION= 2.2.2 +MASTER_SITES+= RF/passenger/:passenger +DISTFILES+= passenger-${PASSENGER_VERSION}.tar.gz:passenger +CONFIGURE_ARGS+=--add-module=${WRKDIR}/passenger-${PASSENGER_VERSION}/ext/nginx .endif .if defined(WITH_WWW) @@ -181,6 +280,16 @@ CONFIGURE_ARGS+=--with-mail_ssl_module PLIST_SUB+= NGINX_TMPDIR=${NGINX_TMPDIR} WWWOWN=${WWWOWN} WWWGRP=${WWWGRP} +pre-everything:: + @${ECHO_MSG} +.if defined(WITH_HTTP_UPSTREAM_FAIR) + @${ECHO_MSG} "Enable http_ssl module to build upstream_fair with SSL support" +.endif +.if defined(WITH_PASSENGER_MODULE) + @${ECHO_MSG} "This port install Passenger module only" +.endif + @${ECHO_MSG} + post-patch: @${REINPLACE_CMD} 's!%%HTTP_PORT%%!${HTTP_PORT}!; \ s!%%PREFIX%%!${PREFIX}!' \ @@ -190,6 +299,17 @@ post-patch: 's!$$HTTP_ACCESSKEY_MODULE!ngx_http_accesskey_module!' \ ${WRKDIR}/nginx-accesskey-${NGINX_ACCESSKEY_MODULE_VERSION}/config .endif +.if defined(WITH_HTTP_FANCYINDEX_MODULE) + @${PATCH} ${PATCH_ARGS} < \ + ${PATCHDIR}/extra-patch-ngx_http_fancyindex_module.c +.endif +.if defined(WITH_PASSENGER_MODULE) + @${REINPLACE_CMD} 's!g++!${CXX}!' \ + ${WRKDIR}/passenger-${PASSENGER_VERSION}/Rakefile + @${REINPLACE_CMD} '377s!-g!${CXXFLAGS}!; \ + s!-lpthread!${PTHREAD_LIBS}!g' \ + ${WRKDIR}/passenger-${PASSENGER_VERSION}/lib/phusion_passenger/platform_info.rb +.endif do-build: @cd ${WRKSRC} && ${MAKE} diff --git a/www/nginx/distinfo b/www/nginx/distinfo index 772795c5288e..3ec26b94d537 100644 --- a/www/nginx/distinfo +++ b/www/nginx/distinfo @@ -1,9 +1,33 @@ -MD5 (nginx-0.6.37.tar.gz) = 6bcb1e469fd1f86c11f187be4bfa7dc9 -SHA256 (nginx-0.6.37.tar.gz) = 6abbb2c0396630771b1b1514cf3c28f95e1cf811b4ff462f754d97818456d405 -SIZE (nginx-0.6.37.tar.gz) = 528754 +MD5 (nginx-0.7.59.tar.gz) = d981b03b4c3ba43de580553355608b63 +SHA256 (nginx-0.7.59.tar.gz) = e12f0ec0f97e635ec1a249719bbe23ca1c9d3809e4019dde404e72ccdf277d75 +SIZE (nginx-0.7.59.tar.gz) = 593586 MD5 (nginx-accesskey-2.0.3.tar.gz) = 9b5304346d5139b1841f5baa01ab0cbe SHA256 (nginx-accesskey-2.0.3.tar.gz) = d9e94321e78a02de16c57f3e048fd31059fd8116ed03d6de7180f435c52502b1 SIZE (nginx-accesskey-2.0.3.tar.gz) = 2632 +MD5 (nginx-fancyindex-0.1_beta5.tar.bz2) = ac371c8c03e7235f1e8e8c187a5a93cb +SHA256 (nginx-fancyindex-0.1_beta5.tar.bz2) = 155c0fac05a7f6c013b5cc368926d71d5da73e4e5a9f2506b2e5114eee8680a2 +SIZE (nginx-fancyindex-0.1_beta5.tar.bz2) = 12211 +MD5 (nginx_mogilefs_module-1.0.1.tar.gz) = c45947ec9aebe83398d4c9604e843023 +SHA256 (nginx_mogilefs_module-1.0.1.tar.gz) = f862d48e50683a808bb8e305474d1b9800800bd0ea64ebcc258a4c7f3ecd9bfb +SIZE (nginx_mogilefs_module-1.0.1.tar.gz) = 6834 +MD5 (ngx_http_response-0.3.tar.gz) = 178a8f13a41388ef50b3726fa9fede50 +SHA256 (ngx_http_response-0.3.tar.gz) = 0835584029f053051c624adbe33a826ab0205c9d85a02af6019e6b57607e9045 +SIZE (ngx_http_response-0.3.tar.gz) = 2244 +MD5 (nginx_upload_module-2.0.9.tar.gz) = bd8ee6011e3e24805c8ead617211a04b +SHA256 (nginx_upload_module-2.0.9.tar.gz) = 3c43e185f85a5a719de2cd02083ae0802a8fd2645c79a78c7d37c3d1f0361f9f +SIZE (nginx_upload_module-2.0.9.tar.gz) = 18232 +MD5 (nginx_uploadprogress_module-0.5.tar.gz) = 04cca031be26a0a37a24b8b2d475c77a +SHA256 (nginx_uploadprogress_module-0.5.tar.gz) = b025bf8ea2e1cf405dd72587d52eb48135cb7b0843a2dbfcf91c8f562701d75c +SIZE (nginx_uploadprogress_module-0.5.tar.gz) = 11578 MD5 (nginx_upstream_fair-20081012.tar.gz) = 1f7b4f3e47c32f89afac59fa60381dc4 SHA256 (nginx_upstream_fair-20081012.tar.gz) = 4c2bd957168008e5b2397fad49824ca70f3685cf884e8d1be45d56c8e3bbe88c SIZE (nginx_upstream_fair-20081012.tar.gz) = 10021 +MD5 (ngx_http_upstream_keepalive-0.1.tar.gz) = 89c5887abfdacb87e2d21b2973d69cdd +SHA256 (ngx_http_upstream_keepalive-0.1.tar.gz) = a0929ddff8dcf451731c95b077374b15e4306db8e83322aab6183cfed7307915 +SIZE (ngx_http_upstream_keepalive-0.1.tar.gz) = 4978 +MD5 (nginx_mod_zip-1.1.4.tar.gz) = be934138446793ca783ebfcc1a74883d +SHA256 (nginx_mod_zip-1.1.4.tar.gz) = d152861779a7b04634e6e0b87a53707ccad06e00bba65246b9005ddc8d0f654b +SIZE (nginx_mod_zip-1.1.4.tar.gz) = 17446 +MD5 (passenger-2.2.2.tar.gz) = 046c7597990c1ed9006300a32cd50579 +SHA256 (passenger-2.2.2.tar.gz) = 8eb7e36898787dce4e49c4b6550d42522b79193849b420fa333869318f8fb57e +SIZE (passenger-2.2.2.tar.gz) = 1693895 diff --git a/www/nginx/files/extra-patch-ngx_http_fancyindex_module.c b/www/nginx/files/extra-patch-ngx_http_fancyindex_module.c new file mode 100644 index 000000000000..0fce6e00699b --- /dev/null +++ b/www/nginx/files/extra-patch-ngx_http_fancyindex_module.c @@ -0,0 +1,37 @@ +--- ../nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c.orig 2007-09-29 01:02:05.000000000 +0400 ++++ ../nginx-fancyindex-0.1_beta5/ngx_http_fancyindex_module.c 2008-08-11 17:33:42.810249087 +0400 +@@ -290,7 +290,7 @@ + ngx_http_fancyindex_entry_t *entry; + + off_t length; +- size_t len, root, copy, allocated; ++ size_t len, root, utf_len, allocated; + u_char *filename, *last, scale; + ngx_tm_t tm; + ngx_array_t entries; +@@ -426,7 +426,7 @@ + entry->mtime = ngx_de_mtime(&dir); + entry->size = ngx_de_size(&dir); + entry->utf_len = (r->utf8) +- ? ngx_utf_length(entry->name.data, entry->name.len) ++ ? ngx_utf8_length(entry->name.data, entry->name.len) + : len; + } + +@@ -563,12 +563,13 @@ + + if (entry[i].name.len - len) { + if (len > NGX_HTTP_FANCYINDEX_NAME_LEN) { +- copy = NGX_HTTP_FANCYINDEX_NAME_LEN - 3 + 1; ++ utf_len = NGX_HTTP_FANCYINDEX_NAME_LEN - 3 + 1; + } else { +- copy = NGX_HTTP_FANCYINDEX_NAME_LEN + 1; ++ utf_len = NGX_HTTP_FANCYINDEX_NAME_LEN + 1; + } + +- b->last = ngx_utf_cpystrn(b->last, entry[i].name.data, copy); ++ b->last = ngx_utf8_cpystrn(b->last, entry[i].name.data, ++ utf_len, entry[i].name.len + 1); + last = b->last; + + } else { diff --git a/www/nginx/files/nginx.sh.in b/www/nginx/files/nginx.sh.in index bce190f51ba0..b87ef0a8b295 100644 --- a/www/nginx/files/nginx.sh.in +++ b/www/nginx/files/nginx.sh.in @@ -9,8 +9,8 @@ # Add the following lines to /etc/rc.conf to enable nginx: # nginx_enable (bool): Set to "NO" by default. # Set it to "YES" to enable nginx -# nginx_profiles (str): Set to "NO" by default. -# Unsupported feature, reserved for future releases. +# nginx_profiles (str): Set to "" by default. +# Define your profiles here. # nginxlimits_enable (bool): Set to "NO" by default. # Set it to yes to run `limits $limits_args` # just before nginx starts. @@ -35,17 +35,46 @@ _pidprefix="/var/run/nginx" pidfile="${_pidprefix}.pid" required_files=%%PREFIX%%/etc/nginx/nginx.conf -[ -z "$nginx_enable" ] && nginx_enable="NO" -[ -z "$nginx_profiles" ] && nginx_profiles="NO" -[ -z "$nginx_flags" ] && nginx_flags="" -[ -z "$nginxlimits_enable" ] && nginxlimits_enable="NO" -[ -z "$nginxlimits_args" ] && nginxlimits_args="-e -U %%WWWOWN%%" +[ -z "$nginx_enable" ] && nginx_enable="NO" +[ -z "$nginx_profiles" ] && nginx_profiles="" +[ -z "$nginx_flags" ] && nginx_flags="" +[ -z "$nginxlimits_enable" ] && nginxlimits_enable="NO" +[ -z "$nginxlimits_args" ] && nginxlimits_args="-e -U %%WWWOWN%%" load_rc_config $name if [ -n "$2" ]; then - echo "Profiles are unsupported by this version, exit..." - exit 1 + profile="$2" + if [ "x${nginx_profiles}" != "x" ]; then + pidfile="${_pidprefix}.${profile}.pid" + eval nginx_configfile="\${nginx_${profile}_configfile:-}" + if [ "x${nginx_configfile}" = "x" ]; then + echo "You must define a configuration file (nginx_${profile}_configfile)" + exit 1 + fi + required_files="${nginx_configfile}" + eval nginx_enable="\${nginx_${profile}_enable:-${nginx_enable}}" + eval nginx_flags="\${nginx_${profile}_flags:-${nginx_flags}}" + eval nginxlimits_enable="\${nginxlimits_${profile}_enable:-${nginxlimits_enable}}" + eval nginxlimits_args="\${nginxlimits_${profile}_args:-${nginxlimits_args}}" + nginx_flags="-c ${nginx_configfile} -g \"pid ${pidfile};\" ${nginx_flags}" + else + echo "$0: extra argument ignored" + fi +else + if [ "x${nginx_profiles}" != "x" -a "x$1" != "x" ]; then + for profile in ${nginx_profiles}; do + echo "===> nginx profile: ${profile}" + %%PREFIX%%/etc/rc.d/nginx%%RC_SUBR_SUFFIX%% $1 ${profile} + retcode="$?" + if [ "0${retcode}" -ne 0 ]; then + failed="${profile} (${retcode}) ${failed:-}" + else + success="${profile} ${success:-}" + fi + done + exit 0 + fi fi nginx_checkconfig() @@ -80,7 +109,7 @@ nginx_precmd() eval `/usr/bin/limits ${nginxlimits_args}` 2>/dev/null else return 0 - fi + fi } extra_commands="reload configtest upgrade" |