aboutsummaryrefslogtreecommitdiffstats
path: root/main/nginx/APKBUILD
blob: 64bf3f2c1eda9eccb3b827aae206ee2461e6276a (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.9.14
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.2

_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_dir/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_v2_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="a25818039f34b5d54b017d44c76321c4  nginx-1.9.14.tar.gz
03d60e54151f0c578ef9bc8cd2880f3e  lua-nginx-module-0.10.2.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="2b4893076d28e6b4384bba8c4fdebfca6de6f8f68ec48a1ca94b9b855ff457d2  nginx-1.9.14.tar.gz
155feeff08a0b2efaf980705b9ef83d0b341e6d011adad8e2679ea4105668134  lua-nginx-module-0.10.2.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="e73a10495a8b199856f4e5d6f428b46e0b1148cee26c8517e360130d9f1e85028b28f311879d31f37e1d3facccf6f215377e984ae937a44f45245fe09a3be90e  nginx-1.9.14.tar.gz
33ad538f0f63aae91b691ceda593899881b3ac0ea48da6814724d9bfe3d74b323ac5f3b8bc2fa03116c5cd1045e2a12db4e9bf96c8172a96ec1c6cd0b30199fa  lua-nginx-module-0.10.2.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"