aboutsummaryrefslogtreecommitdiffstats
path: root/main/nginx/APKBUILD
blob: 25863633ad583bfdacdf6cbb91fbce80c9c9fc02 (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
# Maintainer: Cameron Banta <cbanta@gmail.com>
# Contributor: Jeff Bilyk <jbilyk@gmail.com>
# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>

pkgname=nginx
pkgver=1.8.1
pkgrel=1
pkgdesc="HTTP and reverse proxy server"
url="http://www.nginx.org/en"
arch="all"
license="custom"
pkgusers="nginx"
_grp_ngx="nginx"
_grp_www="www-data"
pkggroups="$_grp_ngx $_grp_www"
install="$pkgname-common.pre-install"
depends="$pkgname-common !$pkgname-rtmp !$pkgname-lua"

# Modules
_lua_mod=lua-nginx-module
_lua_dir=$_lua_mod
_lua_ver=0.10.0

_rtmp_mod=nginx-rtmp-module
_rtmp_dir=$_rtmp_mod
_rtmp_ver=1.1.7

_devkit_mod=nginx-devel-kit
_devkit_dir=ngx_devel_kit
_devkit_ver=0.2.19

makedepends="perl-dev pcre-dev openssl-dev zlib-dev luajit-dev paxmark linux-headers"
subpackages="$pkgname-doc $pkgname-common $pkgname-vim $pkgname-rtmp $pkgname-lua"

source="http://nginx.org/download/$pkgname-$pkgver.tar.gz
	$_lua_mod-$_lua_ver.tar.gz::https://github.com/openresty/$_lua_mod/archive/v$_lua_ver.tar.gz
	$_rtmp_mod-$_rtmp_ver.tar.gz::https://github.com/arut/$_rtmp_mod/archive/v$_rtmp_ver.tar.gz
	$_devkit_mod-$_devkit_ver.tar.gz::https://github.com/simpl/$_devkit_mod/archive/v$_devkit_ver.tar.gz
	$pkgname.logrotate
	$pkgname.initd
	ipv6.patch
	"

_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
		esac
	done
}

_build() {
	local binary=$1
	shift
	./configure \
		--prefix=/var/lib/$pkgname \
		--sbin-path=/usr/sbin/$pkgname \
		--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 \
		--user=$pkgusers \
		--group=$_grp_ngx \
		--with-ipv6 \
		--with-file-aio \
		--with-pcre-jit \
		--with-http_dav_module \
		--with-http_ssl_module \
		--with-http_stub_status_module \
		--with-http_gzip_static_module \
		--with-http_spdy_module \
		--with-http_auth_request_module \
		--with-mail \
		--with-mail_ssl_module \
		$@ || return 1
	make || return 1
	mv objs/$pkgname objs/$binary
}

build() {
	cd "$_builddir"

	_build $pkgname-lua --build="rtmp,lua" \
		--add-module="$srcdir/$_devkit_dir-$_devkit_ver" \
		--add-module="$srcdir/$_rtmp_dir-$_rtmp_ver" \
		--add-module="$srcdir/$_lua_dir-$_lua_ver" \
	|| return 1

	_build $pkgname-rtmp --build="rtmp" \
		--add-module="$srcdir/$_rtmp_dir-$_rtmp_ver" \
	|| return 1

	_build $pkgname || return 1
}

