PKGBUILDs/extra/nginx/PKGBUILD

163 lines
5.4 KiB
Bash
Raw Normal View History

2023-06-03 18:54:42 +00:00
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
2018-11-09 01:13:13 +00:00
# Contributor: Sébastien Luttringer
2014-10-17 03:36:58 +00:00
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl>
# Contributor: Daniel Micay <danielmicay@gmail.com>
2015-04-18 20:00:37 +00:00
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
2017-04-13 12:38:14 +00:00
# - build armv7h and aarch64 with -fPIC
2014-10-17 03:36:58 +00:00
2020-01-06 13:33:07 +00:00
pkgbase=nginx
pkgname=(nginx nginx-src)
2024-08-16 19:47:46 +00:00
pkgver=1.26.2
2024-06-03 23:51:36 +00:00
pkgrel=1
_tests_commit=2a607a31f583add7adfa1ac434a3f793d327ca6b
2017-11-30 14:05:06 +00:00
arch=(x86_64)
2024-06-03 23:51:36 +00:00
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server'
2016-11-19 00:38:33 +00:00
url='https://nginx.org'
2024-06-03 23:51:36 +00:00
license=(BSD-2-Clause)
2023-09-16 14:22:34 +00:00
makedepends=(mercurial pcre2 zlib openssl geoip mailcap libxcrypt)
2017-10-18 12:20:10 +00:00
checkdepends=(perl perl-gd perl-io-socket-ssl perl-fcgi perl-cache-memcached
2024-06-03 23:51:36 +00:00
perl-cryptx memcached ffmpeg coreutils)
2016-11-19 00:38:33 +00:00
source=($url/download/nginx-$pkgver.tar.gz{,.asc}
2024-06-03 23:51:36 +00:00
"hg+https://hg.nginx.org/nginx-tests#revision=${_tests_commit}"
2023-09-16 14:22:34 +00:00
nginx.service
2024-04-25 00:13:17 +00:00
logrotate)
2023-06-03 18:54:42 +00:00
# https://nginx.org/en/pgp_keys.html
2024-04-25 00:13:17 +00:00
validpgpkeys=('B0F4253373F8F6F510D42178520A9993A1C052F8' # Maxim Dounin <mdounin@mdounin.ru>
'43387825DDB1BB97EC36BA5D007C8D7C15D87369' # Roman Arutyunyan <r.arutyunyan@f5.com>
'D6786CE303D9A9022998DC6CC8464D549AF75C0A' # Sergey Kandaurov <s.kandaurov@f5.com>
2022-06-10 17:27:14 +00:00
'13C82A63B603576156E30A4EA0EA981B66B0D967') # Konstantin Pavlov <thresh@nginx.com>
2024-08-16 19:47:46 +00:00
sha512sums=('470efe9ae5d6150ecbf133979c6c36415679a2156499a3b6820a85eb8f3038a8aa06f7b28ddd834cffb0e982f3ddc89e4b1649d536eba4f84019a72d4cfa3539'
2021-06-11 00:02:29 +00:00
'SKIP'
2024-06-03 23:51:36 +00:00
'2c1efc38f4d36c10e7d13bb48e035246215c33213e42d733ef0c1bbbdbce71777b2430247d1c1fe922e03d10ce53c05fe555bd9fea547658e6c6d763af8d8b93'
'f469b3b14def666e955abf6f2d3c68a47631cad7bee90c92039ffe5bf629aa7e32bb4250844d52c0f963740fb07bf7fea5f8887cc1d5199403f07be6214fcb8d'
2024-04-25 00:13:17 +00:00
'2f4dfcfa711b8bcbc5918ba635f5e430ef7132e66276261ade62bb1cba016967432c8dce7f84352cb8b07dc7c6b18f09177aa3eb92c8e358b2a106c8ca142fe9')
2014-10-17 03:36:58 +00:00
2016-03-06 16:45:37 +00:00
_common_flags=(
2017-04-13 12:38:14 +00:00
--with-compat
2017-10-18 12:20:10 +00:00
--with-debug
2016-04-26 17:51:12 +00:00
--with-file-aio
--with-http_addition_module
--with-http_auth_request_module
--with-http_dav_module
--with-http_degradation_module
--with-http_flv_module
--with-http_geoip_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_mp4_module
2023-09-16 14:22:34 +00:00
--with-http_random_index_module
2016-04-26 17:51:12 +00:00
--with-http_realip_module
--with-http_secure_link_module
2016-11-19 00:38:33 +00:00
--with-http_slice_module
2016-04-26 17:51:12 +00:00
--with-http_ssl_module
--with-http_stub_status_module
--with-http_sub_module
2016-05-01 01:41:48 +00:00
--with-http_v2_module
2024-04-25 00:13:17 +00:00
--with-http_v3_module
2016-05-01 01:41:48 +00:00
--with-mail
--with-mail_ssl_module
2017-04-13 12:38:14 +00:00
--with-pcre-jit
2016-05-01 01:41:48 +00:00
--with-stream
2017-04-13 12:38:14 +00:00
--with-stream_geoip_module
--with-stream_realip_module
2016-05-01 01:41:48 +00:00
--with-stream_ssl_module
2017-04-13 12:38:14 +00:00
--with-stream_ssl_preread_module
2016-05-01 01:41:48 +00:00
--with-threads
2016-03-06 16:45:37 +00:00
)
2020-01-06 13:33:07 +00:00
prepare() {
cp -r $pkgbase-$pkgver{,-src}
}
2014-10-17 03:36:58 +00:00
build() {
2020-01-06 13:33:07 +00:00
cd $pkgbase-$pkgver
2014-10-17 03:36:58 +00:00
2017-04-13 12:38:14 +00:00
[[ $CARCH == "armv7h" || $CARCH == "aarch64" ]] && CFLAGS+=" -fPIC" && CXXFLAGS+=" -fPIC"
2015-04-18 20:00:37 +00:00
2014-10-17 03:36:58 +00:00
./configure \
--prefix=/etc/nginx \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/bin/nginx \
--pid-path=/run/nginx.pid \
--lock-path=/run/lock/nginx.lock \
--user=http \
--group=http \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=stderr \
--http-client-body-temp-path=/var/lib/nginx/client-body \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
2017-07-12 12:31:43 +00:00
--with-cc-opt="$CFLAGS $CPPFLAGS" \
--with-ld-opt="$LDFLAGS" \
2024-06-03 23:51:36 +00:00
"${_common_flags[@]}"
2014-10-17 03:36:58 +00:00
make
}
2017-10-18 12:20:10 +00:00
check() {
cd nginx-tests
2024-06-03 23:51:36 +00:00
local _jobs=$(nproc)
(( _jobs > 16 )) && _jobs=16
TEST_NGINX_BINARY="$srcdir/$pkgbase-$pkgver/objs/nginx" prove -j "$_jobs" .
2017-10-18 12:20:10 +00:00
}
2020-01-06 13:33:07 +00:00
package_nginx() {
2024-06-03 23:51:36 +00:00
depends=(glibc pcre2 zlib openssl geoip mailcap libxcrypt)
backup=(etc/nginx/fastcgi.conf
etc/nginx/fastcgi_params
etc/nginx/koi-win
etc/nginx/koi-utf
etc/nginx/nginx.conf
etc/nginx/scgi_params
etc/nginx/uwsgi_params
etc/nginx/win-utf
etc/logrotate.d/nginx)
2023-09-16 14:22:34 +00:00
2020-01-06 13:33:07 +00:00
cd $pkgbase-$pkgver
2014-10-17 03:36:58 +00:00
make DESTDIR="$pkgdir" install
2021-04-20 22:44:51 +00:00
sed -e 's|\<user\s\+\w\+;|user http;|g' \
2014-10-17 03:36:58 +00:00
-e '44s|html|/usr/share/nginx/html|' \
-e '54s|html|/usr/share/nginx/html|' \
-i "$pkgdir"/etc/nginx/nginx.conf
rm "$pkgdir"/etc/nginx/*.default
2017-11-30 14:05:06 +00:00
rm "$pkgdir"/etc/nginx/mime.types # in mailcap
2014-10-17 03:36:58 +00:00
install -d "$pkgdir"/var/lib/nginx
install -dm700 "$pkgdir"/var/lib/nginx/proxy
2017-02-10 13:25:30 +00:00
chmod 755 "$pkgdir"/var/log/nginx
2017-01-15 18:43:36 +00:00
chown root:root "$pkgdir"/var/log/nginx
2014-10-17 03:36:58 +00:00
install -d "$pkgdir"/usr/share/nginx
mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
install -Dm644 ../logrotate "$pkgdir"/etc/logrotate.d/nginx
2023-09-16 14:22:34 +00:00
install -Dm644 ../nginx.service "$pkgdir"/usr/lib/systemd/system/nginx.service
2024-06-03 23:51:36 +00:00
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
2014-10-17 03:36:58 +00:00
rmdir "$pkgdir"/run
2023-09-16 14:22:34 +00:00
install -Dm0644 objs/nginx.8 "$pkgdir"/usr/share/man/man8/nginx.8
2016-04-26 17:55:42 +00:00
2021-04-20 22:44:51 +00:00
for i in ftdetect ftplugin indent syntax; do
2017-04-13 12:38:14 +00:00
install -Dm644 contrib/vim/$i/nginx.vim \
"$pkgdir/usr/share/vim/vimfiles/$i/nginx.vim"
2016-04-26 17:55:42 +00:00
done
2014-10-17 03:36:58 +00:00
}
2020-01-06 13:33:07 +00:00
package_nginx-src() {
2020-04-24 12:34:48 +00:00
pkgdesc="Source code of nginx $pkgver, useful for building modules"
2023-09-16 14:22:34 +00:00
2020-01-06 13:33:07 +00:00
install -d "$pkgdir/usr/src"
cp -r $pkgbase-$pkgver-src "$pkgdir/usr/src/nginx"
2024-06-03 23:51:36 +00:00
install -Dm644 $pkgbase-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
2020-01-06 13:33:07 +00:00
}