diff mbox

[1/1] Adding package janus-gateway and dependencies

Message ID CAEbDrgmtDX9uRt2yrA7ZBVZstog_vSt4AMAEO1D0zJVLFE_Zxg@mail.gmail.com
State Changes Requested
Headers show

Commit Message

Gregory Dymarek Dec. 1, 2014, 7:37 p.m. UTC
This is a set of packages that are needed to compile janus-gateway:
ding-libs
gengetopt
janus-gateway
libnice
libsrtp
libwebsock
sofia-sip

Signed-off-by: gregd <gregd72002@gmail.com>
---
 package/Config.in                                  |  7 ++++++
 package/Config.in.host                             |  1 +
 package/ding-libs/Config.in                        |  9 ++++++++
 package/ding-libs/ding-libs.mk                     | 17 ++++++++++++++
 package/gengetopt/Config.in                        |  6 +++++
 package/gengetopt/Config.in.host                   |  6 +++++
 package/gengetopt/gengetopt.mk                     | 16 +++++++++++++
 package/janus-gateway/Config.in                    | 13 +++++++++++
 .../janus-gateway-0001-disable-ssp.patch           | 12 ++++++++++
 package/janus-gateway/janus-gateway.mk             | 27 ++++++++++++++++++++++
 package/libnice/Config.in                          |  6 +++++
 .../libnice/libnice-0001-build-IPV6_RECVERR.patch  | 20 ++++++++++++++++
 package/libnice/libnice.mk                         | 11 +++++++++
 package/libsrtp/Config.in                          |  5 ++++
 package/libsrtp/libsrtp.mk                         | 13 +++++++++++
 package/libwebsock/Config.in                       |  6 +++++
 package/libwebsock/libwebsock.mk                   | 22 ++++++++++++++++++
 package/sofia-sip/Config.in                        |  5 ++++
 package/sofia-sip/sofia-sip.mk                     | 17 ++++++++++++++
 19 files changed, 219 insertions(+)
 create mode 100644 package/ding-libs/Config.in
 create mode 100644 package/ding-libs/ding-libs.mk
 create mode 100644 package/gengetopt/Config.in
 create mode 100644 package/gengetopt/Config.in.host
 create mode 100644 package/gengetopt/gengetopt.mk
 create mode 100644 package/janus-gateway/Config.in
 create mode 100644 package/janus-gateway/janus-gateway-0001-disable-ssp.patch
 create mode 100644 package/janus-gateway/janus-gateway.mk
 create mode 100644 package/libnice/Config.in
 create mode 100644 package/libnice/libnice-0001-build-IPV6_RECVERR.patch
 create mode 100644 package/libnice/libnice.mk
 create mode 100644 package/libsrtp/Config.in
 create mode 100644 package/libsrtp/libsrtp.mk
 create mode 100644 package/libwebsock/Config.in
 create mode 100644 package/libwebsock/libwebsock.mk
 create mode 100644 package/sofia-sip/Config.in
 create mode 100644 package/sofia-sip/sofia-sip.mk

+$(eval $(autotools-package))
--
1.9.1

Comments

Jérôme Pouiller Dec. 1, 2014, 8:43 p.m. UTC | #1
Hello Gregory,

On Monday 01 December 2014 19:37:23 Gregory Dymarek wrote:
> This is a set of packages that are needed to compile janus-gateway:
> ding-libs
> gengetopt
> janus-gateway
> libnice
> libsrtp
> libwebsock
> sofia-sip
Thank you for your contribution. Can you place each new package in a separate 
commit?
Yann E. MORIN Dec. 1, 2014, 8:47 p.m. UTC | #2
Gregory, All,

On 2014-12-01 19:37 +0000, Gregory Dymarek spake thusly:
> This is a set of packages that are needed to compile janus-gateway:
> ding-libs
> gengetopt
> janus-gateway
> libnice
> libsrtp
> libwebsock
> sofia-sip
> 
> Signed-off-by: gregd <gregd72002@gmail.com>

I already started discussing this patch with Gregory on IRC:

  - this patch is broken because the mailer warped long lines.

  - it should have been split in different patches, one for each new
    package

  - indentation is incorrect in the help texts (spaces vs. tabs)

Gregory is resending this patch as-is so I can apply it and further work
on it.

More comments on this patch can be done in the followup respin. ;-)

Regards,
Yann E. MORIN.

