aboutsummaryrefslogtreecommitdiffstats
path: root/main/uwsgi/APKBUILD
blob: 86362eb77b4a63a23d6e2fa8bc9011b4e252de04 (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
# Contributor: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=uwsgi
pkgver=2.0.11.1
pkgrel=0
pkgdesc="uWSGI application container server"
url=http://projects.unbit.it/uwsgi/
arch=all
license=GPL-2
depends=mailcap
makedepends="linux-headers lua5.2-dev python python-dev zeromq-dev paxmark
	pcre-dev python3 python3-dev"
source="http://projects.unbit.it/downloads/uwsgi-${pkgver}.tar.gz
	uwsgi.initd uwsgi.confd

	0001-use-portable-pthread-functions-instead-of-the-non-po.patch
	0002-Check-for-GNU-libc-instead-of-linux-for-use-of-execi.patch
	0003-always-define-_GNU_SOURCE-for-linux.patch
	0004-define-WAIT_ANY-if-missing.patch
	musl-fix-python.patch
	musl-locking-fix.patch
	"

_plugins="lua python python3 router_uwsgi cgi"
subpackages=""
for _p in $_plugins ; do
	subpackages="$subpackages uwsgi-$_p:_$_p"
done

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

build() {
	cd "$_builddir"

	msg "building core"
	# ccache seems to trigger some weird bug on musl
	CC="gcc" python uwsgiconfig.py --build core || return 1

	export UWSGICONFIG_LUAPC="lua5.2"
	for i in ${_plugins/python3}; do
		msg "building $i plugin"
		python uwsgiconfig.py --plugin plugins/$i core || return 1
	done

	# build python3 plugin
	python3 uwsgiconfig.py --plugin plugins/python core python3 || return 1
}

package() {
	cd "$_builddir"

	local bindir=$pkgdir/usr/sbin
	install -d "$bindir"
	install uwsgi "$bindir"

	local libdir=$pkgdir/usr/lib/uwsgi
	install -d "$libdir"
	install *_plugin.so "$libdir"

	install -Dm755 "$srcdir"/uwsgi.initd \
		"$pkgdir"/etc/init.d/uwsgi || return 1
	install -Dm644 "$srcdir"/uwsgi.confd \
		"$pkgdir"/etc/conf.d/uwsgi || return 1

	# disable emutramp/mprotect, this is needed for luajit and cffi
	paxmark -em "$bindir"/uwsgi
}

_plugin() {
	depends=uwsgi
	mkdir -p "$subpkgdir"/usr/lib/uwsgi
	mv "$pkgdir/usr/lib/uwsgi/$1_plugin.so" "$subpkgdir/usr/lib/uwsgi" || return 1
}

for _p in $_plugins; do
	eval "_$_p() { _plugin $_p; }"
done

md5sums="087ba7b53bd4afc0f0218f5eb3398809  uwsgi-2.0.11.1.tar.gz
23b476a8ad6aab93b162e8eeec50c859  uwsgi.initd
3d6afe6a8c52556d1d6c52384fc38d9a  uwsgi.confd
a7f98e2775e9f38a0f16c28332745836  0001-use-portable-pthread-functions-instead-of-the-non-po.patch
b40fe76f34674874815c39a7e611f259  0002-Check-for-GNU-libc-instead-of-linux-for-use-of-execi.patch
43e4edbe50bde1096e8ca03297a1f271  0003-always-define-_GNU_SOURCE-for-linux.patch
1ee8996f7cced9dc88515c69c04dd79a  0004-define-WAIT_ANY-if-missing.patch
87c16f6fe482c9b0eac0d33c51873f45  musl-fix-python.patch
0ad5fe4340891bb9e1ee2d598add7a4a  musl-locking-fix.patch"
sha256sums="75a7d3138cfa9cd81a760c2f8a43f3d80961edc8e4f27043dc1412206c926287  uwsgi-2.0.11.1.tar.gz
df99bc13609a526432afaeb16661086c73f49394e069a19ccb7423bbd025168f  uwsgi.initd
4cb047e311aecd0f498da1d6a4c0947dd6dc7cc98575d54cb2ef150cacf8425c  uwsgi.confd
b61bf4da3d022ddfd93a73196300cb86d962f8f6198079d11b727f61c0f8acb4  0001-use-portable-pthread-functions-instead-of-the-non-po.patch
360ede589ad228f31dd06fbf8dc17d86d60e968ae76a61b3ca258a2c5ae6f007  0002-Check-for-GNU-libc-instead-of-linux-for-use-of-execi.patch
6cefd10432900518b3c19ee7f2a20b6b1f722b6d6e7ad43e4c3ad1be3daf43ee  0003-always-define-_GNU_SOURCE-for-linux.patch
82a2c13162387efcafa388038602d783f8a7e71c28d56ab3ac6b94abeba474d3  0004-define-WAIT_ANY-if-missing.patch
3838e8e3926a1f6271bb5aa88d309837a3bcd06cd570c499b72ca549326c682e  musl-fix-python.patch
1540ceee3eadb4c62ca1a9d7a585cb4d4bd6cb01d206773c0a938ca6300f0b5a  musl-locking-fix.patch"
sha512sums="0978234bf1592b52f0e8718eb63de141e2aa9928e7efff3e4833f795ee66bcb14fa1a35a141d9b590d5fffc9fbc6bc8ed3c8095e04af27a34318f37dbac6117c  uwsgi-2.0.11.1.tar.gz
5d8eadba7c6ee17f86c3dbb6b7c98131ecf9db173156e3196909550954dd09be2191285f46fd4e558f0c47a0cbe7831cde71d3d4c63862d11b819660cc418131  uwsgi.initd
9f00afb2aa574bbc59040f945475712b8c40da0c06eeb5699de5510aa116148e35ab0429fa891084cf0cd7868876d5a80e1601b7c85d0e2e9ea2a1f54cdde619  uwsgi.confd
d105c487d8bd0b496cfac2dad6090f0e420805a83dca514bfbea97c687be26d7a8b9545add0f999cb67eb66818b05995405f9a874b970f53aa38ff5ce3bbdc02  0001-use-portable-pthread-functions-instead-of-the-non-po.patch
f4038ab866f445a94e155f4b73d308959c402e81227401bc7a5fe2165b888a2c8d95141245a2c10b186782934a4103c785769afaf4091fe3fe5524ed3c270fcf  0002-Check-for-GNU-libc-instead-of-linux-for-use-of-execi.patch
fc13550528121a1c8ecd530b38ea63f3802cb6d829ec18e55e485acb592b29bed8afe4d23a5f8b9baf8076a00f72d45e8b48c5c56e8c05299b7a1ea7a0ee2e77  0003-always-define-_GNU_SOURCE-for-linux.patch
deb9fb2f125b80534e8176d32ec7cd85d49225339ccd989cfb463f5b38aa0869841c4bf9a2a97e0ed1c38b999599edb057b9aae17bdad96dad68970362e8bbc3  0004-define-WAIT_ANY-if-missing.patch
de68b16b44e554a79c073c9befa10566796316dbf4c375b4d6b633d80b0282694cca233f0a70f3d6570584324f14276826bbeb8f38b550c00087a05f9ba9227f  musl-fix-python.patch
9c786eb9c51e34cde32c9980c01bc3ebee380524d0897be1f40d85a9e0f4cafc974b58a00cc914f7275a712712d2fb12fd0f91bc8f9f48d33d6414f2ed19c0c4  musl-locking-fix.patch"