Gentoo Archives: gentoo-commits

From: "Benedikt Boehm (hollow)" <hollow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-servers/nginx: nginx-1.0.2.ebuild ChangeLog nginx-0.9.7.ebuild
Date: Wed, 18 May 2011 08:12:52
Message-Id: 20110518081239.BEA2420054@flycatcher.gentoo.org
1 hollow 11/05/18 08:12:39
2
3 Modified: ChangeLog
4 Added: nginx-1.0.2.ebuild
5 Removed: nginx-0.9.7.ebuild
6 Log:
7 version bump wrt #367207
8
9 (Portage version: 2.2.0_alpha33/cvs/Linux x86_64)
10
11 Revision Changes Path
12 1.279 www-servers/nginx/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/ChangeLog?rev=1.279&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/ChangeLog?rev=1.279&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/ChangeLog?r1=1.278&r2=1.279
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v
21 retrieving revision 1.278
22 retrieving revision 1.279
23 diff -u -r1.278 -r1.279
24 --- ChangeLog 19 Apr 2011 06:50:24 -0000 1.278
25 +++ ChangeLog 18 May 2011 08:12:39 -0000 1.279
26 @@ -1,6 +1,12 @@
27 # ChangeLog for www-servers/nginx
28 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.278 2011/04/19 06:50:24 hollow Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.279 2011/05/18 08:12:39 hollow Exp $
31 +
32 +*nginx-1.0.2 (18 May 2011)
33 +
34 + 18 May 2011; Benedikt Böhm <hollow@g.o> -nginx-0.9.7.ebuild,
35 + +nginx-1.0.2.ebuild:
36 + version bump wrt #367207
37
38 19 Apr 2011; Benedikt Böhm <hollow@g.o>
39 files/nginx-0.8.32-ey-balancer.patch, nginx-1.0.0-r1.ebuild:
40
41
42
43 1.1 www-servers/nginx/nginx-1.0.2.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/nginx-1.0.2.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-servers/nginx/nginx-1.0.2.ebuild?rev=1.1&content-type=text/plain
47
48 Index: nginx-1.0.2.ebuild
49 ===================================================================
50 # Copyright 1999-2011 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.0.2.ebuild,v 1.1 2011/05/18 08:12:39 hollow Exp $
53
54 EAPI="2"
55
56 # Maintainer notes:
57 # - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
58 # - any http-module activates the main http-functionality and overrides USE=-http
59 # - keep the following 3 requirements in mind before adding external modules:
60 # * alive upstream
61 # * sane packaging
62 # * builds cleanly
63 # - TODO: test the google-perftools module (included in vanilla tarball)
64
65 # prevent perl-module from adding automagic perl DEPENDs
66 GENTOO_DEPEND_ON_PERL="no"
67
68 # http_headers_more (http://github.com/agentzh/headers-more-nginx-module, BSD license)
69 HTTP_HEADERS_MORE_MODULE_PV="0.13"
70 HTTP_HEADERS_MORE_MODULE_P="ngx-http-headers-more-${HTTP_HEADERS_MORE_MODULE_PV}"
71 HTTP_HEADERS_MORE_MODULE_SHA1="9508330"
72
73 # http_push (http://pushmodule.slact.net/, MIT license)
74 HTTP_PUSH_MODULE_PV="0.692"
75 HTTP_PUSH_MODULE_P="nginx_http_push_module-${HTTP_PUSH_MODULE_PV}"
76
77 # http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, BSD-2 license)
78 HTTP_CACHE_PURGE_MODULE_PV="1.2"
79 HTTP_CACHE_PURGE_MODULE_P="ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
80
81 # HTTP Upload module from Valery Kholodkov
82 # (http://www.grid.net.ru/nginx/upload.en.html, BSD license)
83 HTTP_UPLOAD_MODULE_PV="2.2.0"
84 HTTP_UPLOAD_MODULE_P="nginx_upload_module-${HTTP_UPLOAD_MODULE_PV}"
85
86 # ey-balancer/maxconn module (https://github.com/ry/nginx-ey-balancer, as-is)
87 HTTP_EY_BALANCER_MODULE_PV="0.0.6"
88 HTTP_EY_BALANCER_MODULE_P="nginx-ey-balancer-${HTTP_EY_BALANCER_MODULE_PV}"
89 HTTP_EY_BALANCER_MODULE_SHA1="d373670"
90
91 # http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license)
92 HTTP_SLOWFS_CACHE_MODULE_PV="1.5"
93 HTTP_SLOWFS_CACHE_MODULE_P="ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
94
95 inherit eutils ssl-cert toolchain-funcs perl-module flag-o-matic
96
97 DESCRIPTION="Robust, small and high performance http and reverse proxy server"
98 HOMEPAGE="http://nginx.net/
99 http://pushmodule.slact.net/
100 http://labs.frickle.com/nginx_ngx_cache_purge/"
101 SRC_URI="http://sysoev.ru/nginx/${P}.tar.gz
102 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 )
103 nginx_modules_http_push? ( http://pushmodule.slact.net/downloads/${HTTP_PUSH_MODULE_P}.tar.gz )
104 nginx_modules_http_cache_purge? ( http://labs.frickle.com/files/${HTTP_CACHE_PURGE_MODULE_P}.tar.gz )
105 nginx_modules_http_upload? ( http://www.grid.net.ru/nginx/download/${HTTP_UPLOAD_MODULE_P}.tar.gz )
106 nginx_modules_http_ey_balancer? ( https://github.com/ry/nginx-ey-balancer/tarball/v${HTTP_EY_BALANCER_MODULE_PV} -> ${HTTP_EY_BALANCER_MODULE_P}.tar.gz )
107 nginx_modules_http_slowfs_cache? ( http://labs.frickle.com/files/${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz )"
108
109 LICENSE="as-is BSD BSD-2 GPL-2 MIT"
110 SLOT="0"
111 KEYWORDS="~amd64 ~ppc ~x86 ~x86-fbsd"
112
113 NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif fastcgi
114 geo gzip limit_req limit_zone map memcached proxy referer rewrite scgi ssi
115 split_clients upstream_ip_hash userid uwsgi"
116 NGINX_MODULES_OPT="addition dav degradation flv geoip gzip_static image_filter
117 perl random_index realip secure_link stub_status sub xslt"
118 NGINX_MODULES_MAIL="imap pop3 smtp"
119 NGINX_MODULES_3RD="http_cache_purge http_headers_more http_passenger http_push
120 http_upload http_ey_balancer http_slowfs_cache"
121
122 IUSE="aio debug +http +http-cache ipv6 libatomic +pcre ssl vim-syntax"
123
124 for mod in $NGINX_MODULES_STD; do
125 IUSE="${IUSE} +nginx_modules_http_${mod}"
126 done
127
128 for mod in $NGINX_MODULES_OPT; do
129 IUSE="${IUSE} nginx_modules_http_${mod}"
130 done
131
132 for mod in $NGINX_MODULES_MAIL; do
133 IUSE="${IUSE} nginx_modules_mail_${mod}"
134 done
135
136 for mod in $NGINX_MODULES_3RD; do
137 IUSE="${IUSE} nginx_modules_${mod}"
138 done
139
140 CDEPEND="
141 pcre? ( >=dev-libs/libpcre-4.2 )
142 ssl? ( dev-libs/openssl )
143 http-cache? ( userland_GNU? ( dev-libs/openssl ) )
144 nginx_modules_http_geo? ( dev-libs/geoip )
145 nginx_modules_http_gzip? ( sys-libs/zlib )
146 nginx_modules_http_gzip_static? ( sys-libs/zlib )
147 nginx_modules_http_image_filter? ( media-libs/gd )
148 nginx_modules_http_perl? ( >=dev-lang/perl-5.8 )
149 nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 )
150 nginx_modules_http_secure_link? ( userland_GNU? ( dev-libs/openssl ) )
151 nginx_modules_http_xslt? ( dev-libs/libxml2 dev-libs/libxslt )"
152 RDEPEND="${CDEPEND}"
153 DEPEND="${CDEPEND}
154 arm? ( dev-libs/libatomic_ops )
155 libatomic? ( dev-libs/libatomic_ops )"
156 PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
157
158 pkg_setup() {
159 if use nginx_modules_http_passenger; then
160 einfo
161 einfo "Passenger support has been removed from the nginx ebuild to"
162 einfo "get rid of file collisions, its broken build system and"
163 einfo "incompatibilities between passenger 2 and 3."
164 einfo
165 einfo "Please switch to passenger-3 standalone or use the"
166 einfo "unicorn gem which provides a sane nginx-like architecture"
167 einfo "out of the box."
168 einfo
169 einfo "For more information on sane ruby deployments with"
170 einfo "passenger-3/unicorn go to:"
171 einfo
172 einfo "https://rvm.beginrescueend.com"
173 einfo
174 die "nginx_modules_http_passenger still in IUSE"
175 fi
176
177 ebegin "Creating nginx user and group"
178 enewgroup ${PN}
179 enewuser ${PN} -1 -1 -1 ${PN}
180 eend ${?}
181
182 if use ipv6; then
183 ewarn "Note that ipv6 support in nginx is still experimental."
184 ewarn "Be sure to read comments on gentoo bug #274614"
185 ewarn "http://bugs.gentoo.org/show_bug.cgi?id=274614"
186 fi
187
188 if use libatomic; then
189 ewarn "GCC 4.1+ features built-in atomic operations."
190 ewarn "Using libatomic_ops is only needed if using"
191 ewarn "a different compiler or a GCC prior to 4.1"
192 fi
193
194 if [[ -n $NGINX_ADD_MODULES ]]; then
195 ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
196 ewarn "This nginx installation is not supported!"
197 ewarn "Make sure you can reproduce the bug without those modules"
198 ewarn "_before_ reporting bugs."
199 fi
200
201 if use !http; then
202 ewarn "To actually disable all http-functionality you also have to disable"
203 ewarn "all nginx http modules."
204 fi
205 }
206
207 src_prepare() {
208 sed -i 's/ make/ \\$(MAKE)/' "${S}"/auto/lib/perl/make
209
210 if use nginx_modules_http_ey_balancer; then
211 epatch "${FILESDIR}"/nginx-0.8.32-ey-balancer.patch
212 fi
213 }
214
215 src_configure() {
216 local myconf= http_enabled= mail_enabled=
217
218 use aio && myconf="${myconf} --with-file-aio --with-aio_module"
219 use debug && myconf="${myconf} --with-debug"
220 use ipv6 && myconf="${myconf} --with-ipv6"
221 use libatomic && myconf="${myconf} --with-libatomic"
222 use pcre && myconf="${myconf} --with-pcre"
223
224 # HTTP modules
225 for mod in $NGINX_MODULES_STD; do
226 if use nginx_modules_http_${mod}; then
227 http_enabled=1
228 else
229 myconf="${myconf} --without-http_${mod}_module"
230 fi
231 done
232
233 for mod in $NGINX_MODULES_OPT; do
234 if use nginx_modules_http_${mod}; then
235 http_enabled=1
236 myconf="${myconf} --with-http_${mod}_module"
237 fi
238 done
239
240 if use nginx_modules_http_fastcgi; then
241 myconf="${myconf} --with-http_realip_module"
242 fi
243
244 # third-party modules
245 if use nginx_modules_http_headers_more; then
246 http_enabled=1
247 myconf="${myconf} --add-module=${WORKDIR}/agentzh-headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_SHA1}"
248 fi
249
250 if use nginx_modules_http_push; then
251 http_enabled=1
252 myconf="${myconf} --add-module=${WORKDIR}/${HTTP_PUSH_MODULE_P}"
253 fi
254
255 if use nginx_modules_http_cache_purge; then
256 http_enabled=1
257 myconf="${myconf} --add-module=${WORKDIR}/${HTTP_CACHE_PURGE_MODULE_P}"
258 fi
259
260 if use nginx_modules_http_upload; then
261 http_enabled=1
262 myconf="${myconf} --add-module=${WORKDIR}/${HTTP_UPLOAD_MODULE_P}"
263 fi
264
265 if use nginx_modules_http_ey_balancer; then
266 http_enabled=1
267 myconf="${myconf} --add-module=${WORKDIR}/ry-nginx-ey-balancer-${HTTP_EY_BALANCER_MODULE_SHA1}"
268 fi
269
270 if use nginx_modules_http_slowfs_cache; then
271 http_enabled=1
272 myconf="${myconf} --add-module=${WORKDIR}/${HTTP_SLOWFS_CACHE_MODULE_P}"
273 fi
274
275 if use http || use http-cache; then
276 http_enabled=1
277 fi
278
279 if [ $http_enabled ]; then
280 use http-cache || myconf="${myconf} --without-http-cache"
281 use ssl && myconf="${myconf} --with-http_ssl_module"
282 else
283 myconf="${myconf} --without-http --without-http-cache"
284 fi
285
286 # MAIL modules
287 for mod in $NGINX_MODULES_MAIL; do
288 if use nginx_modules_mail_${mod}; then
289 mail_enabled=1
290 else
291 myconf="${myconf} --without-mail_${mod}_module"
292 fi
293 done
294
295 if [ $mail_enabled ]; then
296 myconf="${myconf} --with-mail"
297 use ssl && myconf="${myconf} --with-mail_ssl_module"
298 fi
299
300 # custom modules
301 for mod in $NGINX_ADD_MODULES; do
302 myconf="${myconf} --add-module=${mod}"
303 done
304
305 # https://bugs.gentoo.org/286772
306 export LANG=C LC_ALL=C
307 tc-export CC
308
309 ./configure \
310 --prefix=/usr \
311 --sbin-path=/usr/sbin/nginx \
312 --conf-path=/etc/${PN}/${PN}.conf \
313 --error-log-path=/var/log/${PN}/error_log \
314 --pid-path=/var/run/${PN}.pid \
315 --lock-path=/var/lock/nginx.lock \
316 --user=${PN} --group=${PN} \
317 --with-cc-opt="-I${ROOT}usr/include" \
318 --with-ld-opt="-L${ROOT}usr/lib" \
319 --http-log-path=/var/log/${PN}/access_log \
320 --http-client-body-temp-path=/var/tmp/${PN}/client \
321 --http-proxy-temp-path=/var/tmp/${PN}/proxy \
322 --http-fastcgi-temp-path=/var/tmp/${PN}/fastcgi \
323 --http-scgi-temp-path=/var/tmp/${PN}/scgi \
324 --http-uwsgi-temp-path=/var/tmp/${PN}/uwsgi \
325 ${myconf} || die "configure failed"
326 }
327
328 src_compile() {
329 # https://bugs.gentoo.org/286772
330 export LANG=C LC_ALL=C
331 emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" || die "emake failed"
332 }
333
334 src_install() {
335 keepdir /var/log/${PN} /var/tmp/${PN}/{client,proxy,fastcgi,scgi,uwsgi}
336
337 dosbin objs/nginx
338 newinitd "${FILESDIR}"/nginx.init-r2 nginx
339
340 cp "${FILESDIR}"/nginx.conf-r4 conf/nginx.conf
341 rm conf/win-utf conf/koi-win conf/koi-utf
342
343 dodir /etc/${PN}
344 insinto /etc/${PN}
345 doins conf/*
346
347 doman man/nginx.8
348 dodoc CHANGES* README
349
350 # logrotate
351 insinto /etc/logrotate.d
352 newins "${FILESDIR}"/nginx.logrotate nginx
353
354 if use nginx_modules_http_perl; then
355 cd "${S}"/objs/src/http/modules/perl/
356 einstall DESTDIR="${D}" INSTALLDIRS=vendor || die "failed to install perl stuff"
357 fixlocalpod
358 fi
359
360 if use nginx_modules_http_push; then
361 docinto ${HTTP_PUSH_MODULE_P}
362 dodoc "${WORKDIR}"/${HTTP_PUSH_MODULE_P}/{changelog.txt,protocol.txt,README}
363 fi
364
365 if use nginx_modules_http_cache_purge; then
366 docinto ${HTTP_CACHE_PURGE_MODULE_P}
367 dodoc "${WORKDIR}"/${HTTP_CACHE_PURGE_MODULE_P}/{CHANGES,README}
368 fi
369
370 if use nginx_modules_http_upload; then
371 docinto ${HTTP_UPLOAD_MODULE_P}
372 dodoc "${WORKDIR}"/${HTTP_UPLOAD_MODULE_P}/{Changelog,README}
373 fi
374
375 if use nginx_modules_http_ey_balancer; then
376 docinto ${HTTP_EY_BALANCER_MODULE_P}
377 dodoc "${WORKDIR}"/ry-nginx-ey-balancer-${HTTP_EY_BALANCER_MODULE_SHA1}/README
378 fi
379
380 if use nginx_modules_http_slowfs_cache; then
381 docinto ${HTTP_SLOWFS_CACHE_MODULE_P}
382 dodoc "${WORKDIR}"/${HTTP_SLOWFS_CACHE_MODULE_P}/{CHANGES,README}
383 fi
384 }
385
386 pkg_postinst() {
387 if use ssl; then
388 if [ ! -f "${ROOT}"/etc/ssl/${PN}/${PN}.key ]; then
389 install_cert /etc/ssl/${PN}/${PN}
390 chown ${PN}:${PN} "${ROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
391 fi
392 fi
393 }