> ---
>  package/Config.in                                  |  7 ++++++
>  package/Config.in.host                             |  1 +
>  package/ding-libs/Config.in                        |  9 ++++++++
>  package/ding-libs/ding-libs.mk                     | 17 ++++++++++++++
>  package/gengetopt/Config.in                        |  6 +++++
>  package/gengetopt/Config.in.host                   |  6 +++++
>  package/gengetopt/gengetopt.mk                     | 16 +++++++++++++
>  package/janus-gateway/Config.in                    | 13 +++++++++++
>  .../janus-gateway-0001-disable-ssp.patch           | 12 ++++++++++
>  package/janus-gateway/janus-gateway.mk             | 27 ++++++++++++++++++++++
>  package/libnice/Config.in                          |  6 +++++
>  .../libnice/libnice-0001-build-IPV6_RECVERR.patch  | 20 ++++++++++++++++
>  package/libnice/libnice.mk                         | 11 +++++++++
>  package/libsrtp/Config.in                          |  5 ++++
>  package/libsrtp/libsrtp.mk                         | 13 +++++++++++
>  package/libwebsock/Config.in                       |  6 +++++
>  package/libwebsock/libwebsock.mk                   | 22 ++++++++++++++++++
>  package/sofia-sip/Config.in                        |  5 ++++
>  package/sofia-sip/sofia-sip.mk                     | 17 ++++++++++++++
>  19 files changed, 219 insertions(+)
>  create mode 100644 package/ding-libs/Config.in
>  create mode 100644 package/ding-libs/ding-libs.mk
>  create mode 100644 package/gengetopt/Config.in
>  create mode 100644 package/gengetopt/Config.in.host
>  create mode 100644 package/gengetopt/gengetopt.mk
>  create mode 100644 package/janus-gateway/Config.in
>  create mode 100644 package/janus-gateway/janus-gateway-0001-disable-ssp.patch
>  create mode 100644 package/janus-gateway/janus-gateway.mk
>  create mode 100644 package/libnice/Config.in
>  create mode 100644 package/libnice/libnice-0001-build-IPV6_RECVERR.patch
>  create mode 100644 package/libnice/libnice.mk
>  create mode 100644 package/libsrtp/Config.in
>  create mode 100644 package/libsrtp/libsrtp.mk
>  create mode 100644 package/libwebsock/Config.in
>  create mode 100644 package/libwebsock/libwebsock.mk
>  create mode 100644 package/sofia-sip/Config.in
>  create mode 100644 package/sofia-sip/sofia-sip.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index b8fc7d1..d9ad7f5 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -115,6 +115,7 @@ endif
>  if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>         source "package/gawk/Config.in"
>  endif
> +       source "package/gengetopt/Config.in"
>         source "package/gettext/Config.in"
>         source "package/git/Config.in"
>         source "package/gperf/Config.in"
> @@ -814,6 +815,7 @@ menu "Networking"
>         source "package/libmnl/Config.in"
>         source "package/libmodbus/Config.in"
>         source "package/libndp/Config.in"
> +       source "package/libnice/Config.in"
>         source "package/libnetfilter_acct/Config.in"
>         source "package/libnetfilter_conntrack/Config.in"
>         source "package/libnetfilter_cthelper/Config.in"
> @@ -832,6 +834,7 @@ menu "Networking"
>         source "package/libshairplay/Config.in"
>         source "package/libshout/Config.in"
>         source "package/libsoup/Config.in"
> +       source "package/libsrtp/Config.in"
>         source "package/libstrophe/Config.in"
>         source "package/libtirpc/Config.in"
>         source "package/libtorrent/Config.in"
> @@ -839,6 +842,7 @@ menu "Networking"
>         source "package/libupnpp/Config.in"
>         source "package/liburiparser/Config.in"
>         source "package/libvncserver/Config.in"
> +       source "package/libwebsock/Config.in"
>         source "package/libwebsockets/Config.in"
>         source "package/neon/Config.in"
>         source "package/nss-mdns/Config.in"
> @@ -849,6 +853,7 @@ menu "Networking"
>         source "package/rtmpdump/Config.in"
>         source "package/slirp/Config.in"
>         source "package/snmppp/Config.in"
> +       source "package/sofia-sip/Config.in"
>         source "package/thrift/Config.in"
>         source "package/usbredir/Config.in"
>         source "package/wvstreams/Config.in"
> @@ -867,6 +872,7 @@ menu "Other"
>         source "package/clapack/Config.in"
>         source "package/classpath/Config.in"
>         source "package/cppcms/Config.in"
> +       source "package/ding-libs/Config.in"
>         source "package/eigen/Config.in"
>         source "package/elfutils/Config.in"
>         source "package/fftw/Config.in"
> @@ -1040,6 +1046,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/Config.in.host b/package/Config.in.host
> index 185dcbc..c7fcfe5 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -8,6 +8,7 @@ menu "Host utilities"
>         source "package/e2tools/Config.in.host"
>         source "package/genext2fs/Config.in.host"
>         source "package/genimage/Config.in.host"
> +       source "package/gengetopt/Config.in.host"
>         source "package/genpart/Config.in.host"
>         source "package/lpc3250loader/Config.in.host"
>         source "package/mtd/Config.in.host"
> diff --git a/package/ding-libs/Config.in b/package/ding-libs/Config.in
> new file mode 100644
> index 0000000..7c7a17f
> --- /dev/null
> +++ b/package/ding-libs/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_DING_LIBS
> +       bool "ding-libs"
> +#      depends on BR2_TOOLCHAIN_BUILDROOT_LOCALE
> +       select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
> +       select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
> +       help
> +       Adds ding-libs
> +       https://git.fedorahosted.org/git/ding-libs.git
> +
> diff --git a/package/ding-libs/ding-libs.mk b/package/ding-libs/ding-libs.mk
> new file mode 100644
> index 0000000..582b9be
> --- /dev/null
> +++ b/package/ding-libs/ding-libs.mk
> @@ -0,0 +1,17 @@
> +#############################################################
> +#
> +# ding-libs
> +#
> +#############################################################
> +DING_LIBS_VERSION = 0_4_0
> +DING_LIBS_SOURCE = ding_libs-$(DING_LIBS_VERSION).tar.xz
> +DING_LIBS_SITE = https://git.fedorahosted.org/cgit/ding-libs.git/snapshot
> +#DING_LIBS_DEPENDENCIES = BR2_TOOLCHAIN_BUILDROOT_LOCALE
> +DING_LIBS_DEPENDENCIES = $(if !$(BR2_ENABLE_LOCALE),libiconv) $(if
> $(BR2_NEEDS_GETTEXT),gettext)
> +DING_LIBS_AUTORECONF = YES
> +DING_LIBS_INSTALL_STAGING = YES
> +DING_LIBS_LICENSE = GPLv3
> +DING_LIBS_LICENSE_FILES = COPYING
> +DING_LIBS_MAKE=$(MAKE1)
> +
> +$(eval $(autotools-package))
> diff --git a/package/gengetopt/Config.in b/package/gengetopt/Config.in
> new file mode 100644
> index 0000000..41d9f75
> --- /dev/null
> +++ b/package/gengetopt/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_GENGETOPT
> +       bool "gengetopt"
> +       help
> +       Adds GNU Gengetopt
> +       Gengetopt is a tool to write command line option parsing code
> for C programs.
> +       http://www.gnu.org/software/gengetopt/gengetopt.html
> diff --git a/package/gengetopt/Config.in.host b/package/gengetopt/Config.in.host
> new file mode 100644
> index 0000000..5be8312
> --- /dev/null
> +++ b/package/gengetopt/Config.in.host
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_HOST_GENGETOPT
> +       bool "host gengetopt"
> +       help
> +       Adds GNU Gengetopt
> +       Gengetopt is a tool to write command line option parsing code
> for C programs.
> +       http://www.gnu.org/software/gengetopt/gengetopt.html
> diff --git a/package/gengetopt/gengetopt.mk b/package/gengetopt/gengetopt.mk
> new file mode 100644
> index 0000000..692dfe1
> --- /dev/null
> +++ b/package/gengetopt/gengetopt.mk
> @@ -0,0 +1,16 @@
> +#############################################################
> +#
> +# gengetopt
> +#
> +#############################################################
> +GENGETOPT_VERSION = 2.22.6
> +GENGETOPT_SITE = ftp://ftp.gnu.org/gnu/gengetopt/
> +GENGETOPT_AUTORECONF = YES
> +GENGETOPT_LICENSE = GPLv3
> +GENGETOPT_LICENSE_FILES = COPYING
> +
> +GENGETOPT_MAKE=$(MAKE1)
> +
> +$(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> +
> diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in
> new file mode 100644
> index 0000000..3a201ba
> --- /dev/null
> +++ b/package/janus-gateway/Config.in
> @@ -0,0 +1,13 @@
> +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_DING_LIBS
> +       select BR2_PACKAGE_LIBWEBSOCK
> +       select BR2_PACKAGE_HOST_GENGETOPT
> +       help
> +       Adds janusgateway:
> +       https://github.com/meetecho/janus-gateway
> diff --git a/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
> b/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
> new file mode 100644
> index 0000000..5de8b3b
> --- /dev/null
> +++ b/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
> @@ -0,0 +1,12 @@
> +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/janus-gateway.mk
> b/package/janus-gateway/janus-gateway.mk
> new file mode 100644
> index 0000000..f03a3cb
> --- /dev/null
> +++ b/package/janus-gateway/janus-gateway.mk
> @@ -0,0 +1,27 @@
> +#############################################################
> +#
> +# janus-gateway
> +#
> +#############################################################
> +JANUS_GATEWAY_VERSION = master
> +JANUS_GATEWAY_SITE_METHOD = git
> +JANUS_GATEWAY_SITE = https://github.com/meetecho/janus-gateway.git
> +JANUS_GATEWAY_LICENSE = GPLv3
> +JANUS_GATEWAY_LICENSE_FILES = COPYING
> +
> +JANUS_GATEWAY_DEPENDENCIES = host-pkgconf libmicrohttpd jansson
> libnice sofia-sip libsrtp ding-libs libwebsock host-gengetopt
> +
> +# 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
> +
> +JANUS_GATEWAY_MAKE=$(MAKE1)
> +
> +$(eval $(autotools-package))
> diff --git a/package/libnice/Config.in b/package/libnice/Config.in
> new file mode 100644
> index 0000000..1ff8560
> --- /dev/null
> +++ b/package/libnice/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_LIBNICE
> +       bool "libnice"
> +       select BR2_PACKAGE_LIBGLIB2
> +       help
> +       Adds libnice - The GLib ICE implementation
> +       http://nice.freedesktop.org/wiki/
> diff --git a/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
> b/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
> new file mode 100644
> index 0000000..39ef617
> --- /dev/null
> +++ b/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
> @@ -0,0 +1,20 @@
> +diff -rupN libnice-0.1.8.orig/stun/usages/bind.c
> libnice-0.1.8/stun/usages/bind.c
> +--- libnice-0.1.8.orig/stun/usages/bind.c      2014-09-22
> 18:01:28.000000000 +0100
> ++++ libnice-0.1.8/stun/usages/bind.c   2014-12-01 13:28:32.144707407 +0000
> +@@ -257,12 +257,16 @@ static int stun_socket (int family, int
> +     int yes = 1;
> +     switch (family)
> +     {
> ++#ifdef IP_RECVERR
> +       case AF_INET:
> +         setsockopt (fd, SOL_IP, IP_RECVERR, &yes, sizeof (yes));
> ++#endif
> +         break;
> ++#ifdef IPV6_RECVERR
> +       case AF_INET6:
> +         setsockopt (fd, SOL_IPV6, IPV6_RECVERR, &yes, sizeof (yes));
> +         break;
> ++#endif
> +       default:
> +         /* Nothing to do. */
> +         break;
> diff --git a/package/libnice/libnice.mk b/package/libnice/libnice.mk
> new file mode 100644
> index 0000000..dd7f7a4
> --- /dev/null
> +++ b/package/libnice/libnice.mk
> @@ -0,0 +1,11 @@
> +#############################################################
> +#
> +# libnice
> +#
> +#############################################################
> +LIBNICE_VERSION = 0.1.8
> +LIBNICE_SITE = http://nice.freedesktop.org/releases/
> +LIBNICE_DEPENDENCIES = libglib2
> +LIBNICE_INSTALL_STAGING = YES
> +
> +$(eval $(autotools-package))
> diff --git a/package/libsrtp/Config.in b/package/libsrtp/Config.in
> new file mode 100644
> index 0000000..b81e9cf
> --- /dev/null
> +++ b/package/libsrtp/Config.in
> @@ -0,0 +1,5 @@
> +config BR2_PACKAGE_LIBSRTP
> +       bool "libsrtp"
> +       help
> +       Adds libsrtp
> +       https://github.com/cisco/libsrtp
> diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk
> new file mode 100644
> index 0000000..b1e56eb
> --- /dev/null
> +++ b/package/libsrtp/libsrtp.mk
> @@ -0,0 +1,13 @@
> +#############################################################
> +#
> +# libsrtp
> +#
> +#############################################################
> +LIBSRTP_VERSION = v1.5.0
> +LIBSRTP_SITE_METHOD = git
> +LIBSRTP_SITE = https://github.com/cisco/libsrtp/
> +LIBSRTP_AUTORECONF = YES
> +LIBSRTP_INSTALL_STAGING = YES
> +LIBSRTP_LICENSE = BSD-3c
> +
> +$(eval $(autotools-package))
> diff --git a/package/libwebsock/Config.in b/package/libwebsock/Config.in
> new file mode 100644
> index 0000000..427b3fd
> --- /dev/null
> +++ b/package/libwebsock/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_LIBWEBSOCK
> +       bool "libwebsock"
> +       select BR2_PACKAGE_LIBEVENT
> +       help
> +       Adds libwebsock
> +       https://github.com/payden/libwebsock
> diff --git a/package/libwebsock/libwebsock.mk b/package/libwebsock/libwebsock.mk
> new file mode 100644
> index 0000000..f82b553
> --- /dev/null
> +++ b/package/libwebsock/libwebsock.mk
> @@ -0,0 +1,22 @@
> +#############################################################
> +#
> +# libwebsock
> +#
> +#############################################################
> +LIBWEBSOCK_VERSION = 3c1615eeadb0b582b63851073bfe3e5132f31ebc
> +LIBWEBSOCK_SITE_METHOD = git
> +LIBWEBSOCK_SITE = https://github.com/payden/libwebsock.git
> +LIBWEBSOCK_DEPENDENCIES = libevent
> +LIBWEBSOCK_AUTORECONF = YES
> +LIBWEBSOCK_INSTALL_STAGING = YES
> +LIBWEBSOCK_LICENSE = LGPLv3
> +LIBWEBSOCK_LICENSE_FILES = COPYING
> +
> +LIBWEBSOCK_CFLAGS = $(TARGET_CFLAGS)
> +LIBWEBSOCK_LIBS += -lpthread -levent
> +
> +LIBWEBSOCK_CONF_ENV += \
> +        CFLAGS="$(LIBWEBSOCK_CFLAGS)" \
> +        LIBS="$(LIBWEBSOCK_LIBS)"
> +
> +$(eval $(autotools-package))
> diff --git a/package/sofia-sip/Config.in b/package/sofia-sip/Config.in
> new file mode 100644
> index 0000000..d9045b5
> --- /dev/null
> +++ b/package/sofia-sip/Config.in
> @@ -0,0 +1,5 @@
> +config BR2_PACKAGE_SOFIA_SIP
> +       bool "sofia-sip"
> +       help
> +       Adds Sofia-SIP Library
> +       http://sofia-sip.sourceforge.net
> diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk
> new file mode 100644
> index 0000000..0539453
> --- /dev/null
> +++ b/package/sofia-sip/sofia-sip.mk
> @@ -0,0 +1,17 @@
> +#############################################################
> +#
> +# sofiasip
> +#
> +#############################################################
> +SOFIA_SIP_VERSION = 1.12.11
> +SOFIA_SIP_SOURCE = sofia-sip-$(SOFIA_SIP_VERSION).tar.gz
> +SOFIA_SIP_SITE =
> http://downloads.sourceforge.net/project/sofia-sip/sofia-sip/$(SOFIA_SIP_VERSION)
> +SOFIA_SIP_INSTALL_STAGING = YES
> +
> +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_IPV6),y)
> +else
> +       SOFIA_SIP_CONF_OPTS = --disable-ip6
> +endif
> +
> +
> +$(eval $(autotools-package))
> --
> 1.9.1
Samuel Martin Dec. 1, 2014, 8:56 p.m. UTC | #3
Hi Gregory,

On Mon, Dec 1, 2014 at 8:37 PM, Gregory Dymarek <gregd72002@gmail.com> wrote:
> This is a set of packages that are needed to compile janus-gateway:
> ding-libs
> gengetopt
> janus-gateway
> libnice
> libsrtp
> libwebsock
> sofia-sip

Please, make one package per patch.

>
> Signed-off-by: gregd <gregd72002@gmail.com>
> ---
>  package/Config.in                                  |  7 ++++++
>  package/Config.in.host                             |  1 +
>  package/ding-libs/Config.in                        |  9 ++++++++
>  package/ding-libs/ding-libs.mk                     | 17 ++++++++++++++
>  package/gengetopt/Config.in                        |  6 +++++
>  package/gengetopt/Config.in.host                   |  6 +++++
>  package/gengetopt/gengetopt.mk                     | 16 +++++++++++++
>  package/janus-gateway/Config.in                    | 13 +++++++++++
>  .../janus-gateway-0001-disable-ssp.patch           | 12 ++++++++++
>  package/janus-gateway/janus-gateway.mk             | 27 ++++++++++++++++++++++
>  package/libnice/Config.in                          |  6 +++++
>  .../libnice/libnice-0001-build-IPV6_RECVERR.patch  | 20 ++++++++++++++++
>  package/libnice/libnice.mk                         | 11 +++++++++
>  package/libsrtp/Config.in                          |  5 ++++
>  package/libsrtp/libsrtp.mk                         | 13 +++++++++++
>  package/libwebsock/Config.in                       |  6 +++++
>  package/libwebsock/libwebsock.mk                   | 22 ++++++++++++++++++
>  package/sofia-sip/Config.in                        |  5 ++++
>  package/sofia-sip/sofia-sip.mk                     | 17 ++++++++++++++
>  19 files changed, 219 insertions(+)
>  create mode 100644 package/ding-libs/Config.in
>  create mode 100644 package/ding-libs/ding-libs.mk
>  create mode 100644 package/gengetopt/Config.in
>  create mode 100644 package/gengetopt/Config.in.host
>  create mode 100644 package/gengetopt/gengetopt.mk
>  create mode 100644 package/janus-gateway/Config.in
>  create mode 100644 package/janus-gateway/janus-gateway-0001-disable-ssp.patch
>  create mode 100644 package/janus-gateway/janus-gateway.mk
>  create mode 100644 package/libnice/Config.in
>  create mode 100644 package/libnice/libnice-0001-build-IPV6_RECVERR.patch
>  create mode 100644 package/libnice/libnice.mk
>  create mode 100644 package/libsrtp/Config.in
>  create mode 100644 package/libsrtp/libsrtp.mk
>  create mode 100644 package/libwebsock/Config.in
>  create mode 100644 package/libwebsock/libwebsock.mk
>  create mode 100644 package/sofia-sip/Config.in
>  create mode 100644 package/sofia-sip/sofia-sip.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index b8fc7d1..d9ad7f5 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -115,6 +115,7 @@ endif
>  if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
>         source "package/gawk/Config.in"
>  endif
> +       source "package/gengetopt/Config.in"
>         source "package/gettext/Config.in"
>         source "package/git/Config.in"
>         source "package/gperf/Config.in"
> @@ -814,6 +815,7 @@ menu "Networking"
>         source "package/libmnl/Config.in"
>         source "package/libmodbus/Config.in"
>         source "package/libndp/Config.in"
> +       source "package/libnice/Config.in"
>         source "package/libnetfilter_acct/Config.in"
>         source "package/libnetfilter_conntrack/Config.in"
>         source "package/libnetfilter_cthelper/Config.in"
> @@ -832,6 +834,7 @@ menu "Networking"
>         source "package/libshairplay/Config.in"
>         source "package/libshout/Config.in"
>         source "package/libsoup/Config.in"
> +       source "package/libsrtp/Config.in"
>         source "package/libstrophe/Config.in"
>         source "package/libtirpc/Config.in"
>         source "package/libtorrent/Config.in"
> @@ -839,6 +842,7 @@ menu "Networking"
>         source "package/libupnpp/Config.in"
>         source "package/liburiparser/Config.in"
>         source "package/libvncserver/Config.in"
> +       source "package/libwebsock/Config.in"
>         source "package/libwebsockets/Config.in"
>         source "package/neon/Config.in"
>         source "package/nss-mdns/Config.in"
> @@ -849,6 +853,7 @@ menu "Networking"
>         source "package/rtmpdump/Config.in"
>         source "package/slirp/Config.in"
>         source "package/snmppp/Config.in"
> +       source "package/sofia-sip/Config.in"
>         source "package/thrift/Config.in"
>         source "package/usbredir/Config.in"
>         source "package/wvstreams/Config.in"
> @@ -867,6 +872,7 @@ menu "Other"
>         source "package/clapack/Config.in"
>         source "package/classpath/Config.in"
>         source "package/cppcms/Config.in"
> +       source "package/ding-libs/Config.in"
>         source "package/eigen/Config.in"
>         source "package/elfutils/Config.in"
>         source "package/fftw/Config.in"
> @@ -1040,6 +1046,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/Config.in.host b/package/Config.in.host
> index 185dcbc..c7fcfe5 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -8,6 +8,7 @@ menu "Host utilities"
>         source "package/e2tools/Config.in.host"
>         source "package/genext2fs/Config.in.host"
>         source "package/genimage/Config.in.host"
> +       source "package/gengetopt/Config.in.host"
>         source "package/genpart/Config.in.host"
>         source "package/lpc3250loader/Config.in.host"
>         source "package/mtd/Config.in.host"
> diff --git a/package/ding-libs/Config.in b/package/ding-libs/Config.in
> new file mode 100644
> index 0000000..7c7a17f
> --- /dev/null
> +++ b/package/ding-libs/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_DING_LIBS
> +       bool "ding-libs"
> +#      depends on BR2_TOOLCHAIN_BUILDROOT_LOCALE

Why is this commented?

> +       select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
> +       select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
> +       help
> +       Adds ding-libs
> +       https://git.fedorahosted.org/git/ding-libs.git

Help message should:
- breifly describe what the package is;
- be indented with 1 tab+2 spaces;
- be separated with a blank line from the package/project url

> +

Remove the trailing blank line

> diff --git a/package/ding-libs/ding-libs.mk b/package/ding-libs/ding-libs.mk
> new file mode 100644
> index 0000000..582b9be
> --- /dev/null
> +++ b/package/ding-libs/ding-libs.mk
> @@ -0,0 +1,17 @@
> +#############################################################
> +#
> +# ding-libs
> +#
> +#############################################################
> +DING_LIBS_VERSION = 0_4_0
> +DING_LIBS_SOURCE = ding_libs-$(DING_LIBS_VERSION).tar.xz
> +DING_LIBS_SITE = https://git.fedorahosted.org/cgit/ding-libs.git/snapshot
> +#DING_LIBS_DEPENDENCIES = BR2_TOOLCHAIN_BUILDROOT_LOCALE

Why is this commented? if not needed, just remove it.

> +DING_LIBS_DEPENDENCIES = $(if !$(BR2_ENABLE_LOCALE),libiconv) $(if
> $(BR2_NEEDS_GETTEXT),gettext)
> +DING_LIBS_AUTORECONF = YES

Please add a comment why autoreconf is needed, if this is really needed.

> +DING_LIBS_INSTALL_STAGING = YES
> +DING_LIBS_LICENSE = GPLv3
> +DING_LIBS_LICENSE_FILES = COPYING
> +DING_LIBS_MAKE=$(MAKE1)
> +
> +$(eval $(autotools-package))
> diff --git a/package/gengetopt/Config.in b/package/gengetopt/Config.in
> new file mode 100644
> index 0000000..41d9f75
> --- /dev/null
> +++ b/package/gengetopt/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_GENGETOPT
> +       bool "gengetopt"
> +       help
> +       Adds GNU Gengetopt
> +       Gengetopt is a tool to write command line option parsing code
> for C programs.
> +       http://www.gnu.org/software/gengetopt/gengetopt.html

ditto (help text)

> diff --git a/package/gengetopt/Config.in.host b/package/gengetopt/Config.in.host
> new file mode 100644
> index 0000000..5be8312
> --- /dev/null
> +++ b/package/gengetopt/Config.in.host
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_HOST_GENGETOPT
> +       bool "host gengetopt"
> +       help
> +       Adds GNU Gengetopt
> +       Gengetopt is a tool to write command line option parsing code
> for C programs.
> +       http://www.gnu.org/software/gengetopt/gengetopt.html

Usually, we don't add host tools, except if this is a program for used
for generating the images.

> diff --git a/package/gengetopt/gengetopt.mk b/package/gengetopt/gengetopt.mk
> new file mode 100644
> index 0000000..692dfe1
> --- /dev/null
> +++ b/package/gengetopt/gengetopt.mk
> @@ -0,0 +1,16 @@
> +#############################################################
> +#
> +# gengetopt
> +#
> +#############################################################
> +GENGETOPT_VERSION = 2.22.6
> +GENGETOPT_SITE = ftp://ftp.gnu.org/gnu/gengetopt/
> +GENGETOPT_AUTORECONF = YES

Why is it needed? add a comment.

> +GENGETOPT_LICENSE = GPLv3
> +GENGETOPT_LICENSE_FILES = COPYING
> +
> +GENGETOPT_MAKE=$(MAKE1)
> +
> +$(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> +

Remove the trailing blank line.

> diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in
> new file mode 100644
> index 0000000..3a201ba
> --- /dev/null
> +++ b/package/janus-gateway/Config.in
> @@ -0,0 +1,13 @@
> +config BR2_PACKAGE_JANUS_GATEWAY
> +       bool "janus-gateway"
> +       select BR2_PACKAGE_LIBMICROHTTPD

libmicrohttpd depends on BR2_TOOLCHAIN_HAS_THREADS, you should repeat
this dependency here.

> +       select BR2_PACKAGE_JANSSON
> +       select BR2_PACKAGE_LIBNICE
> +       select BR2_PACKAGE_SOFIA_SIP
> +       select BR2_PACKAGE_LIBSRTP
> +       select BR2_PACKAGE_DING_LIBS
> +       select BR2_PACKAGE_LIBWEBSOCK
> +       select BR2_PACKAGE_HOST_GENGETOPT

This 'select' on host-gengetopt package is not needed here, just add
it to the dependency list in the *.mk file.

> +       help
> +       Adds janusgateway:
> +       https://github.com/meetecho/janus-gateway

ditto (help text)

> diff --git a/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
> b/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
> new file mode 100644
> index 0000000..5de8b3b
> --- /dev/null
> +++ b/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
> @@ -0,0 +1,12 @@
> +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

The -g -ggdb should be sensitive to BR2_DEBUG, or just removed.

Hmm... -fPIC ?? Does this mean that janus-gateway is not available on
static build? If so, add 'depends on !BR2_PREFER_STATIC_LIBS' in the
Config.in.

> +
> + # FIXME: make docs work with distcheck
> + DISTCHECK_CONFIGURE_FLAGS = --disable-docs --enable-post-processing

Package patch should have a description and your sob line, and the
fetched-from url if found on the www.

> diff --git a/package/janus-gateway/janus-gateway.mk
> b/package/janus-gateway/janus-gateway.mk
> new file mode 100644
> index 0000000..f03a3cb
> --- /dev/null
> +++ b/package/janus-gateway/janus-gateway.mk
> @@ -0,0 +1,27 @@
> +#############################################################
> +#
> +# janus-gateway
> +#
> +#############################################################
> +JANUS_GATEWAY_VERSION = master

Use a unique version (tag or commit sha1), not a branch name whichh
badly breaks build reproducibility.

> +JANUS_GATEWAY_SITE_METHOD = git
> +JANUS_GATEWAY_SITE = https://github.com/meetecho/janus-gateway.git

Cannot the github helper be used here?

> +JANUS_GATEWAY_LICENSE = GPLv3
> +JANUS_GATEWAY_LICENSE_FILES = COPYING
> +
> +JANUS_GATEWAY_DEPENDENCIES = host-pkgconf libmicrohttpd jansson
> libnice sofia-sip libsrtp ding-libs libwebsock host-gengetopt
> +
> +# 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
> +
> +JANUS_GATEWAY_MAKE=$(MAKE1)
> +
> +$(eval $(autotools-package))
> diff --git a/package/libnice/Config.in b/package/libnice/Config.in
> new file mode 100644
> index 0000000..1ff8560
> --- /dev/null
> +++ b/package/libnice/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_LIBNICE
> +       bool "libnice"
> +       select BR2_PACKAGE_LIBGLIB2

MIssing 'depends on' from libglib2 (iirc: wchar, mmu and threads).

> +       help
> +       Adds libnice - The GLib ICE implementation

What does ICE stand for?
Hint: you can copy/paste a 1 sentence description from the project page. ;-)

> +       http://nice.freedesktop.org/wiki/
> diff --git a/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
> b/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
> new file mode 100644
> index 0000000..39ef617
> --- /dev/null
> +++ b/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
> @@ -0,0 +1,20 @@
> +diff -rupN libnice-0.1.8.orig/stun/usages/bind.c
> libnice-0.1.8/stun/usages/bind.c
> +--- libnice-0.1.8.orig/stun/usages/bind.c      2014-09-22
> 18:01:28.000000000 +0100
> ++++ libnice-0.1.8/stun/usages/bind.c   2014-12-01 13:28:32.144707407 +0000
> +@@ -257,12 +257,16 @@ static int stun_socket (int family, int
> +     int yes = 1;
> +     switch (family)
> +     {
> ++#ifdef IP_RECVERR
> +       case AF_INET:
> +         setsockopt (fd, SOL_IP, IP_RECVERR, &yes, sizeof (yes));
> ++#endif
> +         break;
> ++#ifdef IPV6_RECVERR
> +       case AF_INET6:
> +         setsockopt (fd, SOL_IPV6, IPV6_RECVERR, &yes, sizeof (yes));
> +         break;
> ++#endif
> +       default:
> +         /* Nothing to do. */
> +         break;

ditto (patch desc.)

> diff --git a/package/libnice/libnice.mk b/package/libnice/libnice.mk
> new file mode 100644
> index 0000000..dd7f7a4
> --- /dev/null
> +++ b/package/libnice/libnice.mk
> @@ -0,0 +1,11 @@
> +#############################################################
> +#
> +# libnice
> +#
> +#############################################################
> +LIBNICE_VERSION = 0.1.8
> +LIBNICE_SITE = http://nice.freedesktop.org/releases/
> +LIBNICE_DEPENDENCIES = libglib2
> +LIBNICE_INSTALL_STAGING = YES

Missing _LICENSE and _LICENSE_FILES vars.

> +
> +$(eval $(autotools-package))
> diff --git a/package/libsrtp/Config.in b/package/libsrtp/Config.in
> new file mode 100644
> index 0000000..b81e9cf
> --- /dev/null
> +++ b/package/libsrtp/Config.in
> @@ -0,0 +1,5 @@
> +config BR2_PACKAGE_LIBSRTP
> +       bool "libsrtp"
> +       help
> +       Adds libsrtp
> +       https://github.com/cisco/libsrtp

ditto (help text)

> diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk
> new file mode 100644
> index 0000000..b1e56eb
> --- /dev/null
> +++ b/package/libsrtp/libsrtp.mk
> @@ -0,0 +1,13 @@
> +#############################################################
> +#
> +# libsrtp
> +#
> +#############################################################
> +LIBSRTP_VERSION = v1.5.0
> +LIBSRTP_SITE_METHOD = git
> +LIBSRTP_SITE = https://github.com/cisco/libsrtp/

Cannot the github helper (so a tarball) be used here?

> +LIBSRTP_AUTORECONF = YES

autoreconf comment

> +LIBSRTP_INSTALL_STAGING = YES
> +LIBSRTP_LICENSE = BSD-3c

No _LICENSE_FILES?

> +
> +$(eval $(autotools-package))
> diff --git a/package/libwebsock/Config.in b/package/libwebsock/Config.in
> new file mode 100644
> index 0000000..427b3fd
> --- /dev/null
> +++ b/package/libwebsock/Config.in
> @@ -0,0 +1,6 @@
> +config BR2_PACKAGE_LIBWEBSOCK
> +       bool "libwebsock"
> +       select BR2_PACKAGE_LIBEVENT
> +       help
> +       Adds libwebsock
> +       https://github.com/payden/libwebsock

ditto (help text)

> diff --git a/package/libwebsock/libwebsock.mk b/package/libwebsock/libwebsock.mk
> new file mode 100644
> index 0000000..f82b553
> --- /dev/null
> +++ b/package/libwebsock/libwebsock.mk
> @@ -0,0 +1,22 @@
> +#############################################################
> +#
> +# libwebsock
> +#
> +#############################################################
> +LIBWEBSOCK_VERSION = 3c1615eeadb0b582b63851073bfe3e5132f31ebc
> +LIBWEBSOCK_SITE_METHOD = git
> +LIBWEBSOCK_SITE = https://github.com/payden/libwebsock.git

github helper (and tarball) cannot be used here?

> +LIBWEBSOCK_DEPENDENCIES = libevent
> +LIBWEBSOCK_AUTORECONF = YES
> +LIBWEBSOCK_INSTALL_STAGING = YES
> +LIBWEBSOCK_LICENSE = LGPLv3
> +LIBWEBSOCK_LICENSE_FILES = COPYING
> +
> +LIBWEBSOCK_CFLAGS = $(TARGET_CFLAGS)

Not needed since you don't add any cflag.

> +LIBWEBSOCK_LIBS += -lpthread -levent
> +
> +LIBWEBSOCK_CONF_ENV += \
> +        CFLAGS="$(LIBWEBSOCK_CFLAGS)" \

Already handled by the autotools infra.

> +        LIBS="$(LIBWEBSOCK_LIBS)"
> +
> +$(eval $(autotools-package))
> diff --git a/package/sofia-sip/Config.in b/package/sofia-sip/Config.in
> new file mode 100644
> index 0000000..d9045b5
> --- /dev/null
> +++ b/package/sofia-sip/Config.in
> @@ -0,0 +1,5 @@
> +config BR2_PACKAGE_SOFIA_SIP
> +       bool "sofia-sip"
> +       help
> +       Adds Sofia-SIP Library
> +       http://sofia-sip.sourceforge.net

ditto (help text)

> diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk
> new file mode 100644
> index 0000000..0539453
> --- /dev/null
> +++ b/package/sofia-sip/sofia-sip.mk
> @@ -0,0 +1,17 @@
> +#############################################################
> +#
> +# sofiasip
> +#
> +#############################################################
> +SOFIA_SIP_VERSION = 1.12.11
> +SOFIA_SIP_SOURCE = sofia-sip-$(SOFIA_SIP_VERSION).tar.gz

Not needed, this is the default tarball filename.

> +SOFIA_SIP_SITE =
> http://downloads.sourceforge.net/project/sofia-sip/sofia-sip/$(SOFIA_SIP_VERSION)

Broken patch! wrapped line :-/

Missing _LICENSE and _LICENSE_FILES.


> +SOFIA_SIP_INSTALL_STAGING = YES
> +
> +ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_IPV6),y)

keep things as symetrical as possible, so explicitly add:
SOFIA_SIP_CONF_OPTS = --enable-ip6

> +else
> +       SOFIA_SIP_CONF_OPTS = --disable-ip6
> +endif
> +
> +

Remove extra blank line.

> +$(eval $(autotools-package))
> --
> 1.9.1
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot


Regards,
Thomas Petazzoni Dec. 1, 2014, 9:34 p.m. UTC | #4
Hello,

On Mon, 1 Dec 2014 21:47:22 +0100, Yann E. MORIN wrote:
> Gregory, All,
> 
> On 2014-12-01 19:37 +0000, Gregory Dymarek spake thusly:
> > This is a set of packages that are needed to compile janus-gateway:
> > ding-libs
> > gengetopt
> > janus-gateway
> > libnice
> > libsrtp
> > libwebsock
> > sofia-sip
> > 
> > Signed-off-by: gregd <gregd72002@gmail.com>
> 
> I already started discussing this patch with Gregory on IRC:
> 
>   - this patch is broken because the mailer warped long lines.
> 
>   - it should have been split in different patches, one for each new
>     package
> 
>   - indentation is incorrect in the help texts (spaces vs. tabs)
> 
> Gregory is resending this patch as-is so I can apply it and further work
> on it.
> 
> More comments on this patch can be done in the followup respin. ;-)

