www-servers/nginx: Version bump to 1.9.14

Package-Manager: portage-2.2.28
This commit is contained in:
Manuel Rüger
2016-04-10 02:43:16 +02:00
parent 1485d02fee
commit 9baaf1c4d0
2 changed files with 763 additions and 0 deletions

View File

@@ -3,11 +3,13 @@ DIST modsecurity-2.9.1.tar.gz 4261212 SHA256 958cc5a7a7430f93fac0fd6f8b9aa92fc18
DIST nginx-1.8.1.tar.gz 833473 SHA256 8f4b3c630966c044ec72715754334d1fdf741caa1d5795fb4646c27d09f797b7 SHA512 546eba1749af0034cb8b924d2432be2f0e82a75c545aa929391ef7234103c3f29376235a2ef1363b120e1825cda15aeb085a05f9ce3596c88466e112e82aa882 WHIRLPOOL cd399083fb14bdb3498f1cd91a1cb59a73d37f323ce7c2a32500c9443f654cb5449137708cf149a0126aedb77abec9d1eb3dce3121f0b378d7d70e8eb18062af
DIST nginx-1.9.12.tar.gz 899183 SHA256 1af2eb956910ed4b11aaf525a81bc37e135907e7127948f9179f5410337da042 SHA512 b5f4cae48c85cdc9a95006b6a321834de9d18981cb1a25670c9fc948d86b9a8906d25a1ca174626eb418b0afdb3f2e1df3cbb6f5a48bd781e39e2470a4d52520 WHIRLPOOL 0b6300528ae1c29e4f7647cdbe0ea6254b1bccbdcd7f0185b2bff25409aba093c089e5fa3c1a828e2cf7f55fa6d9d2f8b818f85014f37ccbf335a71cb2e93e32
DIST nginx-1.9.13.tar.gz 907611 SHA256 f7cd529a5879cd9cd5b62e6fc4a3a7e8d8363cb12c080ab480cc718c55736609 SHA512 883e3d3be7a2a9abbeca54bed5b7004fc9810c1548a4de8f09ffc453ee077e75abfd0ae21bc87cd0814278a2cfefd2a5814b03faf4ec0298afbf75e530eb62f0 WHIRLPOOL 38d2e5006de6d9af2575d5b166051b3fa04406da89a6336b021b0a41be0f227566973fbeaaa9ae11967597c90f999dffd67129854693bc56ee840bed5fae5dd2
DIST nginx-1.9.14.tar.gz 908191 SHA256 2b4893076d28e6b4384bba8c4fdebfca6de6f8f68ec48a1ca94b9b855ff457d2 SHA512 e73a10495a8b199856f4e5d6f428b46e0b1148cee26c8517e360130d9f1e85028b28f311879d31f37e1d3facccf6f215377e984ae937a44f45245fe09a3be90e WHIRLPOOL c4e1d2b8181b9c8c967de2d68314c05c28a1fe44bd35809f3672c2ff9b02d08e2f572970ab0328f85dbe9b29c6dae0c4ebb33586a8c70053e764158c055fa8d8
DIST nginx-auth-ldap-8517bb05ecc896b54429ca5e95137b0a386bd41a.tar.gz 16950 SHA256 2f0b1a65847ea1da801a99b654f132e1c814d2fa49a43a324d8fc4ce6327935f SHA512 65b0aec3a4b28625ef93d166f659d63b9ef7d971dea78b09987eaa02f632bf5b8f6c9afdb6ef444afa466dba7ff67180cad27e138e6818c2ba80bc804f140ca6 WHIRLPOOL 9ef896fa3501415e2c7022448783626af256c6c3878fcca5d6cc042a9789937147eb4c3743f92002ab8d09e4ce828532b9ae321dc284ef2560801da98153d146
DIST nginx_http_sticky_module_ng-1.2.5.tar.bz2 124072 SHA256 f975c033eb3c342f7247f6524774bbb727aaf630ed984576dbafe5de7a790c58 SHA512 d6ae723f739efb2f0548461931b1c395801684759962beda08067111426b1c9787ceaede91b0e984c023108fd17864c53c53925506f7e8e25ec8d2fc065585f6 WHIRLPOOL 1013c6a51f5989c8131392b3d9704d42c99f9727a673f6205878d0b7dfd265bb6042c1d30089603c9b38e339d48302e6873e77fe380b7e8edba25b71e9e84ba6
DIST nginx_http_sticky_module_ng-1.2.6.tar.bz2 124089 SHA256 e47b9fd435d7a5a3200f945a9745aaa7b9446495bda76df48f211129f88d6b26 SHA512 2632b04c94f523aa7c9726db182cba11d83e642c2db5798274e67fbef30de95d02e4e95cbfb98bc429d4244d630b5d9617405b43f728ae0117a5c134940c0ded WHIRLPOOL 1b754c02f834c6b4d4930e9c46b8c5accb6c9663718fb9296c92d79bc33206e66e49e4234ca4db9a5afcd42fa23273bdf0e675aa7b38927c4e46a85318c189eb
DIST ngx_devel_kit-0.2.19-r1.tar.gz 65029 SHA256 501f299abdb81b992a980bda182e5de5a4b2b3e275fbf72ee34dd7ae84c4b679 SHA512 915954acf16a27fbd3c93c154012d38e864f1d8dfd51cde401bba26e46eb3e3c778ec4c92f4f8ed83ac001e96cee72765554d0e4da06acf6a4be5184b23b3657 WHIRLPOOL 0ce6bffc0fe2cef28ee74f5862ca6d914ed18fdee18d900608ff2a9983594c707aab3e335957b79dd7e77ae1beed054d8f71965ca0f57fc5f1d41ac06106c5a4
DIST ngx_http_auth_pam-1.4.tar.gz 6502 SHA256 095742c5bcb86f2431e215db785bdeb238d594f085a0ac00d16125876a157409 SHA512 8d60347c666736ef39161b287ad32820ad6be4695f1c0f27a000d46bfc7e26c95233247d39cf37296518a6329ba73f06756d0b0b68157b0e5f67796f73264db3 WHIRLPOOL 2f0e60366cf43727c9b3aa07d2cb803a997cb9a4f48ba28e575f470bbb7c28115f41d390e306219ad130501a62e204d403bbca5ee784628fbca35b407f51702c
DIST ngx_http_auth_pam-1.5.1.tar.gz 6863 SHA256 77676842919134af88a7b4bfca4470223e3a00d287d17c0dbdc9a114a685b6e7 SHA512 973b94874d8a58c0df0ac2d31571eafc1e80b11179cba33ec88421a826207fbf7e99b0387e135a1ca48d82daacb78f19a4c21d3a27b49b16dc86b4748bb72261 WHIRLPOOL 4fcaadee859f325c734aa16763702ee40284d1debcfbf5df1cb9aadf2bfc72c1e8d0e5b9d1495f34fc719f4d7fa3e653797fa7917f8fd0437fa2023a1930f667
DIST ngx_http_cache_purge-2.3.tar.gz 12248 SHA256 279e0d8a46d3b1521fd43b3f78bc1c08b263899142a7cc5058c1c0361a92c89c SHA512 50a31dbf2216a6fae74a186af56dec4600cf55777e76a10ac0075f609e7737135aab063a64f2590dddcd0369ebebd4a523027f3d9ebcca74f7b4355be1c5dcc0 WHIRLPOOL 5451ef3e33044210453995ea916acec679599c0ded5471d464db5003a07e7a06e9690812091148c2af7b50384e52b32e49136eac02e0330724ba2408d893f96c
DIST ngx_http_dav_ext-0.0.3.tar.gz 6260 SHA256 d428a0236c933779cb40ac8c91afb19d5c25a376dc3caab825bfd543e1ee530d SHA512 4763b1c5e417248d80acfacf20bfc5ba3e06675ff08e37703867daef99a400980b536941e4955c259432905bd11ab998bc2e2489a50350413c7bf37e18eafb74 WHIRLPOOL 5adbcea768fbb179249a03fe69304505ec09a1dafac848dd5e3cde96693c6fbcf6cf6c128ca116d02b36c1be0008807d9e86fee5b411e137b18b15a60291f29b
DIST ngx_http_echo-0.57.tar.gz 65073 SHA256 8467237ca0fae74ca7a32fbd34fc6044df307098415d48068214c9c235695a07 SHA512 c89780eca9267c9984a022a4dbd9ebf603dbd5c323bfea5ea7898ca9fc0a744388ce7520e7a9799aeabd6573f8e71ee595fe9998fa54e5d5c412b21031edd31d WHIRLPOOL e481b6f57a6ff48706fa7e281f31f15a5522c29b98620559cebe8412207d5595497cdce9156e7762cceff6369e9f678d5a81bf3c83fb2e8c5d8786622f1c27b8

