git: 37c8daa1601d - main - net/opensips: Make Python, RabbitMQ and Redis support optional

From: Daniel Engberg <diizzy_at_FreeBSD.org>
Date: Fri, 08 Oct 2021 07:06:47 UTC
The branch main has been updated by diizzy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=37c8daa1601d0e28aeb7804b1de2b80716c706cd

commit 37c8daa1601d0e28aeb7804b1de2b80716c706cd
Author:     OlivierW <olivierw1+bugzilla-freebsd@hotmail.com>
AuthorDate: 2021-10-08 06:51:17 +0000
Commit:     Daniel Engberg <diizzy@FreeBSD.org>
CommitDate: 2021-10-08 07:06:35 +0000

    net/opensips: Make Python, RabbitMQ and Redis support optional
    
    PR:             222718
    Approved by:    port maintainer, arrowd (mentor)
    Differential Revision:  https://reviews.freebsd.org/D32330
---
 net/opensips31/Makefile            | 23 ++++++++++++++++-------
 net/opensips31/files/Makefile.conf |  2 +-
 net/opensips31/pkg-plist           | 20 ++++++++++----------
 3 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/net/opensips31/Makefile b/net/opensips31/Makefile
index 6424b8772a4c..c67a2bfa1a2e 100644
--- a/net/opensips31/Makefile
+++ b/net/opensips31/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	opensips31
 DISTVERSION=	3.1.2
+PORTREVISION=	1
 CATEGORIES=	net
 MASTER_SITES=	https://opensips.org/pub/opensips/${DISTVERSION}/
 DISTNAME=	opensips-${DISTVERSION}
@@ -14,15 +15,13 @@ BUILD_DEPENDS=	gm4:devel/m4
 LIB_DEPENDS=	libconfuse.so:devel/libconfuse \
 		libcurl.so:ftp/curl \
 		libexpat.so:textproc/expat2 \
-		libhiredis.so:databases/hiredis \
 		libjson-c.so:devel/json-c \
 		libjwt.so:www/libjwt \
 		libpcre.so:devel/pcre \
-		librabbitmq.so:net/rabbitmq-c-devel \
 		libuuid.so:misc/e2fsprogs-libuuid
 
 USES=		gettext-runtime gmake gnome localbase:ldflags ncurses perl5 \
-		pkgconfig python shebangfix ssl
+		pkgconfig shebangfix ssl
 USE_GNOME=	libxml2
 SHEBANG_GLOB=	*.pl *.sh
 
@@ -41,16 +40,16 @@ MAKE_ENV+=	BASEDIR=${STAGEDIR} \
 		INSTALL_DOC="${INSTALL_DATA}" \
 		INSTALL_MODULES="${INSTALL_PROGRAM}" \
 		JSON_BUILDER="pkgconf json-c" \
-		NICER=0 \
-		PYTHON=${PYTHON_CMD}
+		NICER=0
 
 OPTIONS_DEFINE=		DEBUG DOCS EXAMPLES HTTP LDAP MEMCACHED MYSQL PGSQL \
-			RADIUS SQLITE TESTS TLS UNIXODBC
-OPTIONS_DEFAULT=	HTTP LDAP MEMCACHED PGSQL RADIUS TLS
+			PYTHON RABBITMQ RADIUS REDIS SQLITE TESTS TLS UNIXODBC
+OPTIONS_DEFAULT=	HTTP LDAP MEMCACHED PGSQL PYTHON RABBITMQ RADIUS REDIS TLS
 OPTIONS_SUB=		yes
 
 HTTP_DESC=		Enable HTTP transport via libmicrohttpd
 MEMCACHED_DESC=		Build with memcached support
+RABBITMQ_DESC=		RabbitMQ/AMQP support
 TESTS_DESC=		Install smoke tests
 
 HTTP_LIB_DEPENDS=	libmicrohttpd.so:www/libmicrohttpd
@@ -70,9 +69,19 @@ PGSQL_USES=		pgsql
 WANT_PGSQL=		client
 PGSQL_VARS=		EXTRA_MODULES+=db_postgres
 