While I certainly do appreciate a lot the fact that you're willing to
take over the work of Gregory and do the final polishing, wouldn't it
be better to teach people how to fish rather than fish for them? I.e
make the comments, and let Gregory rework the patch series until it is
OK for merging. Of course, this is only true if Gregory is
willing/interested in pushing this set of patches up to the point where
it becomes acceptable upstream.

Thanks!

Thomas
Yann E. MORIN Dec. 1, 2014, 9:41 p.m. UTC | #5
Thomas, All,

On 2014-12-01 22:34 +0100, Thomas Petazzoni spake thusly:
> On Mon, 1 Dec 2014 21:47:22 +0100, Yann E. MORIN wrote:
> > On 2014-12-01 19:37 +0000, Gregory Dymarek spake thusly:
> > > This is a set of packages that are needed to compile janus-gateway:
> > > ding-libs
> > > gengetopt
> > > janus-gateway
> > > libnice
> > > libsrtp
> > > libwebsock
> > > sofia-sip
> > > 
> > > Signed-off-by: gregd <gregd72002@gmail.com>
> > 
> > I already started discussing this patch with Gregory on IRC:
> > 
> >   - this patch is broken because the mailer warped long lines.
> > 
> >   - it should have been split in different patches, one for each new
> >     package
> > 
> >   - indentation is incorrect in the help texts (spaces vs. tabs)
> > 
> > Gregory is resending this patch as-is so I can apply it and further work
> > on it.
> > 
> > More comments on this patch can be done in the followup respin. ;-)
> 
> While I certainly do appreciate a lot the fact that you're willing to
> take over the work of Gregory and do the final polishing, wouldn't it
> be better to teach people how to fish rather than fish for them? I.e
> make the comments, and let Gregory rework the patch series until it is
> OK for merging. Of course, this is only true if Gregory is
> willing/interested in pushing this set of patches up to the point where
> it becomes acceptable upstream.

