git: 31811bb4ff34 - main - www/janus: New port

Jesper Schmitz Mouridsen jsm at FreeBSD.org
Sun Aug 8 10:04:49 UTC 2021


The branch main has been updated by jsm:

URL: https://cgit.FreeBSD.org/ports/commit/?id=31811bb4ff34dda24e1c367eba5cca46fa577b00

commit 31811bb4ff34dda24e1c367eba5cca46fa577b00
Author:     Vanilla I. Shu <vanilla at FreeBSD.org>
AuthorDate: 2021-08-08 09:54:05 +0000
Commit:     Jesper Schmitz Mouridsen <jsm at FreeBSD.org>
CommitDate: 2021-08-08 10:04:03 +0000

    www/janus: New port
    
    Janus is an open source, general purpose,
    WebRTC gateway designed and
    developed by Meetecho
    
    PR: 219444
---
 www/Makefile                       |   1 +
 www/janus/Makefile                 |  64 +++++++++++++
 www/janus/distinfo                 |   3 +
 www/janus/files/janus.in           |  28 ++++++
 www/janus/files/patch-configure.ac |  11 +++
 www/janus/files/patch-janus.c      |  10 ++
 www/janus/files/pkg-message.in     |   8 ++
 www/janus/pkg-descr                |   4 +
 www/janus/pkg-plist                | 186 +++++++++++++++++++++++++++++++++++++
 9 files changed, 315 insertions(+)

diff --git a/www/Makefile b/www/Makefile
index 8a38ae53fa34..9126f7baa036 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -260,6 +260,7 @@
     SUBDIR += ilias6
     SUBDIR += interchange
     SUBDIR += itop
+    SUBDIR += janus
     SUBDIR += jericho-html
     SUBDIR += jesred
     SUBDIR += jetty8
