Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
  • 1 commit
  • 2 files changed
  • 0 commit comments
  • 1 contributor
Commits on Aug 24, 2011
W. Mark Kubacki www-servers/nginx-1.1.1 ad2f91a
Showing with 355 additions and 0 deletions.
  1. +3 −0  www-servers/nginx/Manifest
  2. +352 −0 www-servers/nginx/nginx-1.1.1.ebuild
3  www-servers/nginx/Manifest
View
@@ -20,6 +20,7 @@ DIST nginx-1.0.3.tar.gz 661551 RMD160 a000e3d532b267afa19db5533ad4f8e20853ddb4 S
DIST nginx-1.0.4.tar.gz 661444 RMD160 378b303ed91dc76cda12f2984b26c3aae9337599 SHA1 0496b7377e583116497f18453003cba3269417e9 SHA256 ff54f7deea3dc69da467f3b4c2c8167d5967a096451148ed362e20fb0203f043
DIST nginx-1.0.5.tar.gz 662122 RMD160 0dffd97fc59b706e11312f25f7937b7a74acb56c SHA1 34418bb8caade9a1204c6ddafc389edece052617 SHA256 b8c6df4e55a41425b57ba0de5ed8a84722dceb0eb7fbb4123f7f8f314763c8df
DIST nginx-1.1.0.tar.gz 664316 RMD160 95ac5e13ccc17fe958ab565d97cd4df13b8fe866 SHA1 1e0a54e2decfc8a0a9df6c05f41ae894a723b3b5 SHA256 93cfb3f1706978d6bb6874d22fe7b99f1d31d543b45e1c04c3283c0c05448c78
+DIST nginx-1.1.1.tar.gz 665661 RMD160 64b487b6d4f092be18409c38efdceaa5679a614c SHA1 8dacfc0e39a17edf8c9db4710b99147ed0f11e04 SHA256 2951b7d48edac6e611f1bec7d66bfd6c325c4659ff15ece600aa3737e0f8aff8
DIST nginx_accept_language_module-20081217.tbz2 3297 RMD160 97df45d7a94ef906dcbaa69c800345993281b291 SHA1 32713b980b45830cfcec75ac7fdf8f4d43e1176e SHA256 95c431a08bdac717db9c386b2ae1d5d8c48eb9c681c7303bb25fcdcbeeb01ad4
DIST nginx_http_push_module-0.692.tar.gz 29119 RMD160 9d2be16074cf28115af0f1d8f3646937cda649ad SHA1 72103084cad8f4d3d9a49a6b04cf780e4541605d SHA256 64868708071aa21dbc4c7a07d149dd6ec9108fb7eaf2aad5ad069406151f17fe
DIST ngx-http-headers-more-0.13.tar.gz 76271 RMD160 b11fbdf8e6fba5327fedd22e517da36340ec2473 SHA1 29def6aa44faf906d3c400b6379d6dd65d959590 SHA256 52e2cb3b81327e9225cfa87291b93dd96b798702f8e3b0f20f06d38850fc2629
@@ -33,6 +34,7 @@ DIST ngx_http_redis-0.3.3.tar.gz 6486 RMD160 962d0b3ef707800a27a7658ea26f93b3832
DIST passenger-3.0.1.tar.gz 2958200 RMD160 abf9d25c1d91ba44e6468f186d0e9d2569428842 SHA1 2801e35043ea43d6fae5677a7c36bc43b6fc017e SHA256 765b5528f23a5f65f2cc4b72f2e90d9b93ae777dc36a1f7b6d957b39f3cd55cd
DIST passenger-3.0.6.tar.gz 2837833 RMD160 192ab3804d0dec8fbf60f61dfa9e2fd1d9ce32c8 SHA1 6c85d2159c23ffa47026c1dd751ce873d69205dd SHA256 a0ce96d88721147125d4475b13d208fdbcd22e83bbcee9decbdd49ec34f2b6f6
DIST passenger-3.0.7.tar.gz 2830376 RMD160 3a22895d72b3f6c9f953e00cb90fe0193494d058 SHA1 f6fd2ff499af9b5ed637505bb3bbe3cc7675b989 SHA256 021972c7f4fecd80042e7fc1d8f19ee3008a5491a3b1d34958b2b7ed42bddc85
+DIST passenger-3.0.8.tar.gz 2362561 RMD160 1264b76a3440492b3d435050007611735a627c72 SHA1 265d1dcb66a29b944fa475f7d6831ce16ac37e2e SHA256 ccef21dc97b54de17c1d44644b2bc67b7732a860ff67206a4c557727311a8349
EBUILD nginx-0.8.30.ebuild 3762 RMD160 5d4dcc243fcf0d58f9f81214b9f14324278a1580 SHA1 3e20883b0eb394c6072f5823678c820850f58fc2 SHA256 2581f77823cd3dc686e2c8c4d221069353f9203c05f3e14af899b0d0192cffba
EBUILD nginx-0.8.42.ebuild 316 RMD160 bd39c5442a3293d1a0991661ed50621e79b15cb1 SHA1 85ea40e26abed6bc403283a5b87f7ae1cddeab86 SHA256 4581b110749cc9c23a10bdcd49fefea723f298e611288f7fd88b467023dd6ce4
EBUILD nginx-0.8.54.ebuild 10873 RMD160 19bb1dd2ebf58a0bb5767e9ebed11767687d0298 SHA1 268bc2a12b9df926c0126e209b6b4b61c9aab71e SHA256 b0e78c9193ecda982c8a1a490064e16cf27692ddbf1129c7a37a9398770ed4a7
@@ -42,3 +44,4 @@ EBUILD nginx-1.0.3.ebuild 10833 RMD160 b15da92629126df4d38724f5d00020783d8b12c7
EBUILD nginx-1.0.4.ebuild 10833 RMD160 b15da92629126df4d38724f5d00020783d8b12c7 SHA1 4bab47638b6bfa440af1557ee192ae6b86fd6f1f SHA256 24fd8ab3d671e4d8568cdff8c93de1626beea5c42a5df9e0e8e182e699525193
EBUILD nginx-1.0.5.ebuild 10836 RMD160 6a665c3efca6897e91c27742b7c04a07223d0627 SHA1 28ea45df6a23cf209a4a8b86e441f1ac0df48e43 SHA256 c2c38b7f6eab23d13d1d4b2ea5e3bb2b84e7f7a3d3f5277ca9423dd91eeab99b
EBUILD nginx-1.1.0.ebuild 10839 RMD160 04c6c83be024b460870658d2a7db80ecd4c46e08 SHA1 35e19fedc4a4c0c7c6c1adca50cd290349bae635 SHA256 7232811447159bc581f9dff1c7a40b96f8de93d23755bb414b97e4bdd86e3e97
+EBUILD nginx-1.1.1.ebuild 10836 RMD160 a16d5800aa51e30d455af90c2cbbd3b061e75633 SHA1 9aadbc824a1bcc0b6e27a47f9694b0a96206f996 SHA256 e1b6e06a80885a8f1834640f1be6a7245090a55c1ef29ac7f456662ebccb7246
352 www-servers/nginx/nginx-1.1.1.ebuild
View
@@ -0,0 +1,352 @@
+# Copyright 2011 W-Mark Kubacki
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+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.15"
+HTTP_HEADERS_MORE_MODULE_P="ngx-http-headers-more-${HTTP_HEADERS_MORE_MODULE_PV}"
+HTTP_HEADERS_MORE_MODULE_SHA1="137855d"
+
+# http_passenger (http://www.modrails.com/, MIT license)
+# TODO: currently builds some stuff in src_configure
+PASSENGER_PV="3.0.8"
+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_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, BSD-2 license)
+HTTP_CACHE_PURGE_MODULE_P="ngx_cache_purge-1.3"
+
+# http_redis (http://wiki.nginx.org/HttpRedis)
+HTTP_REDIS_MODULE_P="ngx_http_redis-0.3.3"
+
+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://labs.frickle.com/nginx_ngx_cache_purge/"
+SRC_URI="http://nginx.org/download/${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_redis? ( http://people.freebsd.org/~osa/${HTTP_REDIS_MODULE_P}.tar.gz )
+ nginx_modules_http_cache_purge? ( http://labs.frickle.com/files/${HTTP_CACHE_PURGE_MODULE_P}.tar.gz )"
+RESTRICT="primaryuri"
+
+LICENSE="BSD BSD-2 GPL-2 MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~sparc x86 arm ~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_cache_purge http_headers_more http_passenger http_push http_redis"
+
+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
+ dev-libs/libev
+ )"
+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() {
+ epatch "${FILESDIR}/nginx-0.8.27-zero_filesize_check.patch"
+
+ 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-3.0.1-cflags.patch" \
+ "${FILESDIR}/passenger-3.0.1-missing-include.patch"
+
+ sed -i \
+ -e 's|/usr/lib/phusion-passenger/agents|/usr/libexec/passenger/agents|' \
+ -e 's|/usr/share/phusion-passenger/helper-scripts|/usr/libexec/passenger/bin|' \
+ -e "s|/usr/share/doc/phusion-passenger|/usr/share/doc/${PF}|" \
+ lib/phusion_passenger.rb ext/common/ResourceLocator.h || die "sed failed"
+ 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_redis; then
+ http_enabled=1
+ myconf+=" --add-module=${WORKDIR}/${HTTP_REDIS_MODULE_P}"
+ fi
+
+ if use nginx_modules_http_cache_purge; then
+ http_enabled=1
+ myconf="${myconf} --add-module=${WORKDIR}/${HTTP_CACHE_PURGE_MODULE_P}"
+ 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 \
+ --http-scgi-temp-path=/var/tmp/${PN}/scgi \
+ --http-uwsgi-temp-path=/var/tmp/${PN}/uwsgi \
+ ${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,scgi,uwsgi}
+
+ 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_cache_purge; then
+ docinto ${HTTP_CACHE_PURGE_MODULE_P}
+ dodoc "${WORKDIR}"/${HTTP_CACHE_PURGE_MODULE_P}/{CHANGES,README}
+ 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"]')
+ insopts -m 0755
+ doins ext/ruby/*/passenger_native_support.so
+ doruby -r lib/phusion_passenger lib/phusion_passenger.rb
+
+ exeinto /usr/bin
+ doexe bin/passenger-memory-stats bin/passenger-status
+
+ exeinto /usr/libexec/passenger/bin
+ doexe helper-scripts/passenger-spawn-server
+
+ exeinto /usr/libexec/passenger/agents
+ doexe agents/Passenger{LoggingAgent,Watchdog}
+
+ exeinto /usr/libexec/passenger/agents/nginx
+ doexe agents/nginx/PassengerHelperAgent
+ 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
+}

No commit comments for this range

Something went wrong with that request. Please try again.