I agree with you.

However, Gregory has done the base work, and that's nice. He already
incorporated comments I made earlier on IRC (in the past few days).

So, I was just gonna put the series in shape and fix the obvious that
does not take too much time, and respin so Gregory can take back the
work on its own.

Basically, a kind of reward for him to do the base work, and entice him
to continue on the series. ;-)

Regards,
Yann E. MORIN.
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index b8fc7d1..d9ad7f5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -115,6 +115,7 @@  endif
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
        source "package/gawk/Config.in"
 endif
+       source "package/gengetopt/Config.in"
        source "package/gettext/Config.in"
        source "package/git/Config.in"
        source "package/gperf/Config.in"
@@ -814,6 +815,7 @@  menu "Networking"
        source "package/libmnl/Config.in"
        source "package/libmodbus/Config.in"
        source "package/libndp/Config.in"
+       source "package/libnice/Config.in"
        source "package/libnetfilter_acct/Config.in"
        source "package/libnetfilter_conntrack/Config.in"
        source "package/libnetfilter_cthelper/Config.in"
@@ -832,6 +834,7 @@  menu "Networking"
        source "package/libshairplay/Config.in"
        source "package/libshout/Config.in"
        source "package/libsoup/Config.in"
+       source "package/libsrtp/Config.in"
        source "package/libstrophe/Config.in"
        source "package/libtirpc/Config.in"
        source "package/libtorrent/Config.in"
