commit:     4125a7c0de6420a9d3f134f80b3878d6bd78006b
Author:     Andrew Udvare <audvare <AT> gmail <DOT> com>
AuthorDate: Sun Jun 20 03:57:56 2021 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Tue Apr 23 22:47:38 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4125a7c0

www-servers/nginx: add nginx-vod module

Signed-off-by: Andrew Udvare <audvare <AT> gmail.com>
Signed-off-by: Conrad Kostecki <conikost <AT> gentoo.org>

 profiles/desc/nginx_modules_http.desc |  1 +
 www-servers/nginx/Manifest            |  1 +
 www-servers/nginx/nginx-1.25.5.ebuild | 23 ++++++++++++++++++++++-
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/profiles/desc/nginx_modules_http.desc 
b/profiles/desc/nginx_modules_http.desc
index ce7da74c6392..dd1d7ea38a95 100644
--- a/profiles/desc/nginx_modules_http.desc
+++ b/profiles/desc/nginx_modules_http.desc
@@ -73,4 +73,5 @@ upstream_zone - This module makes it possible to define a 
shared memory zone tha
 userid - This module gives out cookies for identification of clients.
 uwsgi - External module for the uWSGI protocol for python web apps.
 vhost_traffic_status - This module provides access to virtual host status 
information.
+vod - Adds support for video streaming using DASH, HDS, HLS, MSS.
 xslt - This module is a filter which converts an XML response with the aid of 
one or more XSLT templates.

diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest
index f35411327640..aef06aa37229 100644
--- a/www-servers/nginx/Manifest
+++ b/www-servers/nginx/Manifest
@@ -5,6 +5,7 @@ DIST nginx-1.25.4.tar.gz 1236273 BLAKE2B 
3236751f9e7ced1a6b79e957c7a4cf19070bf43
 DIST nginx-1.25.5.tar.gz 1244060 BLAKE2B 
75ff068554d96063d1c7cb18d84df4fe8b820f6065f3464efde055c707e94ff13c45bea261619a453f04abed1fa3f9baccf81c29ca0e956ef0535e9a5c931dc6
 SHA512 
4a069ec08af46e42a72e263291fc84a67605d817ece1ea7092a5da5babced96ef27eb370ad6f7558b2f5973406080240080aaf4b27fc2d8b41f6853601563cb7
 DIST nginx-auth-ldap-42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz 18457 
BLAKE2B 
22225ca9e5299b20ab5a93a001cac48e446bd86b3a24ac49e716bc975b128890bdb4b0dbbf5730fbaaeadfd958160093c7a6af798dd0e6de27062f149a760333
 SHA512 
ec59637fda5acac053e815cb1d04b545fc6b765e5ec63d8c2c9c301abad87afaa2698145acac08e9e14c91e1423ebff7aff0cca2b940b19ccccbf4cf53973269
 DIST nginx-tests-24482e311749.tar.gz 282605 BLAKE2B 
987b3a224966fbe44ccdd0375aa6b09b683738b6531599259cbea03491c056e4f4dd8e67b6f51555db936e8f0e93cfc669d8a884082d6015c5fd5f8b2dcf6207
 SHA512 
80d163226bdbfcf4bd8556316a1dcc5b048fa87357f83f5cac3b13917043dad0c96b9bc67ac886b421cc4954ddf7603256fe77d85fda406f8ed8c9231fc1cf3e
+DIST nginx-vod-module-1.28.tar.gz 465594 BLAKE2B 
bb33c54fd6e553901cb40f3bf08bcb845cb599caf181c2d46ffe084500e09bc3caba750d8194a4b5721ec4c5c68b1bed8cdd04dcd9f7669435be3b5a830041e5
 SHA512 
389137124a3d046b99faabb977b5dbcf7c84541e039da27dfcca6b863d6d7f99e4b42916be1d7202bad017a88973c2f931985c2c58243f5134b7d9d199cdff0c
 DIST nginx_http_sticky_module_ng-1.2.6-10-g08a395c66e42.tar.bz2 124047 BLAKE2B 
d37ef9a15c91abe3c6258e420d1f99fa452f9d9966a0e13102174973314a3bac5413957a5fe632a9dcb1163b3be5df8116e05cc053ee061e19319ec25f341570
 SHA512 
6c1bfdcf89884b2855d51ae7da0f6e53a4ca3629e1aaf58433b70c07dcb2af797ba6e87d9b3eb4fe2fb6d4d697e862f2b4c2f8d8b3fdaea201740c97ec936529
 DIST ngx_brotli-1.0.0rc.tar.gz 16207 BLAKE2B 
450d0ea693bd98d4a1b615f2cdcaad41ccd28266f6d80beec7fe77fe750ab8c5d1bb55aabe15161b9b6d819d2b4d99a7774f2706f2f6fd084b52a7c7dddbc00c
 SHA512 
