aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanilla I. Shu <vanilla@FreeBSD.org>2021-08-08 09:54:05 +0000
committerJesper Schmitz Mouridsen <jsm@FreeBSD.org>2021-08-08 10:04:03 +0000
commit31811bb4ff34dda24e1c367eba5cca46fa577b00 (patch)
tree54dd78b40e6651600833c1c0e1c7408d6aa34752
parent835981dbc56d281ba8cc9ac1433536f3e448491b (diff)
downloadports-31811bb4ff34dda24e1c367eba5cca46fa577b00.tar.gz
ports-31811bb4ff34dda24e1c367eba5cca46fa577b00.zip
www/janus: New port
Janus is an open source, general purpose, WebRTC gateway designed and developed by Meetecho PR: 219444
-rw-r--r--www/Makefile1
-rw-r--r--www/janus/Makefile64
-rw-r--r--www/janus/distinfo3
-rw-r--r--www/janus/files/janus.in28
-rw-r--r--www/janus/files/patch-configure.ac11
-rw-r--r--www/janus/files/patch-janus.c10
-rw-r--r--www/janus/files/pkg-message.in8
-rw-r--r--www/janus/pkg-descr4
-rw-r--r--www/janus/pkg-plist186
9 files changed, 315 insertions, 0 deletions
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@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
+@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
+@sample %%ETCDIR%%/janus.eventhandler.sampleevh.jcfg.sample
+@sample %%ETCDIR%%/janus.eventhandler.wsevh.jcfg.sample
+@sample %%ETCDIR%%/janus.jcfg.sample
+@sample %%ETCDIR%%/janus.logger.jsonlog.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.audiobridge.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.echotest.jcfg.sample
+%%LUA%%@sample %%ETCDIR%%/janus.plugin.lua.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.nosip.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.recordplay.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.sip.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.streaming.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.textroom.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.videocall.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.videoroom.jcfg.sample
+@sample %%ETCDIR%%/janus.plugin.voicemail.jcfg.sample
+@sample %%ETCDIR%%/janus.transport.http.jcfg.sample
+@sample %%ETCDIR%%/janus.transport.pfunix.jcfg.sample
+@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
+@dir %%DATADIR%%/duktape
+@dir %%DATADIR%%/lua