@@ -839,6 +842,7 @@  menu "Networking"
        source "package/libupnpp/Config.in"
        source "package/liburiparser/Config.in"
        source "package/libvncserver/Config.in"
+       source "package/libwebsock/Config.in"
        source "package/libwebsockets/Config.in"
        source "package/neon/Config.in"
        source "package/nss-mdns/Config.in"
@@ -849,6 +853,7 @@  menu "Networking"
        source "package/rtmpdump/Config.in"
        source "package/slirp/Config.in"
        source "package/snmppp/Config.in"
+       source "package/sofia-sip/Config.in"
        source "package/thrift/Config.in"
        source "package/usbredir/Config.in"
        source "package/wvstreams/Config.in"
@@ -867,6 +872,7 @@  menu "Other"
        source "package/clapack/Config.in"
        source "package/classpath/Config.in"
        source "package/cppcms/Config.in"
+       source "package/ding-libs/Config.in"
        source "package/eigen/Config.in"
        source "package/elfutils/Config.in"
        source "package/fftw/Config.in"
@@ -1040,6 +1046,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/Config.in.host b/package/Config.in.host
index 185dcbc..c7fcfe5 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -8,6 +8,7 @@  menu "Host utilities"
        source "package/e2tools/Config.in.host"
        source "package/genext2fs/Config.in.host"
        source "package/genimage/Config.in.host"
