[Buildroot] [git commit] janus-gateway: new package

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Jan 1 15:38:52 UTC 2015


commit: http://git.buildroot.net/buildroot/commit/?id=f95c7e6fb9c0cf30eb769a8f0e272e76f36c5eae
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

[Thomas:
  - Rename patch to the proper naming convention, and add a
    description to it.
  - Add mandatory dependency to OpenSSL.
  - Make the dependency on libwebsock optional.
  - Remove select of host-gengetopt, since this package no longer has
    a menuconfig option.
  - Add missing toolchain option dependencies inherited from selected
    packages.
  - Add proper Config.in help text.
  - Fix the .mk comment header to the proper format.
  - Use the github function and remove the unneeded SITE_METHOD
    variable.
  - Add support for optional Opus and Libogg support.
  - Remove hash file, since the package is fetched from github.]

Signed-off-by: Gregory Dymarek <gregd72002 at gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 package/Config.in                            |    1 +
 package/janus-gateway/0001-disable-ssp.patch |   20 ++++++++++
 package/janus-gateway/Config.in              |   21 ++++++++++
 package/janus-gateway/janus-gateway.mk       |   52 ++++++++++++++++++++++++++
 4 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/package/Config.in b/package/Config.in
index 43b2b61..a4f5d8b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1060,6 +1060,7 @@ endif
 	source "package/iptraf-ng/Config.in"
 	source "package/iputils/Config.in"
 	source "package/iw/Config.in"
+	source "package/janus-gateway/Config.in"
 	source "package/kismet/Config.in"
 	source "package/knock/Config.in"
 	source "package/leafnode2/Config.in"
diff --git a/package/janus-gateway/0001-disable-ssp.patch b/package/janus-gateway/0001-disable-ssp.patch
new file mode 100644
index 0000000..9ef184a
--- /dev/null
+++ b/package/janus-gateway/0001-disable-ssp.patch
@@ -0,0 +1,20 @@
+Do not force SSP usage
+
+The toolchain may not support SSP, so do not enforce its usage, let
+the package user pass the appropriate CFLAGS to enable SSP if needed.
+
+Signed-off-by: Gregory Dymarek <gregd72002 at gmail.com>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+diff -rupN janus-gateway-master.orig/Makefile.am janus-gateway-master/Makefile.am
+--- janus-gateway-master.orig/Makefile.am	2014-11-27 14:36:31.000000000 +0000
++++ janus-gateway-master/Makefile.am	2014-12-01 16:39:50.551935028 +0000
+@@ -14,7 +14,7 @@ AM_CFLAGS += -Wredundant-decls  # sophia
+ # some fairly big refactoring though, which can wait.
+ # AM_CFLAGS += -Wshadow -Wstrict-aliasing=2
+ 
+-AM_CFLAGS += -fstack-protector-all -g -ggdb -fPIC -rdynamic
++AM_CFLAGS += -g -ggdb -fPIC -rdynamic
+ 
+ # FIXME: make docs work with distcheck
+ DISTCHECK_CONFIGURE_FLAGS = --disable-docs --enable-post-processing
diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in
new file mode 100644
index 0000000..6ba5f6a
--- /dev/null
+++ b/package/janus-gateway/Config.in
@@ -0,0 +1,21 @@
+config BR2_PACKAGE_JANUS_GATEWAY
+	bool "janus-gateway"
+	select BR2_PACKAGE_LIBMICROHTTPD
+	select BR2_PACKAGE_JANSSON
+	select BR2_PACKAGE_LIBNICE
+	select BR2_PACKAGE_SOFIA_SIP
+	select BR2_PACKAGE_LIBSRTP
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_DING_LIBS
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libmicrohttpd
+	depends on BR2_USE_WCHAR # libnice -> libglib2
+	depends on BR2_USE_MMU # libnice
+	help
+	  Janus is an open source, general purpose, WebRTC gateway
+	  designed and developed by Meetecho.
+
+	  https://github.com/meetecho/janus-gateway
+
+comment "janus-gateway needs a toolchain w/ threads, wchar"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
diff --git a/package/janus-gateway/janus-gateway.mk b/package/janus-gateway/janus-gateway.mk
new file mode 100644
index 0000000..6c89e9a
--- /dev/null
+++ b/package/janus-gateway/janus-gateway.mk
@@ -0,0 +1,52 @@
+################################################################################
+#
+# janus-gateway
+#
+################################################################################
+
+JANUS_GATEWAY_VERSION = c632c1e9da5ffd8c34df6086a1aa5a8511a2a02d
+JANUS_GATEWAY_SITE = $(call github,meetecho,janus-gateway,$(JANUS_GATEWAY_VERSION))
+JANUS_GATEWAY_LICENSE = GPLv3
+JANUS_GATEWAY_LICENSE_FILES = COPYING
+
+# ding-libs provides the ini_config library
+JANUS_GATEWAY_DEPENDENCIES = host-pkgconf libmicrohttpd jansson \
+	libnice sofia-sip libsrtp host-gengetopt openssl ding-libs
+
+# Straight out of the repository, no ./configure
+JANUS_GATEWAY_AUTORECONF = YES
+
+define JANUS_GATEWAY_M4
+        mkdir -p $(@D)/m4
+endef
+JANUS_GATEWAY_POST_PATCH_HOOKS += JANUS_GATEWAY_M4
+
+JANUS_GATEWAY_CONF_OPTS = \
+	--disable-data-channels \
+	--disable-rabbitmq
+
+ifeq ($(BR2_PACKAGE_LIBWEBSOCK),y)
+JANUS_GATEWAY_DEPENDENCIES += libwebsock
+JANUS_GATEWAY_CONF_OPTS += --enable-websockets
+else
+JANUS_GATEWAY_CONF_OPTS += --disable-websockets
+endif
+
+ifeq ($(BR2_PACKAGE_OPUS),y)
+JANUS_GATEWAY_DEPENDENCIES += opus
+JANUS_GATEWAY_CONF_OPTS += --enable-plugin-audiobridge
+else
+JANUS_GATEWAY_CONF_OPTS += --disable-plugin-audiobridge
+endif
+
+ifeq ($(BR2_PACKAGE_LIBOGG),y)
+JANUS_GATEWAY_DEPENDENCIES += libogg
+JANUS_GATEWAY_CONF_OPTS += --enable-plugin-voicemail
+else
+JANUS_GATEWAY_CONF_OPTS += --disable-plugin-voicemail
+endif
+
+# Parallel build broken
+JANUS_GATEWAY_MAKE = $(MAKE1)
+
+$(eval $(autotools-package))


More information about the buildroot mailing list