blob: ac7d66aeba8d4a923e0d20232b5dbae893978384 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
# Maintainer: Cameron Banta <cbanta@gmail.com>
# Contributor: Jeff Bilyk <jbilyk@gmail.com>
# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
pkgname=nginx
pkgver=1.10.3
pkgrel=0
pkgdesc="HTTP and reverse proxy server"
url="http://www.nginx.org/en"
arch="all"
license="custom"
# Modules
_devel_kit_name=ngx_devel_kit
_devel_kit_ver=0.3.0
_devel_kit_dir="$srcdir/$_devel_kit_name-$_devel_kit_ver"
_devel_kit_so="ndk_http_module.so"
_http_echo_name=echo-nginx-module
_http_echo_ver=0.60
_http_echo_dir="$srcdir/$_http_echo_name-$_http_echo_ver"
_http_fancyindex_name=ngx-fancyindex
_http_fancyindex_ver=0.4.1
_http_fancyindex_dir="$srcdir/$_http_fancyindex_name-$_http_fancyindex_ver"
_http_headers_more_name=headers-more-nginx-module
_http_headers_more_ver=0.32
_http_headers_more_dir="$srcdir/$_http_headers_more_name-$_http_headers_more_ver"
_http_headers_more_so="ngx_http_headers_more_filter_module.so"
_http_lua_name=lua-nginx-module
_http_lua_ver=0.10.7
_http_lua_dir="$srcdir/$_http_lua_name-$_http_lua_ver"
_http_lua_depends="$pkgname-mod-devel-kit"
_http_lua_provides="$pkgname-lua" # for backward compatibility
_http_nchan_name=nchan
_http_nchan_ver=1.1.0
_http_nchan_dir="$srcdir/$_http_nchan_name-$_http_nchan_ver"
_http_nchan_so="ngx_nchan_module.so"
_http_upload_progress_name=nginx-upload-progress-module
_http_upload_progress_ver=0.9.2
_http_upload_progress_dir="$srcdir/$_http_upload_progress_name-$_http_upload_progress_ver"
_http_upload_progress_so="ngx_http_uploadprogress_module.so"
_rtmp_name=nginx-rtmp-module
_rtmp_ver=1.1.10
_rtmp_dir="$srcdir/$_rtmp_name-$_rtmp_ver"
_rtmp_provides="$pkgname-rtmp" # for backward compatibility
depends=""
makedepends="linux-headers gd-dev geoip-dev libxml2-dev libxslt-dev luajit-dev
libressl-dev paxmark pcre-dev perl-dev pkgconf zlib-dev"
pkgusers="nginx"
_grp_ngx="nginx"
_grp_www="www-data"
pkggroups="$_grp_ngx $_grp_www"
install="$pkgname.pre-install $pkgname.post-upgrade"
subpackages="$pkgname-doc $pkgname-vim::noarch"
replaces="$pkgname-common $pkgname-initscripts $pkgname-lua $pkgname-rtmp"
source="http://nginx.org/download/$pkgname-$pkgver.tar.gz
$_devel_kit_name-$_devel_kit_ver.tar.gz::https://github.com/simpl/$_devel_kit_name/archive/v$_devel_kit_ver.tar.gz
$_http_echo_name-$_http_echo_ver.tar.gz::https://github.com/openresty/$_http_echo_name/archive/v$_http_echo_ver.tar.gz
$_http_fancyindex_name-$_http_fancyindex_ver.tar.gz::https://github.com/aperezdc/$_http_fancyindex_name/archive/v$_http_fancyindex_ver.tar.gz
$_http_headers_more_name-$_http_headers_more_ver.tar.gz::https://github.com/openresty/$_http_headers_more_name/archive/v$_http_headers_more_ver.tar.gz
$_http_lua_name-$_http_lua_ver.tar.gz::https://github.com/openresty/$_http_lua_name/archive/v$_http_lua_ver.tar.gz
$_http_nchan_name-$_http_nchan_ver.tar.gz::https://github.com/slact/$_http_nchan_name/archive/v$_http_nchan_ver.tar.gz
$_http_upload_progress_name-$_http_upload_progress_ver.tar.gz::https://github.com/masterzen/$_http_upload_progress_name/archive/v$_http_upload_progress_ver.tar.gz
$_rtmp_name-$_rtmp_ver.tar.gz::https://github.com/arut/$_rtmp_name/archive/v$_rtmp_ver.tar.gz
nginx.conf
default.conf
$pkgname.logrotate
$pkgname.initd
ipv6.patch
"
builddir="$srcdir/$pkgname-$pkgver"
_modules_dir="usr/lib/$pkgname/modules"
_modules="
http-geoip
http-image-filter
http-perl
http-xslt-filter
mail
stream
devel-kit
http-echo
http-fancyindex
http-headers-more
http-lua
http-nchan
http-upload-progress
rtmp"
for _m in $_modules; do
subpackages="$subpackages $pkgname-mod-$_m:_module"
done
build() {
cd "$builddir"
export LUAJIT_LIB="$(pkgconf --variable=libdir luajit)"
export LUAJIT_INC="$(pkgconf --variable=includedir luajit)"
./configure \
--prefix=/var/lib/$pkgname \
--sbin-path=/usr/sbin/$pkgname \
--modules-path=/$_modules_dir \
--conf-path=/etc/$pkgname/$pkgname.conf \
--pid-path=/run/$pkgname/$pkgname.pid \
--lock-path=/run/$pkgname/$pkgname.lock \
--http-client-body-temp-path=/var/lib/$pkgname/tmp/client_body \
--http-proxy-temp-path=/var/lib/$pkgname/tmp/proxy \
--http-fastcgi-temp-path=/var/lib/$pkgname/tmp/fastcgi \
--http-uwsgi-temp-path=/var/lib/$pkgname/tmp/uwsgi \
--http-scgi-temp-path=/var/lib/$pkgname/tmp/scgi \
--with-perl_modules_path=/usr/lib/perl5/vendor_perl \
\
--user=$pkgusers \
--group=$_grp_ngx \
--with-threads \
--with-file-aio \
--with-ipv6 \
\
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-http_realip_module \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
\
--add-dynamic-module="$_devel_kit_dir" \
--add-dynamic-module="$_http_echo_dir" \
--add-dynamic-module="$_http_fancyindex_dir" \
--add-dynamic-module="$_http_headers_more_dir" \
--add-dynamic-module="$_http_lua_dir" \
--add-dynamic-module="$_http_nchan_dir" \
--add-dynamic-module="$_http_upload_progress_dir" \
--add-dynamic-module="$_rtmp_dir" \
|| return 1
make || return 1
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install || return 1
# Disable some PaX protections; this is needed for Lua module.
local paxflags="-m"
[ "$CARCH" = "x86" ] && paxflags="-msp"
paxmark $paxflags "$pkgdir"/usr/sbin/nginx || return 1
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm644 README "$pkgdir"/usr/share/doc/$pkgname/README
install -Dm644 objs/$pkgname.8 \
"$pkgdir"/usr/share/man/man8/$pkgname.8 || return 1
cp -r "$_devel_kit_dir"/docs \
"$pkgdir"/usr/share/doc/$pkgname/$_devel_kit_name || return 1
cp -r "$_http_lua_dir"/doc \
"$pkgdir"/usr/share/doc/$pkgname/$_http_lua_name || return 1
cp -r "$_rtmp_dir"/doc \
"$pkgdir"/usr/share/doc/$pkgname/$_rtmp_name || return 1
cd "$pkgdir"
install -Dm644 "$srcdir"/nginx.conf ./etc/$pkgname/nginx.conf
install -Dm644 "$srcdir"/default.conf ./etc/$pkgname/conf.d/default.conf
install -Dm755 "$srcdir"/$pkgname.initd ./etc/init.d/$pkgname
install -Dm644 "$srcdir"/$pkgname.logrotate ./etc/logrotate.d/$pkgname
install -dm755 ./etc/$pkgname/modules
install -dm750 -o $pkgusers -g $_grp_ngx ./var/lib/$pkgname
install -dm700 -o $pkgusers -g $_grp_ngx ./var/lib/$pkgname/tmp
install -dm755 -g $_grp_www ./var/www/localhost/htdocs
install -dm755 ./var/log
mv ./var/lib/$pkgname/logs ./var/log/$pkgname || return 1
ln -sf /$_modules_dir ./var/lib/$pkgname/modules
ln -sf /var/log/$pkgname ./var/lib/$pkgname/logs
ln -sf /run/$pkgname ./var/lib/$pkgname/run
rm -rf ./run ./etc/$pkgname/*.default
}
vim() {
pkgdesc="$pkgdesc (vim syntax)"
depends=
mkdir -p "$subpkgdir"/usr/share/vim
cp -r "$builddir"/contrib/vim "$subpkgdir"/usr/share/vim/vimfiles
}
_module() {
local name="${subpkgname#$pkgname-mod-}"
name="${name//-/_}"
local soname="$(eval "echo \$_${name}_so")";
soname="${soname:-"ngx_${name}_module.so"}"
pkgdesc="$pkgdesc (module $name)"
depends="$pkgname $(eval "echo \$_${name}_depends")"
provides="$(eval "echo \$_${name}_provides")"
mkdir -p "$subpkgdir"/$_modules_dir
cd "$subpkgdir"
mv "$pkgdir"/$_modules_dir/$soname ./$_modules_dir/$soname || return 1
mkdir -p "$subpkgdir"/etc/nginx/modules
echo "load_module \"modules/$soname\";" > ./etc/nginx/modules/$name.conf
}
md5sums="204a20cb4f0b0c9db746c630d89ff4ea nginx-1.10.3.tar.gz
76c503918c003fcc55005b7688f47add ngx_devel_kit-0.3.0.tar.gz
897338c2c4bc44f2d56ae06ab9820372 echo-nginx-module-0.60.tar.gz
e1dd79f0ec82415bbf8a1cb938988955 ngx-fancyindex-0.4.1.tar.gz
5ce112f12afe155749e2c504997861f7 headers-more-nginx-module-0.32.tar.gz
6eb0161f495bb996af6bbb58f3cef764 lua-nginx-module-0.10.7.tar.gz
fbe5a95878ff4365435fd3223256f830 nchan-1.1.0.tar.gz
7c1a399d36a75bcfa874d98b5462fc09 nginx-upload-progress-module-0.9.2.tar.gz
2e82501ed423a901ab64bfe2228a0666 nginx-rtmp-module-1.1.10.tar.gz
256145c0f70d1d1d3b99f854553d48f0 nginx.conf
c4759cd2812220ab542317f54fbbe755 default.conf
db194cf3c6c4be12c70c757e0c9ad995 nginx.logrotate
16dcac0d7a2b406807d3377841d9b480 nginx.initd
801a87f7f9d27f8ad85b41a78b4c4461 ipv6.patch"
sha256sums="75020f1364cac459cb733c4e1caed2d00376e40ea05588fb8793076a4c69dd90 nginx-1.10.3.tar.gz
88e05a99a8a7419066f5ae75966fb1efc409bad4522d14986da074554ae61619 ngx_devel_kit-0.3.0.tar.gz
1077da2229ac7d0a0215e9e6817e297c10697e095010d88f1adbd1add1ce9f4e echo-nginx-module-0.60.tar.gz
2b00d8e0ad2a67152a9cee7b7ee67990c742d501412df912baaf1eee9bb6dc71 ngx-fancyindex-0.4.1.tar.gz
c6d9dab8ea1fc997031007e2e8f47cced01417e203cd88d53a9fe9f6ae138720 headers-more-nginx-module-0.32.tar.gz
c21c8937dcdd6fc2b6a955f929e3f4d1388610f47180e60126e6dcab06786f77 lua-nginx-module-0.10.7.tar.gz
5781349bb460cf96d43e835a7ad3109724fba9ccefdbd967552538edee79c722 nchan-1.1.0.tar.gz
b286689355442657650421d8e8398bd4abf9dbbaade65947bb0cb74a349cc497 nginx-upload-progress-module-0.9.2.tar.gz
f9491dd24390b0d5d70dfe3553edf3d14efeb7c7a81b4d4a20c5cfeaefc1141c nginx-rtmp-module-1.1.10.tar.gz
df873f301f947192c854994bb0e1bac46f73a5d3cf91df997f1b6a8ed26b5724 nginx.conf
f53fd49af9b4bc308653abb85d9989879ce1fb48e43c508f5f45c84f74513865 default.conf
b063611c6cb2d33bd43c4b17bf4135dda25f209bb77e4e66d1b156cffc37fbe6 nginx.logrotate
3d8a90d2f75b7f24c4d74722b5b3ac11d85f416c2d7641b4280d7c126bfe8395 nginx.initd
a24ef5843ae0afa538b00c37eb7da7870f9d7f146f52a9668678f7296cf71d9b ipv6.patch"
sha512sums="25cddbe5c419700aeca41bff3be5b7c3accfb38ad846ec8d91d81ab7c15f10db719f02d9263edf1fa12f59805ff7001b62864dc2885370b24afeea1d7d2afbbf nginx-1.10.3.tar.gz
558764c9be913a4f61d0e277d07bf3c272e1ce086b3fadb85b693a7e92805cd9fca4da7a8d29c96e53fc0d23b331327d3b2561ff61f19d2330e7d5d35ac7d614 ngx_devel_kit-0.3.0.tar.gz
c455bee73cebd0752449472452d15614b9587ddd199263d366484ede890c4d108eacbbeaef31adc9dc7732b56ef2bfc73c0fef3366366db03a8ec3fdc27a985c echo-nginx-module-0.60.tar.gz
ce0043ad4a2b638c5d99244d6caaa65ad142cea78884084a9aeca5a9593c68dbe508c9e4dd85dc5722eb63ef386612bffc48d4b6fc1487df244fbcb7a73bffe1 ngx-fancyindex-0.4.1.tar.gz
e42582b45c3111de3940bbeb67ce161aca2d55adcfb00c61c12256fa0e36221d38723013f36edbcf6d1b520f8dfb49d4657df8a956e66d36e68425afad382bd1 headers-more-nginx-module-0.32.tar.gz
d060a13de4d01d77e6d6cd1635ecbb405330e4326b71b89341c1c128ee4182978a51d53355bc07c350e3c3a7df15325e3df380d9c3a98b2ff7d7efa18fa09b32 lua-nginx-module-0.10.7.tar.gz
bb3a9aec5e4c9f1c376126b4b07c2e5c6cddae3659a9218bd7b0dcaa5b0e1772036eea2c7e45bbb46f61a3a9090f0092fc93e91dbb57fc5b4e65eef6ba14fc23 nchan-1.1.0.tar.gz
c31c46344d49704389722325a041b9cd170fa290acefe92cfc572c07f711cd3039de78f28df48ca7dcb79b2e4bbe442580aaaf4d92883fd3a14bf41d66dd9d8c nginx-upload-progress-module-0.9.2.tar.gz
bcc0aee3308af7c61bf01a5530fcf1dae938e6778306f6e3eb5995e6d0529f43d33b7ee2acb813d5a39acc92e4853d207a01e8e41b766a6e0dd07aade60cd98f nginx-rtmp-module-1.1.10.tar.gz
ac7e3153ab698b4cde077f0d5d7ac0a58897927eb36cf3b58cb01268ca0296f1d589c0a5b4f889b96b5b4a57bef05b17c59be59a9d7c4d7a3d3be58f101f7f41 nginx.conf
0907f69dc2d3dc1bad3a04fb6673f741f1a8be964e22b306ef9ae2f8e736e1f5733a8884bfe54f3553fff5132a0e5336716250f54272c3fec2177d6ba16986f3 default.conf
09b110693e3f4377349ccea3c43cb8199c8579ee351eae34283299be99fdf764b0c1bddd552e13e4d671b194501618b29c822e1ad53b34101a73a63954363dbb nginx.logrotate
1ea032cf88021ec8aa1401d284ea738364511cdb9f8c01670deb8e59aae570f5bbe17f0cbab73c0e08d6b342a621b6a9c014832168ed41f6028ecfa4211b60cf nginx.initd
68d64a84568ec2df0366925ab282a05ebe21a85044b6c7844a47573cfd8cc8ed119cc772358bc3fff36e2d4fdf583a730592825f5f98632993ca86d1f8438d5f ipv6.patch"
|