diff --git a/www/janus/Makefile b/www/janus/Makefile
new file mode 100644
index 000000000000..91994d748e71
--- /dev/null
+++ b/www/janus/Makefile
@@ -0,0 +1,64 @@
+PORTNAME=	janus
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.11.3
+CATEGORIES=	www
+
+MAINTAINER=	vanilla at FreeBSD.org
+COMMENT=	WebRTC gateway
+
+LICENSE=	GPLv3
+
+BUILD_DEPENDS=	gengetopt>0:devel/gengetopt
+LIB_DEPENDS=	libsrtp2.so:net/libsrtp2 \
+		libusrsctp.so:net/libusrsctp \
+		libjansson.so:devel/jansson \
+		libnice.so:net-im/libnice \
+		libmicrohttpd.so:www/libmicrohttpd \
+		libwebsockets.so:net/libwebsockets \
+		libcurl.so:ftp/curl \
+		libopus.so:audio/opus \
+		libsofia-sip-ua.so:net/sofia-sip \
+		libogg.so:audio/libogg \
+		libjansson.so:devel/jansson \
+		libnice.so:net-im/libnice \
+		libmicrohttpd.so:www/libmicrohttpd \
+		libwebsockets.so:net/libwebsockets \
+		libconfig.so:devel/libconfig
+
+USES=		libtool pkgconfig autoreconf gmake localbase gnome ssl
+USE_GNOME=	glib20
+USE_GITHUB=	yes
+GH_ACCOUNT=	meetecho
+GH_PROJECT=	janus-gateway
+USE_RC_SUBR=	janus
+CONFIGURE_ARGS+=	--disable-mqtt \
+		--disable-rabbitmq \
+		--enable-json-logger \
+		--enable-data-channels
+INSTALL_TARGET=install-strip
+CFLAGS+=	-I${OPENSSLINC} -I${LOCALBASE}/include/nice
+LDFLAGS+=	-L${OPENSSLLIB} -lcrypto -lssl -L${LOCALBASE} -lnice
+GNU_CONFIGURE=	yes
+USE_LDCONFIG=	yes
+SUB_FILES=	pkg-message
+
+OPTIONS_SUB=	yes
+OPTIONS_DEFINE=	JAVASCRIPT LUA NANOMSG RABBITMQ POSTPROCESSING
+JAVASCRIPT_DESC=	JavaScript scripting language support
+#MQTT_DESC=	MQTT integration
+NANOMSG_DESC=	Nanomsg integration
+RABBITMQ_DESC=	RabbitMQ integration
+POSTPROCESSING_DESC=	Post processing integration
+JAVASCRIPT_LIB_DEPENDS=	libduktape.so:lang/duktape-lib
+NANOMSG_LIB_DEPENDS=	libnanomsg.so:net/nanomsg
+RABBITMQ_LIB_DEPENDS=	librabbitmq.so:net/rabbitmq-c
+JAVASCRIPT_CONFIGURE_ENABLE=	plugin-duktape
+NANOMSG_CONFIGURE_ENABLE=	nanomsg
+RABBITMQ_CONFIGURE_ENABLE=	rabbitmq
+LUA_CONFIGURE_ENABLE=	plugin-lua
+LUA_USES=	lua
+LUA_CONFIGURE_ENV=	LUA_CFLAGS="-I${LUA_INCDIR}" LUA_LIBS="-L${LUA_LIBDIR} -llua-${LUA_VER}"
+POSTPROCESSING_CONFIGURE_ENABLE=	post-processing
+POSTPROCESSING_LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg
+
+.include <bsd.port.mk>
diff --git a/www/janus/distinfo b/www/janus/distinfo
new file mode 100644
index 000000000000..7bb9f048fb61
--- /dev/null
+++ b/www/janus/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1625046487
+SHA256 (meetecho-janus-gateway-v0.11.3_GH0.tar.gz) = bfe4bb0f5c1db7ca1ab7e294b377d604b21e5187a35a64ed93536e2da9f0e9db
+SIZE (meetecho-janus-gateway-v0.11.3_GH0.tar.gz) = 7080692
diff --git a/www/janus/files/janus.in b/www/janus/files/janus.in
new file mode 100644
index 000000000000..edcb24031455
--- /dev/null
+++ b/www/janus/files/janus.in
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: janus
+# REQUIRE: NETWORKING syslogd
+# BEFORE:  DAEMON
+# KEYWORD: shutdown
+
+# Add the following lines to /etc/rc.conf to enable janus:
+# janus_enable="YES"
+# janus_flags="<set as needed>"
+
+. /etc/rc.subr
+
+name=janus
+rcvar=janus_enable
+
+: ${janus_enable="NO"}
+: ${janus_config_dir="%%PREFIX%%/etc/${name}"}
+: ${janus_conf="${janus_config_dir}/$name.jcfg"}
+
+required_files="${janus_conf}"
+command="%%PREFIX%%/bin/janus"
+command_args="-D -f -o -F ${janus_config_dir} -C ${janus_conf} -b -L /var/log/janus.log"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/www/janus/files/patch-configure.ac b/www/janus/files/patch-configure.ac
new file mode 100644
index 000000000000..cc0df705b38a
--- /dev/null
+++ b/www/janus/files/patch-configure.ac
@@ -0,0 +1,11 @@
+--- configure.ac.orig	2021-06-15 12:25:22 UTC
++++ configure.ac
+@@ -363,8 +363,6 @@ freebsd*)
+                     libconfig
+                     nice
+                     jansson >= $jansson_version
+-                    libssl >= $ssl_version
+-                    libcrypto
+                     zlib"
+ esac
+ PKG_CHECK_MODULES([JANUS],"$PKGCHECKMODULES")
diff --git a/www/janus/files/patch-janus.c b/www/janus/files/patch-janus.c
new file mode 100644
index 000000000000..0a67c09d79c8
--- /dev/null
+++ b/www/janus/files/patch-janus.c
@@ -0,0 +1,10 @@
+--- janus.c.orig	2021-08-02 14:04:13 UTC
++++ janus.c
+@@ -4282,6 +4282,7 @@ gint main(int argc, char *argv[])
+ 			if (!event) {
+ 				JANUS_LOG(LOG_ERR, "\tCouldn't load logger plugin '%s': %s\n", eventent->d_name, dlerror());
+ 			} else {
++				dlerror();
+ 				create_l *create = (create_l*) dlsym(event, "create");
+ 				const char *dlsym_error = dlerror();
+ 				if (dlsym_error) {
diff --git a/www/janus/files/pkg-message.in b/www/janus/files/pkg-message.in
new file mode 100644
index 000000000000..be8f7416f80d
--- /dev/null
+++ b/www/janus/files/pkg-message.in
@@ -0,0 +1,8 @@
+[
+{ type: install
+  message: <<EOM
+You must set ws_ip and/or wss_ip in janus.transport.websockets.jcfg
+to IPv4 addresses if you need ipv4 for websockets.
+EOM
+}
+]
diff --git a/www/janus/pkg-descr b/www/janus/pkg-descr
new file mode 100644
index 000000000000..b8e126deab56
--- /dev/null
+++ b/www/janus/pkg-descr
@@ -0,0 +1,4 @@
+Janus is an open source, general purpose, WebRTC gateway designed and
+developed by Meetecho
+
+WWW: https://github.com/meetecho/janus-gateway
diff --git a/www/janus/pkg-plist b/www/janus/pkg-plist
new file mode 100644
index 000000000000..3b63bed07b7f
--- /dev/null
+++ b/www/janus/pkg-plist
@@ -0,0 +1,186 @@
+bin/janus
+bin/janus-cfgconv
+%%POSTPROCESSING%%bin/janus-pp-rec
+%%POSTPROCESSING%%bin/mjr2pcap
+ at sample %%ETCDIR%%/janus.eventhandler.gelfevh.jcfg.sample
+%%NANOMSG%%@sample %%ETCDIR%%/janus.eventhandler.nanomsgevh.jcfg.sample
+%%RABBITMQ%%@sample %%ETCDIR%%/janus.eventhandler.rabbitmqevh.jcfg.sample
+%%JAVASCRIPT%%@sample %%ETCDIR%%/janus.plugin.duktape.jcfg.sample
+%%NANOMSG%%@sample %%ETCDIR%%/janus.transport.nanomsg.jcfg.sample
+%%RABBITMQ%%@sample %%ETCDIR%%/janus.transport.rabbitmq.jcfg.sample
+ at sample %%ETCDIR%%/janus.eventhandler.sampleevh.jcfg.sample
+ at sample %%ETCDIR%%/janus.eventhandler.wsevh.jcfg.sample
+ at sample %%ETCDIR%%/janus.jcfg.sample
+ at sample %%ETCDIR%%/janus.logger.jsonlog.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.audiobridge.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.echotest.jcfg.sample
+%%LUA%%@sample %%ETCDIR%%/janus.plugin.lua.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.nosip.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.recordplay.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.sip.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.streaming.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.textroom.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.videocall.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.videoroom.jcfg.sample
+ at sample %%ETCDIR%%/janus.plugin.voicemail.jcfg.sample
+ at sample %%ETCDIR%%/janus.transport.http.jcfg.sample
+ at sample %%ETCDIR%%/janus.transport.pfunix.jcfg.sample
+ at sample %%ETCDIR%%/janus.transport.websockets.jcfg.sample
+include/janus/apierror.h
+include/janus/config.h
+include/janus/debug.h
+include/janus/events/eventhandler.h
+include/janus/ip-utils.h
+include/janus/log.h
+include/janus/loggers/logger.h
+include/janus/mutex.h
+include/janus/plugins/plugin.h
+include/janus/record.h
+include/janus/refcount.h
+include/janus/rtcp.h
+include/janus/rtp.h
+include/janus/rtpsrtp.h
+include/janus/sdp-utils.h
+include/janus/text2pcap.h
+include/janus/transports/transport.h
+include/janus/utils.h
+lib/janus/events/libjanus_gelfevh.so
+lib/janus/events/libjanus_gelfevh.so.0
+lib/janus/events/libjanus_gelfevh.so.0.0.0
+%%NANOMSG%%lib/janus/events/libjanus_nanomsgevh.so
+%%NANOMSG%%lib/janus/events/libjanus_nanomsgevh.so.0
+%%NANOMSG%%lib/janus/events/libjanus_nanomsgevh.so.0.0.0
+%%RABBITMQ%%lib/janus/events/libjanus_rabbitmqevh.so
+%%RABBITMQ%%lib/janus/events/libjanus_rabbitmqevh.so.0
+%%RABBITMQ%%lib/janus/events/libjanus_rabbitmqevh.so.0.0.0
+lib/janus/events/libjanus_sampleevh.so
+lib/janus/events/libjanus_sampleevh.so.0
+lib/janus/events/libjanus_sampleevh.so.0.0.0
+lib/janus/events/libjanus_wsevh.so
+lib/janus/events/libjanus_wsevh.so.0
+lib/janus/events/libjanus_wsevh.so.0.0.0
+lib/janus/loggers/libjanus_jsonlog.so
+lib/janus/loggers/libjanus_jsonlog.so.0
+lib/janus/loggers/libjanus_jsonlog.so.0.0.0
+lib/janus/plugins/libjanus_audiobridge.so
+lib/janus/plugins/libjanus_audiobridge.so.0
+lib/janus/plugins/libjanus_audiobridge.so.0.0.0
+lib/janus/plugins/libjanus_echotest.so
+lib/janus/plugins/libjanus_echotest.so.0
+lib/janus/plugins/libjanus_echotest.so.0.0.0
+%%JAVASCRIPT%%lib/janus/plugins/libjanus_duktape.so
+%%JAVASCRIPT%%lib/janus/plugins/libjanus_duktape.so.0
+%%JAVASCRIPT%%lib/janus/plugins/libjanus_duktape.so.0.0.0
+%%LUA%%lib/janus/plugins/libjanus_lua.so
+%%LUA%%lib/janus/plugins/libjanus_lua.so.0
+%%LUA%%lib/janus/plugins/libjanus_lua.so.0.0.0
+lib/janus/plugins/libjanus_nosip.so
+lib/janus/plugins/libjanus_nosip.so.0
+lib/janus/plugins/libjanus_nosip.so.0.0.0
+lib/janus/plugins/libjanus_recordplay.so
+lib/janus/plugins/libjanus_recordplay.so.0
+lib/janus/plugins/libjanus_recordplay.so.0.0.0
+lib/janus/plugins/libjanus_sip.so
+lib/janus/plugins/libjanus_sip.so.0
+lib/janus/plugins/libjanus_sip.so.0.0.0
+lib/janus/plugins/libjanus_streaming.so
+lib/janus/plugins/libjanus_streaming.so.0
+lib/janus/plugins/libjanus_streaming.so.0.0.0
+lib/janus/plugins/libjanus_textroom.so
+lib/janus/plugins/libjanus_textroom.so.0
+lib/janus/plugins/libjanus_textroom.so.0.0.0
+lib/janus/plugins/libjanus_videocall.so
+lib/janus/plugins/libjanus_videocall.so.0
+lib/janus/plugins/libjanus_videocall.so.0.0.0
+lib/janus/plugins/libjanus_videoroom.so
+lib/janus/plugins/libjanus_videoroom.so.0
+lib/janus/plugins/libjanus_videoroom.so.0.0.0
+lib/janus/plugins/libjanus_voicemail.so
+lib/janus/plugins/libjanus_voicemail.so.0
+lib/janus/plugins/libjanus_voicemail.so.0.0.0
+lib/janus/transports/libjanus_http.so
+lib/janus/transports/libjanus_http.so.0
+lib/janus/transports/libjanus_http.so.0.0.0
+%%NANOMSG%%lib/janus/transports/libjanus_nanomsg.so
+%%NANOMSG%%lib/janus/transports/libjanus_nanomsg.so.0
+%%NANOMSG%%lib/janus/transports/libjanus_nanomsg.so.0.0.0
+lib/janus/transports/libjanus_pfunix.so
+lib/janus/transports/libjanus_pfunix.so.0
+lib/janus/transports/libjanus_pfunix.so.0.0.0
+%%RABBITMQ%%lib/janus/transports/libjanus_rabbitmq.so
+%%RABBITMQ%%lib/janus/transports/libjanus_rabbitmq.so.0
+%%RABBITMQ%%lib/janus/transports/libjanus_rabbitmq.so.0.0.0
+lib/janus/transports/libjanus_websockets.so
+lib/janus/transports/libjanus_websockets.so.0
+lib/janus/transports/libjanus_websockets.so.0.0.0
+man/man1/janus-cfgconv.1.gz
+%%POSTPROCESSING%%man/man1/janus-pp-rec.1.gz
+man/man1/janus.1.gz
+%%POSTPROCESSING%%man/man1/mjr2pcap.1.gz
+share/doc/janus-gateway/README.md
+%%DATADIR%%/demos/admin.html
+%%DATADIR%%/demos/admin.js
+%%DATADIR%%/demos/audiobridgetest.html
+%%DATADIR%%/demos/audiobridgetest.js
+%%DATADIR%%/demos/canvas.html
+%%DATADIR%%/demos/canvas.js
+%%DATADIR%%/demos/citeus.html
+%%DATADIR%%/demos/css/demo.css
+%%DATADIR%%/demos/demos.html
+%%DATADIR%%/demos/devicetest.html
+%%DATADIR%%/demos/devicetest.js
+%%DATADIR%%/demos/docs/index.html
+%%DATADIR%%/demos/e2etest.html
+%%DATADIR%%/demos/e2etest.js
+%%DATADIR%%/demos/echotest.html
+%%DATADIR%%/demos/echotest.js
+%%DATADIR%%/demos/favicon.ico
+%%DATADIR%%/demos/footer.html
+%%DATADIR%%/demos/index.html
+%%DATADIR%%/demos/janus-logo.png
+%%DATADIR%%/demos/janus-logo-small.png
+%%DATADIR%%/demos/janus.js
+%%DATADIR%%/demos/meetecho-logo.png
+%%DATADIR%%/demos/multiopus.html
+%%DATADIR%%/demos/multiopus.js
+%%DATADIR%%/demos/navbar.html
+%%DATADIR%%/demos/nosiptest.html
+%%DATADIR%%/demos/nosiptest.js
+%%DATADIR%%/demos/recordplaytest.html
+%%DATADIR%%/demos/recordplaytest.js
+%%DATADIR%%/demos/screensharingtest.html
+%%DATADIR%%/demos/screensharingtest.js
+%%DATADIR%%/demos/siptest.html
+%%DATADIR%%/demos/siptest.js
+%%DATADIR%%/demos/streamingtest.html
+%%DATADIR%%/demos/streamingtest.js
+%%DATADIR%%/demos/support.html
+%%DATADIR%%/demos/surround/ChID-BLITS-EBU.mp4
+%%DATADIR%%/demos/surround/ChID-BLITS-EBU.txt
+%%DATADIR%%/demos/textroomtest.html
+%%DATADIR%%/demos/textroomtest.js
+%%DATADIR%%/demos/up_arrow.png
+%%DATADIR%%/demos/videocalltest.html
+%%DATADIR%%/demos/videocalltest.js
+%%DATADIR%%/demos/videoroomtest.html
+%%DATADIR%%/demos/videoroomtest.js
+%%DATADIR%%/demos/voicemailtest.html
+%%DATADIR%%/demos/voicemailtest.js
+%%DATADIR%%/demos/vp9svctest.html
+%%DATADIR%%/demos/vp9svctest.js
+%%JAVASCRIPT%%%%DATADIR%%/duktape/echotest.js
+%%JAVASCRIPT%%%%DATADIR%%/duktape/janus-sdp.js
+%%DATADIR%%/javascript/janus.js
+%%LUA%%%%DATADIR%%/lua/echotest.lua
+%%LUA%%%%DATADIR%%/lua/janus-logger.lua
+%%LUA%%%%DATADIR%%/lua/janus-sdp.lua
+%%LUA%%%%DATADIR%%/lua/videoroom.lua
+%%DATADIR%%/recordings/1234.nfo
+%%DATADIR%%/recordings/rec-sample-audio.mjr
+%%DATADIR%%/recordings/rec-sample-video.mjr
+%%DATADIR%%/streams/music.mulaw
+%%DATADIR%%/streams/radio.alaw
+%%DATADIR%%/streams/test_gstreamer.sh
+%%DATADIR%%/streams/test_gstreamer_1.sh
+ at dir %%DATADIR%%/duktape
+ at dir %%DATADIR%%/lua


More information about the dev-commits-ports-main mailing list