package() {
	cd "$_builddir"
	make DESTDIR="$pkgdir" install || return 1

	install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
	install -Dm644 objs/$pkgname.8 "$pkgdir"/usr/share/man/man8/$pkgname.8

	install -Dm644 README "$pkgdir"/usr/share/doc/$pkgname/README
	cp -r "$srcdir"/$_lua_dir-$_lua_ver/doc "$pkgdir"/usr/share/doc/$pkgname/$_lua_mod || return 1
	cp -r "$srcdir"/$_rtmp_dir-$_rtmp_ver/doc "$pkgdir"/usr/share/doc/$pkgname/$_rtmp_mod
	cp -r "$srcdir"/$_devkit_dir-$_devkit_ver/docs "$pkgdir"/usr/share/doc/$pkgname/$_devkit_mod

	install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
	install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname

	install -dm755 "$pkgdir"/etc/$pkgname/conf.d
	install -dm755 "$pkgdir"/etc/$pkgname/default.d
	
	install -dm750 -o $pkgusers -g $_grp_ngx "$pkgdir"/var/lib/$pkgname
	install -dm700 -o $pkgusers -g $_grp_ngx "$pkgdir"/var/lib/$pkgname/tmp
	install -dm755 -g $_grp_www "$pkgdir"/var/www/localhost/htdocs

	install -dm755 "$pkgdir"/var/log
	mv "$pkgdir"/var/lib/$pkgname/logs "$pkgdir"/var/log/$pkgname
	ln -sf /var/log/$pkgname "$pkgdir"/var/lib/$pkgname/logs
	ln -sf /run/$pkgname "$pkgdir"/var/lib/$pkgname/run

	sed -i -E "s~logs(/nginx.pid.*$)~run\1~" "$pkgdir"/etc/$pkgname/$pkgname.conf

	rm -rf "$pkgdir"/run "$pkgdir"/etc/$pkgname/*.default
}

common() {
	pkgdesc="$pkgdesc (common files)"
	depends=
	arch="noarch"
	mkdir -p "$subpkgdir"
	mv "$pkgdir"/etc "$pkgdir"/var "$subpkgdir"/
}

vim() {
	pkgdesc="$pkgdesc (vim syntax)"
	depends=
	arch="noarch"
	mkdir -p "$subpkgdir"/usr/share/vim
	cp -r "$_builddir"/contrib/vim "$subpkgdir"/usr/share/vim/vimfiles
}

rtmp() {
	pkgdesc="$pkgdesc (rtmp support)"
	depends="$pkgname-common !$pkgname !$pkgname-lua"
	install -Dm755 "$_builddir"/objs/$pkgname-rtmp "$subpkgdir"/usr/sbin/$pkgname
}

lua() {
	pkgdesc="$pkgdesc (rtmp & lua support)"
	depends="$pkgname-common !$pkgname !$pkgname-rtmp"
	install -Dm755 "$_builddir"/objs/$pkgname-lua "$subpkgdir"/usr/sbin/$pkgname
}

md5sums="2e91695074dbdfbf1bcec0ada9fda462  nginx-1.8.1.tar.gz
37d06e0f21bb4b2eedf80736a6aca3a2  lua-nginx-module-0.10.0.tar.gz
8006de2560db3e55bb15d110220076ac  nginx-rtmp-module-1.1.7.tar.gz
09a18178adca7b5674129d8100ce4f68  nginx-devel-kit-0.2.19.tar.gz
db194cf3c6c4be12c70c757e0c9ad995  nginx.logrotate
16dcac0d7a2b406807d3377841d9b480  nginx.initd
801a87f7f9d27f8ad85b41a78b4c4461  ipv6.patch"
sha256sums="8f4b3c630966c044ec72715754334d1fdf741caa1d5795fb4646c27d09f797b7  nginx-1.8.1.tar.gz
cf31c64b107a54999fdf8b68e8b8d52d88a3c95d9307417f049c32c5687ed780  lua-nginx-module-0.10.0.tar.gz
7922b0e3d5f3d9c4b275e4908cfb8f5fb1bfb3ac2df77f4c262cda56df21aab3  nginx-rtmp-module-1.1.7.tar.gz
501f299abdb81b992a980bda182e5de5a4b2b3e275fbf72ee34dd7ae84c4b679  nginx-devel-kit-0.2.19.tar.gz
b063611c6cb2d33bd43c4b17bf4135dda25f209bb77e4e66d1b156cffc37fbe6  nginx.logrotate
3d8a90d2f75b7f24c4d74722b5b3ac11d85f416c2d7641b4280d7c126bfe8395  nginx.initd
a24ef5843ae0afa538b00c37eb7da7870f9d7f146f52a9668678f7296cf71d9b  ipv6.patch"
sha512sums="546eba1749af0034cb8b924d2432be2f0e82a75c545aa929391ef7234103c3f29376235a2ef1363b120e1825cda15aeb085a05f9ce3596c88466e112e82aa882  nginx-1.8.1.tar.gz
8d1b07a040368e236a3473c5e9ed7aac6867743c08b57ffe7c708806ccee87e6dfca5412f37753f2576ca7a518acbd06fa0fd573c75e864c6bcfbed160f7221e  lua-nginx-module-0.10.0.tar.gz
9883462a04683f1e7af175da04b86d259ff6d677864667588fb073143f7130969eb2a5a5a48ddceda7a555b908580f179bdcacb7f0111413d51db5bfe43b396e  nginx-rtmp-module-1.1.7.tar.gz
915954acf16a27fbd3c93c154012d38e864f1d8dfd51cde401bba26e46eb3e3c778ec4c92f4f8ed83ac001e96cee72765554d0e4da06acf6a4be5184b23b3657  nginx-devel-kit-0.2.19.tar.gz
09b110693e3f4377349ccea3c43cb8199c8579ee351eae34283299be99fdf764b0c1bddd552e13e4d671b194501618b29c822e1ad53b34101a73a63954363dbb  nginx.logrotate
1ea032cf88021ec8aa1401d284ea738364511cdb9f8c01670deb8e59aae570f5bbe17f0cbab73c0e08d6b342a621b6a9c014832168ed41f6028ecfa4211b60cf  nginx.initd
68d64a84568ec2df0366925ab282a05ebe21a85044b6c7844a47573cfd8cc8ed119cc772358bc3fff36e2d4fdf583a730592825f5f98632993ca86d1f8438d5f  ipv6.patch"