Gentoo Archives: gentoo-commits

From: "Tiziano Mueller (dev-zero)" <dev-zero@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-servers/nginx: nginx-0.8.47.ebuild ChangeLog nginx-0.8.36-r1.ebuild nginx-0.8.38-r1.ebuild nginx-0.8.38.ebuild nginx-0.8.42.ebuild
Date: Fri, 30 Jul 2010 07:19:04
Message-Id: 20100730071858.D53EA2CE15@corvid.gentoo.org
1 dev-zero 10/07/30 07:18:58
2
3 Modified: ChangeLog
4 Added: nginx-0.8.47.ebuild
5 Removed: nginx-0.8.36-r1.ebuild nginx-0.8.38-r1.ebuild
6 nginx-0.8.38.ebuild nginx-0.8.42.ebuild
7 Log:
8 Version bump. Dropped old.
9 (Portage version: 2.2_rc67/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.265 www-servers/nginx/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/ChangeLog?rev=1.265&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/ChangeLog?rev=1.265&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/ChangeLog?r1=1.264&r2=1.265
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v
21 retrieving revision 1.264
22 retrieving revision 1.265
23 diff -u -r1.264 -r1.265
24 --- ChangeLog 20 Jul 2010 20:46:44 -0000 1.264
25 +++ ChangeLog 30 Jul 2010 07:18:58 -0000 1.265
26 @@ -1,6 +1,13 @@
27 # ChangeLog for www-servers/nginx
28 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.264 2010/07/20 20:46:44 dev-zero Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.265 2010/07/30 07:18:58 dev-zero Exp $
31 +
32 +*nginx-0.8.47 (29 Jul 2010)
33 +
34 + 29 Jul 2010; Tiziano Müller <dev-zero@g.o>
35 + -nginx-0.8.36-r1.ebuild, -nginx-0.8.38.ebuild, -nginx-0.8.38-r1.ebuild,
36 + -nginx-0.8.42.ebuild, +nginx-0.8.47.ebuild:
37 + Version bump. Dropped old.
38
39 *nginx-0.8.46 (20 Jul 2010)
40
41
42
43
44 1.1 www-servers/nginx/nginx-0.8.47.ebuild
45
46 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/nginx-0.8.47.ebuild?rev=1.1&view=markup
47 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/nginx-0.8.47.ebuild?rev=1.1&content-type=text/plain
48
49 Index: nginx-0.8.47.ebuild
50 ===================================================================
51 # Copyright 1999-2010 Gentoo Foundation
52 # Distributed under the terms of the GNU General Public License v2
53 # $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-0.8.47.ebuild,v 1.1 2010/07/30 07:18:58 dev-zero Exp $
54
55 EAPI="2"
56
57 # Maintainer notes:
58 # - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
59 # - any http-module activates the main http-functionality and overrides USE=-http
60 # - keep the following 3 requirements in mind before adding external modules:
61 # * alive upstream
62 # * sane packaging
63 # * builds cleanly
64 # - TODO: test the google-perftools module (included in vanilla tarball)
65
66 # prevent perl-module from adding automagic perl DEPENDs
67 GENTOO_DEPEND_ON_PERL="no"
68
69 # http_headers_more (http://github.com/agentzh/headers-more-nginx-module, BSD license)
70 HTTP_HEADERS_MORE_MODULE_PV="0.13"
71 HTTP_HEADERS_MORE_MODULE_P="ngx-http-headers-more-${HTTP_HEADERS_MORE_MODULE_PV}"
72 HTTP_HEADERS_MORE_MODULE_SHA1="9508330"
73
74 # http_passenger (http://www.modrails.com/, MIT license)
75 # TODO: currently builds some stuff in src_configure
76 PASSENGER_PV="2.2.15"
77 USE_RUBY="ruby18"
78 RUBY_OPTIONAL="yes"
79
80 # http_push (http://pushmodule.slact.net/, MIT license)
81 HTTP_PUSH_MODULE_P="nginx_http_push_module-0.692"
82
83 inherit eutils ssl-cert toolchain-funcs perl-module ruby-ng flag-o-matic
84
85 DESCRIPTION="Robust, small and high performance http and reverse proxy server"
86 HOMEPAGE="http://nginx.net/
87 http://www.modrails.com/
88 http://pushmodule.slact.net/"
89 SRC_URI="http://sysoev.ru/nginx/${P}.tar.gz
90 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 )
91 nginx_modules_http_passenger? ( mirror://rubyforge/passenger/passenger-${PASSENGER_PV}.tar.gz )
92 nginx_modules_http_push? ( http://pushmodule.slact.net/downloads/${HTTP_PUSH_MODULE_P}.tar.gz )"
93
94 LICENSE="BSD BSD-2 GPL-2 MIT"
95 SLOT="0"
96 KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
97
98 NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif fastcgi
99 geo gzip limit_req limit_zone map memcached proxy referer rewrite scgi ssi
100 split_clients upstream_ip_hash userid uwsgi"
101 NGINX_MODULES_OPT="addition dav degradation flv geoip gzip_static image_filter
102 perl random_index realip secure_link stub_status sub xslt"
103 NGINX_MODULES_MAIL="imap pop3 smtp"
104 NGINX_MODULES_3RD="http_headers_more http_passenger http_push"
105
106 IUSE="aio debug +http +http-cache ipv6 libatomic +pcre ssl vim-syntax"
107
108 for mod in $NGINX_MODULES_STD; do
109 IUSE="${IUSE} +nginx_modules_http_${mod}"
110 done
111
112 for mod in $NGINX_MODULES_OPT; do
113 IUSE="${IUSE} nginx_modules_http_${mod}"
114 done
115
116 for mod in $NGINX_MODULES_MAIL; do
117 IUSE="${IUSE} nginx_modules_mail_${mod}"
118 done
119
120 for mod in $NGINX_MODULES_3RD; do
121 IUSE="${IUSE} nginx_modules_${mod}"
122 done
123
124 CDEPEND="
125 pcre? ( >=dev-libs/libpcre-4.2 )
126 ssl? ( dev-libs/openssl )
127 http-cache? ( userland_GNU? ( dev-libs/openssl ) )
128 nginx_modules_http_geo? ( dev-libs/geoip )
129 nginx_modules_http_gzip? ( sys-libs/zlib )
130 nginx_modules_http_gzip_static? ( sys-libs/zlib )
131 nginx_modules_http_image_filter? ( media-libs/gd )
132 nginx_modules_http_perl? ( >=dev-lang/perl-5.8 )
133 nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 )
134 nginx_modules_http_secure_link? ( userland_GNU? ( dev-libs/openssl ) )
135 nginx_modules_http_xslt? ( dev-libs/libxml2 dev-libs/libxslt )
136 nginx_modules_http_passenger? (
137 $(ruby_implementation_depend ruby18)
138 >=dev-ruby/rubygems-0.9.0
139 >=dev-ruby/rake-0.8.1
140 >=dev-ruby/fastthread-1.0.1
141 >=dev-ruby/rack-1.0.0
142 )"
143 RDEPEND="${CDEPEND}"
144 DEPEND="${CDEPEND}
145 arm? ( dev-libs/libatomic_ops )
146 libatomic? ( dev-libs/libatomic_ops )"
147 PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
148
149 pkg_setup() {
150 ebegin "Creating nginx user and group"
151 enewgroup ${PN}
152 enewuser ${PN} -1 -1 -1 ${PN}
153 eend ${?}
154
155 if use ipv6; then
156 ewarn "Note that ipv6 support in nginx is still experimental."
157 ewarn "Be sure to read comments on gentoo bug #274614"
158 ewarn "http://bugs.gentoo.org/show_bug.cgi?id=274614"
159 fi
160
161 if use libatomic; then
162 ewarn "GCC 4.1+ features built-in atomic operations."
163 ewarn "Using libatomic_ops is only needed if using"
164 ewarn "a different compiler or a GCC prior to 4.1"
165 fi
166
167 if [[ -n $NGINX_ADD_MODULES ]]; then
168 ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
169 ewarn "This nginx installation is not supported!"
170 ewarn "Make sure you can reproduce the bug without those modules"
171 ewarn "_before_ reporting bugs."
172 fi
173
174 if use nginx_modules_http_passenger; then
175 ruby-ng_pkg_setup
176 use debug && append-flags -DPASSENGER_DEBUG
177 fi
178
179 if use !http; then
180 ewarn "To actually disable all http-functionality you also have to disable"
181 ewarn "all nginx http modules."
182 fi
183 }
184
185 src_unpack() {
186 # prevent ruby-ng.eclass from messing with src_unpack
187 default
188 }
189
190 src_prepare() {
191 sed -i 's/ make/ \\$(MAKE)/' "${S}"/auto/lib/perl/make
192
193 if use nginx_modules_http_passenger; then
194 cd "${WORKDIR}"/passenger-${PASSENGER_PV}
195 epatch "${FILESDIR}"/passenger-CFLAGS.patch
196 fi
197 }
198
199 src_configure() {
200 local myconf= http_enabled= mail_enabled=
201
202 use aio && myconf="${myconf} --with-file-aio --with-aio_module"
203 use debug && myconf="${myconf} --with-debug"
204 use ipv6 && myconf="${myconf} --with-ipv6"
205 use libatomic && myconf="${myconf} --with-libatomic"
206 use pcre && myconf="${myconf} --with-pcre"
207
208 # HTTP modules
209 for mod in $NGINX_MODULES_STD; do
210 if use nginx_modules_http_${mod}; then
211 http_enabled=1
212 else
213 myconf="${myconf} --without-http_${mod}_module"
214 fi
215 done
216
217 for mod in $NGINX_MODULES_OPT; do
218 if use nginx_modules_http_${mod}; then
219 http_enabled=1
220 myconf="${myconf} --with-http_${mod}_module"
221 fi
222 done
223
224 if use nginx_modules_http_fastcgi; then
225 myconf="${myconf} --with-http_realip_module"
226 fi
227
228 # third-party modules
229 if use nginx_modules_http_headers_more; then
230 http_enabled=1
231 myconf="${myconf} --add-module=${WORKDIR}/agentzh-headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_SHA1}"
232 fi
233
234 if use nginx_modules_http_passenger; then
235 http_enabled=1
236 myconf="${myconf} --add-module=${WORKDIR}/passenger-${PASSENGER_PV}/ext/nginx"
237 fi
238
239 if use nginx_modules_http_push; then
240 http_enabled=1
241 myconf="${myconf} --add-module=${WORKDIR}/${HTTP_PUSH_MODULE_P}"
242 fi
243
244 if use http || use http-cache; then
245 http_enabled=1
246 fi
247
248 if [ $http_enabled ]; then
249 use http-cache || myconf="${myconf} --without-http-cache"
250 use ssl && myconf="${myconf} --with-http_ssl_module"
251 else
252 myconf="${myconf} --without-http --without-http-cache"
253 fi
254
255 # MAIL modules
256 for mod in $NGINX_MODULES_MAIL; do
257 if use nginx_modules_mail_${mod}; then
258 mail_enabled=1
259 else
260 myconf="${myconf} --without-mail_${mod}_module"
261 fi
262 done
263
264 if [ $mail_enabled ]; then
265 myconf="${myconf} --with-mail"
266 use ssl && myconf="${myconf} --with-mail_ssl_module"
267 fi
268
269 # custom modules
270 for mod in $NGINX_ADD_MODULES; do
271 myconf="${myconf} --add-module=${mod}"
272 done
273
274 # http://bugs.gentoo.org/show_bug.cgi?id=286772
275 export LANG=C LC_ALL=C
276 tc-export CC
277
278 ./configure \
279 --prefix=/usr \
280 --sbin-path=/usr/sbin/nginx \
281 --conf-path=/etc/${PN}/${PN}.conf \
282 --error-log-path=/var/log/${PN}/error_log \
283 --pid-path=/var/run/${PN}.pid \
284 --lock-path=/var/lock/nginx.lock \
285 --user=${PN} --group=${PN} \
286 --with-cc-opt="-I${ROOT}usr/include" \
287 --with-ld-opt="-L${ROOT}usr/lib" \
288 --http-log-path=/var/log/${PN}/access_log \
289 --http-client-body-temp-path=/var/tmp/${PN}/client \
290 --http-proxy-temp-path=/var/tmp/${PN}/proxy \
291 --http-fastcgi-temp-path=/var/tmp/${PN}/fastcgi \
292 --http-scgi-temp-path=/var/tmp/${PN}/scgi \
293 --http-uwsgi-temp-path=/var/tmp/${PN}/uwsgi \
294 ${myconf} || die "configure failed"
295 }
296
297 src_compile() {
298 # http://bugs.gentoo.org/show_bug.cgi?id=286772
299 export LANG=C LC_ALL=C
300 emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" || die "emake failed"
301 }
302
303 src_install() {
304 keepdir /var/log/${PN} /var/tmp/${PN}/{client,proxy,fastcgi,scgi,uwsgi}
305
306 dosbin objs/nginx
307 newinitd "${FILESDIR}"/nginx.init-r2 nginx
308
309 cp "${FILESDIR}"/nginx.conf-r4 conf/nginx.conf
310 rm conf/win-utf conf/koi-win conf/koi-utf
311
312 dodir /etc/${PN}
313 insinto /etc/${PN}
314 doins conf/*
315
316 dodoc CHANGES* README
317
318 # logrotate
319 insinto /etc/logrotate.d
320 newins "${FILESDIR}"/nginx.logrotate nginx
321
322 if use nginx_modules_http_perl; then
323 cd "${S}"/objs/src/http/modules/perl/
324 einstall DESTDIR="${D}" INSTALLDIRS=vendor || die "failed to install perl stuff"
325 fixlocalpod
326 fi
327
328 if use nginx_modules_http_push; then
329 docinto ${HTTP_PUSH_MODULE_P}
330 dodoc "${WORKDIR}"/${HTTP_PUSH_MODULE_P}/{changelog.txt,protocol.txt,README}
331 fi
332
333 if use nginx_modules_http_passenger; then
334 # passengers Rakefile is so horribly broken that we have to do it
335 # manually
336 cd "${WORKDIR}"/passenger-${PASSENGER_PV}
337
338 export RUBY="ruby18"
339
340 insinto $(${RUBY} -rrbconfig -e 'print Config::CONFIG["archdir"]')/phusion_passenger
341 insopts -m 0755
342 doins ext/phusion_passenger/*.so
343 doruby -r lib/phusion_passenger
344
345 exeinto /usr/bin
346 doexe bin/passenger-memory-stats bin/passenger-status
347
348 exeinto /usr/libexec/passenger/bin
349 doexe bin/passenger-spawn-server
350
351 exeinto /usr/libexec/passenger/ext/nginx
352 doexe ext/nginx/HelperServer
353 fi
354 }
355
356 pkg_postinst() {
357 if use ssl; then
358 if [ ! -f "${ROOT}"/etc/ssl/${PN}/${PN}.key ]; then
359 install_cert /etc/ssl/${PN}/${PN}
360 chown ${PN}:${PN} "${ROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
361 fi
362 fi
363 }