version bump wrt #321681
authorBenedikt Boehm <hollow@gentoo.org>
Sun, 30 May 2010 07:14:34 +0000 (07:14 +0000)
committerBenedikt Boehm <hollow@gentoo.org>
Sun, 30 May 2010 07:14:34 +0000 (07:14 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux i686

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

index 9098e131da7a1180d717401a1bf777bd0eb24ec2..551acebc8fabe440905db545c7fdc471ed74357d 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for www-servers/nginx
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.258 2010/05/29 06:35:55 hollow Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.259 2010/05/30 07:14:34 hollow Exp $
+
+*nginx-0.8.38 (30 May 2010)
+
+  30 May 2010; Benedikt Böhm <hollow@gentoo.org> +nginx-0.8.38.ebuild:
+  version bump wrt #321681
 
   29 May 2010; Benedikt Böhm <hollow@gentoo.org> nginx-0.7.65-r1.ebuild,
   -nginx-0.8.34-r1.ebuild, -nginx-0.8.35.ebuild, -nginx-0.8.36.ebuild,
index 6c938f140a04ae95f3e9421e06ef05e9af406d9b..86510adefd356d21f447bc1cd3d8006456a57cd8 100644 (file)
@@ -4,11 +4,14 @@ AUX nginx.logrotate 332 RMD160 65314d1b78142f3653e98e0c2cdff9deec69fd77 SHA1 c6b
 AUX passenger-CFLAGS.patch 646 RMD160 12f1e5f80fd2694fed612226561670f9a0f7f556 SHA1 1f9e2df74069a8d863e850a0e7e13bd0e8fc8fcb SHA256 42b5221b418df055cd51d03057d92fb93c4f1bbca56a1ea35cc6f5c5d9e1953d
 DIST nginx-0.7.65.tar.gz 604451 RMD160 c03386b135ec4d72d2997b19ea70b28aeaa7a6da SHA1 f2dcc8e015903ff1277e6fa427f9b7911c4f35ce SHA256 c9f0ccaf5a09b01edf991f3adde8fced9361965838c0982112fa5c92aa2ec33a
 DIST nginx-0.8.36.tar.gz 623359 RMD160 b29ce2c60ea77f7bad5672939cc16ea39ff1ceac SHA1 4068aca8626892840dce670c5c158d2f8c72663d SHA256 d1b8a54d2d646ff21deaa1e3ec48cca5c143da5d4390e9b3dd001eaa4c9992d9
+DIST nginx-0.8.38.tar.gz 623969 RMD160 62b23252d16a861ea092cbd8bc28882e4f84157d SHA1 8e48ac109b07f0542ccda93e5b4bab67d9598aef SHA256 a97241207e7060aa04571e313908f22e007df5b2667c42274420e6a961b2c8c5
 DIST nginx_http_push_module-0.692.tar.gz 29119 RMD160 9d2be16074cf28115af0f1d8f3646937cda649ad SHA1 72103084cad8f4d3d9a49a6b04cf780e4541605d SHA256 64868708071aa21dbc4c7a07d149dd6ec9108fb7eaf2aad5ad069406151f17fe
+DIST ngx-http-headers-more-0.08.tar.gz 71764 RMD160 63ee177d5abca7c958c88197f02a4063c88dba7c SHA1 b8c6f2499e44fd9fb84bef87b3f4588ddfa70798 SHA256 3e3bc43e98d95b8a0923cf6ec1af5644e855d15e33b6553096e02c53c69bc4d5
 DIST passenger-2.2.11.tar.gz 2058085 RMD160 54ee5ab25155adaf4b6be9dc0aee190a323254e5 SHA1 9c38d364f59cb72c14a2f4c22445252468f08c4e SHA256 9d4aa14a4dfe9daa713aa19a787e1a5bee0db9f3625e17ffebe1e5325aa20a88
 DIST uwsgi-0.9.5.tar.gz 118203 RMD160 c6ffd2661dd623e848002604798e4a18402f7d76 SHA1 264572059254e2cca771908050d7534aaafff1a8 SHA256 49e88485b9f91693409c255738bc6a6f2a6f856a8a0f04b07dccf5ab7e3de0bd
 EBUILD nginx-0.7.65-r1.ebuild 7285 RMD160 6ffee4ff5a74677a44d05e6ed33a716a3aa775e0 SHA1 e579311ba3498043be1f5e94154edb5894cc15d6 SHA256 93eee086bae8800e6db38f75fb28ea548d8c53f4bec0f7656486ac9491c851c5
 EBUILD nginx-0.7.65.ebuild 3769 RMD160 623f00383af982d7dc7634a4f2b803084dd14dec SHA1 8c6d67684b42c7260944cb1ae35e8df0c7381fde SHA256 d4fa545438c2ea57a7cc5c843abd20e8f75dbe29e19d4c82382a80f75a2d951f
 EBUILD nginx-0.8.36-r1.ebuild 9150 RMD160 5ff2f332108d9091f2415d905324b83cd1911d3e SHA1 6fe25c1f54bfcb9048fcb28a142dbd27b71325a4 SHA256 53aa0556376a464dd5dc6d4a31d9c8d96445ae6df677d20b66ed40c956bfe1c2
-MISC ChangeLog 42098 RMD160 a85ec365050b70dbedf3f70c64dae520821917bd SHA1 ef9820f4078e1cfacb7158d854fbb5c8f6a83f4f SHA256 1c24b347115a95d963c4040e9ea02354ad1fda29042f833cc22522f60db641f5
+EBUILD nginx-0.8.38.ebuild 9787 RMD160 4f882e102eb7b5e67b253e29ef254966c92f92e7 SHA1 d355cf13960d393ffe3ae2cce46c3b2335ee1645 SHA256 21733da8e366ece9b4e1c33d20782cd1e0fe9266af23f9d06fd295d8a4cf260c
+MISC ChangeLog 42227 RMD160 bdf07210ed63ddbd874a0f35c0beb6d855bdbd92 SHA1 06c1c85a09ea7e874a4f503d590c5a2ec1418302 SHA256 4cf5106328a1de1dfcd48d3ffa936c1fc45f7bfde1c1f9a5194da67fce66f470
 MISC metadata.xml 1357 RMD160 d83e1c10ab29f088e5fe9bfe1cec707247f8abde SHA1 c07f6abb803f7a568e74cbcc8423b570730c9314 SHA256 31ed49b4b5c7f93eb0d4be1cd254542fbcf517b243ac4f8393c0aa8ccf05cdcf
diff --git a/www-servers/nginx/nginx-0.8.38.ebuild b/www-servers/nginx/nginx-0.8.38.ebuild
new file mode 100644 (file)
index 0000000..cf7bb73
--- /dev/null
@@ -0,0 +1,326 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-0.8.38.ebuild,v 1.1 2010/05/30 07:14:34 hollow Exp $
+
+EAPI="2"
+
+# 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 3 requirements in mind before adding external modules:
+#   * alive upstream
+#   * sane packaging
+#   * builds cleanly
+# - TODO: test the google-perftools module (included in vanilla tarball)
+
+# prevent perl-module from adding automagic perl DEPENDs
+GENTOO_DEPEND_ON_PERL="no"
+
+# http_headers_more (http://github.com/agentzh/headers-more-nginx-module, BSD license)
+HTTP_HEADERS_MORE_MODULE_PV="0.08"
+HTTP_HEADERS_MORE_MODULE_P="ngx-http-headers-more-${HTTP_HEADERS_MORE_MODULE_PV}"
+HTTP_HEADERS_MORE_MODULE_SHA1="5cd9a38"
+
+# http_passenger (http://www.modrails.com/, MIT license)
+# TODO: currently builds some stuff in src_configure
+PASSENGER_PV="2.2.11"
+USE_RUBY="ruby18"
+RUBY_OPTIONAL="yes"
+
+# http_push (http://pushmodule.slact.net/, MIT license)
+HTTP_PUSH_MODULE_P="nginx_http_push_module-0.692"
+
+# http_uwsgi (http://projects.unbit.it/uwsgi/, GPL-2 license)
+HTTP_UWSGI_MODULE_PV="0.9.5"
+
+inherit eutils ssl-cert toolchain-funcs perl-module ruby-ng flag-o-matic
+
+DESCRIPTION="Robust, small and high performance http and reverse proxy server"
+HOMEPAGE="http://nginx.net/
+       http://www.modrails.com/
+       http://pushmodule.slact.net/
+       http://projects.unbit.it/uwsgi/"
+SRC_URI="http://sysoev.ru/nginx/${P}.tar.gz
+       nginx_modules_http_headers_more? ( http://github.com/agentzh/headers-more-nginx-module/tarball/v${HTTP_HEADERS_MORE_MODULE_PV} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz )
+       nginx_modules_http_passenger? ( mirror://rubyforge/passenger/passenger-${PASSENGER_PV}.tar.gz )
+       nginx_modules_http_push? ( http://pushmodule.slact.net/downloads/${HTTP_PUSH_MODULE_P}.tar.gz )
+       nginx_modules_http_uwsgi? ( http://projects.unbit.it/downloads/uwsgi-${HTTP_UWSGI_MODULE_PV}.tar.gz )"
+
+LICENSE="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 ssi
+upstream_ip_hash userid"
+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_headers_more http_passenger http_push http_uwsgi"
+
+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 )
+       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 )
+       nginx_modules_http_passenger? (
+               $(ruby_implementation_depend ruby18)
+               >=dev-ruby/rubygems-0.9.0
+               >=dev-ruby/rake-0.8.1
+               >=dev-ruby/fastthread-1.0.1
+               >=dev-ruby/rack-1.0.0
+       )"
+RDEPEND="${CDEPEND}"
+DEPEND="${CDEPEND}
+       arm? ( dev-libs/libatomic_ops )
+       libatomic? ( dev-libs/libatomic_ops )"
+PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
+
+pkg_setup() {
+       ebegin "Creating nginx user and group"
+       enewgroup ${PN}
+       enewuser ${PN} -1 -1 -1 ${PN}
+       eend ${?}
+
+       if use ipv6; then
+               ewarn "Note that ipv6 support in nginx is still experimental."
+               ewarn "Be sure to read comments on gentoo bug #274614"
+               ewarn "http://bugs.gentoo.org/show_bug.cgi?id=274614"
+       fi
+
+       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 nginx_modules_http_passenger; then
+               ruby-ng_pkg_setup
+               use debug && append-flags -DPASSENGER_DEBUG
+       fi
+
+       if use !http; then
+               ewarn "To actually disable all http-functionality you also have to disable"
+               ewarn "all nginx http modules."
+       fi
+}
+
+src_unpack() {
+       # prevent ruby-ng.eclass from messing with src_unpack
+       default
+}
+
+src_prepare() {
+       sed -i 's/ make/ \\$(MAKE)/' "${S}"/auto/lib/perl/make
+
+       if use nginx_modules_http_passenger; then
+               cd "${WORKDIR}"/passenger-${PASSENGER_PV}
+               epatch "${FILESDIR}"/passenger-CFLAGS.patch
+       fi
+}
+
+src_configure() {
+       local myconf= http_enabled= mail_enabled=
+
+       use aio && myconf="${myconf} --with-file-aio --with-aio_module"
+       use debug && myconf="${myconf} --with-debug"
+       use ipv6 && myconf="${myconf} --with-ipv6"
+       use libatomic && myconf="${myconf} --with-libatomic"
+       use pcre && myconf="${myconf} --with-pcre"
+
+       # HTTP modules
+       for mod in $NGINX_MODULES_STD; do
+               if use nginx_modules_http_${mod}; then
+                       http_enabled=1
+               else
+                       myconf="${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="${myconf} --with-http_${mod}_module"
+               fi
+       done
+
+       if use nginx_modules_http_fastcgi; then
+               myconf="${myconf} --with-http_realip_module"
+       fi
+
+       # third-party modules
+       if use nginx_modules_http_headers_more; then
+               http_enabled=1
+               myconf="${myconf} --add-module=${WORKDIR}/agentzh-headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_SHA1}"
+       fi
+
+       if use nginx_modules_http_passenger; then
+               http_enabled=1
+               myconf="${myconf} --add-module=${WORKDIR}/passenger-${PASSENGER_PV}/ext/nginx"
+       fi
+
+       if use nginx_modules_http_push; then
+               http_enabled=1
+               myconf="${myconf} --add-module=${WORKDIR}/${HTTP_PUSH_MODULE_P}"
+       fi
+
+       if use nginx_modules_http_uwsgi; then
+               http_enabled=1
+               myconf="${myconf} --add-module=${WORKDIR}/uwsgi-${HTTP_UWSGI_MODULE_PV}/nginx"
+       fi
+
+       if use http || use http-cache; then
+               http_enabled=1
+       fi
+
+       if [ $http_enabled ]; then
+               use http-cache || myconf="${myconf} --without-http-cache"
+               use ssl && myconf="${myconf} --with-http_ssl_module"
+       else
+               myconf="${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="${myconf} --without-mail_${mod}_module"
+               fi
+       done
+
+       if [ $mail_enabled ]; then
+               myconf="${myconf} --with-mail"
+               use ssl && myconf="${myconf} --with-mail_ssl_module"
+       fi
+
+       # custom modules
+       for mod in $NGINX_ADD_MODULES; do
+               myconf="${myconf} --add-module=${mod}"
+       done
+
+       # http://bugs.gentoo.org/show_bug.cgi?id=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 \
+               ${myconf} || die "configure failed"
+}
+
+src_compile() {
+       # http://bugs.gentoo.org/show_bug.cgi?id=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}
+
+       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/*
+
+       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_uwsgi; then
+               insinto /etc/nginx
+               doins "${WORKDIR}"/uwsgi-${HTTP_UWSGI_MODULE_PV}/nginx/uwsgi_params
+       fi
+
+       if use nginx_modules_http_passenger; then
+               # passengers Rakefile is so horribly broken that we have to do it
+               # manually
+               cd "${WORKDIR}"/passenger-${PASSENGER_PV}
+
+               export RUBY="ruby18"
+
+               insinto $(${RUBY} -rrbconfig -e 'print Config::CONFIG["archdir"]')/phusion_passenger
+               insopts -m 0755
+               doins ext/phusion_passenger/*.so
+               doruby -r lib/phusion_passenger
+
+               exeinto /usr/bin
+               doexe bin/passenger-memory-stats bin/passenger-status
+
+               exeinto /usr/libexec/passenger/bin
+               doexe bin/passenger-spawn-server
+
+               exeinto /usr/libexec/passenger/ext/nginx
+               doexe ext/nginx/HelperServer
+       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
+}