+PYTHON_USES=		python
+PYTHON_MAKE_ENV=	PYTHON=${PYTHON_CMD}
+PYTHON_VARS=		EXTRA_MODULES+=python
+
+RABBITMQ_LIB_DEPENDS=	librabbitmq.so:net/rabbitmq-c-devel
+RABBITMQ_VARS=		EXTRA_MODULES+="event_rabbitmq rabbitmq rabbitmq_consumer"
+
 RADIUS_LIB_DEPENDS=	libradiusclient-ng.so:net/radiusclient
 RADIUS_VARS=		EXTRA_MODULES+=aaa_radius
 
+REDIS_LIB_DEPENDS=	libhiredis.so:databases/hiredis
+REDIS_VARS=		EXTRA_MODULES+=cachedb_redis
+
 SQLITE_LIB_DEPENDS=	libsqlite3.so:databases/sqlite3
 SQLITE_VARS=		EXTRA_MODULES+=db_sqlite
 
diff --git a/net/opensips31/files/Makefile.conf b/net/opensips31/files/Makefile.conf
index 89e65bc94ae1..131a30062807 100644
--- a/net/opensips31/files/Makefile.conf
+++ b/net/opensips31/files/Makefile.conf
@@ -65,7 +65,7 @@
 
 exclude_modules?= aaa_radius auth_jwt b2b_logic cachedb_cassandra cachedb_couchbase cachedb_memcached cachedb_mongodb cachedb_redis carrierroute cgrates compression cpl_c db_berkeley db_http db_mysql db_oracle db_perlvdb db_postgres db_sqlite db_unixodbc dialplan emergency event_rabbitmq h350 httpd identity jabber json ldap lua mi_xmlrpc_ng mmgeoip osp perl pi_http presence presence_dialoginfo presence_mwi presence_xml presence_dfks proto_sctp proto_tls proto_wss pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp python regex rabbitmq rabbitmq_consumer rest_client rls siprec sngtc snmpstats stir_shaken tls_mgm uuid xcap xcap_client xml xmpp
 
-include_modules= auth_jwt b2b_logic cachedb_redis carrierroute cgrates compression cpl_c db_http db_perlvdb dialplan event_rabbitmq event_routing event_stream regex identity jabber json jsonrpc mi_html mi_xmlrpc_ng mid_registrar perl pi_http presence presence_dialoginfo presence_mwi presence_xml pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp python rabbitmq rabbitmq_consumer rest_client rls sip_i siprec stir_shaken tracer uuid xcap xcap_client xml xmpp
+include_modules= auth_jwt b2b_logic carrierroute cgrates compression cpl_c db_http db_perlvdb dialplan event_routing event_stream regex identity jabber json jsonrpc mi_html mi_xmlrpc_ng mid_registrar perl pi_http presence presence_dialoginfo presence_mwi presence_xml pua pua_bla pua_dialoginfo pua_mi pua_usrloc pua_xmpp rest_client rls sip_i siprec stir_shaken tracer uuid xcap xcap_client xml xmpp
 
 DEFS+= -DPKG_MALLOC #Use a faster malloc
 DEFS+= -DSHM_MMAP #Use mmap instead of SYSV shared memory
diff --git a/net/opensips31/pkg-plist b/net/opensips31/pkg-plist
index 259b0dddc803..c65a28633b53 100644
--- a/net/opensips31/pkg-plist
+++ b/net/opensips31/pkg-plist
@@ -25,7 +25,7 @@ lib/opensips31/modules/b2b_sca.so
 lib/opensips31/modules/benchmark.so
 lib/opensips31/modules/cachedb_local.so
 %%MEMCACHED%%lib/opensips31/modules/cachedb_memcached.so
-lib/opensips31/modules/cachedb_redis.so
+%%REDIS%%lib/opensips31/modules/cachedb_redis.so
 lib/opensips31/modules/cachedb_sql.so
 lib/opensips31/modules/call_center.so
 lib/opensips31/modules/call_control.so
@@ -57,7 +57,7 @@ lib/opensips31/modules/drouting.so
 lib/opensips31/modules/enum.so
 lib/opensips31/modules/event_datagram.so
 lib/opensips31/modules/event_flatstore.so
