Created
January 4, 2012 11:02
-
-
Save spacemonkey/1559576 to your computer and use it in GitHub Desktop.
Portfile for nginx with file upload module, and upload status
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 | |
# $Id: Portfile 86786 2011-11-04 05:20:35Z [email protected] $ | |
PortSystem 1.0 | |
name nginx | |
version 1.0.8 | |
categories www mail | |
platforms darwin | |
license BSD | |
maintainers nomaintainer | |
description High-performance HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server | |
long_description Nginx ("engine x") is a high-performance HTTP(S) server \ | |
and reverse proxy, as well as an IMAP/POP3 proxy server. \ | |
Nginx was written by Igor Sysoev for Rambler.ru, Russia's \ | |
second-most visited website, where it has been running in \ | |
production for over two and a half years. Igor has \ | |
released the source code under a BSD-like license. \ | |
Although still in beta, Nginx is known for its stability, \ | |
rich feature set, simple configuration, and low resource \ | |
consumption. | |
homepage http://nginx.org/ | |
master_sites http://nginx.org/download:nginx \ | |
http://www.grid.net.ru/nginx/download/:upload_module \ | |
http://wiki.nginx.org/images/1/10/:secure_download_module \ | |
http://wiki.nginx.org/images/b/bb/:zip_module \ | |
http://people.freebsd.org/~osa/:redis_module | |
distfiles ${name}-${version}${extract.suffix}:nginx | |
checksums ${name}-${version}${extract.suffix} \ | |
rmd160 45d0e0d2c21a18fb2b0a69321e55526fb26ba22e \ | |
sha256 9bde8d054dcdcc6aedcbd87b456049b39ba930bfee284edb15817ab64ec72ba7 | |
depends_lib \ | |
port:pcre \ | |
port:zlib | |
patchfiles patch-auto__install.diff \ | |
patch-conf__nginx.conf.diff | |
set nginx_confdir ${prefix}/etc/${name} | |
set nginx_logdir ${prefix}/var/log/${name} | |
set nginx_rundir ${prefix}/var/run/${name} | |
set nginx_pidfile ${nginx_rundir}/${name}.pid | |
configure.args-append \ | |
--with-cc-opt=\"${configure.cppflags} ${configure.cflags}\" \ | |
--with-ld-opt=\"${configure.ldflags}\" \ | |
--conf-path=${nginx_confdir}/${name}.conf \ | |
--error-log-path=${nginx_logdir}/error.log \ | |
--http-log-path=${nginx_logdir}/access.log \ | |
--pid-path=${nginx_pidfile} \ | |
--lock-path=${nginx_rundir}/${name}.lock \ | |
--http-client-body-temp-path=${nginx_rundir}/client_body_temp \ | |
--http-proxy-temp-path=${nginx_rundir}/proxy_temp \ | |
--http-fastcgi-temp-path=${nginx_rundir}/fastcgi_temp \ | |
--http-uwsgi-temp-path=${nginx_rundir}/uwsgi_temp | |
default_variants +ipv6 | |
universal_variant no | |
build.target build | |
destroot.keepdirs ${destroot}${nginx_logdir} \ | |
${destroot}${nginx_rundir} | |
set nginx_conf ${prefix}/etc/${name}/${name}.conf | |
post-destroot { | |
delete ${destroot}${nginx_conf} | |
} | |
pre-activate { | |
# Try to cover for the fact that, in earlier revisions of this port, the | |
# configuration file was installed live instead of an example, in which | |
# case an upgrade will clobber any customisations that a user might have | |
# made :( | |
set nginx_conf_is_registered_to_nginx \ | |
[expr {[registry_file_registered ${nginx_conf}] == "${name}"}] | |
set nginx_conf_differs \ | |
[catch {exec cmp ${nginx_conf} ${nginx_conf}.example}] | |
if { ${nginx_conf_is_registered_to_nginx} && ${nginx_conf_differs} } { | |
copy ${nginx_conf} ${nginx_conf}.altered | |
ui_msg "" | |
ui_msg "###############################################################" | |
ui_msg "# It appears that you have altered ${nginx_conf}," | |
ui_msg "# and that upgrading or uninstalling your previous installation" | |
ui_msg "# of ${name} will clobber your copy. It has been copied to" | |
ui_msg "# ${nginx_conf}.altered for preservation when you upgrade or" | |
ui_msg "# uninstall ${name}. This problem should not occur with future" | |
ui_msg "# upgrades or installations of this port.\n" | |
ui_msg "###############################################################" | |
ui_msg "" | |
} | |
} | |
startupitem.create yes | |
startupitem.executable ${prefix}/sbin/nginx | |
startupitem.pidfile auto ${nginx_pidfile} | |
variant dav description {Add WebDAV support to server} { | |
configure.args-append --with-http_dav_module | |
} | |
variant flv description {Add FLV (Flash Video) streaming support to server} { | |
configure.args-append --with-http_flv_module | |
} | |
variant mail description {Add IMAP4/POP3 mail proxy support} { | |
configure.args-append --with-mail | |
} | |
variant ssl description {Add SSL (HTTPS) support to the server, and\ | |
also to the mail proxy if that is enabled} { | |
depends_lib-append port:openssl | |
configure.args-append --with-http_ssl_module | |
if [variant_isset mail] { | |
configure.args-append --with-mail_ssl_module | |
} | |
} | |
variant status description {Add /nginx_status support to the server} { | |
configure.args-append --with-http_stub_status_module | |
} | |
variant ipv6 description {Add support for ipv6} { | |
configure.args-append --with-ipv6 | |
} | |
# This variant has been labelled "perl5" so as to allow users to easily stick | |
# with perl 5.x once perl 6.x is released; a "perl6" variant will also be added | |
# at that time. | |
variant perl5 description {Add perl support to the server directly within\ | |
nginx and call perl via SSI} { | |
depends_run-append path:bin/perl:perl5 | |
configure.args-append --with-http_perl_module \ | |
--with-perl=${prefix}/bin/perl | |
} | |
variant realip description {Using nginx as a backend} { | |
configure.args-append --with-http_realip_module | |
} | |
variant addition description {Append text to pages} { | |
configure.args-append --with-http_addition_module | |
} | |
variant substitution description {Replace text in pages} { | |
configure.args-append --with-http_sub_module | |
} | |
variant gzip_static description {Avoids compressing the same file each\ | |
time it is requested} { | |
configure.args-append --with-http_gzip_static_module | |
} | |
variant google_perftools description {Enable Google Performance Tools\ | |
profiling for workers} { | |
depends_lib-append port:google-perftools | |
configure.args-append --with-google_perftools_module | |
} | |
variant upload description {Enable Valery Kholodkov's upload module\ | |
(http://grid.net.ru/nginx/upload.en.html)} { | |
set upload_filename nginx_upload_module | |
set upload_version 2.2.0 | |
set upload_distname ${upload_filename}-${upload_version} | |
distfiles-append ${upload_distname}.tar.gz:upload_module | |
checksums-append ${upload_distname}.tar.gz \ | |
md5 2681a6167551830a23336fa41bc539a1 \ | |
sha1 93d6e83e613a0ce2ed057a434b344fa1b6609b47 \ | |
rmd160 5734af837be3fe8ec444a7e5e7f6707118594098 | |
configure.args-append --add-module=${workpath}/${upload_distname} | |
} | |
variant secure_download description {Enable Ngx http secure download \ | |
(http://wiki.nginx.org/HttpSecureDownload)} { | |
set secure_download_distname Ngx_http_secure_download | |
distfiles-append ${secure_download_distname}.tar.gz:secure_download_module | |
checksums-append ${secure_download_distname}.tar.gz \ | |
md5 8d83bfb4853ed76eb22453712c394519 | |
configure.args-append --add-module=${workpath}/${secure_download_distname} | |
depends_lib-append port:mhash | |
} | |
variant zip description {Enable Ngx zip download module \ | |
(http://wiki.nginx.org/NginxNgxZip)} { | |
set zip_distname Mod_zip-1.1.4 | |
distfiles-append ${zip_distname}.tar.gz:zip_module | |
checksums-append ${zip_distname}.tar.gz \ | |
md5 be934138446793ca783ebfcc1a74883d | |
configure.args-append --add-module=${workpath}/${zip_distname} | |
} | |
variant redis description {Enable Ngx HTTP Redis module} { | |
set redis_filename ngx_http_redis | |
set redis_version 0.3.1 | |
set redis_distname ${redis_filename}-${redis_version} | |
distfiles-append ${redis_distname}.tar.gz:redis_module | |
checksums-append ${redis_distname}.tar.gz \ | |
md5 c731d6ac14b4c8a99fda2c7e89356a8f | |
configure.args-append --add-module=${workpath}/${redis_distname} | |
} | |
variant geoip description {Enable Ngx http GeoIP module \ | |
(http://wiki.nginx.org/HttpGeoIPModule)} { | |
configure.args-append --with-http_geoip_module | |
depends_lib-append port:libgeoip | |
} | |
variant debug description {Enable debug mode} { | |
configure.args-append --with-debug | |
} | |
livecheck.type regex | |
livecheck.url http://trac.nginx.org/nginx/browser/nginx_org/xml/versions.xml?format=txt | |
livecheck.regex "<stable> *(\\d+(?:\\.\\d+)*)" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment