version bump wrt #389319
authorBenedikt Boehm <hollow@gentoo.org>
Sun, 20 Nov 2011 06:50:14 +0000 (06:50 +0000)
committerBenedikt Boehm <hollow@gentoo.org>
Sun, 20 Nov 2011 06:50:14 +0000 (06:50 +0000)
Package-Manager: portage-2.2.0_alpha71/cvs/Linux x86_64

www-servers/nginx/ChangeLog
www-servers/nginx/Manifest
www-servers/nginx/nginx-1.0.10.ebuild [new file with mode: 0644]
www-servers/nginx/nginx-1.1.8.ebuild [new file with mode: 0644]

index bcee5ce496346ac72cd2fb3571d1767f242a08bc..e3603658330ae7bc9b1c1ee3e90600bf8b7c1168 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for www-servers/nginx
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.295 2011/10/31 06:27:30 hollow Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.296 2011/11/20 06:50:14 hollow Exp $
+
+*nginx-1.1.8 (20 Nov 2011)
+*nginx-1.0.10 (20 Nov 2011)
+
+  20 Nov 2011; Benedikt Böhm <hollow@gentoo.org> +nginx-1.0.10.ebuild,
+  +nginx-1.1.8.ebuild:
+  version bump wrt #389319
 
   31 Oct 2011; Benedikt Böhm <hollow@gentoo.org> nginx-1.0.8.ebuild,
   nginx-1.1.6.ebuild:
index 5b612bfb6c00be5ec51e2d69d1b33e8d39b807cb..a3aea12e250246fc4398f3a31983a0fb08f752d3 100644 (file)
@@ -1,10 +1,12 @@
 AUX nginx.conf-r4 1358 RMD160 a948df249a16be86c114d587cfa5ee570d84a356 SHA1 e9db0447a1beb326a0858cf8189328229d1d3edf SHA256 6ff6c9301ea2a4d74a335b9119d7f9dba87d4e83793cf22d837d49f061763096
 AUX nginx.init-r2 1827 RMD160 2ece9278fd4a3ca948106e024c2607fca02e2599 SHA1 76af70e8fcad8b298851382d18160d11dc3e2cca SHA256 89801c2e0ea3480380dedfbc84b0cc993ab6b93768886246a22e650ba0a61798
 AUX nginx.logrotate 364 RMD160 9fdfd2ea2f49b8dba20a030d893e34779bb32364 SHA1 4ab07992fa5c64f753e3643e1b51fcab4dec6ccf SHA256 9e3e090dfd10861d5f9b279e19113ce8d05caf9f33d488f6aabf9f19ac0cf925
+DIST nginx-1.0.10.tar.gz 686011 RMD160 875082ff6e9197cc26adf4ee51eeda34b9531e29 SHA1 01304d44048aa57944e935dda8523afd5e5d1e23 SHA256 7221fdb0f2a94875252cb3c406a2cd5895d9bc57874fc1b4f588964fd3361e3c
 DIST nginx-1.0.6.tar.gz 670835 RMD160 c0f81d1f15bccea44321c31e3f08e299e5e2e564 SHA1 e8b61da1aa5e53e0d298ec0159c4fca785dccd70 SHA256 2580c2d4cb56a70802702b81c0aea2e6b359a131c049a993b806f32791086cbe
 DIST nginx-1.0.8.tar.gz 683559 RMD160 45d0e0d2c21a18fb2b0a69321e55526fb26ba22e SHA1 d0ab9329e6aa774f655bfa5ac0b30c840f1acd88 SHA256 9bde8d054dcdcc6aedcbd87b456049b39ba930bfee284edb15817ab64ec72ba7
 DIST nginx-1.1.4.tar.gz 692544 RMD160 8596855da55d5c601f81840d5bd983da27c8ce76 SHA1 748ecbab8dc614a0d7fe16a21dbcfe26b42ff970 SHA256 a5fc829bc4296ce49953a772c27891aa5be649a19f7f101221c684898fe75a63
 DIST nginx-1.1.6.tar.gz 692871 RMD160 71f29cf2a8d61e5bed47a3b444ba33069f12e102 SHA1 e6da84f7e3fd19ad2d29acaeb68676c349a8d3d4 SHA256 a8a45769f454f7720ce1f8d0e46900009b9cbb4cd49d539541a49e466ff9b11f
+DIST nginx-1.1.8.tar.gz 695829 RMD160 60a8ddd0885b7cb08d5eb1f526dd40f4e4614abd SHA1 e93c4b48379c0240fd4c7af8982faa3c4a7c834f SHA256 2f5d2d08fa59043aaae45c72c16ff052fabe1f5ba95fe5475d4994a5a55c9945
 DIST nginx_http_push_module-0.692.tar.gz 29119 RMD160 9d2be16074cf28115af0f1d8f3646937cda649ad SHA1 72103084cad8f4d3d9a49a6b04cf780e4541605d SHA256 64868708071aa21dbc4c7a07d149dd6ec9108fb7eaf2aad5ad069406151f17fe
 DIST nginx_upload_module-2.2.0.tar.gz 25796 RMD160 5734af837be3fe8ec444a7e5e7f6707118594098 SHA1 93d6e83e613a0ce2ed057a434b344fa1b6609b47 SHA256 b1c26abe0427180602e257627b4ed21848c93cc20cefc33af084983767d65805
 DIST ngx_cache_purge-1.3.tar.gz 6434 RMD160 d9f5d225b99f3164e80a85b7c7b4bee8bb16ea0e SHA1 ec52989ed545ef2be58414e747e592004794eba6 SHA256 256eec780f0f8f09ed10d5b0e4c3c32883a55d96e814fa0390b880d20745fcdb
@@ -13,9 +15,11 @@ DIST ngx_http_headers_more-0.15.tar.gz 22738 RMD160 2200ab529a086dd6bcf11a9a0470
 DIST ngx_slowfs_cache-1.6.tar.gz 10972 RMD160 e1d10851db4a55fc465665caa3f6989d142af2d3 SHA1 072d06b7547629b244bebeef7df7425567f264c9 SHA256 cc0505dbba30153691ff7b3a7353804d5ceb9a519a407b938cae49e9913a7bcc
 DIST ngx_upload_progress-0.8.2.tar.gz 16559 RMD160 3aadb9bf9b15b3810d1acb466d331ea5bdae6062 SHA1 cbff2734cccc3ac93b3422a9a01547af29f9c11d SHA256 cab70d2e300cfa0d9d7d3b34bf27810533ecbf11dddcd5078a4754cfab337c95
 DIST ngx_upload_progress-0.8.3.tar.gz 16694 RMD160 b3c8835a270cda2224f5be35f1afb818821609b3 SHA1 0edae535d1efd50524d9947acaebe3979b06fcfb SHA256 f391da7fd1a89bd65e852182b6cbc746289cd10c83b211be18e703ff3e3986ae
+EBUILD nginx-1.0.10.ebuild 11067 RMD160 92f343d4e4350e4b9991c7d2661d96faee61add0 SHA1 7afe3ffb451289be3e53821dd4da56664487a7b6 SHA256 d660521b78d18fa240f3bd2c5e1d9470ec952589d93e62b702ed4bf5b25cede8
 EBUILD nginx-1.0.6.ebuild 11057 RMD160 54e943fdd65866305a45e3e2d570b7fcba6852cd SHA1 b477ebeeff4d5cf59477439b9fec861e0e1c8028 SHA256 1f17304ec81efab1194aaa91ae6bbd3b0cf3d98537f5514a3ccb24404c727822
 EBUILD nginx-1.0.8.ebuild 11066 RMD160 eb09a1f9f4caae50b47b13be160226fa75d6ceda SHA1 78ce0cc7b1874d75d9282f3d2b95b37de5a7ac3a SHA256 dac234ce2be548e3ccb1c4904fed43871390a7fb79c437d58f08444ee0e8fa71
 EBUILD nginx-1.1.4.ebuild 11059 RMD160 8216fe64c66067856221321a612ed3cdc595ba54 SHA1 54f030096326d90e02345dc65539a30bc5f69d6c SHA256 fc987cb555ce33b35d082773828e076d0598a9fc2c62fc504c1e485cdf66ca00
 EBUILD nginx-1.1.6.ebuild 11070 RMD160 4e3391fdf19e2a0c50639f5e8f742d439cf8fd91 SHA1 cad63f2936da1f28d30bd385eb5e6492bf75905a SHA256 e08f61ab16f7f5352ff2bc678758adee54d70d890d1a45d498542276cc631dcf
-MISC ChangeLog 48409 RMD160 8c7d36ff93059c15c9eccd5db8a7e04594c3e046 SHA1 362de9323e203b9adcdc9cffc5b0ebc3bae24a3c SHA256 abd392086dfe74a48082c3724a1a2eabc01745d7a035fe88e96c1454510f279e
+EBUILD nginx-1.1.8.ebuild 11070 RMD160 f9218657dc97cab0ed43fd6555c9238e10232457 SHA1 94977416cffb30d1dbe953557362c16bd6e8e754 SHA256 d7bad33340ca1089ae68e2b78a0927dabb07756874ffd237b445bcd3fb92d0e0
+MISC ChangeLog 48588 RMD160 1bddad904b1dcafe8b41f204c989cdbe569d47b3 SHA1 2c051955689a6fb0209b2f9e1e5ac1cf1fe2d986 SHA256 6358ae0a363800252223fa491288e5f1ff996a8c45cf560cc157c71aab9a78a4
 MISC metadata.xml 2414 RMD160 79f17ab5f66a0359b96d06f7d600252cefbd6309 SHA1 f96287af3c58618b5a6ba2bd9ee9eb5c9a6ce2ee SHA256 3302551fe00b56bee7bd6ce07c241a47dee4592b4501de002db85669f219c756
diff --git a/www-servers/nginx/nginx-1.0.10.ebuild b/www-servers/nginx/nginx-1.0.10.ebuild
new file mode 100644 (file)
index 0000000..63a601d
--- /dev/null
@@ -0,0 +1,341 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.0.10.ebuild,v 1.1 2011/11/20 06:50:14 hollow Exp $
+
+EAPI="4"
+
+# Maintainer notes:
+# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
+# - any http-module activates the main http-functionality and overrides USE=-http
+# - keep the following requirements in mind before adding external modules:
+#   * alive upstream
+#   * sane packaging
+#   * builds cleanly
+#   * does not need a patch for nginx core
+# - TODO: test the google-perftools module (included in vanilla tarball)
+
+# prevent perl-module from adding automagic perl DEPENDs
+GENTOO_DEPEND_ON_PERL="no"
+
+# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license)
+HTTP_UPLOAD_PROGRESS_MODULE_PV="0.8.3"
+HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
+HTTP_UPLOAD_PROGRESS_MODULE_SHA1="c7c663f"
+HTTP_UPLOAD_PROGRESS_MODULE_URI="http://github.com/masterzen/nginx-upload-progress-module/tarball/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
+
+# http_headers_more (http://github.com/agentzh/headers-more-nginx-module, BSD license)
+HTTP_HEADERS_MORE_MODULE_PV="0.15"
+HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}"
+HTTP_HEADERS_MORE_MODULE_SHA1="137855d"
+HTTP_HEADERS_MORE_MODULE_URI="http://github.com/agentzh/headers-more-nginx-module/tarball/v${HTTP_HEADERS_MORE_MODULE_PV}"
+
+# http_push (http://pushmodule.slact.net/, MIT license)
+HTTP_PUSH_MODULE_PV="0.692"
+HTTP_PUSH_MODULE_P="nginx_http_push_module-${HTTP_PUSH_MODULE_PV}"
+HTTP_PUSH_MODULE_URI="http://pushmodule.slact.net/downloads/${HTTP_PUSH_MODULE_P}.tar.gz"
+
+# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, BSD-2 license)
+HTTP_CACHE_PURGE_MODULE_PV="1.4"
+HTTP_CACHE_PURGE_MODULE_P="ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
+HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/${HTTP_CACHE_PURGE_MODULE_P}.tar.gz"
+
+# HTTP Upload module from Valery Kholodkov
+# (http://www.grid.net.ru/nginx/upload.en.html, BSD license)
+HTTP_UPLOAD_MODULE_PV="2.2.0"
+HTTP_UPLOAD_MODULE_P="nginx_upload_module-${HTTP_UPLOAD_MODULE_PV}"
+HTTP_UPLOAD_MODULE_URI="http://www.grid.net.ru/nginx/download/${HTTP_UPLOAD_MODULE_P}.tar.gz"
+
+# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license)
+HTTP_SLOWFS_CACHE_MODULE_PV="1.6"
+HTTP_SLOWFS_CACHE_MODULE_P="ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
+HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz"
+
+inherit eutils ssl-cert toolchain-funcs perl-module flag-o-matic
+
+DESCRIPTION="Robust, small and high performance http and reverse proxy server"
+HOMEPAGE="http://nginx.org"
+SRC_URI="http://nginx.org/download/${P}.tar.gz
+       nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz )
+       nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz )
+       nginx_modules_http_push? ( ${HTTP_PUSH_MODULE_URI} )
+       nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} )
+       nginx_modules_http_upload? ( ${HTTP_UPLOAD_MODULE_URI} )
+       nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} )"
+
+LICENSE="as-is BSD BSD-2 GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+
+NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif fastcgi
+geo gzip limit_req limit_zone map memcached proxy referer rewrite scgi ssi
+split_clients upstream_ip_hash userid uwsgi"
+NGINX_MODULES_OPT="addition dav degradation flv geoip gzip_static image_filter
+perl random_index realip secure_link stub_status sub xslt"
+NGINX_MODULES_MAIL="imap pop3 smtp"
+NGINX_MODULES_3RD="
+       http_upload_progress
+       http_headers_more
+       http_passenger
+       http_push
+       http_cache_purge
+       http_upload
+       http_slowfs_cache"
+
+IUSE="aio debug +http +http-cache ipv6 libatomic +pcre ssl vim-syntax"
+
+for mod in $NGINX_MODULES_STD; do
+       IUSE="${IUSE} +nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_OPT; do
+       IUSE="${IUSE} nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_MAIL; do
+       IUSE="${IUSE} nginx_modules_mail_${mod}"
+done
+
+for mod in $NGINX_MODULES_3RD; do
+       IUSE="${IUSE} nginx_modules_${mod}"
+done
+
+CDEPEND="
+       pcre? ( >=dev-libs/libpcre-4.2 )
+       ssl? ( dev-libs/openssl )
+       http-cache? ( userland_GNU? ( dev-libs/openssl ) )
+       nginx_modules_http_geo? ( dev-libs/geoip )
+       nginx_modules_http_gzip? ( sys-libs/zlib )
+       nginx_modules_http_gzip_static? ( sys-libs/zlib )
+       nginx_modules_http_image_filter? ( media-libs/gd[jpeg,png] )
+       nginx_modules_http_perl? ( >=dev-lang/perl-5.8 )
+       nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 )
+       nginx_modules_http_secure_link? ( userland_GNU? ( dev-libs/openssl ) )
+       nginx_modules_http_xslt? ( dev-libs/libxml2 dev-libs/libxslt )"
+RDEPEND="${CDEPEND}"
+DEPEND="${CDEPEND}
+       arm? ( dev-libs/libatomic_ops )
+       libatomic? ( dev-libs/libatomic_ops )"
+PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
+
+pkg_setup() {
+       if use nginx_modules_http_passenger; then
+               einfo
+               einfo "Passenger support has been removed from the nginx ebuild to"
+               einfo "get rid of file collisions, its broken build system and"
+               einfo "incompatibilities between passenger 2 and 3."
+               einfo
+               einfo "Please switch to passenger-3 standalone or use the"
+               einfo "unicorn gem which provides a sane nginx-like architecture"
+               einfo "out of the box."
+               einfo
+               einfo "For more information on sane ruby deployments with"
+               einfo "passenger-3/unicorn go to:"
+               einfo
+               einfo "https://rvm.beginrescueend.com"
+               einfo
+               die "nginx_modules_http_passenger still in IUSE"
+       fi
+
+       ebegin "Creating nginx user and group"
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 -1 ${PN}
+       eend $?
+
+       if use libatomic; then
+               ewarn "GCC 4.1+ features built-in atomic operations."
+               ewarn "Using libatomic_ops is only needed if using"
+               ewarn "a different compiler or a GCC prior to 4.1"
+       fi
+
+       if [[ -n $NGINX_ADD_MODULES ]]; then
+               ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
+               ewarn "This nginx installation is not supported!"
+               ewarn "Make sure you can reproduce the bug without those modules"
+               ewarn "_before_ reporting bugs."
+       fi
+
+       if use !http; then
+               ewarn "To actually disable all http-functionality you also have to disable"
+               ewarn "all nginx http modules."
+       fi
+}
+
+src_prepare() {
+       sed -i 's/ make/ \\$(MAKE)/' "${S}"/auto/lib/perl/make
+}
+
+src_configure() {
+       local myconf= http_enabled= mail_enabled=
+
+       use aio       && myconf+=" --with-file-aio --with-aio_module"
+       use debug     && myconf+=" --with-debug"
+       use ipv6      && myconf+=" --with-ipv6"
+       use libatomic && myconf+=" --with-libatomic"
+       use pcre      && myconf+=" --with-pcre"
+
+       # HTTP modules
+       for mod in $NGINX_MODULES_STD; do
+               if use nginx_modules_http_${mod}; then
+                       http_enabled=1
+               else
+                       myconf+=" --without-http_${mod}_module"
+               fi
+       done
+
+       for mod in $NGINX_MODULES_OPT; do
+               if use nginx_modules_http_${mod}; then
+                       http_enabled=1
+                       myconf+=" --with-http_${mod}_module"
+               fi
+       done
+
+       if use nginx_modules_http_fastcgi; then
+               myconf+=" --with-http_realip_module"
+       fi
+
+       # third-party modules
+       if use nginx_modules_http_upload_progress; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/masterzen-nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_SHA1}"
+       fi
+
+       if use nginx_modules_http_headers_more; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/agentzh-headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_SHA1}"
+       fi
+
+       if use nginx_modules_http_push; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_PUSH_MODULE_P}"
+       fi
+
+       if use nginx_modules_http_cache_purge; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_CACHE_PURGE_MODULE_P}"
+       fi
+
+       if use nginx_modules_http_upload; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_UPLOAD_MODULE_P}"
+       fi
+
+       if use nginx_modules_http_slowfs_cache; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_SLOWFS_CACHE_MODULE_P}"
+       fi
+
+       if use http || use http-cache; then
+               http_enabled=1
+       fi
+
+       if [ $http_enabled ]; then
+               use http-cache || myconf+=" --without-http-cache"
+               use ssl && myconf+=" --with-http_ssl_module"
+       else
+               myconf+=" --without-http --without-http-cache"
+       fi
+
+       # MAIL modules
+       for mod in $NGINX_MODULES_MAIL; do
+               if use nginx_modules_mail_${mod}; then
+                       mail_enabled=1
+               else
+                       myconf+=" --without-mail_${mod}_module"
+               fi
+       done
+
+       if [ $mail_enabled ]; then
+               myconf+=" --with-mail"
+               use ssl && myconf+=" --with-mail_ssl_module"
+       fi
+
+       # custom modules
+       for mod in $NGINX_ADD_MODULES; do
+               myconf+=" --add-module=${mod}"
+       done
+
+       # https://bugs.gentoo.org/286772
+       export LANG=C LC_ALL=C
+       tc-export CC
+
+       ./configure \
+               --prefix=/usr \
+               --sbin-path=/usr/sbin/nginx \
+               --conf-path=/etc/${PN}/${PN}.conf \
+               --error-log-path=/var/log/${PN}/error_log \
+               --pid-path=/var/run/${PN}.pid \
+               --lock-path=/var/lock/nginx.lock \
+               --user=${PN} --group=${PN} \
+               --with-cc-opt="-I${ROOT}usr/include" \
+               --with-ld-opt="-L${ROOT}usr/lib" \
+               --http-log-path=/var/log/${PN}/access_log \
+               --http-client-body-temp-path=/var/tmp/${PN}/client \
+               --http-proxy-temp-path=/var/tmp/${PN}/proxy \
+               --http-fastcgi-temp-path=/var/tmp/${PN}/fastcgi \
+               --http-scgi-temp-path=/var/tmp/${PN}/scgi \
+               --http-uwsgi-temp-path=/var/tmp/${PN}/uwsgi \
+               ${myconf} || die "configure failed"
+}
+
+src_compile() {
+       # https://bugs.gentoo.org/286772
+       export LANG=C LC_ALL=C
+       emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_install() {
+       keepdir /var/log/${PN} /var/tmp/${PN}/{client,proxy,fastcgi,scgi,uwsgi}
+       keepdir /var/www/localhost/htdocs
+
+       dosbin objs/nginx
+       newinitd "${FILESDIR}"/nginx.init-r2 nginx
+
+       cp "${FILESDIR}"/nginx.conf-r4 conf/nginx.conf
+       rm conf/win-utf conf/koi-win conf/koi-utf
+
+       dodir /etc/${PN}
+       insinto /etc/${PN}
+       doins conf/*
+
+       doman man/nginx.8
+       dodoc CHANGES* README
+
+       # logrotate
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/nginx.logrotate nginx
+
+       if use nginx_modules_http_perl; then
+               cd "${S}"/objs/src/http/modules/perl/
+               einstall DESTDIR="${D}" INSTALLDIRS=vendor || die "failed to install perl stuff"
+               fixlocalpod
+       fi
+
+       if use nginx_modules_http_push; then
+               docinto ${HTTP_PUSH_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_PUSH_MODULE_P}/{changelog.txt,protocol.txt,README}
+       fi
+
+       if use nginx_modules_http_cache_purge; then
+               docinto ${HTTP_CACHE_PURGE_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_CACHE_PURGE_MODULE_P}/{CHANGES,README.md,TODO.md}
+       fi
+
+       if use nginx_modules_http_upload; then
+               docinto ${HTTP_UPLOAD_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_UPLOAD_MODULE_P}/{Changelog,README}
+       fi
+
+       if use nginx_modules_http_slowfs_cache; then
+               docinto ${HTTP_SLOWFS_CACHE_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_SLOWFS_CACHE_MODULE_P}/{CHANGES,README}
+       fi
+}
+
+pkg_postinst() {
+       if use ssl; then
+               if [ ! -f "${ROOT}"/etc/ssl/${PN}/${PN}.key ]; then
+                       install_cert /etc/ssl/${PN}/${PN}
+                       chown ${PN}:${PN} "${ROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
+               fi
+       fi
+}
diff --git a/www-servers/nginx/nginx-1.1.8.ebuild b/www-servers/nginx/nginx-1.1.8.ebuild
new file mode 100644 (file)
index 0000000..d9a9416
--- /dev/null
@@ -0,0 +1,341 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.1.8.ebuild,v 1.1 2011/11/20 06:50:14 hollow Exp $
+
+EAPI="4"
+
+# Maintainer notes:
+# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
+# - any http-module activates the main http-functionality and overrides USE=-http
+# - keep the following requirements in mind before adding external modules:
+#   * alive upstream
+#   * sane packaging
+#   * builds cleanly
+#   * does not need a patch for nginx core
+# - TODO: test the google-perftools module (included in vanilla tarball)
+
+# prevent perl-module from adding automagic perl DEPENDs
+GENTOO_DEPEND_ON_PERL="no"
+
+# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license)
+HTTP_UPLOAD_PROGRESS_MODULE_PV="0.8.3"
+HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
+HTTP_UPLOAD_PROGRESS_MODULE_SHA1="c7c663f"
+HTTP_UPLOAD_PROGRESS_MODULE_URI="http://github.com/masterzen/nginx-upload-progress-module/tarball/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
+
+# http_headers_more (http://github.com/agentzh/headers-more-nginx-module, BSD license)
+HTTP_HEADERS_MORE_MODULE_PV="0.15"
+HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}"
+HTTP_HEADERS_MORE_MODULE_SHA1="137855d"
+HTTP_HEADERS_MORE_MODULE_URI="http://github.com/agentzh/headers-more-nginx-module/tarball/v${HTTP_HEADERS_MORE_MODULE_PV}"
+
+# http_push (http://pushmodule.slact.net/, MIT license)
+HTTP_PUSH_MODULE_PV="0.692"
+HTTP_PUSH_MODULE_P="nginx_http_push_module-${HTTP_PUSH_MODULE_PV}"
+HTTP_PUSH_MODULE_URI="http://pushmodule.slact.net/downloads/${HTTP_PUSH_MODULE_P}.tar.gz"
+
+# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, BSD-2 license)
+HTTP_CACHE_PURGE_MODULE_PV="1.4"
+HTTP_CACHE_PURGE_MODULE_P="ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
+HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/${HTTP_CACHE_PURGE_MODULE_P}.tar.gz"
+
+# HTTP Upload module from Valery Kholodkov
+# (http://www.grid.net.ru/nginx/upload.en.html, BSD license)
+HTTP_UPLOAD_MODULE_PV="2.2.0"
+HTTP_UPLOAD_MODULE_P="nginx_upload_module-${HTTP_UPLOAD_MODULE_PV}"
+HTTP_UPLOAD_MODULE_URI="http://www.grid.net.ru/nginx/download/${HTTP_UPLOAD_MODULE_P}.tar.gz"
+
+# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license)
+HTTP_SLOWFS_CACHE_MODULE_PV="1.6"
+HTTP_SLOWFS_CACHE_MODULE_P="ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
+HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz"
+
+inherit eutils ssl-cert toolchain-funcs perl-module flag-o-matic
+
+DESCRIPTION="Robust, small and high performance http and reverse proxy server"
+HOMEPAGE="http://nginx.org"
+SRC_URI="http://nginx.org/download/${P}.tar.gz
+       nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz )
+       nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz )
+       nginx_modules_http_push? ( ${HTTP_PUSH_MODULE_URI} )
+       nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} )
+       nginx_modules_http_upload? ( ${HTTP_UPLOAD_MODULE_URI} )
+       nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} )"
+
+LICENSE="as-is BSD BSD-2 GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
+
+NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif fastcgi
+geo gzip limit_req limit_zone map memcached proxy referer rewrite scgi ssi
+split_clients upstream_ip_hash userid uwsgi"
+NGINX_MODULES_OPT="addition dav degradation flv geoip gzip_static image_filter
+mp4 perl random_index realip secure_link stub_status sub xslt"
+NGINX_MODULES_MAIL="imap pop3 smtp"
+NGINX_MODULES_3RD="
+       http_upload_progress
+       http_headers_more
+       http_passenger
+       http_push
+       http_cache_purge
+       http_upload
+       http_slowfs_cache"
+
+IUSE="aio debug +http +http-cache ipv6 libatomic +pcre ssl vim-syntax"
+
+for mod in $NGINX_MODULES_STD; do
+       IUSE="${IUSE} +nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_OPT; do
+       IUSE="${IUSE} nginx_modules_http_${mod}"
+done
+
+for mod in $NGINX_MODULES_MAIL; do
+       IUSE="${IUSE} nginx_modules_mail_${mod}"
+done
+
+for mod in $NGINX_MODULES_3RD; do
+       IUSE="${IUSE} nginx_modules_${mod}"
+done
+
+CDEPEND="
+       pcre? ( >=dev-libs/libpcre-4.2 )
+       ssl? ( dev-libs/openssl )
+       http-cache? ( userland_GNU? ( dev-libs/openssl ) )
+       nginx_modules_http_geo? ( dev-libs/geoip )
+       nginx_modules_http_gzip? ( sys-libs/zlib )
+       nginx_modules_http_gzip_static? ( sys-libs/zlib )
+       nginx_modules_http_image_filter? ( media-libs/gd[jpeg,png] )
+       nginx_modules_http_perl? ( >=dev-lang/perl-5.8 )
+       nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 )
+       nginx_modules_http_secure_link? ( userland_GNU? ( dev-libs/openssl ) )
+       nginx_modules_http_xslt? ( dev-libs/libxml2 dev-libs/libxslt )"
+RDEPEND="${CDEPEND}"
+DEPEND="${CDEPEND}
+       arm? ( dev-libs/libatomic_ops )
+       libatomic? ( dev-libs/libatomic_ops )"
+PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
+
+pkg_setup() {
+       if use nginx_modules_http_passenger; then
+               einfo
+               einfo "Passenger support has been removed from the nginx ebuild to"
+               einfo "get rid of file collisions, its broken build system and"
+               einfo "incompatibilities between passenger 2 and 3."
+               einfo
+               einfo "Please switch to passenger-3 standalone or use the"
+               einfo "unicorn gem which provides a sane nginx-like architecture"
+               einfo "out of the box."
+               einfo
+               einfo "For more information on sane ruby deployments with"
+               einfo "passenger-3/unicorn go to:"
+               einfo
+               einfo "https://rvm.beginrescueend.com"
+               einfo
+               die "nginx_modules_http_passenger still in IUSE"
+       fi
+
+       ebegin "Creating nginx user and group"
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 -1 ${PN}
+       eend $?
+
+       if use libatomic; then
+               ewarn "GCC 4.1+ features built-in atomic operations."
+               ewarn "Using libatomic_ops is only needed if using"
+               ewarn "a different compiler or a GCC prior to 4.1"
+       fi
+
+       if [[ -n $NGINX_ADD_MODULES ]]; then
+               ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
+               ewarn "This nginx installation is not supported!"
+               ewarn "Make sure you can reproduce the bug without those modules"
+               ewarn "_before_ reporting bugs."
+       fi
+
+       if use !http; then
+               ewarn "To actually disable all http-functionality you also have to disable"
+               ewarn "all nginx http modules."
+       fi
+}
+
+src_prepare() {
+       sed -i 's/ make/ \\$(MAKE)/' "${S}"/auto/lib/perl/make
+}
+
+src_configure() {
+       local myconf= http_enabled= mail_enabled=
+
+       use aio       && myconf+=" --with-file-aio --with-aio_module"
+       use debug     && myconf+=" --with-debug"
+       use ipv6      && myconf+=" --with-ipv6"
+       use libatomic && myconf+=" --with-libatomic"
+       use pcre      && myconf+=" --with-pcre"
+
+       # HTTP modules
+       for mod in $NGINX_MODULES_STD; do
+               if use nginx_modules_http_${mod}; then
+                       http_enabled=1
+               else
+                       myconf+=" --without-http_${mod}_module"
+               fi
+       done
+
+       for mod in $NGINX_MODULES_OPT; do
+               if use nginx_modules_http_${mod}; then
+                       http_enabled=1
+                       myconf+=" --with-http_${mod}_module"
+               fi
+       done
+
+       if use nginx_modules_http_fastcgi; then
+               myconf+=" --with-http_realip_module"
+       fi
+
+       # third-party modules
+       if use nginx_modules_http_upload_progress; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/masterzen-nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_SHA1}"
+       fi
+
+       if use nginx_modules_http_headers_more; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/agentzh-headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_SHA1}"
+       fi
+
+       if use nginx_modules_http_push; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_PUSH_MODULE_P}"
+       fi
+
+       if use nginx_modules_http_cache_purge; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_CACHE_PURGE_MODULE_P}"
+       fi
+
+       if use nginx_modules_http_upload; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_UPLOAD_MODULE_P}"
+       fi
+
+       if use nginx_modules_http_slowfs_cache; then
+               http_enabled=1
+               myconf+=" --add-module=${WORKDIR}/${HTTP_SLOWFS_CACHE_MODULE_P}"
+       fi
+
+       if use http || use http-cache; then
+               http_enabled=1
+       fi
+
+       if [ $http_enabled ]; then
+               use http-cache || myconf+=" --without-http-cache"
+               use ssl && myconf+=" --with-http_ssl_module"
+       else
+               myconf+=" --without-http --without-http-cache"
+       fi
+
+       # MAIL modules
+       for mod in $NGINX_MODULES_MAIL; do
+               if use nginx_modules_mail_${mod}; then
+                       mail_enabled=1
+               else
+                       myconf+=" --without-mail_${mod}_module"
+               fi
+       done
+
+       if [ $mail_enabled ]; then
+               myconf+=" --with-mail"
+               use ssl && myconf+=" --with-mail_ssl_module"
+       fi
+
+       # custom modules
+       for mod in $NGINX_ADD_MODULES; do
+               myconf+=" --add-module=${mod}"
+       done
+
+       # https://bugs.gentoo.org/286772
+       export LANG=C LC_ALL=C
+       tc-export CC
+
+       ./configure \
+               --prefix=/usr \
+               --sbin-path=/usr/sbin/nginx \
+               --conf-path=/etc/${PN}/${PN}.conf \
+               --error-log-path=/var/log/${PN}/error_log \
+               --pid-path=/var/run/${PN}.pid \
+               --lock-path=/var/lock/nginx.lock \
+               --user=${PN} --group=${PN} \
+               --with-cc-opt="-I${ROOT}usr/include" \
+               --with-ld-opt="-L${ROOT}usr/lib" \
+               --http-log-path=/var/log/${PN}/access_log \
+               --http-client-body-temp-path=/var/tmp/${PN}/client \
+               --http-proxy-temp-path=/var/tmp/${PN}/proxy \
+               --http-fastcgi-temp-path=/var/tmp/${PN}/fastcgi \
+               --http-scgi-temp-path=/var/tmp/${PN}/scgi \
+               --http-uwsgi-temp-path=/var/tmp/${PN}/uwsgi \
+               ${myconf} || die "configure failed"
+}
+
+src_compile() {
+       # https://bugs.gentoo.org/286772
+       export LANG=C LC_ALL=C
+       emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" || die "emake failed"
+}
+
+src_install() {
+       keepdir /var/log/${PN} /var/tmp/${PN}/{client,proxy,fastcgi,scgi,uwsgi}
+       keepdir /var/www/localhost/htdocs
+
+       dosbin objs/nginx
+       newinitd "${FILESDIR}"/nginx.init-r2 nginx
+
+       cp "${FILESDIR}"/nginx.conf-r4 conf/nginx.conf
+       rm conf/win-utf conf/koi-win conf/koi-utf
+
+       dodir /etc/${PN}
+       insinto /etc/${PN}
+       doins conf/*
+
+       doman man/nginx.8
+       dodoc CHANGES* README
+
+       # logrotate
+       insinto /etc/logrotate.d
+       newins "${FILESDIR}"/nginx.logrotate nginx
+
+       if use nginx_modules_http_perl; then
+               cd "${S}"/objs/src/http/modules/perl/
+               einstall DESTDIR="${D}" INSTALLDIRS=vendor || die "failed to install perl stuff"
+               fixlocalpod
+       fi
+
+       if use nginx_modules_http_push; then
+               docinto ${HTTP_PUSH_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_PUSH_MODULE_P}/{changelog.txt,protocol.txt,README}
+       fi
+
+       if use nginx_modules_http_cache_purge; then
+               docinto ${HTTP_CACHE_PURGE_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_CACHE_PURGE_MODULE_P}/{CHANGES,README.md,TODO.md}
+       fi
+
+       if use nginx_modules_http_upload; then
+               docinto ${HTTP_UPLOAD_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_UPLOAD_MODULE_P}/{Changelog,README}
+       fi
+
+       if use nginx_modules_http_slowfs_cache; then
+               docinto ${HTTP_SLOWFS_CACHE_MODULE_P}
+               dodoc "${WORKDIR}"/${HTTP_SLOWFS_CACHE_MODULE_P}/{CHANGES,README}
+       fi
+}
+
+pkg_postinst() {
+       if use ssl; then
+               if [ ! -f "${ROOT}"/etc/ssl/${PN}/${PN}.key ]; then
+                       install_cert /etc/ssl/${PN}/${PN}
+                       chown ${PN}:${PN} "${ROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
+               fi
+       fi
+}