-lib/opensips31/modules/event_rabbitmq.so
+%%RABBITMQ%%lib/opensips31/modules/event_rabbitmq.so
 lib/opensips31/modules/event_route.so
 lib/opensips31/modules/event_routing.so
 lib/opensips31/modules/event_stream.so
@@ -117,11 +117,11 @@ lib/opensips31/modules/pua_dialoginfo.so
 lib/opensips31/modules/pua_mi.so
 lib/opensips31/modules/pua_usrloc.so
 lib/opensips31/modules/pua_xmpp.so
-lib/opensips31/modules/python.so
+%%PYTHON%%lib/opensips31/modules/python.so
 lib/opensips31/modules/qos.so
 lib/opensips31/modules/qrouting.so
-lib/opensips31/modules/rabbitmq.so
-lib/opensips31/modules/rabbitmq_consumer.so
+%%RABBITMQ%%lib/opensips31/modules/rabbitmq.so
+%%RABBITMQ%%lib/opensips31/modules/rabbitmq_consumer.so
 lib/opensips31/modules/rate_cacher.so
 lib/opensips31/modules/ratelimit.so
 lib/opensips31/modules/regex.so
@@ -203,7 +203,7 @@ sbin/osipsconfig31
 %%PORTDOCS%%%%DOCSDIR%%/README.benchmark
 %%PORTDOCS%%%%DOCSDIR%%/README.cachedb_local
 %%MEMCACHED%%%%PORTDOCS%%%%DOCSDIR%%/README.cachedb_memcached
-%%PORTDOCS%%%%DOCSDIR%%/README.cachedb_redis
+%%REDIS%%%%PORTDOCS%%%%DOCSDIR%%/README.cachedb_redis
 %%PORTDOCS%%%%DOCSDIR%%/README.cachedb_sql
 %%PORTDOCS%%%%DOCSDIR%%/README.call_center
 %%PORTDOCS%%%%DOCSDIR%%/README.call_control
@@ -235,7 +235,7 @@ sbin/osipsconfig31
 %%PORTDOCS%%%%DOCSDIR%%/README.enum
 %%PORTDOCS%%%%DOCSDIR%%/README.event_datagram
 %%PORTDOCS%%%%DOCSDIR%%/README.event_flatstore
-%%PORTDOCS%%%%DOCSDIR%%/README.event_rabbitmq
+%%RABBITMQ%%%%PORTDOCS%%%%DOCSDIR%%/README.event_rabbitmq
 %%PORTDOCS%%%%DOCSDIR%%/README.event_route
 %%PORTDOCS%%%%DOCSDIR%%/README.event_routing
 %%PORTDOCS%%%%DOCSDIR%%/README.event_stream
@@ -295,11 +295,11 @@ sbin/osipsconfig31
 %%PORTDOCS%%%%DOCSDIR%%/README.pua_mi
 %%PORTDOCS%%%%DOCSDIR%%/README.pua_usrloc
 %%PORTDOCS%%%%DOCSDIR%%/README.pua_xmpp
-%%PORTDOCS%%%%DOCSDIR%%/README.python
+%%PYTHON%%%%PORTDOCS%%%%DOCSDIR%%/README.python
 %%PORTDOCS%%%%DOCSDIR%%/README.qos
 %%PORTDOCS%%%%DOCSDIR%%/README.qrouting
-%%PORTDOCS%%%%DOCSDIR%%/README.rabbitmq
-%%PORTDOCS%%%%DOCSDIR%%/README.rabbitmq_consumer
+%%RABBITMQ%%%%PORTDOCS%%%%DOCSDIR%%/README.rabbitmq
+%%RABBITMQ%%%%PORTDOCS%%%%DOCSDIR%%/README.rabbitmq_consumer
 %%PORTDOCS%%%%DOCSDIR%%/README.rate_cacher
 %%PORTDOCS%%%%DOCSDIR%%/README.ratelimit
 %%PORTDOCS%%%%DOCSDIR%%/README.regex