View File

@@ -0,0 +1,761 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
# Maintainer notes:
# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite
# - any http-module activates the main http-functionality and overrides USE=-http
# - keep the following requirements in mind before adding external modules:
# * alive upstream
# * sane packaging
# * builds cleanly
# * does not need a patch for nginx core
# - TODO: test the google-perftools module (included in vanilla tarball)
# prevent perl-module from adding automagic perl DEPENDs
GENTOO_DEPEND_ON_PERL="no"
# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license)
DEVEL_KIT_MODULE_PV="0.2.19"
DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}-r1"
DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz"
DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}"
# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license)
HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.1"
HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1"
HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz"
HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}"
# http_headers_more (https://github.com/agentzh/headers-more-nginx-module, BSD license)
HTTP_HEADERS_MORE_MODULE_PV="0.29"
HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}"
HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz"
HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}"
# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, BSD-2 license)
HTTP_CACHE_PURGE_MODULE_PV="2.3"
HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz"
HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}"
# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license)
HTTP_SLOWFS_CACHE_MODULE_PV="1.10"
HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz"
HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}"
# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license)
HTTP_FANCYINDEX_MODULE_PV="0.3.6"
HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz"
HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}"
# http_lua (https://github.com/openresty/lua-nginx-module, BSD license)
HTTP_LUA_MODULE_PV="0.10.2"
HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}"
HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz"
HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}"
# http_auth_pam (https://github.com/stogh/ngx_http_auth_pam_module/, http://web.iti.upv.es/~sto/nginx/, BSD-2 license)
HTTP_AUTH_PAM_MODULE_PV="1.5.1"
HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}"
HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz"
HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}"
# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license)
HTTP_UPSTREAM_CHECK_MODULE_PV="0.3.0"
HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/v${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz"
HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}"
# http_metrics (https://github.com/zenops/ngx_metrics, BSD license)
HTTP_METRICS_MODULE_PV="0.1.1"
HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}"
HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz"
HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}"
# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+)
HTTP_NAXSI_MODULE_PV="0.54"
HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}"
HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz"
HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src"
# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license)
RTMP_MODULE_PV="1.1.7"
RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}"
RTMP_MODULE_URI="https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz"
RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}"
# nginx-dav-ext-module (https://github.com/arut/nginx-dav-ext-module, BSD license)
HTTP_DAV_EXT_MODULE_PV="0.0.3"
HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}"
HTTP_DAV_EXT_MODULE_URI="https://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz"
HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}"
# echo-nginx-module (https://github.com/agentzh/echo-nginx-module, BSD license)
HTTP_ECHO_MODULE_PV="0.58"
HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}"
HTTP_ECHO_MODULE_URI="https://github.com/agentzh/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz"
HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}"
# mod_security for nginx (https://modsecurity.org/, Apache-2.0)
# keep the MODULE_P here consistent with upstream to avoid tarball duplication
HTTP_SECURITY_MODULE_PV="2.9.1"
HTTP_SECURITY_MODULE_P="modsecurity-${HTTP_SECURITY_MODULE_PV}"
HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz"
HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}"
# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3)
HTTP_PUSH_STREAM_MODULE_PV="0.5.1"
HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}"
HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz"
HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}"
# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2)
HTTP_STICKY_MODULE_PV="1.2.6"
HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}"
HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${HTTP_STICKY_MODULE_PV}.tar.bz2"
HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d"
# mogilefs-module (https://github.com/vkholodkov/nginx-mogilefs-module, BSD-2)
HTTP_MOGILEFS_MODULE_PV="1.0.4"
HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
HTTP_MOGILEFS_MODULE_URI="https://github.com/vkholodkov/nginx-mogilefs-module/archive/${HTTP_MOGILEFS_MODULE_PV}.tar.gz"
HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}"
# memc-module (https://github.com/openresty/memc-nginx-module, BSD-2)
HTTP_MEMC_MODULE_PV="0.16"
HTTP_MEMC_MODULE_P="ngx_memc_module-${HTTP_MEMC_MODULE_PV}"
HTTP_MEMC_MODULE_URI="https://github.com/openresty/memc-nginx-module/archive/v${HTTP_MEMC_MODULE_PV}.tar.gz"
HTTP_MEMC_MODULE_WD="${WORKDIR}/memc-nginx-module-${HTTP_MEMC_MODULE_PV}"
# nginx-ldap-auth-module (https://github.com/kvspb/nginx-auth-ldap, BSD-2)
HTTP_LDAP_MODULE_PV="8517bb05ecc896b54429ca5e95137b0a386bd41a"
HTTP_LDAP_MODULE_P="nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}"
HTTP_LDAP_MODULE_URI="https://github.com/kvspb/nginx-auth-ldap/archive/${HTTP_LDAP_MODULE_PV}.tar.gz"
HTTP_LDAP_MODULE_WD="${WORKDIR}/nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}"
# We handle deps below ourselves
SSL_DEPS_SKIP=1
inherit ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator multilib
DESCRIPTION="Robust, small and high performance http and reverse proxy server"
HOMEPAGE="http://nginx.org"
SRC_URI="http://nginx.org/download/${P}.tar.gz
${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz
nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz )
nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz )
nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz )
nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz )
nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz )
nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz )
nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz )
nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz )
nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz )
nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz )
rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )
nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz )
nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz )
nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz )
nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz )
nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 )
nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz )
nginx_modules_http_memc? ( ${HTTP_MEMC_MODULE_URI} -> ${HTTP_MEMC_MODULE_P}.tar.gz )
nginx_modules_http_auth_ldap? ( ${HTTP_LDAP_MODULE_URI} -> ${HTTP_LDAP_MODULE_P}.tar.gz )"
LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+
nginx_modules_http_security? ( Apache-2.0 )
nginx_modules_http_push_stream? ( GPL-3 )"
SLOT="mainline"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif
fastcgi geo gzip limit_req limit_conn map memcached proxy referer
rewrite scgi ssi split_clients upstream_ip_hash userid uwsgi"
NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip
gzip_static image_filter mp4 perl random_index realip secure_link
slice stub_status sub xslt"
NGINX_MODULES_STREAM="access limit_conn upstream"
NGINX_MODULES_MAIL="imap pop3 smtp"
NGINX_MODULES_3RD="
http_upload_progress
http_headers_more
http_cache_purge
http_slowfs_cache
http_fancyindex
http_lua
http_auth_pam
http_upstream_check
http_metrics
http_naxsi
http_dav_ext
http_echo
http_security
http_push_stream
http_sticky
http_ajp
http_mogilefs
http_memc
http_auth_ldap"
IUSE="aio debug +http +http2 +http-cache ipv6 libatomic libressl luajit +pcre
pcre-jit rtmp selinux ssl threads userland_GNU vim-syntax"
for mod in $NGINX_MODULES_STD; do
IUSE="${IUSE} +nginx_modules_http_${mod}"
done
for mod in $NGINX_MODULES_OPT; do
IUSE="${IUSE} nginx_modules_http_${mod}"
done
for mod in $NGINX_MODULES_STREAM; do
IUSE="${IUSE} nginx_modules_stream_${mod}"
done
for mod in $NGINX_MODULES_MAIL; do
IUSE="${IUSE} nginx_modules_mail_${mod}"
done
for mod in $NGINX_MODULES_3RD; do
IUSE="${IUSE} nginx_modules_${mod}"
done
# Add so we can warn users updating about config changes
# @TODO: jbergstroem: remove on next release series
IUSE="${IUSE} nginx_modules_http_spdy"
CDEPEND="
pcre? ( >=dev-libs/libpcre-4.2 )
pcre-jit? ( >=dev-libs/libpcre-8.20[jit] )
ssl? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
)
http2? (
!libressl? ( >=dev-libs/openssl-1.0.1c:0= )
libressl? ( dev-libs/libressl:= )
)
http-cache? (
userland_GNU? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
)
)
nginx_modules_http_geoip? ( dev-libs/geoip )
nginx_modules_http_gunzip? ( sys-libs/zlib )
nginx_modules_http_gzip? ( sys-libs/zlib )
nginx_modules_http_gzip_static? ( sys-libs/zlib )
nginx_modules_http_image_filter? ( media-libs/gd[jpeg,png] )
nginx_modules_http_perl? ( >=dev-lang/perl-5.8 )
nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 )
nginx_modules_http_secure_link? (
userland_GNU? (
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
)
)
nginx_modules_http_xslt? ( dev-libs/libxml2 dev-libs/libxslt )
nginx_modules_http_lua? ( !luajit? ( dev-lang/lua:0= ) luajit? ( dev-lang/luajit:2= ) )
nginx_modules_http_auth_pam? ( virtual/pam )
nginx_modules_http_metrics? ( dev-libs/yajl )
nginx_modules_http_dav_ext? ( dev-libs/expat )
nginx_modules_http_security? ( >=dev-libs/libxml2-2.7.8 dev-libs/apr-util www-servers/apache )
nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] )"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-nginx )
!www-servers/nginx:0"
DEPEND="${CDEPEND}
arm? ( dev-libs/libatomic_ops )
libatomic? ( dev-libs/libatomic_ops )"
PDEPEND="vim-syntax? ( app-vim/nginx-syntax )"
REQUIRED_USE="pcre-jit? ( pcre )
nginx_modules_http_lua? ( nginx_modules_http_rewrite )
nginx_modules_http_naxsi? ( pcre )
nginx_modules_http_dav_ext? ( nginx_modules_http_dav )
nginx_modules_http_metrics? ( nginx_modules_http_stub_status )
nginx_modules_http_security? ( pcre )
nginx_modules_http_push_stream? ( ssl )"
pkg_setup() {
NGINX_HOME="/var/lib/nginx"
NGINX_HOME_TMP="${NGINX_HOME}/tmp"
ebegin "Creating nginx user and group"
enewgroup ${PN}
enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN}
eend $?
if use libatomic; then
ewarn "GCC 4.1+ features built-in atomic operations."
ewarn "Using libatomic_ops is only needed if using"
ewarn "a different compiler or a GCC prior to 4.1"
fi
if [[ -n $NGINX_ADD_MODULES ]]; then
ewarn "You are building custom modules via \$NGINX_ADD_MODULES!"
ewarn "This nginx installation is not supported!"
ewarn "Make sure you can reproduce the bug without those modules"
ewarn "_before_ reporting bugs."
fi
if use !http; then
ewarn "To actually disable all http-functionality you also have to disable"
ewarn "all nginx http modules."
fi
if use nginx_modules_http_ajp; then
eerror "The AJP module currently doesn't build for nginx >1.8."
eerror "It will be reintroduced with the 1.9 series when proven stable."
eerror "Either disable it or stick with nginx 1.7.x."
die "AJP module not supported"
fi
if use nginx_modules_http_mogilefs && use threads; then
eerror "mogilefs won't compile with threads support."
eerror "Please disable either flag and try again."
die "Can't compile mogilefs with threads support"
fi
}
src_prepare() {
eapply "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch"
if use nginx_modules_http_upstream_check; then
eapply -p0 "${FILESDIR}/check-1.9.2".patch
fi
if use nginx_modules_http_lua; then
sed -i -e 's/-llua5.1/-llua/' "${HTTP_LUA_MODULE_WD}/config" || die
fi
find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die
# We have config protection, don't rename etc files
sed -i 's:.default::' auto/install || die
# remove useless files
sed -i -e '/koi-/d' -e '/win-/d' auto/install || die
# don't install to /etc/nginx/ if not in use
local module
for module in fastcgi scgi uwsgi ; do
if ! use nginx_modules_http_${module}; then
sed -i -e "/${module}/d" auto/install || die
fi
done
eapply_user
}
src_configure() {
# mod_security needs to generate nginx/modsecurity/config before including it
if use nginx_modules_http_security; then
cd "${HTTP_SECURITY_MODULE_WD}"
if use luajit ; then
sed -i \
-e 's|^\(LUA_PKGNAMES\)=.*|\1="luajit"|' \
configure || die
fi
./configure \
--enable-standalone-module \
$(use_enable pcre-jit) \
$(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security"
fi
cd "${S}"
local myconf=() http_enabled= mail_enabled= stream_enabled=
use aio && myconf+=( --with-file-aio )
use debug && myconf+=( --with-debug )
use http2 && myconf+=( --with-http_v2_module )
use ipv6 && myconf+=( --with-ipv6 )
use libatomic && myconf+=( --with-libatomic )
use pcre && myconf+=( --with-pcre )
use pcre-jit && myconf+=( --with-pcre-jit )
use threads && myconf+=( --with-threads )
# HTTP modules
for mod in $NGINX_MODULES_STD; do
if use nginx_modules_http_${mod}; then
http_enabled=1
else
myconf+=( --without-http_${mod}_module )
fi
done
for mod in $NGINX_MODULES_OPT; do
if use nginx_modules_http_${mod}; then
http_enabled=1
myconf+=( --with-http_${mod}_module )
fi
done
if use nginx_modules_http_fastcgi; then
myconf+=( --with-http_realip_module )
fi
# third-party modules
if use nginx_modules_http_upload_progress; then
http_enabled=1
myconf+=( --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD} )
fi
if use nginx_modules_http_headers_more; then
http_enabled=1
myconf+=( --add-module=${HTTP_HEADERS_MORE_MODULE_WD} )
fi
if use nginx_modules_http_cache_purge; then
http_enabled=1
myconf+=( --add-module=${HTTP_CACHE_PURGE_MODULE_WD} )
fi
if use nginx_modules_http_slowfs_cache; then
http_enabled=1
myconf+=( --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD} )
fi
if use nginx_modules_http_fancyindex; then
http_enabled=1
myconf+=( --add-module=${HTTP_FANCYINDEX_MODULE_WD} )
fi
if use nginx_modules_http_lua; then
http_enabled=1
if use luajit; then
export LUAJIT_LIB=$(pkg-config --variable libdir luajit)
export LUAJIT_INC=$(pkg-config --variable includedir luajit)
else
export LUA_LIB=$(pkg-config --variable libdir lua)
export LUA_INC=$(pkg-config --variable includedir lua)
fi
myconf+=( --add-module=${DEVEL_KIT_MODULE_WD} )
myconf+=( --add-module=${HTTP_LUA_MODULE_WD} )
fi
if use nginx_modules_http_auth_pam; then
http_enabled=1
myconf+=( --add-module=${HTTP_AUTH_PAM_MODULE_WD} )
fi
if use nginx_modules_http_upstream_check; then
http_enabled=1
myconf+=( --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD} )
fi
if use nginx_modules_http_metrics; then
http_enabled=1
myconf+=( --add-module=${HTTP_METRICS_MODULE_WD} )
fi
if use nginx_modules_http_naxsi ; then
http_enabled=1
myconf+=( --add-module=${HTTP_NAXSI_MODULE_WD} )
fi
if use rtmp ; then
http_enabled=1
myconf+=( --add-module=${RTMP_MODULE_WD} )
fi
if use nginx_modules_http_dav_ext ; then
http_enabled=1
myconf+=( --add-module=${HTTP_DAV_EXT_MODULE_WD} )
fi
if use nginx_modules_http_echo ; then
http_enabled=1
myconf+=( --add-module=${HTTP_ECHO_MODULE_WD} )
fi
if use nginx_modules_http_security ; then
http_enabled=1
myconf+=( --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity )
fi
if use nginx_modules_http_push_stream ; then
http_enabled=1
myconf+=( --add-module=${HTTP_PUSH_STREAM_MODULE_WD} )
fi
if use nginx_modules_http_sticky ; then
http_enabled=1
myconf+=( --add-module=${HTTP_STICKY_MODULE_WD} )
fi
if use nginx_modules_http_mogilefs ; then
http_enabled=1
myconf+=( --add-module=${HTTP_MOGILEFS_MODULE_WD} )
fi
if use nginx_modules_http_memc ; then
http_enabled=1
myconf+=( --add-module=${HTTP_MEMC_MODULE_WD} )
fi
if use nginx_modules_http_auth_ldap; then
http_enabled=1
myconf+=( --add-module=${HTTP_LDAP_MODULE_WD} )
fi
if use http || use http-cache || use http2; then
http_enabled=1
fi
if [ $http_enabled ]; then
use http-cache || myconf+=( --without-http-cache )
use ssl && myconf+=( --with-http_ssl_module )
else
myconf+=( --without-http --without-http-cache )
fi
# Stream modules
for mod in $NGINX_MODULES_STREAM; do
if use nginx_modules_stream_${mod}; then
stream_enabled=1
else
# Treat stream upstream slightly differently
if ! use nginx_modules_stream_upstream; then
myconf+=( --without-stream_upstream_hash_module )
myconf+=( --without-stream_upstream_least_conn_module )
myconf+=( --without-stream_upstream_zone_module )
else
myconf+=( --without-stream_${stream}_module )
fi
fi
done
if [ $stream_enabled ]; then
myconf+=( --with-stream )
use ssl && myconf+=( --with-stream_ssl_module )
fi
# MAIL modules
for mod in $NGINX_MODULES_MAIL; do
if use nginx_modules_mail_${mod}; then
mail_enabled=1
else
myconf+=( --without-mail_${mod}_module )
fi
done
if [ $mail_enabled ]; then
myconf+=( --with-mail )
use ssl && myconf+=( --with-mail_ssl_module )
fi
# custom modules
for mod in $NGINX_ADD_MODULES; do
myconf+=( --add-module=${mod} )
done
# https://bugs.gentoo.org/286772
export LANG=C LC_ALL=C
tc-export CC
if ! use prefix; then
myconf+=( --user=${PN}" "--group=${PN} )
fi
./configure \
--prefix="${EPREFIX}"/usr \
--conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \
--error-log-path="${EPREFIX}"/var/log/${PN}/error_log \
--pid-path="${EPREFIX}"/run/${PN}.pid \
--lock-path="${EPREFIX}"/run/lock/${PN}.lock \
--with-cc-opt="-I${EROOT}usr/include" \
--with-ld-opt="-L${EROOT}usr/$(get_libdir)" \
--http-log-path="${EPREFIX}"/var/log/${PN}/access_log \
--http-client-body-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/client \
--http-proxy-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/proxy \
--http-fastcgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/fastcgi \
--http-scgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/scgi \
--http-uwsgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/uwsgi \
"${myconf[@]}" || die "configure failed"
# A purely cosmetic change that makes nginx -V more readable. This can be
# good if people outside the gentoo community would troubleshoot and
# question the users setup.
sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die
}
src_compile() {
use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}"
# https://bugs.gentoo.org/286772
export LANG=C LC_ALL=C
emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}"
}
src_install() {
emake DESTDIR="${D%/}" install
cp "${FILESDIR}"/nginx.conf-r2 "${ED}"etc/nginx/nginx.conf || die
newinitd "${FILESDIR}"/nginx.initd-r2 nginx
systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service
doman man/nginx.8
dodoc CHANGES* README
# just keepdir. do not copy the default htdocs files (bug #449136)
keepdir /var/www/localhost
rm -rf "${D}"usr/html || die
# set up a list of directories to keep
local keepdir_list="${NGINX_HOME_TMP}"/client
local module
for module in proxy fastcgi scgi uwsgi; do
use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}"
done
keepdir /var/log/nginx ${keepdir_list}
# this solves a problem with SELinux where nginx doesn't see the directories
# as root and tries to create them as nginx
fperms 0750 "${NGINX_HOME_TMP}"
fowners ${PN}:0 "${NGINX_HOME_TMP}"
fperms 0700 /var/log/nginx ${keepdir_list}
fowners ${PN}:${PN} /var/log/nginx ${keepdir_list}
# logrotate
insinto /etc/logrotate.d
newins "${FILESDIR}"/nginx.logrotate-r1 nginx
if use nginx_modules_http_perl; then
cd "${S}"/objs/src/http/modules/perl/
emake DESTDIR="${D}" INSTALLDIRS=vendor
perl_delete_localpod
fi
if use nginx_modules_http_cache_purge; then
docinto ${HTTP_CACHE_PURGE_MODULE_P}
dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md}
fi
if use nginx_modules_http_slowfs_cache; then
docinto ${HTTP_SLOWFS_CACHE_MODULE_P}
dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md}
fi
if use nginx_modules_http_fancyindex; then
docinto ${HTTP_FANCYINDEX_MODULE_P}
dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst
fi
if use nginx_modules_http_lua; then
docinto ${HTTP_LUA_MODULE_P}
dodoc "${HTTP_LUA_MODULE_WD}"/{Changes,README.markdown}
fi
if use nginx_modules_http_auth_pam; then
docinto ${HTTP_AUTH_PAM_MODULE_P}
dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,ChangeLog}
fi
if use nginx_modules_http_upstream_check; then
docinto ${HTTP_UPSTREAM_CHECK_MODULE_P}
dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES}
fi
if use nginx_modules_http_naxsi; then
insinto /etc/nginx
doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules
fi
if use rtmp; then
docinto ${RTMP_MODULE_P}
dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl}
fi
if use nginx_modules_http_dav_ext; then
docinto ${HTTP_DAV_EXT_MODULE_P}
dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README
fi
if use nginx_modules_http_echo; then
docinto ${HTTP_ECHO_MODULE_P}
dodoc "${HTTP_ECHO_MODULE_WD}"/{README.markdown,doc/HttpEchoModule.wiki}
fi
if use nginx_modules_http_security; then
docinto ${HTTP_SECURITY_MODULE_P}
dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.TXT,authors.txt}
fi
if use nginx_modules_http_push_stream; then
docinto ${HTTP_PUSH_STREAM_MODULE_P}
dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile}
fi
if use nginx_modules_http_sticky; then
docinto ${HTTP_STICKY_MODULE_P}
dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf}
fi
if use nginx_modules_http_memc; then
docinto ${HTTP_MEMC_MODULE_P}
dodoc "${HTTP_MEMC_MODULE_WD}"/README.markdown
fi
if use nginx_modules_http_auth_ldap; then
docinto ${HTTP_LDAP_MODULE_P}
dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf
fi
}
pkg_postinst() {
if use ssl; then
if [ ! -f "${EROOT}"etc/ssl/${PN}/${PN}.key ]; then
install_cert /etc/ssl/${PN}/${PN}
use prefix || chown ${PN}:${PN} "${EROOT}"etc/ssl/${PN}/${PN}.{crt,csr,key,pem}
fi
fi
if use nginx_modules_http_spdy; then
ewarn "In nginx 1.9.5 the spdy module was superseded by http2."
ewarn "Update your configs and package.use accordingly."
fi
if use nginx_modules_http_lua && use http2; then
ewarn "Lua 3rd party module author warns against using ${P} with"
ewarn "NGINX_MODULES_HTTP=\"lua http2\". For more info, see http://git.io/OldLsg"
fi
# This is the proper fix for bug #458726/#469094, resp. CVE-2013-0337 for
# existing installations
local fix_perms=0
for rv in ${REPLACING_VERSIONS} ; do
version_compare ${rv} 1.4.1-r2
[[ $? -eq 1 ]] && fix_perms=1
done
if [[ $fix_perms -eq 1 ]] ; then
ewarn "To fix a security bug (CVE-2013-0337, bug #458726) had the following"
ewarn "directories the world-readable bit removed (if set):"
ewarn " ${EPREFIX}/var/log/nginx"
ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}"
ewarn "Check if this is correct for your setup before restarting nginx!"
ewarn "This is a one-time change and will not happen on subsequent updates."
ewarn "Furthermore nginx' temp directories got moved to ${NGINX_HOME_TMP}"
chmod -f o-rwx "${EPREFIX}"/var/log/nginx "${EPREFIX}${NGINX_HOME_TMP}"/{,client,proxy,fastcgi,scgi,uwsgi}
fi
# If the nginx user can't change into or read the dir, display a warning.
# If su is not available we display the warning nevertheless since we can't check properly
su -s /bin/sh -c 'cd /var/log/nginx/ && ls' nginx >&/dev/null
if [ $? -ne 0 ] ; then
ewarn "Please make sure that the nginx user or group has at least"
ewarn "'rx' permissions on /var/log/nginx (default on a fresh install)"
ewarn "Otherwise you end up with empty log files after a logrotate."
fi
}