+       source "package/gengetopt/Config.in.host"
        source "package/genpart/Config.in.host"
        source "package/lpc3250loader/Config.in.host"
        source "package/mtd/Config.in.host"
diff --git a/package/ding-libs/Config.in b/package/ding-libs/Config.in
new file mode 100644
index 0000000..7c7a17f
--- /dev/null
+++ b/package/ding-libs/Config.in
@@ -0,0 +1,9 @@ 
+config BR2_PACKAGE_DING_LIBS
+       bool "ding-libs"
+#      depends on BR2_TOOLCHAIN_BUILDROOT_LOCALE
+       select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+       select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
+       help
+       Adds ding-libs
+       https://git.fedorahosted.org/git/ding-libs.git
+
diff --git a/package/ding-libs/ding-libs.mk b/package/ding-libs/ding-libs.mk
new file mode 100644
index 0000000..582b9be
--- /dev/null
+++ b/package/ding-libs/ding-libs.mk
@@ -0,0 +1,17 @@ 
+#############################################################
+#
+# ding-libs
+#
+#############################################################
+DING_LIBS_VERSION = 0_4_0
+DING_LIBS_SOURCE = ding_libs-$(DING_LIBS_VERSION).tar.xz
+DING_LIBS_SITE = https://git.fedorahosted.org/cgit/ding-libs.git/snapshot
+#DING_LIBS_DEPENDENCIES = BR2_TOOLCHAIN_BUILDROOT_LOCALE
+DING_LIBS_DEPENDENCIES = $(if !$(BR2_ENABLE_LOCALE),libiconv) $(if
$(BR2_NEEDS_GETTEXT),gettext)
+DING_LIBS_AUTORECONF = YES
+DING_LIBS_INSTALL_STAGING = YES
+DING_LIBS_LICENSE = GPLv3
+DING_LIBS_LICENSE_FILES = COPYING
+DING_LIBS_MAKE=$(MAKE1)
+
+$(eval $(autotools-package))
diff --git a/package/gengetopt/Config.in b/package/gengetopt/Config.in
new file mode 100644
index 0000000..41d9f75
--- /dev/null
+++ b/package/gengetopt/Config.in
@@ -0,0 +1,6 @@ 
+config BR2_PACKAGE_GENGETOPT
+       bool "gengetopt"
+       help
+       Adds GNU Gengetopt
+       Gengetopt is a tool to write command line option parsing code
for C programs.
+       http://www.gnu.org/software/gengetopt/gengetopt.html
diff --git a/package/gengetopt/Config.in.host b/package/gengetopt/Config.in.host
new file mode 100644
index 0000000..5be8312
--- /dev/null
+++ b/package/gengetopt/Config.in.host
@@ -0,0 +1,6 @@ 
+config BR2_PACKAGE_HOST_GENGETOPT
+       bool "host gengetopt"
+       help
+       Adds GNU Gengetopt
+       Gengetopt is a tool to write command line option parsing code
for C programs.
+       http://www.gnu.org/software/gengetopt/gengetopt.html
diff --git a/package/gengetopt/gengetopt.mk b/package/gengetopt/gengetopt.mk
new file mode 100644
index 0000000..692dfe1
--- /dev/null
+++ b/package/gengetopt/gengetopt.mk
@@ -0,0 +1,16 @@ 
+#############################################################
+#
+# gengetopt
+#
+#############################################################
+GENGETOPT_VERSION = 2.22.6
+GENGETOPT_SITE = ftp://ftp.gnu.org/gnu/gengetopt/
+GENGETOPT_AUTORECONF = YES
+GENGETOPT_LICENSE = GPLv3
+GENGETOPT_LICENSE_FILES = COPYING
+
+GENGETOPT_MAKE=$(MAKE1)
+
+$(eval $(autotools-package))
+$(eval $(host-autotools-package))
+
diff --git a/package/janus-gateway/Config.in b/package/janus-gateway/Config.in
new file mode 100644
index 0000000..3a201ba
--- /dev/null
+++ b/package/janus-gateway/Config.in
@@ -0,0 +1,13 @@ 
+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_DING_LIBS
+       select BR2_PACKAGE_LIBWEBSOCK
+       select BR2_PACKAGE_HOST_GENGETOPT
+       help
+       Adds janusgateway:
+       https://github.com/meetecho/janus-gateway
diff --git a/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
b/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
new file mode 100644
index 0000000..5de8b3b
--- /dev/null
+++ b/package/janus-gateway/janus-gateway-0001-disable-ssp.patch
@@ -0,0 +1,12 @@ 
+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/janus-gateway.mk
b/package/janus-gateway/janus-gateway.mk
new file mode 100644
index 0000000..f03a3cb
--- /dev/null
+++ b/package/janus-gateway/janus-gateway.mk
@@ -0,0 +1,27 @@ 
+#############################################################
+#
+# janus-gateway
+#
+#############################################################
+JANUS_GATEWAY_VERSION = master
+JANUS_GATEWAY_SITE_METHOD = git
+JANUS_GATEWAY_SITE = https://github.com/meetecho/janus-gateway.git
+JANUS_GATEWAY_LICENSE = GPLv3
+JANUS_GATEWAY_LICENSE_FILES = COPYING
+
+JANUS_GATEWAY_DEPENDENCIES = host-pkgconf libmicrohttpd jansson
libnice sofia-sip libsrtp ding-libs libwebsock host-gengetopt
+
+# 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
+
+JANUS_GATEWAY_MAKE=$(MAKE1)
+
+$(eval $(autotools-package))
diff --git a/package/libnice/Config.in b/package/libnice/Config.in
new file mode 100644
index 0000000..1ff8560
--- /dev/null
+++ b/package/libnice/Config.in
@@ -0,0 +1,6 @@ 
+config BR2_PACKAGE_LIBNICE
+       bool "libnice"
+       select BR2_PACKAGE_LIBGLIB2
+       help
+       Adds libnice - The GLib ICE implementation
+       http://nice.freedesktop.org/wiki/
diff --git a/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
b/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
new file mode 100644
index 0000000..39ef617
--- /dev/null
+++ b/package/libnice/libnice-0001-build-IPV6_RECVERR.patch
@@ -0,0 +1,20 @@ 
+diff -rupN libnice-0.1.8.orig/stun/usages/bind.c
libnice-0.1.8/stun/usages/bind.c
+--- libnice-0.1.8.orig/stun/usages/bind.c      2014-09-22
18:01:28.000000000 +0100
++++ libnice-0.1.8/stun/usages/bind.c   2014-12-01 13:28:32.144707407 +0000
+@@ -257,12 +257,16 @@ static int stun_socket (int family, int
+     int yes = 1;
+     switch (family)
+     {
++#ifdef IP_RECVERR
+       case AF_INET:
+         setsockopt (fd, SOL_IP, IP_RECVERR, &yes, sizeof (yes));
++#endif
+         break;
++#ifdef IPV6_RECVERR
+       case AF_INET6:
+         setsockopt (fd, SOL_IPV6, IPV6_RECVERR, &yes, sizeof (yes));
+         break;
++#endif
+       default:
+         /* Nothing to do. */
+         break;
diff --git a/package/libnice/libnice.mk b/package/libnice/libnice.mk
new file mode 100644
index 0000000..dd7f7a4
--- /dev/null
+++ b/package/libnice/libnice.mk
@@ -0,0 +1,11 @@ 
+#############################################################
+#
+# libnice
+#
+#############################################################
+LIBNICE_VERSION = 0.1.8
+LIBNICE_SITE = http://nice.freedesktop.org/releases/
+LIBNICE_DEPENDENCIES = libglib2
+LIBNICE_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
diff --git a/package/libsrtp/Config.in b/package/libsrtp/Config.in
new file mode 100644
index 0000000..b81e9cf
--- /dev/null
+++ b/package/libsrtp/Config.in
@@ -0,0 +1,5 @@ 
+config BR2_PACKAGE_LIBSRTP
+       bool "libsrtp"
+       help
+       Adds libsrtp
+       https://github.com/cisco/libsrtp
diff --git a/package/libsrtp/libsrtp.mk b/package/libsrtp/libsrtp.mk
new file mode 100644
index 0000000..b1e56eb
--- /dev/null
+++ b/package/libsrtp/libsrtp.mk
@@ -0,0 +1,13 @@ 
+#############################################################
+#
+# libsrtp
+#
+#############################################################
+LIBSRTP_VERSION = v1.5.0
+LIBSRTP_SITE_METHOD = git
+LIBSRTP_SITE = https://github.com/cisco/libsrtp/
+LIBSRTP_AUTORECONF = YES
+LIBSRTP_INSTALL_STAGING = YES
+LIBSRTP_LICENSE = BSD-3c
+
+$(eval $(autotools-package))
diff --git a/package/libwebsock/Config.in b/package/libwebsock/Config.in
new file mode 100644
index 0000000..427b3fd
--- /dev/null
+++ b/package/libwebsock/Config.in
@@ -0,0 +1,6 @@ 
+config BR2_PACKAGE_LIBWEBSOCK
+       bool "libwebsock"
+       select BR2_PACKAGE_LIBEVENT
+       help
+       Adds libwebsock
+       https://github.com/payden/libwebsock
diff --git a/package/libwebsock/libwebsock.mk b/package/libwebsock/libwebsock.mk
new file mode 100644
index 0000000..f82b553
--- /dev/null
+++ b/package/libwebsock/libwebsock.mk
@@ -0,0 +1,22 @@ 
+#############################################################
+#
+# libwebsock
+#
+#############################################################
+LIBWEBSOCK_VERSION = 3c1615eeadb0b582b63851073bfe3e5132f31ebc
+LIBWEBSOCK_SITE_METHOD = git
+LIBWEBSOCK_SITE = https://github.com/payden/libwebsock.git
+LIBWEBSOCK_DEPENDENCIES = libevent
+LIBWEBSOCK_AUTORECONF = YES
+LIBWEBSOCK_INSTALL_STAGING = YES
+LIBWEBSOCK_LICENSE = LGPLv3
+LIBWEBSOCK_LICENSE_FILES = COPYING
+
+LIBWEBSOCK_CFLAGS = $(TARGET_CFLAGS)
+LIBWEBSOCK_LIBS += -lpthread -levent
+
+LIBWEBSOCK_CONF_ENV += \
+        CFLAGS="$(LIBWEBSOCK_CFLAGS)" \
+        LIBS="$(LIBWEBSOCK_LIBS)"
+
+$(eval $(autotools-package))
diff --git a/package/sofia-sip/Config.in b/package/sofia-sip/Config.in
new file mode 100644
index 0000000..d9045b5
--- /dev/null
+++ b/package/sofia-sip/Config.in
@@ -0,0 +1,5 @@ 
+config BR2_PACKAGE_SOFIA_SIP
+       bool "sofia-sip"
+       help
+       Adds Sofia-SIP Library
+       http://sofia-sip.sourceforge.net
diff --git a/package/sofia-sip/sofia-sip.mk b/package/sofia-sip/sofia-sip.mk
new file mode 100644
index 0000000..0539453
--- /dev/null
+++ b/package/sofia-sip/sofia-sip.mk
@@ -0,0 +1,17 @@ 
+#############################################################
+#
+# sofiasip
+#
+#############################################################
+SOFIA_SIP_VERSION = 1.12.11
+SOFIA_SIP_SOURCE = sofia-sip-$(SOFIA_SIP_VERSION).tar.gz
+SOFIA_SIP_SITE =
http://downloads.sourceforge.net/project/sofia-sip/sofia-sip/$(SOFIA_SIP_VERSION)
+SOFIA_SIP_INSTALL_STAGING = YES
+
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT_INET_IPV6),y)
+else
+       SOFIA_SIP_CONF_OPTS = --disable-ip6
+endif
+
+