05a880d5e48ac83be84498ed41fb4750211b827a9d7541acfd6ef494e5205a6e853d5594bfec3ab4ae668ea3f803e4f4b0ba550c76811971c8e266e42663c56d
 DIST ngx_devel_kit-0.3.1.tar.gz 66542 BLAKE2B 
8242d884464d99a131a48f599f9d0c2b546610f73f646e7eb0dcfdb98220810d949189cffa721360ddbe3b7b8adc8b678a848b9d1a56db6c62fd4439ecb63d24
 SHA512 
de1e3349d8dd08e5982279b2219dc8a8006739f0409b8e0f5c50d93434beff1fbafba43e9c5ac85a5fab90afc5c0a7244a340610339c36f82f2cba7233e72de9

diff --git a/www-servers/nginx/nginx-1.25.5.ebuild 
b/www-servers/nginx/nginx-1.25.5.ebuild
index f5bb4dfa7402..3984a1062e25 100644
--- a/www-servers/nginx/nginx-1.25.5.ebuild
+++ b/www-servers/nginx/nginx-1.25.5.ebuild
@@ -153,6 +153,12 @@ 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}"
 
+# nginx-vod-module (https://github.com/kaltura/nginx-vod-module, AGPL-3+)
+HTTP_VOD_MODULE_PV="1.28"
+HTTP_VOD_MODULE_P="nginx-vod-module-${HTTP_VOD_MODULE_PV}"
+HTTP_VOD_MODULE_URI="https://github.com/kaltura/nginx-vod-module/archive/${HTTP_VOD_MODULE_PV}.tar.gz";
+HTTP_VOD_MODULE_WD="${WORKDIR}/nginx-vod-module-${HTTP_VOD_MODULE_PV}"
+
 # geoip2 (https://github.com/leev/ngx_http_geoip2_module, BSD-2)
 GEOIP2_MODULE_PV="3.4"
 GEOIP2_MODULE_P="ngx_http_geoip2_module-${GEOIP2_MODULE_PV}"
@@ -203,6 +209,7 @@ SRC_URI="https://nginx.org/download/${P}.tar.gz
        nginx_modules_http_upload_progress? ( 
${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz )
        nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} 
-> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz )
        nginx_modules_http_vhost_traffic_status? ( 
${HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI} -> 
${HTTP_VHOST_TRAFFIC_STATUS_MODULE_P}.tar.gz )
+       nginx_modules_http_vod? ( ${HTTP_VOD_MODULE_URI} -> 
${HTTP_VOD_MODULE_P}.tar.gz )
        nginx_modules_stream_geoip2? ( ${GEOIP2_MODULE_URI} -> 
${GEOIP2_MODULE_P}.tar.gz )
        nginx_modules_stream_javascript? ( ${NJS_MODULE_URI} -> 
${NJS_MODULE_P}.tar.gz )
        rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )
@@ -252,6 +259,7 @@ NGINX_MODULES_3RD="
        http_upload_progress
        http_upstream_check
        http_vhost_traffic_status
+       http_vod
        stream_geoip2
        stream_javascript
 "
@@ -322,6 +330,7 @@ CDEPEND="
        nginx_modules_http_dav_ext? ( dev-libs/libxml2 )
        nginx_modules_http_security? ( dev-libs/modsecurity )
        nginx_modules_http_auth_ldap? ( net-nds/openldap:=[ssl?] )
+       nginx_modules_http_vod? ( media-video/ffmpeg:0= )
        nginx_modules_stream_geoip? ( dev-libs/geoip )
        nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= )"
 RDEPEND="${CDEPEND}
@@ -365,7 +374,8 @@ REQUIRED_USE="pcre-jit? ( pcre )
        nginx_modules_http_dav_ext? ( nginx_modules_http_dav 
nginx_modules_http_xslt )
        nginx_modules_http_metrics? ( nginx_modules_http_stub_status )
        nginx_modules_http_security? ( pcre )
-       nginx_modules_http_push_stream? ( ssl )"
+       nginx_modules_http_push_stream? ( ssl )
+       nginx_modules_http_vod? ( threads )"
 
 pkg_setup() {
        NGINX_HOME="/var/lib/nginx"
@@ -620,6 +630,12 @@ src_configure() {
                http_enabled=1
        fi
 
+       if use nginx_modules_http_vod; then
+               http_enabled=1
+               export HTTP_POSTPONE=no
+               myconf+=( --add-module=${HTTP_VOD_MODULE_WD} )
+       fi
+
        if [ $http_enabled ]; then
                use http-cache || myconf+=( --without-http-cache )
                use ssl && myconf+=( --with-http_ssl_module )
@@ -846,6 +862,11 @@ src_install() {
                docinto ${HTTP_LDAP_MODULE_P}
                dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf
        fi
+
+       if use nginx_modules_http_vod; then
+               docinto ${HTTP_VOD_MODULE_P}
+               dodoc "${HTTP_VOD_MODULE_WD}"/{CHANGELOG,README}.md
+       fi
 }
 
 src_test() {

Reply via email to