All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2017-01-04 13:16   ` Luca Ceresoli
  2016-12-30 10:29 ` [Buildroot] [PATCH 02/52] package/libpjsip: drop path to staging to find libsrtp Yann E. MORIN
                   ` (50 subsequent siblings)
  51 siblings, 1 reply; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

There are a bunch of options that are left unspecified; explicitly
disable them.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
 package/libpjsip/libpjsip.mk | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index cb0d866..7d30bbb 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -36,6 +36,23 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ilbc-codec \
 	--disable-webrtc \
 	--disable-opus \
+	--disable-epoll \
+	--disable-oss \
+	--disable-ext-sound \
+	--disable-small-filter \
+	--disable-large-filter \
+	--disable-g711-codec \
+	--disable-l16-codec \
+	--disable-g722-codec \
+	--disable-libsamplerate \
+	--disable-sdl \
+	--disable-ffmpeg \
+	--disable-v4l2 \
+	--disable-openh264 \
+	--disable-libyuv \
+	--disable-ipp \
+	--disable-ssl \
+	--disable-silk \
 	--with-external-srtp=$(STAGING_DIR)/usr
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 02/52] package/libpjsip: drop path to staging to find libsrtp
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2017-01-04 13:21   ` Luca Ceresoli
  2016-12-30 10:29 ` [Buildroot] [PATCH 03/52] package/asterisk: new package Yann E. MORIN
                   ` (49 subsequent siblings)
  51 siblings, 1 reply; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

As it happens, specifying the path where to look for libsrtp is not
needed: pjsip does not use the argument to --with-external-srtp as a
search path at all; it only checks whether it is 'no' or something
else.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/libpjsip.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 7d30bbb..551dbd9 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -53,7 +53,7 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ipp \
 	--disable-ssl \
 	--disable-silk \
-	--with-external-srtp=$(STAGING_DIR)/usr
+	--with-external-srtp
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 LIBPJSIP_DEPENDENCIES += openssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 03/52] package/asterisk: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 02/52] package/libpjsip: drop path to staging to find libsrtp Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2017-01-22 20:31   ` Romain Naour
  2016-12-30 10:29 ` [Buildroot] [PATCH 04/52] package/asterisk: enable backtrace when available Yann E. MORIN
                   ` (48 subsequent siblings)
  51 siblings, 1 reply; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Asterisk: the flagship of telephony on Linux. These are the lines of
code whose continuous mission is to power small and large enterprises
telephony systems, to boldly provide IP PBX where no one has done so
before.

But it is a hell to get compiled... :-(

For starters, it needs a host tool, menuselect, to prepare its build
configuration. Unfortunately, the way it handles menuselect does not
paly very well for cross-compilation: the main ./configure calls out to
menuselect's own ./configure, and of course that runs with the same
environement, which is wrong for croos-compilation (because of variables
like CC, CFLAGS and the likes).

Furthermore, the paths to menuselect are imbricated about everywhere in
the main Makefile, so making it find menuselect in PATH is a lost cause.
So we can't make menuselect a host-package... :-(

Instead, we just patch-out the handling of menuselect and take care of
it manually:
  - we manually configure it before configuring asterisk itself
  - we manually build it before building asterisk itself

For those two, we duplicate the same code we have for host-autotools
packages, and stay as close to it as possible.

If that was not completely enough, asterisk requires libxml2, because
menuselect needs it. So we should pass it the path the the host libxml2,
not the target one. However, to add insult to injury, asterisk really
needs libxml2 for the target as well, so we really need to pass it the
target libxml2, which is now possible because we build menuselect
separately.

Some tests, like the crypt() one, are broken and could not have ever
possibly worked at all. Worse, the FFmpeg test is looking for headers
that FFmpeg removed more than 7 years ago and are virtually no longer
available in any distro. So, FFmpeg support is definitely not tested by
upstream and can't possibly work at all.

Now, asterisk wants to install a default set of sound files (for
answering machine stuff, I guess). They come come pre-bundled in the
official archive [0], but the buildsystem will want to download (at
install time) the sah1 files for each sound archive, to validate that
said archive is correct. However, the download is done via plain http,
so it still risks an MITM attack. And for Buildroot, it is not always
possible to download at install time, so we patch-out the sha1 check.

[0] http://downloads.asterisk.org/pub/telephony/asterisk/releases/

The official archive contains the sound archives plus a full set of
documentation. This makes it very big. Unfotunately, the hosting site is
rather slow, topping at about ~204kbps. So we get the archive from the
official mirror on Github. But that archive is missing the sound
archives, so we download them separately.

Finally, but not the least, asterisk does not autoreconf nicely at all,
even with the provided bootstrap script, so we just patch configure.ac
and configure since it is trivial enough to do so.

Almost all features are disabled for now. Support for additional
features will be added in subsequent patches now that we have a working
base.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                                  |   1 +
 ...-configure-do-not-configure-in-menuselect.patch |  92 +++++++++++
 ...02-sounds-do-not-download-and-check-sha1s.patch |  52 ++++++
 .../0003-configure-fix-detection-of-libcrypt.patch |  62 +++++++
 package/asterisk/Config.in                         |  28 ++++
 package/asterisk/asterisk.hash                     |   9 +
 package/asterisk/asterisk.mk                       | 181 +++++++++++++++++++++
 7 files changed, 425 insertions(+)
 create mode 100644 package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
 create mode 100644 package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
 create mode 100644 package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
 create mode 100644 package/asterisk/Config.in
 create mode 100644 package/asterisk/asterisk.hash
 create mode 100644 package/asterisk/asterisk.mk

diff --git a/package/Config.in b/package/Config.in
index 18818fa..38da776 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1443,6 +1443,7 @@ menu "Networking applications"
 	source "package/apache/Config.in"
 	source "package/argus/Config.in"
 	source "package/arptables/Config.in"
+	source "package/asterisk/Config.in"
 	source "package/atftp/Config.in"
 	source "package/autossh/Config.in"
 	source "package/avahi/Config.in"
diff --git a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
new file mode 100644
index 0000000..c4fd060
--- /dev/null
+++ b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
@@ -0,0 +1,92 @@
+From cc5daff874779475742bdb89a9328bb4fc4c4e09 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Tue, 27 Dec 2016 11:20:19 +0100
+Subject: [PATCH] configure: do not configure in menuselect
+
+When cross-compiling, the arguments and environment for ./configure are
+different for the host and the target, and we want menuselect to be
+compiled for the build machine, not the target.
+
+Although we do not pass any option to ./configure for menuselect, the
+environment may still reference variables for the taget, like CC or
+CFLAGS and so on... We can not build menuselect with those variables.
+
+Intead, just assume that menuselect will be pre-compiled.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+ configure    | 16 ----------------
+ configure.ac | 16 ----------------
+ 2 files changed, 32 deletions(-)
+
+diff --git a/configure b/configure
+index 4ab32c9..b4aab11 100755
+--- a/configure
++++ b/configure
+@@ -35548,12 +35548,6 @@ fi
+ 
+ 
+ 
+-if test -f makeopts; then
+-	${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak
+-else
+-	touch makeopts.acbak
+-fi
+-
+ ac_config_files="$ac_config_files build_tools/menuselect-deps makeopts"
+ 
+ 
+@@ -36874,16 +36868,6 @@ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ fi
+ 
+ 
+-${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2
+-if test "x${ac_cv_path_CMP}" = "x:"; then
+-	( cd `pwd`/menuselect && ./configure )
+-else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else
+-	( cd `pwd`/menuselect && ./configure )
+-fi ; fi
+-
+-rm makeopts.acbak makeopts.acbak2
+-
+-
+ if test "x${silent}" != "xyes" ; then
+ echo
+ echo "               .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=..      "
+diff --git a/configure.ac b/configure.ac
+index 66c8971..121dd93 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2662,12 +2662,6 @@ fi
+ 
+ AC_SUBST([PBX_SYSLOG])
+ 
+-if test -f makeopts; then
+-	${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak
+-else
+-	touch makeopts.acbak
+-fi
+-
+ AC_CONFIG_FILES([build_tools/menuselect-deps makeopts])
+ AST_CHECK_MANDATORY
+ 
+@@ -2683,16 +2677,6 @@ fi
+ 
+ AC_OUTPUT
+ 
+-${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2
+-if test "x${ac_cv_path_CMP}" = "x:"; then
+-	( cd `pwd`/menuselect && ./configure )
+-else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else
+-	( cd `pwd`/menuselect && ./configure )
+-fi ; fi
+-
+-rm makeopts.acbak makeopts.acbak2
+-
+-
+ if test "x${silent}" != "xyes" ; then
+ echo
+ echo "               .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=..      "
+-- 
+2.7.4
+
diff --git a/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
new file mode 100644
index 0000000..8412843
--- /dev/null
+++ b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
@@ -0,0 +1,52 @@
+From 3e8a9e9a1c7eae515eb628778c3c8a04338b3bb3 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Tue, 27 Dec 2016 11:21:09 +0100
+Subject: [PATCH] sounds: do not download and check sha1s
+
+To validate the sound archives, the corresponding sha1s are also
+downloaded from the same location, and that download is done at install
+time.
+
+However, that poses at least two problems:
+
+  - in Buildroot, we already have validated the downloads with the sha1s
+    anyway, and trying to download anything at install time is not
+    always possible (e.g. for off-line builds);
+
+  - since the download scheme is not secured (plain http), a
+    man-in-the-middle for the sounds will also be able to MITM the
+    download of the sha1s, so there is absolutely no additional safety
+    in doing so.
+
+So we just do without the sha1 download and checks.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+ sounds/Makefile | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/sounds/Makefile b/sounds/Makefile
+index 84d0f45..7a80d56 100644
+--- a/sounds/Makefile
++++ b/sounds/Makefile
+@@ -100,17 +100,7 @@ ifneq ($(SOUNDS_CACHE_DIR),)
+ 	  if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@"; then \
+ 	    (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@); \
+ 	  fi; \
+-	  if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@.sha1"; then \
+-	    (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@.sha1); \
+-	  fi; \
+ 	  $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@" .; \
+-	  $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@.sha1" .; \
+-	  $$(SHA1SUM) -c --status $$@.sha1 || \
+-	    ( \
+-	      rm -f "$$(SOUNDS_CACHE_DIR)/$$@" "$$(SOUNDS_CACHE_DIR)/$$@.sha1" $$@ $$@.sha1; \
+-	      echo "Bad checksum: $$@" 1>&2; \
+-	      exit 1; \
+-	    ) || exit 1; \
+ 	fi
+ else
+ 	$(CMD_PREFIX) \
+-- 
+2.7.4
+
diff --git a/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
new file mode 100644
index 0000000..325ab49
--- /dev/null
+++ b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
@@ -0,0 +1,62 @@
+From 8996503f6c55e55f326ab11c18278954ad7abaf3 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Tue, 27 Dec 2016 11:21:57 +0100
+Subject: [PATCH] configure: fix detection of libcrypt
+
+The crypt() function is searched in two locations: -lcrypt and the
+standard C library.
+
+The result of the forner is stored in the LIBCRYPT 'scheme' while that
+of the latter is stored in the 'SYSCRYPT' scheme.
+
+However, the check for mandatory modules looks at the CRYPT 'scheme',
+and thus concludes that crypt is missing when it was successfully found.
+
+Fix that by also storing the result of either check in the 'CRYPT'
+scheme.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+ configure    | 2 ++
+ configure.ac | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/configure b/configure
+index b4aab11..53648f1 100755
+--- a/configure
++++ b/configure
+@@ -31879,12 +31879,14 @@ fi
+ if test "x$LIBCRYPT_LIB" != "x" ; then
+     CRYPT_LIB="$LIBCRYPT_LIB"
+     CRYPT_INCLUDE="$LIBCRYPT_INCLUDE"
++    PBX_CRYPT=1
+ 
+ $as_echo "#define HAVE_CRYPT 1" >>confdefs.h
+ 
+ elif test "x$SYSCRYPT" != "x" ; then
+     CRYPT_LIB=""
+     CRYPT_INCLUDE=""
++    PBX_CRYPT=1
+ 
+ $as_echo "#define HAVE_CRYPT 1" >>confdefs.h
+ 
+diff --git a/configure.ac b/configure.ac
+index 121dd93..d459ff5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2406,10 +2406,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""])
+ if test "x$LIBCRYPT_LIB" != "x" ; then
+     CRYPT_LIB="$LIBCRYPT_LIB"
+     CRYPT_INCLUDE="$LIBCRYPT_INCLUDE"
++    PBX_CRYPT=1
+     AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.])
+ elif test "x$SYSCRYPT" != "x" ; then
+     CRYPT_LIB=""
+     CRYPT_INCLUDE=""
++    PBX_CRYPT=1
+     AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.])
+ fi
+ 
+-- 
+2.7.4
+
diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in
new file mode 100644
index 0000000..5e7f04b
--- /dev/null
+++ b/package/asterisk/Config.in
@@ -0,0 +1,28 @@
+config BR2_PACKAGE_ASTERISK
+	bool "asterisk"
+	depends on BR2_USE_MMU # fork()
+	depends on !BR2_STATIC_LIBS # dlopen()
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_WCHAR # util-linux
+	select BR2_PACKAGE_JANSSON
+	select BR2_PACKAGE_LIBXML2
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_SQLITE
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  Asterisk is an open source framework for building
+	  communications applications. Asterisk turns an ordinary
+	  computer into a communications server. Asterisk powers
+	  IP PBX systems, VoIP gateways, conference servers and
+	  other custom solutions. It is used by small businesses,
+	  large businesses, call centers, carriers and government
+	  agencies, worldwide. Asterisk is free and open source.
+
+	  http://www.asterisk.org/
+
+comment "asterisk needs a toolchain w/ C++, threads, wchar, dynamic library"
+	depends on BR2_USE_MMU
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
+		|| !BR2_USE_WCHAR || BR2_STATIC_LIBS
diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash
new file mode 100644
index 0000000..4cc09ae
--- /dev/null
+++ b/package/asterisk/asterisk.hash
@@ -0,0 +1,9 @@
+# From http://downloads.asterisk.org/pub/telephony/asterisk
+sha256  0afce295676875bf422a028c586eff88146f068363aab35af09b1c56cfb9c138  asterisk-14.2.1.tar.gz
+
+# sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases
+# sha256 locally computed
+sha1    65ee068462c6645ed14a28d6b34eb0e9aa7a6c8d                          asterisk-core-sounds-en-gsm-1.5.tar.gz
+sha256  8d1118c6e0a0c614fafe297e3789f924ef5b04285cf6a8cffb8501dfcf5bbf07  asterisk-core-sounds-en-gsm-1.5.tar.gz
+sha1    f40fd6ea03dfe8d72ada2540b2288bfdc006381d                          asterisk-moh-opsound-wav-2.03.tar.gz
+sha256  449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538  asterisk-moh-opsound-wav-2.03.tar.gz
diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
new file mode 100644
index 0000000..239e457
--- /dev/null
+++ b/package/asterisk/asterisk.mk
@@ -0,0 +1,181 @@
+################################################################################
+#
+# asterisk
+#
+################################################################################
+
+ASTERISK_VERSION = 14.2.1
+# Use the github mirror: it's an official mirror maintained by Digium, and
+# provides tarballs, which the main Asterisk git tree (behind Gerrit) does not.
+ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION))
+
+ASTERISK_SOUNDS_BASE_URL = http://downloads.asterisk.org/pub/telephony/sounds/releases
+ASTERISK_EXTRA_DOWNLOADS = \
+	$(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.5.tar.gz \
+	$(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz
+
+ASTERISK_DEPENDENCIES = jansson libxml2 ncurses sqlite util-linux
+
+# Those dependencies are to build the menuselect tool:
+ASTERISK_DEPENDENCIES += host-libxml2 host-ncurses
+
+# avcodec are from ffmpeg. There is virtually zero chance this could
+# even work; asterisk is looking for ffmpeg/avcodec.h which has not
+# been installed in this location since early 2007 (~9 years at the
+# time of this writing).
+ASTERISK_CONF_OPTS = --without-avcodec
+
+ASTERISK_CONF_OPTS += \
+	--disable-xmldoc \
+	--disable-internal-poll \
+	--disable-asteriskssl \
+	--disable-rpath \
+	--without-asound \
+	--without-bfd \
+	--without-execinfo \
+	--without-bluetooth \
+	--without-cap \
+	--without-cpg \
+	--without-curses \
+	--without-dahdi \
+	--without-gsm \
+	--without-ilbc \
+	--without-gtk2 \
+	--without-gmime \
+	--without-h323 \
+	--without-hoard \
+	--without-ical \
+	--without-iconv \
+	--without-iksemel \
+	--without-imap \
+	--without-inotify \
+	--without-iodbc \
+	--without-isdnnet \
+	--without-jack \
+	--without-uriparser \
+	--without-kqueue \
+	--without-ldap \
+	--without-libcurl \
+	--without-libedit \
+	--without-libxslt \
+	--without-ltdl \
+	--without-lua \
+	--without-misdn \
+	--without-mysqlclient \
+	--without-nbs \
+	--without-neon \
+	--without-neon29 \
+	--without-netsnmp \
+	--without-newt \
+	--without-ogg \
+	--without-openr2 \
+	--without-opus \
+	--without-osptk \
+	--without-oss \
+	--without-postgres \
+	--without-pjproject \
+	--without-popt \
+	--without-portaudio \
+	--without-pri \
+	--without-pwlib \
+	--without-radius \
+	--without-resample \
+	--without-sdl \
+	--without-SDL_image \
+	--without-spandsp \
+	--without-ss7 \
+	--without-speex \
+	--without-speexdsp \
+	--without-sqlite \
+	--without-srtp \
+	--without-ssl \
+	--without-suppserv \
+	--without-tds \
+	--without-termcap \
+	--without-timerfd \
+	--without-tinfo \
+	--without-tonezone \
+	--without-unbound \
+	--without-unixodbc \
+	--without-vorbis \
+	--without-vpb \
+	--without-x11 \
+	--without-z \
+	--with-crypt \
+	--with-jansson \
+	--with-libxml2 \
+	--with-ncurses="$(STAGING_DIR)/usr" \
+	--with-sqlite3="$(STAGING_DIR)/usr" \
+	--with-sounds-cache=$(BR2_DL_DIR)
+
+ASTERISK_CONF_ENV = \
+	ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config
+
+ASTERISK_DIRS = \
+	ASTVARLIBDIR="/usr/lib/asterisk" \
+	ASTDATADIR="/usr/lib/asterisk" \
+	ASTKEYDIR="/usr/lib/asterisk" \
+	ASTDBDIR="/usr/lib/asterisk"
+
+ASTERISK_MAKE_OPTS = $(ASTERISK_DIRS)
+
+# We want to install sample configuration files, too.
+ASTERISK_INSTALL_TARGET_OPTS = \
+	$(ASTERISK_DIRS) \
+	DESTDIR=$(TARGET_DIR) \
+	install samples
+
+#-------------------------------------------------------------------------------
+# This part deals with building the menuselect tool.
+# Even though menuselect is an autotools package, it is *not* installed in
+# $(HOST_DIR) as asterisk does expect it to be in a sub-directory of its
+# source tree.
+
+ASTRISK_MENUSELECT_FLAGS = \
+	LDFLAGS="$(HOST_LDFLAGS) -lxml2" \
+	CFLAGS="$(HOST_CLFAGS) -I$(HOST_DIR)/usr/include/libxml2"
+
+ASTERISK_MENUSELECT_CONF_ENV = \
+	CONFIG_LIBXML2=$(HOST_DIR)/usr/bin/xml2-config
+
+ASTERISK_MENUSELECT_CONF_OPTS = \
+	--without-newt \
+	--without-curses \
+	--with-ncurses=$(HOST_DIR)/usr \
+	--with-libxml2=$(HOST_DIR)/usr \
+	$(ASTRISK_MENUSELECT_FLAGS)
+
+ASTERISK_MENUSELECT_MAKE_OPTS = \
+	$(ASTRISK_MENUSELECT_FLAGS)
+
+define ASTERISK_MENUSELECT_CONFIGURE_CMDS
+	cd $(@D)/menuselect && rm -rf config.cache; \
+	$(HOST_CONFIGURE_OPTS) \
+	CFLAGS="$(HOST_CFLAGS)" \
+	LDFLAGS="$(HOST_LDFLAGS)" \
+	$(ASTERISK_MENUSELECT_CONF_ENV) \
+	CONFIG_SITE=/dev/null \
+	./configure \
+		--prefix="$(HOST_DIR)/usr" \
+		--sysconfdir="$(HOST_DIR)/etc" \
+		--localstatedir="$(HOST_DIR)/var" \
+		--enable-shared --disable-static \
+		--disable-gtk-doc \
+		--disable-gtk-doc-html \
+		--disable-doc \
+		--disable-docs \
+		--disable-documentation \
+		--disable-debug \
+		--with-xmlto=no \
+		--with-fop=no \
+		--disable-dependency-tracking \
+		$(QUIET) $(ASTERISK_MENUSELECT_CONF_OPTS)
+endef
+ASTERISK_PRE_CONFIGURE_HOOKS += ASTERISK_MENUSELECT_CONFIGURE_CMDS
+
+define ASTERISK_MENUSELECT_BUILD_CMDS
+	$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/menuselect $(ASTERISK_MENUSELECT_MAKE_OPTS)
+endef
+ASTERISK_PRE_BUILD_HOOKS += ASTERISK_MENUSELECT_BUILD_CMDS
+
+$(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 04/52] package/asterisk: enable backtrace when available
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (2 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 03/52] package/asterisk: new package Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 05/52] package/libgsm: new package Yann E. MORIN
                   ` (47 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

asterisk uses backtrace() from execinfo.h to print beuatiful backtraces
when it fails. But execinfo is only reliably available with glibc, while
it is optionbal in uClibc and completely missing in musl.

So, only enable backtrace support for glibc toolchains.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 239e457..147729f 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -32,7 +32,6 @@ ASTERISK_CONF_OPTS += \
 	--disable-rpath \
 	--without-asound \
 	--without-bfd \
-	--without-execinfo \
 	--without-bluetooth \
 	--without-cap \
 	--without-cpg \
@@ -111,6 +110,12 @@ ASTERISK_CONF_OPTS += \
 ASTERISK_CONF_ENV = \
 	ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config
 
+ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
+ASTERISK_CONF_OPTS += --with-execinfo
+else
+ASTERISK_CONF_OPTS += --without-execinfo
+endif
+
 ASTERISK_DIRS = \
 	ASTVARLIBDIR="/usr/lib/asterisk" \
 	ASTDATADIR="/usr/lib/asterisk" \
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 05/52] package/libgsm: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (3 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 04/52] package/asterisk: enable backtrace when available Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2017-01-27 19:38   ` Thomas Petazzoni
  2016-12-30 10:29 ` [Buildroot] [PATCH 06/52] package/asterisk: add optional libgsm dependency Yann E. MORIN
                   ` (46 subsequent siblings)
  51 siblings, 1 reply; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

From: Bernd Kuhls <bernd.kuhls@t-online.de>

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[yann.morin.1998 at free.fr:
  - manually install things, it's easier than using the flawed install
    rules of the package
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>

---
changes v3 -> v4:
  - adopted (Yann)
  - rebased
---
 package/Config.in              |   1 +
 package/libgsm/0001-misc.patch | 205 +++++++++++++++++++++++++++++++++++++++++
 package/libgsm/Config.in       |  10 ++
 package/libgsm/libgsm.hash     |   2 +
 package/libgsm/libgsm.mk       |  47 ++++++++++
 5 files changed, 265 insertions(+)
 create mode 100644 package/libgsm/0001-misc.patch
 create mode 100644 package/libgsm/Config.in
 create mode 100644 package/libgsm/libgsm.hash
 create mode 100644 package/libgsm/libgsm.mk

diff --git a/package/Config.in b/package/Config.in
index 38da776..2938443 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -849,6 +849,7 @@ menu "Audio/Sound"
 	source "package/libcuefile/Config.in"
 	source "package/libebur128/Config.in"
 	source "package/libg7221/Config.in"
+	source "package/libgsm/Config.in"
 	source "package/libid3tag/Config.in"
 	source "package/libilbc/Config.in"
 	source "package/liblo/Config.in"
diff --git a/package/libgsm/0001-misc.patch b/package/libgsm/0001-misc.patch
new file mode 100644
index 0000000..735d744
--- /dev/null
+++ b/package/libgsm/0001-misc.patch
@@ -0,0 +1,205 @@
+Misc fixes from Archlinux
+
+Patch from:
+    https://git.archlinux.org/svntogit/packages.git/plain/gsm/trunk/gsm.patch
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+--- a/Makefile	2006-04-26 15:14:26.000000000 -0400
++++ b/Makefile	2010-06-19 16:53:25.000000000 -0400
+@@ -44,7 +44,7 @@
+ # CCFLAGS 	= -c -O
+ 
+ CC		= gcc -ansi -pedantic
+-CCFLAGS 	= -c -O2 -DNeedFunctionPrototypes=1
++CCFLAGS 	= -c -O2 -fPIC -DNeedFunctionPrototypes=1
+ 
+ LD 		= $(CC)
+ 
+@@ -96,11 +96,11 @@
+ #  Other tools
+ 
+ SHELL		= /bin/sh
+-LN		= ln
++LN		= ln -s -f
+ BASENAME 	= basename
+ AR		= ar
+ ARFLAGS		= cr
+-RMFLAGS		=
++RMFLAGS		= -f
+ FIND		= find
+ COMPRESS 	= compress
+ COMPRESSFLAGS 	= 
+@@ -139,7 +139,7 @@
+ 
+ # Targets
+ 
+-LIBGSM	= $(LIB)/libgsm.a
++LIBGSMSO = $(LIB)/libgsm.so
+ 
+ TOAST	= $(BIN)/toast
+ UNTOAST	= $(BIN)/untoast
+@@ -257,7 +257,7 @@
+ # Install targets
+ 
+ GSM_INSTALL_TARGETS =	\
+-		$(GSM_INSTALL_LIB)/libgsm.a		\
++		$(GSM_INSTALL_LIB)/libgsm.so		\
+ 		$(GSM_INSTALL_INC)/gsm.h		\
+ 		$(GSM_INSTALL_MAN)/gsm.3		\
+ 		$(GSM_INSTALL_MAN)/gsm_explode.3	\
+@@ -279,7 +279,7 @@
+ 
+ # Target rules
+ 
+-all:		$(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
++all:		$(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST)
+ 		@-echo $(ROOT): Done.
+ 
+ tst:		$(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
+@@ -299,24 +299,23 @@
+ 
+ # The basic API: libgsm
+ 
+-$(LIBGSM):	$(LIB) $(GSM_OBJECTS)
+-		-rm $(RMFLAGS) $(LIBGSM)
+-		$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
+-		$(RANLIB) $(LIBGSM)
+-
++$(LIBGSMSO): $(LIB) $(GSM_OBJECTS)
++	$(LD) -shared -Wl,-soname,libgsm.so.1 -o $@.1.0.13 $(GSM_OBJECTS)
++	$(LN) libgsm.so.1.0.13 $(LIBGSMSO).1
++	$(LN) libgsm.so.1.0.13 $(LIBGSMSO)
+ 
+ # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
+ 
+-$(TOAST):	$(BIN) $(TOAST_OBJECTS) $(LIBGSM)
+-		$(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
++$(TOAST):	$(BIN) $(TOAST_OBJECTS) $(LIBGSMSO)
++		$(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB)
+ 
+ $(UNTOAST):	$(BIN) $(TOAST)
+ 		-rm $(RMFLAGS) $(UNTOAST)
+-		$(LN) $(TOAST) $(UNTOAST)
++		$(LN) toast $(UNTOAST)
+ 
+ $(TCAT):	$(BIN) $(TOAST)
+ 		-rm $(RMFLAGS) $(TCAT)
+-		$(LN) $(TOAST) $(TCAT)
++		$(LN) toast $(TCAT)
+ 
+ 
+ # The local bin and lib directories
+@@ -351,53 +350,54 @@
+ 		fi
+ 
+ $(TOAST_INSTALL_BIN)/toast:	$(TOAST)
+-		-rm $@
++		-rm $(RMFLAGS) $@
+ 		cp $(TOAST) $@
+ 		chmod 755 $@
+ 
+ $(TOAST_INSTALL_BIN)/untoast:	$(TOAST_INSTALL_BIN)/toast
+-		-rm $@
+-		ln $? $@
++		-rm $(RMFLAGS) $@
++		$(LN) toast $@
+ 
+ $(TOAST_INSTALL_BIN)/tcat:	$(TOAST_INSTALL_BIN)/toast
+-		-rm $@
+-		ln $? $@
++		-rm $(RMFLAGS) $@
++		$(LN) toast $@
+ 
+ $(TOAST_INSTALL_MAN)/toast.1:	$(MAN)/toast.1
+-		-rm $@
++		-rm $(RMFLAGS) $@
+ 		cp $? $@
+ 		chmod 444 $@
+ 
+ $(GSM_INSTALL_MAN)/gsm.3:	$(MAN)/gsm.3
+-		-rm $@
++		-rm $(RMFLAGS) $@
+ 		cp $? $@
+ 		chmod 444 $@
+ 
+ $(GSM_INSTALL_MAN)/gsm_option.3:	$(MAN)/gsm_option.3
+-		-rm $@
++		-rm $(RMFLAGS) $@
+ 		cp $? $@
+ 		chmod 444 $@
+ 
+ $(GSM_INSTALL_MAN)/gsm_explode.3:	$(MAN)/gsm_explode.3
+-		-rm $@
++		-rm $(RMFLAGS) $@
+ 		cp $? $@
+ 		chmod 444 $@
+ 
+ $(GSM_INSTALL_MAN)/gsm_print.3:	$(MAN)/gsm_print.3
+-		-rm $@
++		-rm $(RMFLAGS) $@
+ 		cp $? $@
+ 		chmod 444 $@
+ 
+ $(GSM_INSTALL_INC)/gsm.h:	$(INC)/gsm.h
+-		-rm $@
+-		cp $? $@
+-		chmod 444 $@
+-
+-$(GSM_INSTALL_LIB)/libgsm.a:	$(LIBGSM)
+-		-rm $@
++		-rm $(RMFLAGS) $@
+ 		cp $? $@
+ 		chmod 444 $@
+ 
++$(GSM_INSTALL_LIB)/libgsm.so:	$(LIBGSMSO)
++		-rm $(RMFLAGS) $@ $@.1 $@.1.0.13
++		cp $?.1.0.13 $@.1.0.13
++		chmod 755 $@.1.0.13
++		$(LN) libgsm.so.1.0.13 $@
++		$(LN) libgsm.so.1.0.13 $@.1
+ 
+ # Distribution
+ 
+@@ -425,7 +425,7 @@
+ 			-print | xargs rm $(RMFLAGS)
+ 
+ clean:	semi-clean
+-		-rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add		\
++		-rm $(RMFLAGS) $(LIBGSMSO)* $(ADDTST)/add		\
+ 			$(TOAST) $(TCAT) $(UNTOAST)	\
+ 			$(ROOT)/gsm-1.0.tar.Z
+ 
+@@ -473,22 +473,22 @@
+ $(TST)/test-result:	$(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/run
+ 			( cd $(TST); ./run ) 
+ 
+-$(TST)/lin2txt:		$(TST)/lin2txt.o $(LIBGSM)
++$(TST)/lin2txt:		$(TST)/lin2txt.o $(LIBGSMSO)
+ 			$(LD) $(LFLAGS) -o $(TST)/lin2txt \
+-				$(TST)/lin2txt.o $(LIBGSM) $(LDLIB)
++				$(TST)/lin2txt.o $(LIBGSMSO) $(LDLIB)
+ 
+-$(TST)/lin2cod:		$(TST)/lin2cod.o $(LIBGSM)
++$(TST)/lin2cod:		$(TST)/lin2cod.o $(LIBGSMSO)
+ 			$(LD) $(LFLAGS) -o $(TST)/lin2cod \
+-				$(TST)/lin2cod.o $(LIBGSM) $(LDLIB)
++				$(TST)/lin2cod.o $(LIBGSMSO) $(LDLIB)
+ 
+-$(TST)/gsm2cod:		$(TST)/gsm2cod.o $(LIBGSM)
++$(TST)/gsm2cod:		$(TST)/gsm2cod.o $(LIBGSMSO)
+ 			$(LD) $(LFLAGS) -o $(TST)/gsm2cod \
+-				$(TST)/gsm2cod.o $(LIBGSM) $(LDLIB)
++				$(TST)/gsm2cod.o $(LIBGSMSO) $(LDLIB)
+ 
+-$(TST)/cod2txt:		$(TST)/cod2txt.o $(LIBGSM)
++$(TST)/cod2txt:		$(TST)/cod2txt.o $(LIBGSMSO)
+ 			$(LD) $(LFLAGS) -o $(TST)/cod2txt \
+-				$(TST)/cod2txt.o $(LIBGSM) $(LDLIB)
++				$(TST)/cod2txt.o $(LIBGSMSO) $(LDLIB)
+ 
+-$(TST)/cod2lin:		$(TST)/cod2lin.o $(LIBGSM)
++$(TST)/cod2lin:		$(TST)/cod2lin.o $(LIBGSMSO)
+ 			$(LD) $(LFLAGS) -o $(TST)/cod2lin \
+-				$(TST)/cod2lin.o $(LIBGSM) $(LDLIB)
++				$(TST)/cod2lin.o $(LIBGSMSO) $(LDLIB)
diff --git a/package/libgsm/Config.in b/package/libgsm/Config.in
new file mode 100644
index 0000000..b883329
--- /dev/null
+++ b/package/libgsm/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBGSM
+	bool "libgsm"
+	depends on !BR2_STATIC_LIBS
+	help
+	  Shared libraries for GSM 06.10 lossy speech compression.
+
+	  http://www.quut.com/gsm
+
+comment "libgsm needs a toolchain w/ shared libraries"
+	depends on BR2_STATIC_LIBS
diff --git a/package/libgsm/libgsm.hash b/package/libgsm/libgsm.hash
new file mode 100644
index 0000000..bcfb650
--- /dev/null
+++ b/package/libgsm/libgsm.hash
@@ -0,0 +1,2 @@
+# Locally computed
+sha256  725a3768a1e23ab8648b4df9d470aed38eb1635af3cbc8d0b64fef077236f4ce  gsm-1.0.16.tar.gz
diff --git a/package/libgsm/libgsm.mk b/package/libgsm/libgsm.mk
new file mode 100644
index 0000000..59a6315
--- /dev/null
+++ b/package/libgsm/libgsm.mk
@@ -0,0 +1,47 @@
+################################################################################
+#
+# libgsm
+#
+################################################################################
+
+LIBGSM_VERSION = 1.0.16
+LIBGSM_SOURCE = gsm-$(LIBGSM_VERSION).tar.gz
+LIBGSM_SITE = http://www.quut.com/gsm
+
+LIBGSM_LICENSE = gsm
+LIBGSM_LICENSE_FILES = COPYRIGHT
+
+LIBGSM_INSTALL_STAGING = YES
+
+define LIBGSM_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) CC=$(TARGET_CC) -C $(@D)
+endef
+
+# Install targets are not safe for parallel jobs. However, since there's
+# just only a bunch of files to install, just do it manually. Note that,
+# even though the package version is '1.0.16', the solib is generated as
+# '1.0.13' and its SONAME is just '1'.
+#
+# For staging, we install all the .so symlinks, and the header.
+define LIBGSM_INSTALL_STAGING_CMDS
+	$(INSTALL) -D -m 0644 $(@D)/inc/gsm.h $(STAGING_DIR)/usr/include/gsm.h
+	$(INSTALL) -D -m 0644 $(@D)/lib/libgsm.so.1.0.13 $(STAGING_DIR)/usr/lib/libgsm.so.1.0.13
+	ln -sf libgsm.so.1.0.13 $(STAGING_DIR)/usr/lib/libgsm.so.1
+	ln -sf libgsm.so.1.0.13 $(STAGING_DIR)/usr/lib/libgsm.so
+endef
+
+# Install targets are not safe for parallel jobs. However, since there's
+# just only a bunch of files to install, just do it manually. Note that,
+# even though the package version is '1.0.16', the solib is versioned as
+# '1.0.13' and its SONAME is just versioned with '1'.
+#
+# For target, we just need the library to be installed as its SONAME, and
+# the programs.
+define LIBGSM_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0644 $(@D)/lib/libgsm.so.1.0.13 $(TARGET_DIR)/usr/lib/libgsm.so.1
+	$(INSTALL) -D -m 0755 $(@D)/bin/toast $(TARGET_DIR)/usr/bin/toast
+	$(INSTALL) -D -m 0755 $(@D)/bin/tcat $(TARGET_DIR)/usr/bin/tcat
+	$(INSTALL) -D -m 0755 $(@D)/bin/untoast $(TARGET_DIR)/usr/bin/untoast
+endef
+
+$(eval $(generic-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 06/52] package/asterisk: add optional libgsm dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (4 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 05/52] package/libgsm: new package Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 07/52] package/asterisk: add optional zlib dependency Yann E. MORIN
                   ` (45 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 147729f..4a701e8 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -37,7 +37,6 @@ ASTERISK_CONF_OPTS += \
 	--without-cpg \
 	--without-curses \
 	--without-dahdi \
-	--without-gsm \
 	--without-ilbc \
 	--without-gtk2 \
 	--without-gmime \
@@ -116,6 +115,13 @@ else
 ASTERISK_CONF_OPTS += --without-execinfo
 endif
 
+ifeq ($(BR2_PACKAGE_LIBGSM),y)
+ASTERISK_DEPENDENCIES += libgsm
+ASTERISK_CONF_OPTS += --with-gsm
+else
+ASTERISK_CONF_OPTS += --without-gsm
+endif
+
 ASTERISK_DIRS = \
 	ASTVARLIBDIR="/usr/lib/asterisk" \
 	ASTDATADIR="/usr/lib/asterisk" \
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 07/52] package/asterisk: add optional zlib dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (5 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 06/52] package/asterisk: add optional libgsm dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 08/52] package/asterisk: add optional support for SSL Yann E. MORIN
                   ` (44 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 4a701e8..fa4b226 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -98,7 +98,6 @@ ASTERISK_CONF_OPTS += \
 	--without-vorbis \
 	--without-vpb \
 	--without-x11 \
-	--without-z \
 	--with-crypt \
 	--with-jansson \
 	--with-libxml2 \
@@ -122,6 +121,13 @@ else
 ASTERISK_CONF_OPTS += --without-gsm
 endif
 
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+ASTERISK_DEPENDENCIES += zlib
+ASTERISK_CONF_OPTS += --with-z
+else
+ASTERISK_CONF_OPTS += --without-z
+endif
+
 ASTERISK_DIRS = \
 	ASTVARLIBDIR="/usr/lib/asterisk" \
 	ASTDATADIR="/usr/lib/asterisk" \
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 08/52] package/asterisk: add optional support for SSL
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (6 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 07/52] package/asterisk: add optional zlib dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 09/52] package/asterisk: add optional alsa-lib dependency Yann E. MORIN
                   ` (43 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index fa4b226..7028012 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -86,7 +86,6 @@ ASTERISK_CONF_OPTS += \
 	--without-speexdsp \
 	--without-sqlite \
 	--without-srtp \
-	--without-ssl \
 	--without-suppserv \
 	--without-tds \
 	--without-termcap \
@@ -121,6 +120,13 @@ else
 ASTERISK_CONF_OPTS += --without-gsm
 endif
 
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+ASTERISK_DEPENDENCIES += openssl
+ASTERISK_CONF_OPTS += --with-ssl
+else
+ASTERISK_CONF_OPTS += --without-ssl
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 ASTERISK_DEPENDENCIES += zlib
 ASTERISK_CONF_OPTS += --with-z
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 09/52] package/asterisk: add optional alsa-lib dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (7 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 08/52] package/asterisk: add optional support for SSL Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 10/52] package/asterisk: add optional curl dependency Yann E. MORIN
                   ` (42 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 7028012..2eb9c7a 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -30,7 +30,6 @@ ASTERISK_CONF_OPTS += \
 	--disable-internal-poll \
 	--disable-asteriskssl \
 	--disable-rpath \
-	--without-asound \
 	--without-bfd \
 	--without-bluetooth \
 	--without-cap \
@@ -120,6 +119,13 @@ else
 ASTERISK_CONF_OPTS += --without-gsm
 endif
 
+ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
+ASTERISK_DEPENDENCIES += alsa-lib
+ASTERISK_CONF_OPTS += --with-asound
+else
+ASTERISK_CONF_OPTS += --without-asound
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 10/52] package/asterisk: add optional curl dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (8 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 09/52] package/asterisk: add optional alsa-lib dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 11/52] package/asterisk: add optional neon dependency Yann E. MORIN
                   ` (41 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 2eb9c7a..4cf980d 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -52,7 +52,6 @@ ASTERISK_CONF_OPTS += \
 	--without-uriparser \
 	--without-kqueue \
 	--without-ldap \
-	--without-libcurl \
 	--without-libedit \
 	--without-libxslt \
 	--without-ltdl \
@@ -126,6 +125,13 @@ else
 ASTERISK_CONF_OPTS += --without-asound
 endif
 
+ifeq ($(BR2_PACKAGE_LIBCURL),y)
+ASTERISK_DEPENDENCIES += libcurl
+ASTERISK_CONF_OPTS += --with-libcurl
+else
+ASTERISK_CONF_OPTS += --without-libcurl
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 11/52] package/asterisk: add optional neon dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (9 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 10/52] package/asterisk: add optional curl dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 12/52] package/asterisk: add optional libogg dependency Yann E. MORIN
                   ` (40 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 4cf980d..213a20c 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -59,7 +59,6 @@ ASTERISK_CONF_OPTS += \
 	--without-misdn \
 	--without-mysqlclient \
 	--without-nbs \
-	--without-neon \
 	--without-neon29 \
 	--without-netsnmp \
 	--without-newt \
@@ -132,6 +131,15 @@ else
 ASTERISK_CONF_OPTS += --without-libcurl
 endif
 
+ifeq ($(BR2_PACKAGE_NEON),y)
+ASTERISK_DEPENDENCIES += neon
+ASTERISK_CONF_OPTS += --with-neon
+ASTERISK_CONF_ENV += \
+	ac_cv_path_CONFIG_NEON=$(STAGING_DIR)/usr/bin/neon-config
+else
+ASTERISK_CONF_OPTS += --without-neon
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 12/52] package/asterisk: add optional libogg dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (10 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 11/52] package/asterisk: add optional neon dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 13/52] package/asterisk: add optional bluez_utils dependency Yann E. MORIN
                   ` (39 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 213a20c..7a30663 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -62,7 +62,6 @@ ASTERISK_CONF_OPTS += \
 	--without-neon29 \
 	--without-netsnmp \
 	--without-newt \
-	--without-ogg \
 	--without-openr2 \
 	--without-opus \
 	--without-osptk \
@@ -140,6 +139,13 @@ else
 ASTERISK_CONF_OPTS += --without-neon
 endif
 
+ifeq ($(BR2_PACKAGE_LIBOGG),y)
+ASTERISK_DEPENDENCIES += libogg
+ASTERISK_CONF_OPTS += --with-ogg
+else
+ASTERISK_CONF_OPTS += --without-ogg
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 13/52] package/asterisk: add optional bluez_utils dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (11 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 12/52] package/asterisk: add optional libogg dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 14/52] package/asterisk: add optional opus dependency Yann E. MORIN
                   ` (38 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 7a30663..8aa1cb2 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -31,7 +31,6 @@ ASTERISK_CONF_OPTS += \
 	--disable-asteriskssl \
 	--disable-rpath \
 	--without-bfd \
-	--without-bluetooth \
 	--without-cap \
 	--without-cpg \
 	--without-curses \
@@ -123,6 +122,13 @@ else
 ASTERISK_CONF_OPTS += --without-asound
 endif
 
+ifeq ($(BR2_PACKAGE_BLUEZ_UTILS),y)
+ASTERISK_DEPENDENCIES += bluez_utils
+ASTERISK_CONF_OPTS += --with-bluetooth
+else
+ASTERISK_CONF_OPTS += --without-bluetooth
+endif
+
 ifeq ($(BR2_PACKAGE_LIBCURL),y)
 ASTERISK_DEPENDENCIES += libcurl
 ASTERISK_CONF_OPTS += --with-libcurl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 14/52] package/asterisk: add optional opus dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (12 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 13/52] package/asterisk: add optional bluez_utils dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 15/52] package/asterisk: add optional speex dependency Yann E. MORIN
                   ` (37 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 8aa1cb2..58f0ef8 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -62,7 +62,6 @@ ASTERISK_CONF_OPTS += \
 	--without-netsnmp \
 	--without-newt \
 	--without-openr2 \
-	--without-opus \
 	--without-osptk \
 	--without-oss \
 	--without-postgres \
@@ -152,6 +151,13 @@ else
 ASTERISK_CONF_OPTS += --without-ogg
 endif
 
+ifeq ($(BR2_PACKAGE_OPUS),y)
+ASTERISK_DEPENDENCIES += opus
+ASTERISK_CONF_OPTS += --with-opus
+else
+ASTERISK_CONF_OPTS += --without-opus
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 15/52] package/asterisk: add optional speex dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (13 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 14/52] package/asterisk: add optional opus dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 16/52] package/asterisk: add optional libvorbis dependency Yann E. MORIN
                   ` (36 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 58f0ef8..30c75bc 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -76,8 +76,6 @@ ASTERISK_CONF_OPTS += \
 	--without-SDL_image \
 	--without-spandsp \
 	--without-ss7 \
-	--without-speex \
-	--without-speexdsp \
 	--without-sqlite \
 	--without-srtp \
 	--without-suppserv \
@@ -165,6 +163,13 @@ else
 ASTERISK_CONF_OPTS += --without-ssl
 endif
 
+ifeq ($(BR2_PACKAGE_SPEEX),y)
+ASTERISK_DEPENDENCIES += speex
+ASTERISK_CONF_OPTS += --with-speex --with-speexdsp
+else
+ASTERISK_CONF_OPTS += --without-speex  --without-speexdsp
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 ASTERISK_DEPENDENCIES += zlib
 ASTERISK_CONF_OPTS += --with-z
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 16/52] package/asterisk: add optional libvorbis dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (14 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 15/52] package/asterisk: add optional speex dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 17/52] package/asterisk: add optional libilbc dependency Yann E. MORIN
                   ` (35 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 30c75bc..aa04c7e 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -86,7 +86,6 @@ ASTERISK_CONF_OPTS += \
 	--without-tonezone \
 	--without-unbound \
 	--without-unixodbc \
-	--without-vorbis \
 	--without-vpb \
 	--without-x11 \
 	--with-crypt \
@@ -170,6 +169,13 @@ else
 ASTERISK_CONF_OPTS += --without-speex  --without-speexdsp
 endif
 
+ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
+ASTERISK_DEPENDENCIES += libvorbis
+ASTERISK_CONF_OPTS += --with-vorbis
+else
+ASTERISK_CONF_OPTS += --without-vorbis
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 ASTERISK_DEPENDENCIES += zlib
 ASTERISK_CONF_OPTS += --with-z
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 17/52] package/asterisk: add optional libilbc dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (15 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 16/52] package/asterisk: add optional libvorbis dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 18/52] package/asterisk: add optional portaudio dependency Yann E. MORIN
                   ` (34 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index aa04c7e..642fe61 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -35,7 +35,6 @@ ASTERISK_CONF_OPTS += \
 	--without-cpg \
 	--without-curses \
 	--without-dahdi \
-	--without-ilbc \
 	--without-gtk2 \
 	--without-gmime \
 	--without-h323 \
@@ -125,6 +124,13 @@ else
 ASTERISK_CONF_OPTS += --without-bluetooth
 endif
 
+ifeq ($(BR2_PACKAGE_LIBILBC),y)
+ASTERISK_DEPENDENCIES += libilbc
+ASTERISK_CONF_OPTS += --with-ilbc
+else
+ASTERISK_CONF_OPTS += --without-ilbc
+endif
+
 ifeq ($(BR2_PACKAGE_LIBCURL),y)
 ASTERISK_DEPENDENCIES += libcurl
 ASTERISK_CONF_OPTS += --with-libcurl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 18/52] package/asterisk: add optional portaudio dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (16 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 17/52] package/asterisk: add optional libilbc dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 19/52] package/asterisk: add optional libical dependency Yann E. MORIN
                   ` (33 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 642fe61..4994111 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -66,7 +66,6 @@ ASTERISK_CONF_OPTS += \
 	--without-postgres \
 	--without-pjproject \
 	--without-popt \
-	--without-portaudio \
 	--without-pri \
 	--without-pwlib \
 	--without-radius \
@@ -161,6 +160,13 @@ else
 ASTERISK_CONF_OPTS += --without-opus
 endif
 
+ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
+ASTERISK_DEPENDENCIES += portaudio
+ASTERISK_CONF_OPTS += --with-portaudio
+else
+ASTERISK_CONF_OPTS += --without-portaudio
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 19/52] package/asterisk: add optional libical dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (17 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 18/52] package/asterisk: add optional portaudio dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 20/52] package/asterisk: add optional openldap dependency Yann E. MORIN
                   ` (32 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 4994111..70e8a60 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -39,7 +39,6 @@ ASTERISK_CONF_OPTS += \
 	--without-gmime \
 	--without-h323 \
 	--without-hoard \
-	--without-ical \
 	--without-iconv \
 	--without-iksemel \
 	--without-imap \
@@ -123,6 +122,13 @@ else
 ASTERISK_CONF_OPTS += --without-bluetooth
 endif
 
+ifeq ($(BR2_PACKAGE_LIBICAL),y)
+ASTERISK_DEPENDENCIES += libical
+ASTERISK_CONF_OPTS += --with-ical
+else
+ASTERISK_CONF_OPTS += --without-ical
+endif
+
 ifeq ($(BR2_PACKAGE_LIBILBC),y)
 ASTERISK_DEPENDENCIES += libilbc
 ASTERISK_CONF_OPTS += --with-ilbc
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 20/52] package/asterisk: add optional openldap dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (18 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 19/52] package/asterisk: add optional libical dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 21/52] package/asterisk: add optional freeradius-client dependency Yann E. MORIN
                   ` (31 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 70e8a60..8316ac2 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -48,7 +48,6 @@ ASTERISK_CONF_OPTS += \
 	--without-jack \
 	--without-uriparser \
 	--without-kqueue \
-	--without-ldap \
 	--without-libedit \
 	--without-libxslt \
 	--without-ltdl \
@@ -136,6 +135,13 @@ else
 ASTERISK_CONF_OPTS += --without-ilbc
 endif
 
+ifeq ($(BR2_PACKAGE_OPENLDAP),y)
+ASTERISK_DEPENDENCIES += openldap
+ASTERISK_CONF_OPTS += --without-ldap
+else
+ASTERISK_CONF_OPTS += --without-ldap
+endif
+
 ifeq ($(BR2_PACKAGE_LIBCURL),y)
 ASTERISK_DEPENDENCIES += libcurl
 ASTERISK_CONF_OPTS += --with-libcurl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 21/52] package/asterisk: add optional freeradius-client dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (19 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 20/52] package/asterisk: add optional openldap dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 22/52] package/asterisk: add optional libsrtp dependency Yann E. MORIN
                   ` (30 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 8316ac2..0fd2ecd 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -66,7 +66,6 @@ ASTERISK_CONF_OPTS += \
 	--without-popt \
 	--without-pri \
 	--without-pwlib \
-	--without-radius \
 	--without-resample \
 	--without-sdl \
 	--without-SDL_image \
@@ -179,6 +178,13 @@ else
 ASTERISK_CONF_OPTS += --without-portaudio
 endif
 
+ifeq ($(BR2_PACKAGE_FREERADIUS_CLIENT),y)
+ASTERISK_DEPENDENCIES += freeradius-client
+ASTERISK_CONF_OPTS += --with-radius
+else
+ASTERISK_CONF_OPTS += --without-radius
+endif
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 22/52] package/asterisk: add optional libsrtp dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (20 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 21/52] package/asterisk: add optional freeradius-client dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 23/52] package/dahdi-linux: new package Yann E. MORIN
                   ` (29 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 0fd2ecd..a63579a 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -72,7 +72,6 @@ ASTERISK_CONF_OPTS += \
 	--without-spandsp \
 	--without-ss7 \
 	--without-sqlite \
-	--without-srtp \
 	--without-suppserv \
 	--without-tds \
 	--without-termcap \
@@ -199,6 +198,13 @@ else
 ASTERISK_CONF_OPTS += --without-speex  --without-speexdsp
 endif
 
+ifeq ($(BR2_PACKAGE_LIBSRTP),y)
+ASTERISK_DEPENDENCIES += libsrtp
+ASTERISK_CONF_OPTS += --with-srtp
+else
+ASTERISK_CONF_OPTS += --without-srtp
+endif
+
 ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
 ASTERISK_DEPENDENCIES += libvorbis
 ASTERISK_CONF_OPTS += --with-vorbis
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 23/52] package/dahdi-linux: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (21 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 22/52] package/asterisk: add optional libsrtp dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 24/52] package/dahdi-tools: " Yann E. MORIN
                   ` (28 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

dahdi-linux provides kernel modules to drive a variety of telephony
cards, ranging from low-end one-channel to higher-end multi-channel
cards. It also provides headers for userland to talk to those cards.

With a bit of love, dahdi-linux can use our kernel-module
infrastructure. Wee! :-)

Still, there are a few specificities about dahdi-linux.

First, it needs to install a few binary firmware blobs, which it wants
to download at install time. Since we do want to be able to do
completely off-line builds, we need to downlaod them manually. So we
have the full list of firmware blobs (even if some can only be used on
an i386/x86_64 target, we still uconditionally download them), for which
we have locally-computed sha256 (no hash provided by upstream for the
blobs).

Second, the install procedure for the firmware blobs needs to have
access to the Linux kernel .config file, so it can decide whether to
install the blobs or not. We can force not to install them, but we can't
force to install them... :-/ And anyway, we'd have to do the same check
as is already done by dahdi-linux, so no need to duplicate that.

Finally, the licensing is relatively weird. Although it is obvious and
straightforward for the most part of dahdi-linux, consisting of mostly
GPLv2 and a few LGPLv2.1, there is one gotcha.

Of the firmware blobs, one is provided as a .o file, with no licensing
information whatsoever, without any source available from upstream, but
is directly linked to a GPLv2 file.

This is very concerning, but there is not much we can do about it,
except delegate to the legal reviewer whether that is acceptable or not.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                    |  1 +
 package/dahdi-linux/Config.in        | 15 ++++++
 package/dahdi-linux/dahdi-linux.hash | 23 ++++++++++
 package/dahdi-linux/dahdi-linux.mk   | 88 ++++++++++++++++++++++++++++++++++++
 4 files changed, 127 insertions(+)
 create mode 100644 package/dahdi-linux/Config.in
 create mode 100644 package/dahdi-linux/dahdi-linux.hash
 create mode 100644 package/dahdi-linux/dahdi-linux.mk

diff --git a/package/Config.in b/package/Config.in
index 2938443..3de7c57 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -356,6 +356,7 @@ endmenu
 	source "package/cdrkit/Config.in"
 	source "package/cryptsetup/Config.in"
 	source "package/cwiid/Config.in"
+	source "package/dahdi-linux/Config.in"
 	source "package/dbus/Config.in"
 	source "package/dbus-cpp/Config.in"
 	source "package/dbus-glib/Config.in"
diff --git a/package/dahdi-linux/Config.in b/package/dahdi-linux/Config.in
new file mode 100644
index 0000000..599b0c2
--- /dev/null
+++ b/package/dahdi-linux/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_DAHDI_LINUX
+	bool "dhadi-linux"
+	depends on BR2_LINUX_KERNEL
+	help
+	  DAHDI (Digium/Asterisk Hardware Device Interface) is the open
+	  source device interface technology used to control Digium and
+	  other legacy telephony interface cards.
+
+	  DAHDI Linux is the open source device driver framework used to
+	  interface Asterisk with telephony hardware.
+
+	  http://www.asterisk.org/downloads/dahdi
+
+comment "dahdi-linux needs a Linux kernel to be built"
+	depends on !BR2_LINUX_KERNEL
diff --git a/package/dahdi-linux/dahdi-linux.hash b/package/dahdi-linux/dahdi-linux.hash
new file mode 100644
index 0000000..532c0a8
--- /dev/null
+++ b/package/dahdi-linux/dahdi-linux.hash
@@ -0,0 +1,23 @@
+# sha1 from: http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases
+# sha256 locally computed
+sha1    8cbd55b8611c6ed80bcdf84d537566b4934f3def  dahdi-linux-2.11.1.tar.gz
+sha256  f59f382365118205e77d2874f1c0e1546e936247bcc45f07a43bc21778bee9df  dahdi-linux-2.11.1.tar.gz
+
+# Firmware files have no upstream hash, so sha56 locally computed
+sha256  3ff26cf80555fd7470b43a87c51d03c1db2a75abcd4561d79f69b6c48298e4a1  dahdi-fwload-vpmadt032-1.25.0.tar.gz
+sha256  d5b6ab6851e431afcfec2ecc39d95fa88fe3939ffdb2e3d4f28a43cabf30e95b  dahdi-fw-a4a-a0017.tar.gz
+sha256  e039af8bec36407b74e1dd9ebdd49ba077469eda79d4e6093721ed2836d4536f  dahdi-fw-a4b-d001e.tar.gz
+sha256  5064f9877b8aec99b19fd57988216fe1a9c0b7c07853dd3b32b5a55ab7b418e6  dahdi-fw-a8a-1d0017.tar.gz
+sha256  09a8992786309e025aa60b400a2c7d21226ac9bb6f1b66f562a5e7e9dc892b03  dahdi-fw-a8b-1f001e.tar.gz
+sha256  449ab3fd03d55d808e999efb7677cd04de202b92c9fcb039539a7e48a39a80f5  dahdi-fw-hx8-2.06.tar.gz
+sha256  7a006073202d67e45f1d5ff1e9c6e8663e6056cef9dc4c5abae86a1018db349c  dahdi-fw-oct6114-032-1.05.01.tar.gz
+sha256  56bac1f2024c76ecf9b6f40992eeea29a1fbee676bb2a37a058179bacfbb1c91  dahdi-fw-oct6114-064-1.05.01.tar.gz
+sha256  e1146749d205c41603b9b76852c3f8104dac233d0025d700db24504d10c99775  dahdi-fw-oct6114-128-1.05.01.tar.gz
+sha256  5fe5036a2766cf0e8a968b0c58b700507d86e1cde9296ca437170cc626a9c79c  dahdi-fw-oct6114-256-1.05.01.tar.gz
+sha256  11dd8d009809e41fc9a3a36766f59ff73d29075eede5b8724331d9a6e5259774  dahdi-fw-tc400m-MR6.12.tar.gz
+sha256  511c1966295a20df673bb87af30245f0ad165efd6ccb92b4d8ed535ca7f5ac65  dahdi-fw-te133-7a001e.tar.gz
+sha256  99f7c410bf47d2a5ae687d717e51448ce5b52aca902830bf39bffe683150fa2d  dahdi-fw-te134-780017.tar.gz
+sha256  c8f55d57cc0bf332e8d96cdf9ff6dd0e322f33581e1efc24c2b9a0e0c5eb7ee4  dahdi-fw-te435-13001e.tar.gz
+sha256  0980f4a8d191c6872aa27d971758046f0e7827ac161549f2cc1b0eeab0ae9333  dahdi-fw-te436-10017.tar.gz
+sha256  5b823e25828e2c1c6548886ad408b2e31dbc8cd17170c52592792d9c754a199c  dahdi-fw-te820-1.76.tar.gz
+sha256  6b199cf836f150f9cb35f763f0f502fb52cfa2724a449b500429c746973904ad  dahdi-fw-vpmoct032-1.12.0.tar.gz
diff --git a/package/dahdi-linux/dahdi-linux.mk b/package/dahdi-linux/dahdi-linux.mk
new file mode 100644
index 0000000..33db9fb
--- /dev/null
+++ b/package/dahdi-linux/dahdi-linux.mk
@@ -0,0 +1,88 @@
+################################################################################
+#
+# dahdi-linux
+#
+################################################################################
+
+DAHDI_LINUX_VERSION = 2.11.1
+DAHDI_LINUX_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases
+
+# We need to download all thoe firmware blobs ourselves, otherwise
+# dahdi-linux will try to download them at install time.
+DAHDI_LINUX_FW_SITE = http://downloads.digium.com/pub/telephony/firmware/releases
+DAHDI_LINUX_FW_FILES = \
+	dahdi-fwload-vpmadt032-1.25.0.tar.gz \
+	dahdi-fw-oct6114-032-1.05.01.tar.gz \
+	dahdi-fw-oct6114-064-1.05.01.tar.gz \
+	dahdi-fw-oct6114-128-1.05.01.tar.gz \
+	dahdi-fw-oct6114-256-1.05.01.tar.gz \
+	dahdi-fw-tc400m-MR6.12.tar.gz \
+	dahdi-fw-hx8-2.06.tar.gz \
+	dahdi-fw-vpmoct032-1.12.0.tar.gz \
+	dahdi-fw-te820-1.76.tar.gz \
+	dahdi-fw-te133-7a001e.tar.gz \
+	dahdi-fw-te134-780017.tar.gz \
+	dahdi-fw-a8b-1f001e.tar.gz \
+	dahdi-fw-a8a-1d0017.tar.gz \
+	dahdi-fw-a4b-d001e.tar.gz \
+	dahdi-fw-a4a-a0017.tar.gz \
+	dahdi-fw-te435-13001e.tar.gz \
+	dahdi-fw-te436-10017.tar.gz
+
+DAHDI_LINUX_EXTRA_DOWNLOADS = \
+	$(patsubst %,$(DAHDI_LINUX_FW_SITE)/%,$(DAHDI_LINUX_FW_FILES))
+
+# dahdi-linux claims to be GPLv2 with parts LGPLv2.1 (not 'or later'),
+# but there are the so-called firmware files (downloaded above) for
+# which the license is unclear: the header claims to be GPLv2, the
+# 'loader-wrapper' claims to be GPLv2, but there are two so-called
+# 'firmware' binary-only .o blobs for which the license is not
+# explicited, which look like they end up as part of a kernel module,
+# and for which the source is nowhere to be found on the upstream site
+# (they are only for x86/x86_64, but we still list them unconditionally).
+DAHDI_LINUX_LICENSE = GPLv2, LGPLv2.1, unknown (firmware files)
+DAHDI_LINUX_LICENSE_FILES = LICENSE LICENSE.LGPL
+
+DAHDI_LINUX_INSTALL_STAGING = YES
+
+DAHDI_LINUX_MODULE_SUBDIRS = drivers/dahdi
+
+DAHDI_LINUX_MODULE_MAKE_OPTS = \
+	KSRC=$(LINUX_DIR) \
+	KVERS=$(LINUX_VERSION_PROBED) \
+	DAHDI_BUILD_ALL=m \
+	DAHDI_INCLUDE=$(@D)/include \
+	INSTALL_MOD_DIR=dahdi
+
+define DAHDI_LINUX_EXTRACT_FW
+	$(foreach f,$(DAHDI_LINUX_FW_FILES),\
+		cp $(BR2_DL_DIR)/$(f) $(@D)/drivers/dahdi/firmware/$(f)$(sep))
+endef
+DAHDI_LINUX_POST_EXTRACT_HOOKS += DAHDI_LINUX_EXTRACT_FW
+
+# Need to pass the same options as for building the modules, because
+# it wants to scan Linux' .config file to check whether some options
+# are set or not (like CONFIG_FW_LOADER).
+define DAHDI_LINUX_CONFIGURE_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		$(DAHDI_LINUX_MODULE_MAKE_OPTS) \
+		prereq
+endef
+
+define DAHDI_LINUX_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		$(DAHDI_LINUX_MODULE_MAKE_OPTS) \
+		DESTDIR=$(STAGING_DIR) \
+		install-include
+endef
+
+define DAHDI_LINUX_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		$(DAHDI_LINUX_MODULE_MAKE_OPTS) \
+		DESTDIR=$(TARGET_DIR) \
+		install-firmware \
+		install-xpp-firm
+endef
+
+$(eval $(kernel-module))
+$(eval $(generic-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 24/52] package/dahdi-tools: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (22 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 23/52] package/dahdi-linux: new package Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 25/52] package/dahdi-tools: add USB support Yann E. MORIN
                   ` (27 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Also provides libraries, so install in staging as well.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                               |  1 +
 package/dahdi-tools/0001-no-build-docs.patch    | 16 +++++++++++
 package/dahdi-tools/0002-no-perl-manpages.patch | 37 +++++++++++++++++++++++++
 package/dahdi-tools/Config.in                   | 23 +++++++++++++++
 package/dahdi-tools/dahdi-tools.hash            |  4 +++
 package/dahdi-tools/dahdi-tools.mk              | 32 +++++++++++++++++++++
 6 files changed, 113 insertions(+)
 create mode 100644 package/dahdi-tools/0001-no-build-docs.patch
 create mode 100644 package/dahdi-tools/0002-no-perl-manpages.patch
 create mode 100644 package/dahdi-tools/Config.in
 create mode 100644 package/dahdi-tools/dahdi-tools.hash
 create mode 100644 package/dahdi-tools/dahdi-tools.mk

diff --git a/package/Config.in b/package/Config.in
index 3de7c57..0f5d767 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -357,6 +357,7 @@ endmenu
 	source "package/cryptsetup/Config.in"
 	source "package/cwiid/Config.in"
 	source "package/dahdi-linux/Config.in"
+	source "package/dahdi-tools/Config.in"
 	source "package/dbus/Config.in"
 	source "package/dbus-cpp/Config.in"
 	source "package/dbus-glib/Config.in"
diff --git a/package/dahdi-tools/0001-no-build-docs.patch b/package/dahdi-tools/0001-no-build-docs.patch
new file mode 100644
index 0000000..311a129
--- /dev/null
+++ b/package/dahdi-tools/0001-no-build-docs.patch
@@ -0,0 +1,16 @@
+Do not build the documentation.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN dahdi-tools-2.11.0.orig/Makefile.am dahdi-tools-2.11.0/Makefile.am
+--- dahdi-tools-2.11.0.orig/Makefile.am	2015-12-22 21:19:12.000000000 +0100
++++ dahdi-tools-2.11.0/Makefile.am	2016-01-04 23:23:34.201304133 +0100
+@@ -17,7 +17,7 @@
+ 	#-Wformat=2
+ endif
+ 
+-SUBDIRS	= xpp doc hotplug
++SUBDIRS	= xpp hotplug
+ 
+ if PPPD
+ SUBDIRS	+= ppp
diff --git a/package/dahdi-tools/0002-no-perl-manpages.patch b/package/dahdi-tools/0002-no-perl-manpages.patch
new file mode 100644
index 0000000..dae1b6c
--- /dev/null
+++ b/package/dahdi-tools/0002-no-perl-manpages.patch
@@ -0,0 +1,37 @@
+xpp: do not try to install the manpages for the perl tools
+
+The man pages are generated neither at build time nor at install time,
+so the install step fails.
+
+Just disable them.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN dahdi-tools-2.11.0.orig/xpp/Makefile.am dahdi-tools-2.11.0/xpp/Makefile.am
+--- dahdi-tools-2.11.0.orig/xpp/Makefile.am	2015-12-22 21:19:12.000000000 +0100
++++ dahdi-tools-2.11.0/xpp/Makefile.am	2016-01-04 23:56:31.851820973 +0100
+@@ -3,7 +3,6 @@
+ 
+ SUBDIRS		=
+ 
+-man_MANS	=
+ 
+ 
+ # FIXME: try to improve code, so we can use $(PEDANTIC)
+@@ -59,7 +58,6 @@
+ udevrules_DATA	= xpp.rules
+ 
+ dist_sbin_SCRIPTS	= $(perl_scripts)
+-man_MANS		+= $(perl_mans)
+ CLEANFILES		= $(perl_checks) $(perl_mans)
+ 
+ if	PBX_USB
+@@ -147,8 +145,6 @@
+ 		astribank_allow.8 \
+ 		astribank_is_starting.8
+ 
+-man_MANS	+= $(man_pages)
+-
+ endif
+ 
+ EXTRA_DIST	= \
diff --git a/package/dahdi-tools/Config.in b/package/dahdi-tools/Config.in
new file mode 100644
index 0000000..9799ed4
--- /dev/null
+++ b/package/dahdi-tools/Config.in
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_DAHDI_TOOLS
+	bool "dahdi-tools"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_LINUX_KERNEL # dahdi-linux
+	depends on BR2_USE_MMU # perl
+	select BR2_PACKAGE_DAHDI_LINUX
+        select BR2_PACKAGE_PERL
+	help
+	  DAHDI (Digium/Asterisk Hardware Device Interface) is the open
+	  source device interface technology used to control Digium and
+	  other legacy telephony interface cards.
+
+	  DAHDI Tools is a package of utilities for managing and
+	  monitoring DAHDI devices.
+
+	  http://www.asterisk.org/downloads/dahdi
+
+# Two comments, otherwise it may not fit in menuconfig for narrow terminals
+comment "dahdi-tools needs a toolchain w/ threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_LINUX_KERNEL
+
+comment "dahdi-tools needs a Linux kernel to be built"
+	depends on !BR2_LINUX_KERNEL
diff --git a/package/dahdi-tools/dahdi-tools.hash b/package/dahdi-tools/dahdi-tools.hash
new file mode 100644
index 0000000..10e122a
--- /dev/null
+++ b/package/dahdi-tools/dahdi-tools.hash
@@ -0,0 +1,4 @@
+# sha1 from http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases
+# sha256 locally computed
+sha1    5da944e6d59a977f814230253f3ddf2847e7f31b                          dahdi-tools-2.11.1.tar.gz
+sha256  53ffeb333f3e44b0c88e5b17475cdbf87d3f652eb81a6422de76250c061e2909  dahdi-tools-2.11.1.tar.gz
diff --git a/package/dahdi-tools/dahdi-tools.mk b/package/dahdi-tools/dahdi-tools.mk
new file mode 100644
index 0000000..e97d944
--- /dev/null
+++ b/package/dahdi-tools/dahdi-tools.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# dahdi-tools
+#
+################################################################################
+
+DAHDI_TOOLS_VERSION = 2.11.1
+DAHDI_TOOLS_SITE = http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases
+
+DAHDI_TOOLS_LICENSE = GPLv2, LGPLv2.1
+DAHDI_TOOLS_LICENSE_FILES = LICENSE LICENSE.LGPL
+
+DAHDI_TOOLS_DEPENDENCIES = dahdi-linux perl
+
+DAHDI_TOOLS_INSTALL_STAGING = YES
+DAHDI_TOOLS_AUTORECONF = YES
+
+# Buildroot globally exports PERL with the value it has on the host, so we need
+# to override it with the location where it will be on the target.
+DAHDI_TOOLS_CONF_ENV = PERL=/usr/bin/perl
+
+DAHDI_TOOLS_CONF_OPTS = \
+	--without-newt \
+	--without-usb \
+	--without-pcap \
+	--without-libusbx \
+	--without-libusb \
+	--without-selinux \
+	--without-ppp \
+	--with-perllib=/usr/lib/perl5/$(PERL_VERSION)
+
+$(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 25/52] package/dahdi-tools: add USB support
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (23 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 24/52] package/dahdi-tools: " Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 26/52] package/asterisk: add support for dahdi Yann E. MORIN
                   ` (26 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

dahdi-tools can use either libusb-1.0.x or libusb-0.1.x, and Buildroot
packages both, respectively as libusb and as libusb-compat.

However, the terminology used by dahdi-tools is a little bit confusing.
dahdi-tools references libusb-1.0.x as libusbx, while it knows
libusb-0.1.x as just plain libusb.

So, here's a samll summary table;

    Those tools   |       libusb version        |
    know it as... | 0.1.x         | 1.0.x       |
    --------------+---------------+-------------+
    Buildroot     | libusb-compat | libusb      |
    dahdi-tools   | libusb        | libusbx     |

However, in Buildroot, libusb-compat (0.1.x) depends on libusb (1.0.x).
So, whenever libusb-compat is enabled, we can be sure that libusb is
enabled too.

So, from the perspective of dahdi-tools, we need not care about libusb
(0.1.x) since we will always have libusbx (1.0.x).

Ergo, we only care about Buildroot libusb (1.0.x) to decide whether or
not to enable USB support in dahdi-tools with libusbx, while libusb is
always disabled.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/dahdi-tools/dahdi-tools.mk | 29 +++++++++++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)

diff --git a/package/dahdi-tools/dahdi-tools.mk b/package/dahdi-tools/dahdi-tools.mk
index e97d944..3930968 100644
--- a/package/dahdi-tools/dahdi-tools.mk
+++ b/package/dahdi-tools/dahdi-tools.mk
@@ -21,12 +21,37 @@ DAHDI_TOOLS_CONF_ENV = PERL=/usr/bin/perl
 
 DAHDI_TOOLS_CONF_OPTS = \
 	--without-newt \
-	--without-usb \
 	--without-pcap \
-	--without-libusbx \
 	--without-libusb \
 	--without-selinux \
 	--without-ppp \
 	--with-perllib=/usr/lib/perl5/$(PERL_VERSION)
 
+# dahdi-tools can use either libusb-1.0.x (libusb in Buildroot)
+# or libusb-0.9.x (libusb-compat in Buildroot). The former is
+# enabled using --with-libusbx, while the latter is enabled using
+# --with-libusb. Both require --with-usb for USB support to be
+# effectively enabled.
+#
+# Note: libsubx was a fork of libusb, which was merged back into
+# libusb for the 1.0.18 release in early 2014, but it looks like
+# dahdi-tools uses the libusbx vs. libusb to differentiate whether
+# to use the 1.0.x vs. 0.9.x libusb. Since in Buildroot, libusb-compat
+# anyway depends on libusb, presence of libusb-compat means that
+# libusb is enabled, so we only support libusb for dahdi-tools.
+#
+# Yet, we must ensure build-ordering in case libusb-compat id enabled.
+#
+# Yes, this is very confusing.
+#
+ifeq ($(BR2_PACKAGE_LIBUSB),y)
+DAHDI_TOOLS_DEPENDENCIES += libusb
+DAHDI_TOOLS_CONF_OPTS += --with-usb --with-libusbx
+ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y)
+DAHDI_TOOLS_DEPENDENCIES += libusb-comapt
+endif
+else
+DAHDI_TOOLS_CONF_OPTS += --without-usb --without-libusbx
+endif
+
 $(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 26/52] package/asterisk: add support for dahdi
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (24 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 25/52] package/dahdi-tools: add USB support Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 27/52] package/libss7: new package Yann E. MORIN
                   ` (25 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

DAHDI is the 'framework' to drive actual telehony cards. Using telephony
cards without signalling is pretty much meaningless, so signalling will
be added in later commits.

libtonezone is provided by dhadi-tools, while the dahdi headers are
provided by dahdi-linux. Go figure.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index a63579a..a307fa2 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -34,7 +34,6 @@ ASTERISK_CONF_OPTS += \
 	--without-cap \
 	--without-cpg \
 	--without-curses \
-	--without-dahdi \
 	--without-gtk2 \
 	--without-gmime \
 	--without-h323 \
@@ -77,7 +76,6 @@ ASTERISK_CONF_OPTS += \
 	--without-termcap \
 	--without-timerfd \
 	--without-tinfo \
-	--without-tonezone \
 	--without-unbound \
 	--without-unixodbc \
 	--without-vpb \
@@ -184,6 +182,13 @@ else
 ASTERISK_CONF_OPTS += --without-radius
 endif
 
+ifeq ($(BR2_PACKAGE_DAHDI_LINUX)$(BR2_PACKAGE_DAHDI_TOOLS),yy)
+ASTERISK_DEPENDENCIES += dahdi-linux dahdi-tools
+ASTERISK_CONF_OPTS += --with-dahdi --with-tonezone
+else
+ASTERISK_CONF_OPTS += --without-dahdi --without-tonezone
+endif # DAHDI
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ASTERISK_DEPENDENCIES += openssl
 ASTERISK_CONF_OPTS += --with-ssl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 27/52] package/libss7: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (25 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 26/52] package/asterisk: add support for dahdi Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 28/52] package/asterisk: add support for SS7 Yann E. MORIN
                   ` (24 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

The Makefile in the package is not very versatile, so we need to go our
way to only build and install what we can.

Fixing the Makefile is not worth it, considering that we can quite
easily do all of that in our .mk.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in          |  1 +
 package/libss7/Config.in   | 18 +++++++++++++++
 package/libss7/libss7.hash |  3 +++
 package/libss7/libss7.mk   | 55 ++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 77 insertions(+)
 create mode 100644 package/libss7/Config.in
 create mode 100644 package/libss7/libss7.hash
 create mode 100644 package/libss7/libss7.mk

diff --git a/package/Config.in b/package/Config.in
index 0f5d767..4cbc2c8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1062,6 +1062,7 @@ menu "Hardware handling"
 	source "package/libsigrok/Config.in"
 	source "package/libsigrokdecode/Config.in"
 	source "package/libsoc/Config.in"
+	source "package/libss7/Config.in"
 	source "package/libusb/Config.in"
 	source "package/libusb-compat/Config.in"
 	source "package/libusbgx/Config.in"
diff --git a/package/libss7/Config.in b/package/libss7/Config.in
new file mode 100644
index 0000000..b99c578
--- /dev/null
+++ b/package/libss7/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_LIBSS7
+	bool "libss7"
+	depends on BR2_LINUX_KERNEL
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_DAHDI_LINUX
+	select BR2_PACKAGE_DAHDI_TOOLS
+	help
+	  libss7 is an open source library that encapsulates the
+	  protocols used to communicate using Signaling System 7
+	  over ISDN (T1, E1).
+
+	  http://www.asterisk.org/downloads/libss7
+
+comment "libss7 needs a kernel to be built"
+	depends on !BR2_LINUX_KERNEL
+
+comment "libss7 needs a toolchain w/ threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libss7/libss7.hash b/package/libss7/libss7.hash
new file mode 100644
index 0000000..e5eb55e
--- /dev/null
+++ b/package/libss7/libss7.hash
@@ -0,0 +1,3 @@
+# Hashes from http://downloads.asterisk.org/pub/telephony/libss7/releases/
+sha1    7112a0717293fc273d5d488e1387ad28abe4e9b3  libss7-2.0.0.tar.gz
+sha256  5af00853cfb2bc6bcf050947804db132ae6872db0cd2ab24b5378828f78eda52  libss7-2.0.0.tar.gz
diff --git a/package/libss7/libss7.mk b/package/libss7/libss7.mk
new file mode 100644
index 0000000..f01e2d1
--- /dev/null
+++ b/package/libss7/libss7.mk
@@ -0,0 +1,55 @@
+################################################################################
+#
+# libss7
+#
+################################################################################
+
+LIBSS7_VERSION = 2.0.0
+LIBSS7_SITE = http://downloads.asterisk.org/pub/telephony/libss7/releases
+
+LIBSS7_LICENSE = GPLv2
+LIBSS7_LICENSE_FILES = LICENSE
+
+LIBSS7_DEPENDENCIES = dahdi-linux dahdi-tools
+LIBSS7_INSTALL_STAGING = YES
+
+# The Makefile default rule will always try to generate both libraries.
+# So we need to explicitly build only what we can.
+ifneq ($(BR2_SHARED_LIBS),y)
+LIBSS7_LIBS = libss7.a
+define LIBSS7_INSTALL_A
+	$(INSTALL) -D -m 0644 $(@D)/libss7.a $(1)/usr/lib/libss7.a
+endef
+endif
+
+ifneq ($(BR2_STATIC_LIBS),y)
+LIBSS7_LIBS += libss7.so.2.0
+define LIBSS7_INSTALL_SO
+	$(INSTALL) -D -m 0644 $(@D)/libss7.so.2.0 $(1)/usr/lib/libss7.so.2.0
+	ln -sf libss7.so.2.0 $(1)/usr/lib/libss7.so
+endef
+endif
+
+# The Makefile erroneously looks for host headers to decide what utilities
+# to build, and thus misses the test utilities. So we explicitly build them
+# as they can be usefull to validate that the hardware does work.
+LIBSS7_UTILS = parser_debug ss7test ss7linktest
+
+define LIBSS7_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
+		$(LIBSS7_LIBS) $(LIBSS7_UTILS)
+endef
+
+define LIBSS7_INSTALL_STAGING_CMDS
+	$(call LIBSS7_INSTALL_A,$(STAGING_DIR))
+	$(call LIBSS7_INSTALL_SO,$(STAGING_DIR))
+	$(INSTALL) -D -m 0644 $(@D)/libss7.h $(STAGING_DIR)/usr/include/libss7.h
+endef
+
+define LIBSS7_INSTALL_TARGET_CMDS
+	$(foreach u,$(LIBSS7_UTILS),\
+		$(INSTALL) -D -m 0755 $(@D)/$(u) $(TARGET_DIR)/usr/sbin/$(u)$(sep))
+	$(call LIBSS7_INSTALL_SO,$(TARGET_DIR))
+endef
+
+$(eval $(generic-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 28/52] package/asterisk: add support for SS7
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (26 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 27/52] package/libss7: new package Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 29/52] package/libpri: new package Yann E. MORIN
                   ` (23 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index a307fa2..0a33e61 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -69,7 +69,6 @@ ASTERISK_CONF_OPTS += \
 	--without-sdl \
 	--without-SDL_image \
 	--without-spandsp \
-	--without-ss7 \
 	--without-sqlite \
 	--without-suppserv \
 	--without-tds \
@@ -185,8 +184,16 @@ endif
 ifeq ($(BR2_PACKAGE_DAHDI_LINUX)$(BR2_PACKAGE_DAHDI_TOOLS),yy)
 ASTERISK_DEPENDENCIES += dahdi-linux dahdi-tools
 ASTERISK_CONF_OPTS += --with-dahdi --with-tonezone
+
+ifeq ($(BR2_PACKAGE_LIBSS7),y)
+ASTERISK_DEPENDENCIES += libss7
+ASTERISK_CONF_OPTS += --with-ss7
 else
-ASTERISK_CONF_OPTS += --without-dahdi --without-tonezone
+ASTERISK_CONF_OPTS += --without-ss7
+endif # SS7
+
+else
+ASTERISK_CONF_OPTS += --without-dahdi --without-tonezone --without-ss7
 endif # DAHDI
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 29/52] package/libpri: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (27 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 28/52] package/asterisk: add support for SS7 Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 30/52] package/asterisk: add support for PRI signalling Yann E. MORIN
                   ` (22 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

The Makefile in the package is not very versatile, so we need to go our
way to only build and install what we can.

Fixing the Makefile is not worth it, considering that we can quite
easily do all of that in our .mk.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in          |  1 +
 package/libpri/Config.in   | 21 +++++++++++++++++++
 package/libpri/libpri.hash |  3 +++
 package/libpri/libpri.mk   | 52 ++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 77 insertions(+)
 create mode 100644 package/libpri/Config.in
 create mode 100644 package/libpri/libpri.hash
 create mode 100644 package/libpri/libpri.mk

diff --git a/package/Config.in b/package/Config.in
index 4cbc2c8..b3a9539 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1053,6 +1053,7 @@ menu "Hardware handling"
 	source "package/libnfc/Config.in"
 	source "package/libpciaccess/Config.in"
 	source "package/libphidget/Config.in"
+	source "package/libpri/Config.in"
 	source "package/libqmi/Config.in"
 	source "package/libraw1394/Config.in"
 	source "package/librtas/Config.in"
diff --git a/package/libpri/Config.in b/package/libpri/Config.in
new file mode 100644
index 0000000..de2d96f
--- /dev/null
+++ b/package/libpri/Config.in
@@ -0,0 +1,21 @@
+config BR2_PACKAGE_LIBPRI
+	bool "libpri"
+	depends on BR2_USE_MMU # fork()
+	depends on BR2_LINUX_KERNEL
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_DAHDI_LINUX
+	select BR2_PACKAGE_DAHDI_TOOLS
+	help
+	  libpri is an open source library that encapsulates the
+	  protocols used to communicate over ISDN Primary Rate
+	  Interfaces (T1, E1, J1).
+
+	  http://www.asterisk.org/downloads/libpri
+
+comment "libpri needs a kernel to be built"
+	depends on BR2_USE_MMU
+	depends on !BR2_LINUX_KERNEL
+
+comment "libpri needs a toolchain w/ threads"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libpri/libpri.hash b/package/libpri/libpri.hash
new file mode 100644
index 0000000..408779f
--- /dev/null
+++ b/package/libpri/libpri.hash
@@ -0,0 +1,3 @@
+# sha1 and sha256 from http://downloads.asterisk.org/pub/telephony/libpri/releases/
+sha1    63536f3300fb007dfd5fe8064406992ca938bd9a                          libpri-1.5.0.tar.gz
+sha256  ee224bc4aa65c54546bd09675c3f0b71817ce9e277332bce86989d8dcd556a24  libpri-1.5.0.tar.gz
diff --git a/package/libpri/libpri.mk b/package/libpri/libpri.mk
new file mode 100644
index 0000000..f4ebdb7
--- /dev/null
+++ b/package/libpri/libpri.mk
@@ -0,0 +1,52 @@
+################################################################################
+#
+# libpri
+#
+################################################################################
+
+LIBPRI_VERSION = 1.5.0
+LIBPRI_SITE = http://downloads.asterisk.org/pub/telephony/libpri/releases
+
+LIBPRI_LICENSE = GPLv2 w/ OpenH323 exception
+LIBPRI_LICENSE_FILES = LICENSE README
+
+LIBPRI_DEPENDENCIES = dahdi-linux dahdi-tools
+LIBPRI_INSTALL_STAGING = YES
+
+# The Makefile default rule will always try to generate both libraries.
+#    16 # So we need to explicitly build only what we can.
+ifneq ($(BR2_SHARED_LIBS),y)
+LIBPRI_LIBS = libpri.a
+define LIBPRI_INSTALL_A
+	$(INSTALL) -D -m 0644 $(@D)/libpri.a $(1)/usr/lib/libpri.a
+endef
+endif
+
+ifneq ($(BR2_STATIC_LIBS),y)
+LIBPRI_LIBS += libpri.so.1.4
+define LIBPRI_INSTALL_SO
+	$(INSTALL) -D -m 0644 $(@D)/libpri.so.1.4 $(1)/usr/lib/libpri.so.1.4
+	ln -sf libpri.so.1.4 $(1)/usr/lib/libpri.so
+endef
+endif
+
+LIBPRI_UTILS = pridump pritest rosetest testprilib
+
+define LIBPRI_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \
+		$(LIBPRI_LIBS) $(LIBPRI_UTILS)
+endef
+
+define LIBPRI_INSTALL_STAGING_CMDS
+	$(call LIBPRI_INSTALL_A,$(STAGING_DIR))
+	$(call LIBPRI_INSTALL_SO,$(STAGING_DIR))
+	$(INSTALL) -D -m 0644 $(@D)/libpri.h $(STAGING_DIR)/usr/include/libpri.h
+endef
+
+define LIBPRI_INSTALL_TARGET_CMDS
+	$(foreach u,$(LIBPRI_UTILS),\
+		$(INSTALL) -D -m 0755 $(@D)/$(u) $(TARGET_DIR)/usr/sbin/$(u)$(sep))
+	$(call LIBPRI_INSTALL_SO,$(TARGET_DIR))
+endef
+
+$(eval $(generic-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 30/52] package/asterisk: add support for PRI signalling
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (28 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 29/52] package/libpri: new package Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 31/52] package/spandsp: new package Yann E. MORIN
                   ` (21 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 0a33e61..ea27c56 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -63,7 +63,6 @@ ASTERISK_CONF_OPTS += \
 	--without-postgres \
 	--without-pjproject \
 	--without-popt \
-	--without-pri \
 	--without-pwlib \
 	--without-resample \
 	--without-sdl \
@@ -185,6 +184,13 @@ ifeq ($(BR2_PACKAGE_DAHDI_LINUX)$(BR2_PACKAGE_DAHDI_TOOLS),yy)
 ASTERISK_DEPENDENCIES += dahdi-linux dahdi-tools
 ASTERISK_CONF_OPTS += --with-dahdi --with-tonezone
 
+ifeq ($(BR2_PACKAGE_LIBPRI),y)
+ASTERISK_DEPENDENCIES += libpri
+ASTERISK_CONF_OPTS += --with-pri
+else
+ASTERISK_CONF_OPTS += --without-pri
+endif # PRI
+
 ifeq ($(BR2_PACKAGE_LIBSS7),y)
 ASTERISK_DEPENDENCIES += libss7
 ASTERISK_CONF_OPTS += --with-ss7
@@ -193,7 +199,9 @@ ASTERISK_CONF_OPTS += --without-ss7
 endif # SS7
 
 else
-ASTERISK_CONF_OPTS += --without-dahdi --without-tonezone --without-ss7
+ASTERISK_CONF_OPTS += \
+	--without-dahdi --without-tonezone \
+	--without-pri --without-ss7
 endif # DAHDI
 
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 31/52] package/spandsp: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (29 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 30/52] package/asterisk: add support for PRI signalling Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 32/52] package/asterisk: add optional spandsp support Yann E. MORIN
                   ` (20 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in            |  1 +
 package/spandsp/Config.in    |  9 +++++++++
 package/spandsp/spandsp.hash |  2 ++
 package/spandsp/spandsp.mk   | 27 +++++++++++++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 package/spandsp/Config.in
 create mode 100644 package/spandsp/spandsp.hash
 create mode 100644 package/spandsp/spandsp.mk

diff --git a/package/Config.in b/package/Config.in
index b3a9539..dd9f3de 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -874,6 +874,7 @@ menu "Audio/Sound"
 	source "package/opusfile/Config.in"
 	source "package/portaudio/Config.in"
 	source "package/sbc/Config.in"
+	source "package/spandsp/Config.in"
 	source "package/speex/Config.in"
 	source "package/taglib/Config.in"
 	source "package/tinyalsa/Config.in"
diff --git a/package/spandsp/Config.in b/package/spandsp/Config.in
new file mode 100644
index 0000000..a2d5b85
--- /dev/null
+++ b/package/spandsp/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_SPANDSP
+	bool "spandsp"
+	select BR2_PACKAGE_TIFF
+	help
+	  Spandsp is a library of many DSP functions for telephony.
+	  These range from simple modules, such as DTMF detection, to
+	  a complete software FAX machine.
+
+	  http://www.soft-switch.org/
diff --git a/package/spandsp/spandsp.hash b/package/spandsp/spandsp.hash
new file mode 100644
index 0000000..29185da
--- /dev/null
+++ b/package/spandsp/spandsp.hash
@@ -0,0 +1,2 @@
+# sha256 locally computed
+sha256  cc053ac67e8ac4bb992f258fd94f275a7872df959f6a87763965feabfdcc9465  spandsp-0.0.6.tar.gz
diff --git a/package/spandsp/spandsp.mk b/package/spandsp/spandsp.mk
new file mode 100644
index 0000000..661f67e
--- /dev/null
+++ b/package/spandsp/spandsp.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# spandsp
+#
+################################################################################
+
+SPANDSP_VERSION = 0.0.6
+SPANDSP_SITE = http://www.soft-switch.org/downloads/spandsp
+
+SPANDSP_LICENSE = LGPLv2.1 (library), GPLv2 (test suite)
+SPANDSP_LICENSE_FILES = COPYING
+
+SPANDSP_DEPENDENCIES = tiff
+SPANDSP_INSTALL_STAGING = YES
+
+SPANDSP_CONF_OPTS = \
+	--disable-doc \
+	--disable-builtin-tiff \
+	$(if $(BR2_X86_CPU_HAS_MMX),--enable-mmx,--disable-mmx) \
+	$(if $(BR2_X86_CPU_HAS_SSE),--enable-sse,--disable-sse) \
+	$(if $(BR2_X86_CPU_HAS_SSE2),--enable-sse2,--disable-sse2) \
+	$(if $(BR2_X86_CPU_HAS_SSE3),--enable-sse3,--disable-sse3) \
+	$(if $(BR2_X86_CPU_HAS_SSSE3),--enable-ssse3,--disable-ssse3) \
+	$(if $(BR2_X86_CPU_HAS_SSE4),--enable-sse4-1,--disable-sse4-1) \
+	$(if $(BR2_X86_CPU_HAS_SSE42),--enable-sse4-2,--disable-sse4-2)
+
+$(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 32/52] package/asterisk: add optional spandsp support
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (30 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 31/52] package/spandsp: new package Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 33/52] package/libqb: new package Yann E. MORIN
                   ` (19 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index ea27c56..e5fd28e 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -67,7 +67,6 @@ ASTERISK_CONF_OPTS += \
 	--without-resample \
 	--without-sdl \
 	--without-SDL_image \
-	--without-spandsp \
 	--without-sqlite \
 	--without-suppserv \
 	--without-tds \
@@ -211,6 +210,13 @@ else
 ASTERISK_CONF_OPTS += --without-ssl
 endif
 
+ifeq ($(BR2_PACKAGE_SPANDSP),y)
+ASTERISK_DEPENDENCIES += spandsp
+ASTERISK_CONF_OPTS += --with-spandsp
+else
+ASTERISK_CONF_OPTS += --without-spandsp
+endif
+
 ifeq ($(BR2_PACKAGE_SPEEX),y)
 ASTERISK_DEPENDENCIES += speex
 ASTERISK_CONF_OPTS += --with-speex --with-speexdsp
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 33/52] package/libqb: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (31 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 32/52] package/asterisk: add optional spandsp support Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 34/52] package/corosync: " Yann E. MORIN
                   ` (18 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                                  |  1 +
 ...fix-CLOCK_MONOTONIC-check-for-cross-compi.patch | 33 ++++++++++++++++++++++
 package/libqb/Config.in                            | 12 ++++++++
 package/libqb/libqb.hash                           |  2 ++
 package/libqb/libqb.mk                             | 32 +++++++++++++++++++++
 5 files changed, 80 insertions(+)
 create mode 100644 package/libqb/0001-bconfigure-fix-CLOCK_MONOTONIC-check-for-cross-compi.patch
 create mode 100644 package/libqb/Config.in
 create mode 100644 package/libqb/libqb.hash
 create mode 100644 package/libqb/libqb.mk

diff --git a/package/Config.in b/package/Config.in
index dd9f3de..1a754d4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1337,6 +1337,7 @@ menu "Other"
 	source "package/libplist/Config.in"
 	source "package/libpthread-stubs/Config.in"
 	source "package/libpthsem/Config.in"
+	source "package/libqb/Config.in"
 	source "package/libseccomp/Config.in"
 	source "package/libsigc/Config.in"
 	source "package/libsigsegv/Config.in"
diff --git a/package/libqb/0001-bconfigure-fix-CLOCK_MONOTONIC-check-for-cross-compi.patch b/package/libqb/0001-bconfigure-fix-CLOCK_MONOTONIC-check-for-cross-compi.patch
new file mode 100644
index 0000000..6d22649
--- /dev/null
+++ b/package/libqb/0001-bconfigure-fix-CLOCK_MONOTONIC-check-for-cross-compi.patch
@@ -0,0 +1,33 @@
+From f9857721bfe5c47253bc2cf487d9dcc94cbce3c2 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Mon, 26 Dec 2016 19:38:45 +0100
+Subject: [PATCH] bconfigure: fix CLOCK_MONOTONIC check for cross-compilation
+
+In cross-compilation, we can't run test programs, so configure just
+bails out. Since there is no cache variable (e.g. ac_cv_blabla, we can't
+even provide the correct result.
+
+But in thise case, we don't really need to run to start with; we just
+need to check if the toolchain headers know about CLOCK_MONOTONIC.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 560b330..6972213 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -179,7 +179,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+                  )
+ 
+ AC_MSG_CHECKING(for a working clock_getres(CLOCK_MONOTONIC, &ts))
+-AC_RUN_IFELSE([AC_LANG_PROGRAM(
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[#include <time.h>]],
+ [[struct timespec ts; if(clock_getres(CLOCK_MONOTONIC, &ts)) return -1;]])],
+                     [
+-- 
+2.7.4
+
diff --git a/package/libqb/Config.in b/package/libqb/Config.in
new file mode 100644
index 0000000..1bfea8b
--- /dev/null
+++ b/package/libqb/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_LIBQB
+	bool "libqb"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	help
+	  libqb is a library with the primary purpose of providing high
+	  performance client server reusable features. It provides high
+	  performance logging, tracing, ipc, and poll.
+
+	  https://github.com/clusterlabs/libqb/wiki
+
+comment "libqb needs a toolchain w/ threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libqb/libqb.hash b/package/libqb/libqb.hash
new file mode 100644
index 0000000..b1a9320
--- /dev/null
+++ b/package/libqb/libqb.hash
@@ -0,0 +1,2 @@
+# sha256 locally computed
+sha256  98a6f8d7b83013747788ff7f1aace387ec532a8e7fbecc354ad9260f426dd518  libqb-v1.0.1.tar.gz
diff --git a/package/libqb/libqb.mk b/package/libqb/libqb.mk
new file mode 100644
index 0000000..5ca2480
--- /dev/null
+++ b/package/libqb/libqb.mk
@@ -0,0 +1,32 @@
+################################################################################
+#
+# libqb
+#
+################################################################################
+
+LIBQB_VERSION = v1.0.1
+LIBQB_SITE = $(call github,ClusterLabs,libqb,$(LIBQB_VERSION))
+
+LIBQB_LICENSE = LGPLv2.1+
+LIBQB_LICENSE_FILES = COPYING
+
+LIBQB_DEPENDENCIES = host-pkgconf
+
+# Straight out of the repository, no configure present. Also, we do patch
+# configure.ac.
+LIBQB_AUTORECONF = YES
+
+LIBQB_INSTALL_STAGING = YES
+
+define LIBQB_M4
+	$(INSTALL) -d -m 0755 $(@D)/m4
+endef
+LIBQB_POST_EXTRACT_HOOKS += LIBQB_M4
+
+# Don't build docs
+LIBQB_CONF_ENV = ac_cv_prog_DOXYGEN=
+
+# Don't use -Werror
+LIBQB_CONF_OPTS = --disable-fatal-warnings
+
+$(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 34/52] package/corosync: new package
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (32 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 33/52] package/libqb: new package Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 35/52] package/corosync: add optional dbus support Yann E. MORIN
                   ` (17 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in              |  1 +
 package/corosync/Config.in     | 20 ++++++++++++++++++
 package/corosync/corosync.hash |  2 ++
 package/corosync/corosync.mk   | 47 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 70 insertions(+)
 create mode 100644 package/corosync/Config.in
 create mode 100644 package/corosync/corosync.hash
 create mode 100644 package/corosync/corosync.mk

diff --git a/package/Config.in b/package/Config.in
index 1a754d4..4b7845c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1294,6 +1294,7 @@ menu "Other"
 	source "package/boost/Config.in"
 	source "package/clapack/Config.in"
 	source "package/classpath/Config.in"
+	source "package/corosync/Config.in"
 	source "package/cppcms/Config.in"
 	source "package/dawgdic/Config.in"
 	source "package/ding-libs/Config.in"
diff --git a/package/corosync/Config.in b/package/corosync/Config.in
new file mode 100644
index 0000000..1dda488
--- /dev/null
+++ b/package/corosync/Config.in
@@ -0,0 +1,20 @@
+config BR2_PACKAGE_COROSYNC
+	bool "corosync"
+	depends on BR2_USE_MMU # fork()
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT # libnss -> libnsp
+	depends on !BR2_STATIC_LIBS # libnss
+	select BR2_PACKAGE_LIBNSS
+	select BR2_PACKAGE_LIBQB
+	select BR2_PACKAGE_ZLIB
+	help
+	  The Corosync Cluster Engine is a Group Communication System
+	  with additional features for implementing high availability
+	  within applications.
+
+	  https://corosync.github.io/corosync/
+
+comment "corosync needs a toolchain w/ threads, dunamic library"
+	depends on BR2_USE_MMU
+	depends on BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
diff --git a/package/corosync/corosync.hash b/package/corosync/corosync.hash
new file mode 100644
index 0000000..5c009de
--- /dev/null
+++ b/package/corosync/corosync.hash
@@ -0,0 +1,2 @@
+# sha256 locally computed
+sha256  0dd0ee718253c18c5090e0304eec72a7be8b18b6fe5e03de59ce095fa08c8b63  corosync-v2.4.2.tar.gz
diff --git a/package/corosync/corosync.mk b/package/corosync/corosync.mk
new file mode 100644
index 0000000..865f5e0
--- /dev/null
+++ b/package/corosync/corosync.mk
@@ -0,0 +1,47 @@
+################################################################################
+#
+# corosync
+#
+################################################################################
+
+COROSYNC_VERSION = v2.4.2
+COROSYNC_SITE = $(call github,corosync,corosync,$(COROSYNC_VERSION))
+
+COROSYNC_LICENSE = BSD-3c
+COROSYNC_LICENSE_FILES = LICENSE
+
+COROSYNC_DEPENDENCIES = libnss libqb zlib
+COROSYNC_AUTORECONF = YES
+COROSYNC_INSTALL_STAGING = YES
+
+define COROSYNC_M4
+	$(INSTALL) -d -m 0755 $(@D)/m4
+endef
+COROSYNC_POST_EXTRACT_HOOKS += COROSYNC_M4
+
+# Don't build HTML manpages
+COROSYNC_CONF_ENV = ac_cv_prog_GROFF=
+
+COROSYNC_CONF_OPTS = \
+	--disable-fatal-warnings \
+	$(if $(BR2_ENABLE_DEBUG),--enable-debug,--disable-debug) \
+	--enable-secure-build \
+	--disable-user-flags \
+	--disable-coverage \
+	--disable-small-memory-footprint \
+	--disable-dbus \
+	--disable-testagents \
+	--disable-rdma \
+	--disable-monitoring \
+	--disable-watchdog \
+	--disable-augeas \
+	--disable-systemd \
+	--disable-upstart \
+	$(if $(BR2_INIT_SYSTEMD),--enable-systemd,--disable-systemd) \
+	--disable-upstart \
+	--disable-snmp \
+	--disable-xmlconf \
+	--disable-qdevices \
+	--disable-qnet
+
+$(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 35/52] package/corosync: add optional dbus support
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (33 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 34/52] package/corosync: " Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 36/52] package/corosync: add optional snmp support Yann E. MORIN
                   ` (16 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/corosync/corosync.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/corosync/corosync.mk b/package/corosync/corosync.mk
index 865f5e0..a20edd4 100644
--- a/package/corosync/corosync.mk
+++ b/package/corosync/corosync.mk
@@ -29,7 +29,6 @@ COROSYNC_CONF_OPTS = \
 	--disable-user-flags \
 	--disable-coverage \
 	--disable-small-memory-footprint \
-	--disable-dbus \
 	--disable-testagents \
 	--disable-rdma \
 	--disable-monitoring \
@@ -44,4 +43,11 @@ COROSYNC_CONF_OPTS = \
 	--disable-qdevices \
 	--disable-qnet
 
+ifeq ($(BR2_PACKAGE_DBUS),y)
+COROSYNC_DEPENDENCIES += dbus
+COROSYNC_CONF_OPTS += --enable-dbus
+else
+COROSYNC_CONF_OPTS += --disable-dbus
+endif
+
 $(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 36/52] package/corosync: add optional snmp support
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (34 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 35/52] package/corosync: add optional dbus support Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 37/52] package/asterisk: add optional corosync dependency Yann E. MORIN
                   ` (15 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/corosync/corosync.mk | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/package/corosync/corosync.mk b/package/corosync/corosync.mk
index a20edd4..ca73043 100644
--- a/package/corosync/corosync.mk
+++ b/package/corosync/corosync.mk
@@ -38,7 +38,6 @@ COROSYNC_CONF_OPTS = \
 	--disable-upstart \
 	$(if $(BR2_INIT_SYSTEMD),--enable-systemd,--disable-systemd) \
 	--disable-upstart \
-	--disable-snmp \
 	--disable-xmlconf \
 	--disable-qdevices \
 	--disable-qnet
@@ -50,4 +49,12 @@ else
 COROSYNC_CONF_OPTS += --disable-dbus
 endif
 
+ifeq ($(BR2_PACKAGE_NETSNMP),y)
+COROSYNC_DEPENDENCIES += netsnmp
+COROSYNC_CONF_OPTS += --enable-snmp
+COROSYNC_CONF_ENV += SNMPCONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config
+else
+COROSYNC_CONF_OPTS += --disable-snmp
+endif
+
 $(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 37/52] package/asterisk: add optional corosync dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (35 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 36/52] package/corosync: add optional snmp support Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 38/52] package/libpjsip: add option to enable GSM codec Yann E. MORIN
                   ` (14 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index e5fd28e..aff6ffc 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -32,7 +32,6 @@ ASTERISK_CONF_OPTS += \
 	--disable-rpath \
 	--without-bfd \
 	--without-cap \
-	--without-cpg \
 	--without-curses \
 	--without-gtk2 \
 	--without-gmime \
@@ -114,6 +113,13 @@ else
 ASTERISK_CONF_OPTS += --without-bluetooth
 endif
 
+ifeq ($(BR2_PACKAGE_COROSYNC),y)
+ASTERISK_DEPENDENCIES += corosync
+ASTERISK_CONF_OPTS += --with-cpg
+else
+ASTERISK_CONF_OPTS += --without-cpg
+endif
+
 ifeq ($(BR2_PACKAGE_LIBICAL),y)
 ASTERISK_DEPENDENCIES += libical
 ASTERISK_CONF_OPTS += --with-ical
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 38/52] package/libpjsip: add option to enable GSM codec
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (36 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 37/52] package/asterisk: add optional corosync dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 39/52] package/asterisk: add optional netsnmp dependency Yann E. MORIN
                   ` (13 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/Config.in   | 12 ++++++++++++
 package/libpjsip/libpjsip.mk | 14 +++++++++++++-
 2 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 727d2ec..ce15a20 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -10,5 +10,17 @@ config BR2_PACKAGE_LIBPJSIP
 
 	  http://www.pjsip.org
 
+if BR2_PACKAGE_LIBPJSIP
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
+    bool "GSM codec"
+    depends on !BR2_STATIC_LIBS # libgsm
+    select BR2_PACKAGE_LIBGSM
+
+comment "GSM codec needs a toolchain w/ shared libraries"
+    depends on BR2_STATIC_LIBS
+
+endif # BR2_PACKAGE_LIBPJSIP
+
 comment "libpjsip needs a toolchain w/ C++, threads"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 551dbd9..3396422 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -26,7 +26,6 @@ LIBPJSIP_CONF_ENV = \
 
 LIBPJSIP_CONF_OPTS = \
 	--disable-sound \
-	--disable-gsm-codec \
 	--disable-speex-codec \
 	--disable-speex-aec \
 	--disable-resample \
@@ -66,4 +65,17 @@ ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 LIBPJSIP_DEPENDENCIES += util-linux
 endif
 
+# Codecs can only be disabled. If explictly enabled, the check is
+# omitted (but successful), and there is no configure trace "Checking
+# if [codec] codec is disabled...no". So we only explicitly disable it
+# and we do not explictly enable it, so we get the configure log in
+# both cases.
+
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
+LIBPJSIP_DEPENDENCIES += libgsm
+LIBPJSIP_CONF_OPTS += --with-external-gsm
+else
+LIBPJSIP_CONF_OPTS += --disable-gsm-codec
+endif
+
 $(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 39/52] package/asterisk: add optional netsnmp dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (37 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 38/52] package/libpjsip: add option to enable GSM codec Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 40/52] package/libpjsip: add option to enable SPEEX codec Yann E. MORIN
                   ` (12 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index aff6ffc..a2ca5a8 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -54,7 +54,6 @@ ASTERISK_CONF_OPTS += \
 	--without-mysqlclient \
 	--without-nbs \
 	--without-neon29 \
-	--without-netsnmp \
 	--without-newt \
 	--without-openr2 \
 	--without-osptk \
@@ -157,6 +156,13 @@ else
 ASTERISK_CONF_OPTS += --without-neon
 endif
 
+ifeq ($(BR2_PACKAGE_NETSNMP),y)
+ASTERISK_DEPENDENCIES += netsnmp
+ASTERISK_CONF_OPTS += --with-netsnmp
+else
+ASTERISK_CONF_OPTS += --without-netsnmp
+endif
+
 ifeq ($(BR2_PACKAGE_LIBOGG),y)
 ASTERISK_DEPENDENCIES += libogg
 ASTERISK_CONF_OPTS += --with-ogg
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 40/52] package/libpjsip: add option to enable SPEEX codec
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (38 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 39/52] package/asterisk: add optional netsnmp dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 41/52] package/libpjsip: add option to enable G.711 codec Yann E. MORIN
                   ` (11 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/Config.in   | 4 ++++
 package/libpjsip/libpjsip.mk | 9 +++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index ce15a20..0bb446e 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -20,6 +20,10 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
 comment "GSM codec needs a toolchain w/ shared libraries"
     depends on BR2_STATIC_LIBS
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX
+	bool "Speex codec"
+	select BR2_PACKAGE_SPEEX
+
 endif # BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 3396422..ce96c55 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -26,8 +26,6 @@ LIBPJSIP_CONF_ENV = \
 
 LIBPJSIP_CONF_OPTS = \
 	--disable-sound \
-	--disable-speex-codec \
-	--disable-speex-aec \
 	--disable-resample \
 	--disable-video \
 	--disable-opencore-amr \
@@ -78,4 +76,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-gsm-codec
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX),y)
+LIBPJSIP_DEPENDENCIES += speex
+LIBPJSIP_CONF_OPTS += --with-external-speex
+else
+LIBPJSIP_CONF_OPTS += --disable-speex-codec --disable-speex-aec
+endif
+
 $(eval $(autotools-package))
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 41/52] package/libpjsip: add option to enable G.711 codec
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (39 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 40/52] package/libpjsip: add option to enable SPEEX codec Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 42/52] package/libpjsip: add option to enable G.722 codec Yann E. MORIN
                   ` (10 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/Config.in   | 3 +++
 package/libpjsip/libpjsip.mk | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 0bb446e..1c9d2ce 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -12,6 +12,9 @@ config BR2_PACKAGE_LIBPJSIP
 
 if BR2_PACKAGE_LIBPJSIP
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_G711
+	bool "G.711 codec"
+
 config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
     bool "GSM codec"
     depends on !BR2_STATIC_LIBS # libgsm
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index ce96c55..dd279d3 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -38,7 +38,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ext-sound \
 	--disable-small-filter \
 	--disable-large-filter \
-	--disable-g711-codec \
 	--disable-l16-codec \
 	--disable-g722-codec \
 	--disable-libsamplerate \
@@ -69,6 +68,10 @@ endif
 # and we do not explictly enable it, so we get the configure log in
 # both cases.
 
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G711),y)
+LIBPJSIP_CONF_OPTS += --disable-g711-codec
+endif
+
 ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
 LIBPJSIP_DEPENDENCIES += libgsm
 LIBPJSIP_CONF_OPTS += --with-external-gsm
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 42/52] package/libpjsip: add option to enable G.722 codec
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (40 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 41/52] package/libpjsip: add option to enable G.711 codec Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 43/52] package/libpjsip: add option to enable G.7221 codec Yann E. MORIN
                   ` (9 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/Config.in   | 3 +++
 package/libpjsip/libpjsip.mk | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 1c9d2ce..903dd1d 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -15,6 +15,9 @@ if BR2_PACKAGE_LIBPJSIP
 config BR2_PACKAGE_LIBPJSIP_CODEC_G711
 	bool "G.711 codec"
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_G722
+	bool "G.722 codec"
+
 config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
     bool "GSM codec"
     depends on !BR2_STATIC_LIBS # libgsm
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index dd279d3..a7d66f5 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -39,7 +39,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-small-filter \
 	--disable-large-filter \
 	--disable-l16-codec \
-	--disable-g722-codec \
 	--disable-libsamplerate \
 	--disable-sdl \
 	--disable-ffmpeg \
@@ -72,6 +71,10 @@ ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G711),y)
 LIBPJSIP_CONF_OPTS += --disable-g711-codec
 endif
 
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G722),y)
+LIBPJSIP_CONF_OPTS += --disable-g722-codec
+endif
+
 ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
 LIBPJSIP_DEPENDENCIES += libgsm
 LIBPJSIP_CONF_OPTS += --with-external-gsm
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 43/52] package/libpjsip: add option to enable G.7221 codec
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (41 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 42/52] package/libpjsip: add option to enable G.722 codec Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2017-01-27 17:06   ` Adam Duskett
  2016-12-30 10:29 ` [Buildroot] [PATCH 44/52] package/libpjsip: add option to enable iLBC codec Yann E. MORIN
                   ` (8 subsequent siblings)
  51 siblings, 1 reply; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

We do have a standalone libg7221 package, but pjsip can only use a
bundled version.

Patching pjsip so it can use the standalone version is not trivial, so
we have to live with that... :-(

Fortunately, the library that pjsip installs does nto conflict with the
one from the libg7221 package, as it is named differently.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/Config.in   | 3 +++
 package/libpjsip/libpjsip.mk | 6 +++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 903dd1d..2e0178c 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -18,6 +18,9 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_G711
 config BR2_PACKAGE_LIBPJSIP_CODEC_G722
 	bool "G.722 codec"
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_G7221
+	bool "G.722.1 codec"
+
 config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
     bool "GSM codec"
     depends on !BR2_STATIC_LIBS # libgsm
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index a7d66f5..c7b4023 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -29,7 +29,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-resample \
 	--disable-video \
 	--disable-opencore-amr \
-	--disable-g7221-codec \
 	--disable-ilbc-codec \
 	--disable-webrtc \
 	--disable-opus \
@@ -75,6 +74,11 @@ ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G722),y)
 LIBPJSIP_CONF_OPTS += --disable-g722-codec
 endif
 
+# libpjsip can only use a bundled version of libg7221
+ifneq ($(BR2_PACKAGE_LIBPJSIP_G7221_CODEC),y)
+LIBPJSIP_CONF_OPTS += --disable-g7221-codec
+endif
+
 ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
 LIBPJSIP_DEPENDENCIES += libgsm
 LIBPJSIP_CONF_OPTS += --with-external-gsm
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 44/52] package/libpjsip: add option to enable iLBC codec
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (42 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 43/52] package/libpjsip: add option to enable G.7221 codec Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 45/52] package/libpjsip: add option to enable L16 codec Yann E. MORIN
                   ` (7 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

We do have a standalone libgilbc package, but pjsip can only use a
bundled version.

Patching pjsip so it can use the standalone version is not trivial, so
we have to live with that... :-(

Fortunately, the library that pjsip installs does nto conflict with the
one from the libilbc package, as it is named differently.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/Config.in   | 3 +++
 package/libpjsip/libpjsip.mk | 6 +++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 2e0178c..c7cdd68 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -29,6 +29,9 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
 comment "GSM codec needs a toolchain w/ shared libraries"
     depends on BR2_STATIC_LIBS
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_ILBC
+	bool "iLBC codec"
+
 config BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX
 	bool "Speex codec"
 	select BR2_PACKAGE_SPEEX
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index c7b4023..67329eb 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -29,7 +29,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-resample \
 	--disable-video \
 	--disable-opencore-amr \
-	--disable-ilbc-codec \
 	--disable-webrtc \
 	--disable-opus \
 	--disable-epoll \
@@ -86,6 +85,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-gsm-codec
 endif
 
+# libpjsip can only use a bundled version of libgilbc
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_ILBC),y)
+LIBPJSIP_CONF_OPTS += --disable-ilbc-codec
+endif
+
 ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX),y)
 LIBPJSIP_DEPENDENCIES += speex
 LIBPJSIP_CONF_OPTS += --with-external-speex
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 45/52] package/libpjsip: add option to enable L16 codec
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (43 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 44/52] package/libpjsip: add option to enable iLBC codec Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 46/52] package/libpjsip: add optional portaudio support Yann E. MORIN
                   ` (6 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/Config.in   | 3 +++
 package/libpjsip/libpjsip.mk | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index c7cdd68..ee09e46 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -32,6 +32,9 @@ comment "GSM codec needs a toolchain w/ shared libraries"
 config BR2_PACKAGE_LIBPJSIP_CODEC_ILBC
 	bool "iLBC codec"
 
+config BR2_PACKAGE_LIBPJSIP_L16_CODEC
+	bool "L16 codec"
+
 config BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX
 	bool "Speex codec"
 	select BR2_PACKAGE_SPEEX
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 67329eb..19f6edb 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -36,7 +36,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ext-sound \
 	--disable-small-filter \
 	--disable-large-filter \
-	--disable-l16-codec \
 	--disable-libsamplerate \
 	--disable-sdl \
 	--disable-ffmpeg \
@@ -90,6 +89,10 @@ ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_ILBC),y)
 LIBPJSIP_CONF_OPTS += --disable-ilbc-codec
 endif
 
+ifneq ($(BR2_PACKAGE_LIBPJSIP_L16_CODEC),y)
+LIBPJSIP_CONF_OPTS += --disable-l16-codec
+endif
+
 ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX),y)
 LIBPJSIP_DEPENDENCIES += speex
 LIBPJSIP_CONF_OPTS += --with-external-speex
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 46/52] package/libpjsip: add optional portaudio support
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (44 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 45/52] package/libpjsip: add option to enable L16 codec Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 47/52] package/asterisk: add optional pjsip support Yann E. MORIN
                   ` (5 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/libpjsip/libpjsip.mk | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 19f6edb..23041f2 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -58,6 +58,11 @@ ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 LIBPJSIP_DEPENDENCIES += util-linux
 endif
 
+ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
+LIBPJSIP_DEPENDENCIES += portaudio
+LIBPJSIP_CONF_OPTS += --with-external-pa
+endif
+
 # Codecs can only be disabled. If explictly enabled, the check is
 # omitted (but successful), and there is no configure trace "Checking
 # if [codec] codec is disabled...no". So we only explicitly disable it
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 47/52] package/asterisk: add optional pjsip support
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (45 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 46/52] package/libpjsip: add optional portaudio support Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 48/52] package/asterisk: add optional libcap dependency Yann E. MORIN
                   ` (4 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index a2ca5a8..bdc904c 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -59,7 +59,6 @@ ASTERISK_CONF_OPTS += \
 	--without-osptk \
 	--without-oss \
 	--without-postgres \
-	--without-pjproject \
 	--without-popt \
 	--without-pwlib \
 	--without-resample \
@@ -222,6 +221,13 @@ else
 ASTERISK_CONF_OPTS += --without-ssl
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP),y)
+ASTERISK_DEPENDENCIES += libpjsip
+ASTERISK_CONF_OPTS += --with-pjproject
+else
+ASTERISK_CONF_OPTS += --without-pjproject
+endif
+
 ifeq ($(BR2_PACKAGE_SPANDSP),y)
 ASTERISK_DEPENDENCIES += spandsp
 ASTERISK_CONF_OPTS += --with-spandsp
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 48/52] package/asterisk: add optional libcap dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (46 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 47/52] package/asterisk: add optional pjsip support Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 49/52] package/asterisk: add optional iconv support Yann E. MORIN
                   ` (3 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index bdc904c..dee60c0 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -31,7 +31,6 @@ ASTERISK_CONF_OPTS += \
 	--disable-asteriskssl \
 	--disable-rpath \
 	--without-bfd \
-	--without-cap \
 	--without-curses \
 	--without-gtk2 \
 	--without-gmime \
@@ -139,6 +138,13 @@ else
 ASTERISK_CONF_OPTS += --without-ldap
 endif
 
+ifeq ($(BR2_PACKAGE_LIBCAP),y)
+ASTERISK_DEPENDENCIES += libcap
+ASTERISK_CONF_OPTS += --with-cap
+else
+ASTERISK_CONF_OPTS += --without-cap
+endif
+
 ifeq ($(BR2_PACKAGE_LIBCURL),y)
 ASTERISK_DEPENDENCIES += libcurl
 ASTERISK_CONF_OPTS += --with-libcurl
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack
@ 2016-12-30 10:29 Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options Yann E. MORIN
                   ` (51 more replies)
  0 siblings, 52 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Hello All!

This (long!) series introduces Asterisk, the number one free and open
source PBX and VoIP solution.

To be honest, it has not been an easy one... :-/ The most striking
issue I've encountered is that the FLOSS telephony ecosystem seems to
like to have weird buildsystems, to depend on obsolete, legacy and no
longer maintained pieces of code... And not all of this is in the
series; some stuff was grossly too ugly to even consider including it
in Buildroot (I'm looking at you all: ptlib, h323+ and imap).

Besides, I got bored at some point, so not all features of asterisk are
available; a lot are still forcibly disabled, even though we may have
the necessary package in Buildroot already. This is work for a
further-interested party...

So, here what the series does:

  - do some slightly unrelated cleanups in pjsip,

  - introduce a minimalist asterisk, with the bare minimal to make it
    build and be almost barely useable,

  - then incrementally add new features to asterisk, adding new
    packages when required.

Some of those packages are special in their own rights. See individual
commit logs for the nitty-gritty details. ;-)


Regards,
Yann E. MORIN.


The following changes since commit 67f23a77c2260809b94f169fde33ff718ae940c5

  Update for 2016.11.1 (2016-12-29 22:24:06 +0100)


are available in the git repository at:

  git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to 2c4935f525c5e093034b853387b907466af6d0d0

  package/asterisk: add optional jack2 dependency (2016-12-30 11:21:56 +0100)


----------------------------------------------------------------
Bernd Kuhls (1):
      package/libgsm: new package

Yann E. MORIN (51):
      package/libpjsip: disable remaining unspecified options
      package/libpjsip: drop path to staging to find libsrtp
      package/asterisk: new package
      package/asterisk: enable backtrace when available
      package/asterisk: add optional libgsm dependency
      package/asterisk: add optional zlib dependency
      package/asterisk: add optional support for SSL
      package/asterisk: add optional alsa-lib dependency
      package/asterisk: add optional curl dependency
      package/asterisk: add optional neon dependency
      package/asterisk: add optional libogg dependency
      package/asterisk: add optional bluez_utils dependency
      package/asterisk: add optional opus dependency
      package/asterisk: add optional speex dependency
      package/asterisk: add optional libvorbis dependency
      package/asterisk: add optional libilbc dependency
      package/asterisk: add optional portaudio dependency
      package/asterisk: add optional libical dependency
      package/asterisk: add optional openldap dependency
      package/asterisk: add optional freeradius-client dependency
      package/asterisk: add optional libsrtp dependency
      package/dahdi-linux: new package
      package/dahdi-tools: new package
      package/dahdi-tools: add USB support
      package/asterisk: add support for dahdi
      package/libss7: new package
      package/asterisk: add support for SS7
      package/libpri: new package
      package/asterisk: add support for PRI signalling
      package/spandsp: new package
      package/asterisk: add optional spandsp support
      package/libqb: new package
      package/corosync: new package
      package/corosync: add optional dbus support
      package/corosync: add optional snmp support
      package/asterisk: add optional corosync dependency
      package/libpjsip: add option to enable GSM codec
      package/asterisk: add optional netsnmp dependency
      package/libpjsip: add option to enable SPEEX codec
      package/libpjsip: add option to enable G.711 codec
      package/libpjsip: add option to enable G.722 codec
      package/libpjsip: add option to enable G.7221 codec
      package/libpjsip: add option to enable iLBC codec
      package/libpjsip: add option to enable L16 codec
      package/libpjsip: add optional portaudio support
      package/asterisk: add optional pjsip support
      package/asterisk: add optional libcap dependency
      package/asterisk: add optional iconv support
      package/asterisk: enable inotify when possible
      package/asterisk: add optional unixodbc dependency
      package/asterisk: add optional jack2 dependency

 package/Config.in                                  |   9 +
 ...-configure-do-not-configure-in-menuselect.patch |  92 ++++++
 ...02-sounds-do-not-download-and-check-sha1s.patch |  52 +++
 .../0003-configure-fix-detection-of-libcrypt.patch |  62 ++++
 package/asterisk/Config.in                         |  28 ++
 package/asterisk/asterisk.hash                     |   9 +
 package/asterisk/asterisk.mk                       | 363 +++++++++++++++++++++
 package/corosync/Config.in                         |  20 ++
 package/corosync/corosync.hash                     |   2 +
 package/corosync/corosync.mk                       |  60 ++++
 package/dahdi-linux/Config.in                      |  15 +
 package/dahdi-linux/dahdi-linux.hash               |  23 ++
 package/dahdi-linux/dahdi-linux.mk                 |  88 +++++
 package/dahdi-tools/0001-no-build-docs.patch       |  16 +
 package/dahdi-tools/0002-no-perl-manpages.patch    |  37 +++
 package/dahdi-tools/Config.in                      |  23 ++
 package/dahdi-tools/dahdi-tools.hash               |   4 +
 package/dahdi-tools/dahdi-tools.mk                 |  57 ++++
 package/libgsm/0001-misc.patch                     | 205 ++++++++++++
 package/libgsm/Config.in                           |  10 +
 package/libgsm/libgsm.hash                         |   2 +
 package/libgsm/libgsm.mk                           |  47 +++
 package/libpjsip/Config.in                         |  31 ++
 package/libpjsip/libpjsip.mk                       |  68 +++-
 package/libpri/Config.in                           |  21 ++
 package/libpri/libpri.hash                         |   3 +
 package/libpri/libpri.mk                           |  52 +++
 ...fix-CLOCK_MONOTONIC-check-for-cross-compi.patch |  33 ++
 package/libqb/Config.in                            |  12 +
 package/libqb/libqb.hash                           |   2 +
 package/libqb/libqb.mk                             |  32 ++
 package/libss7/Config.in                           |  18 +
 package/libss7/libss7.hash                         |   3 +
 package/libss7/libss7.mk                           |  55 ++++
 package/spandsp/Config.in                          |   9 +
 package/spandsp/spandsp.hash                       |   2 +
 package/spandsp/spandsp.mk                         |  27 ++
 37 files changed, 1586 insertions(+), 6 deletions(-)
 create mode 100644 package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
 create mode 100644 package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
 create mode 100644 package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
 create mode 100644 package/asterisk/Config.in
 create mode 100644 package/asterisk/asterisk.hash
 create mode 100644 package/asterisk/asterisk.mk
 create mode 100644 package/corosync/Config.in
 create mode 100644 package/corosync/corosync.hash
 create mode 100644 package/corosync/corosync.mk
 create mode 100644 package/dahdi-linux/Config.in
 create mode 100644 package/dahdi-linux/dahdi-linux.hash
 create mode 100644 package/dahdi-linux/dahdi-linux.mk
 create mode 100644 package/dahdi-tools/0001-no-build-docs.patch
 create mode 100644 package/dahdi-tools/0002-no-perl-manpages.patch
 create mode 100644 package/dahdi-tools/Config.in
 create mode 100644 package/dahdi-tools/dahdi-tools.hash
 create mode 100644 package/dahdi-tools/dahdi-tools.mk
 create mode 100644 package/libgsm/0001-misc.patch
 create mode 100644 package/libgsm/Config.in
 create mode 100644 package/libgsm/libgsm.hash
 create mode 100644 package/libgsm/libgsm.mk
 create mode 100644 package/libpri/Config.in
 create mode 100644 package/libpri/libpri.hash
 create mode 100644 package/libpri/libpri.mk
 create mode 100644 package/libqb/0001-bconfigure-fix-CLOCK_MONOTONIC-check-for-cross-compi.patch
 create mode 100644 package/libqb/Config.in
 create mode 100644 package/libqb/libqb.hash
 create mode 100644 package/libqb/libqb.mk
 create mode 100644 package/libss7/Config.in
 create mode 100644 package/libss7/libss7.hash
 create mode 100644 package/libss7/libss7.mk
 create mode 100644 package/spandsp/Config.in
 create mode 100644 package/spandsp/spandsp.hash
 create mode 100644 package/spandsp/spandsp.mk

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 49/52] package/asterisk: add optional iconv support
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (47 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 48/52] package/asterisk: add optional libcap dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 50/52] package/asterisk: enable inotify when possible Yann E. MORIN
                   ` (2 subsequent siblings)
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

iconv support is available if iether the toolchain has iconv built-in
(glibc, musl, or uclibc-with-iconv) or if the libiconv package is
enabled. Both are exclusive one to the other, so we need only test one.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index dee60c0..d9bdb5b 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -36,7 +36,6 @@ ASTERISK_CONF_OPTS += \
 	--without-gmime \
 	--without-h323 \
 	--without-hoard \
-	--without-iconv \
 	--without-iksemel \
 	--without-imap \
 	--without-inotify \
@@ -131,6 +130,13 @@ else
 ASTERISK_CONF_OPTS += --without-ilbc
 endif
 
+ifeq ($(BR2_ENABLE_LOCALE)$(BR2_PACKAGE_LIBICONV),y)
+ASTERISK_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv)
+ASTERISK_CONF_OPTS += --with-iconv
+else
+ASTERISK_CONF_OPTS += --without-iconv
+endif
+
 ifeq ($(BR2_PACKAGE_OPENLDAP),y)
 ASTERISK_DEPENDENCIES += openldap
 ASTERISK_CONF_OPTS += --without-ldap
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 50/52] package/asterisk: enable inotify when possible
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (48 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 49/52] package/asterisk: add optional iconv support Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 51/52] package/asterisk: add optional unixodbc dependency Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 52/52] package/asterisk: add optional jack2 dependency Yann E. MORIN
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

As for DBus, we disable support for inotify only for microblaze, because
the toolchain does not provide a complete inotify.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index d9bdb5b..1436575 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -38,7 +38,6 @@ ASTERISK_CONF_OPTS += \
 	--without-hoard \
 	--without-iksemel \
 	--without-imap \
-	--without-inotify \
 	--without-iodbc \
 	--without-isdnnet \
 	--without-jack \
@@ -82,6 +81,13 @@ ASTERISK_CONF_OPTS += \
 ASTERISK_CONF_ENV = \
 	ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config
 
+ifeq ($(BR2_microblaze),y)
+# microblaze toolchain doesn't provide inotify_rm_* but does have sys/inotify.h
+ASTERISK_CONF_OPTS += --without-inotify
+else
+ASTERISK_CONF_OPTS += --with-inotify
+endif
+
 ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
 ASTERISK_CONF_OPTS += --with-execinfo
 else
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 51/52] package/asterisk: add optional unixodbc dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (49 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 50/52] package/asterisk: enable inotify when possible Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  2016-12-30 10:29 ` [Buildroot] [PATCH 52/52] package/asterisk: add optional jack2 dependency Yann E. MORIN
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 1436575..6729414 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -38,7 +38,6 @@ ASTERISK_CONF_OPTS += \
 	--without-hoard \
 	--without-iksemel \
 	--without-imap \
-	--without-iodbc \
 	--without-isdnnet \
 	--without-jack \
 	--without-uriparser \
@@ -274,6 +273,13 @@ else
 ASTERISK_CONF_OPTS += --without-vorbis
 endif
 
+ifeq ($(BR2_PACKAGE_UNIXODBC),y)
+ASTERISK_DEPENDENCIES += unixodbc
+ASTERISK_CONF_OPTS += --without-iodbc
+else
+ASTERISK_CONF_OPTS += --without-iodbc
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 ASTERISK_DEPENDENCIES += zlib
 ASTERISK_CONF_OPTS += --with-z
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 52/52] package/asterisk: add optional jack2 dependency
  2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
                   ` (50 preceding siblings ...)
  2016-12-30 10:29 ` [Buildroot] [PATCH 51/52] package/asterisk: add optional unixodbc dependency Yann E. MORIN
@ 2016-12-30 10:29 ` Yann E. MORIN
  51 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2016-12-30 10:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/asterisk/asterisk.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
index 6729414..74a2cb4 100644
--- a/package/asterisk/asterisk.mk
+++ b/package/asterisk/asterisk.mk
@@ -39,7 +39,6 @@ ASTERISK_CONF_OPTS += \
 	--without-iksemel \
 	--without-imap \
 	--without-isdnnet \
-	--without-jack \
 	--without-uriparser \
 	--without-kqueue \
 	--without-libedit \
@@ -121,6 +120,13 @@ else
 ASTERISK_CONF_OPTS += --without-cpg
 endif
 
+ifeq ($(BR2_PACKAGE_JACK2),y)
+ASTERISK_DEPENDENCIES += jack2
+ASTERISK_CONF_OPTS += --with-jack
+else
+ASTERISK_CONF_OPTS += --without-jack
+endif
+
 ifeq ($(BR2_PACKAGE_LIBICAL),y)
 ASTERISK_DEPENDENCIES += libical
 ASTERISK_CONF_OPTS += --with-ical
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options
  2016-12-30 10:29 ` [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options Yann E. MORIN
@ 2017-01-04 13:16   ` Luca Ceresoli
  2017-01-04 17:12     ` Yann E. MORIN
  0 siblings, 1 reply; 61+ messages in thread
From: Luca Ceresoli @ 2017-01-04 13:16 UTC (permalink / raw)
  To: buildroot

Hi Yann,

On 30/12/2016 11:29, Yann E. MORIN wrote:
> There are a bunch of options that are left unspecified; explicitly
> disable them.
>
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
>  package/libpjsip/libpjsip.mk | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
> index cb0d866..7d30bbb 100644
> --- a/package/libpjsip/libpjsip.mk
> +++ b/package/libpjsip/libpjsip.mk
> @@ -36,6 +36,23 @@ LIBPJSIP_CONF_OPTS = \
>  	--disable-ilbc-codec \
>  	--disable-webrtc \
>  	--disable-opus \
> +	--disable-epoll \

Hey, there's a bug in the libpjsip configure script here!

Without --disable-epoll it says:

  checking ioqueue backend... select()

With your patch applied (i.e. passing --disable-epoll) it says:

  checking ioqueue backend... /dev/epoll

Indeed the aconfigure.ac file is wrong:

> AC_ARG_ENABLE(epoll,
>               AS_HELP_STRING([--enable-epoll],
>                              [Use /dev/epoll ioqueue on Linux
(experimental)]),
>               [
> 		ac_os_objs=ioqueue_epoll.o
> 		AC_MSG_RESULT([/dev/epoll])
>                 AC_DEFINE(PJ_HAS_LINUX_EPOLL,1)
> 		ac_linux_poll=epoll
>               ],
> 	      [
>                	ac_os_objs=ioqueue_select.o
>                 AC_MSG_RESULT([select()])
> 		ac_linux_poll=select
>     	      ])

The third parameter to AC_ARG_ENABLE is the action-if-present, which is
called if either --enable-epoll or --disable-epoll is called. It should
then read ${enableval}, not enable epoll unconditionally. The result is
that --disable-epoll enabled epoll! :-)

Note the very next AC_ARG_ENABLE() call (for --enable-shared) is correct.

> +	--disable-oss \
> +	--disable-ext-sound \
> +	--disable-small-filter \
> +	--disable-large-filter \
> +	--disable-g711-codec \
> +	--disable-l16-codec \
> +	--disable-g722-codec \
> +	--disable-libsamplerate \
> +	--disable-sdl \
> +	--disable-ffmpeg \
> +	--disable-v4l2 \
> +	--disable-openh264 \
> +	--disable-libyuv \
> +	--disable-ipp \
> +	--disable-ssl \
> +	--disable-silk \

I thought these were all already disabled by default or disabled by some
higher-level flag (e.g. --disable-sound). But clearly I missed
something, because with your patch we get a few smaller files:

  32272 ->   9789 pjmedia/lib/libpjmedia-codec.so.2
 345892 -> 341510 pjmedia/lib/libpjmedia.so.2

So, I'll be OK with this patch if you at least remove the
--disable-epoll line, or after the above bug is fixed.

Bye,
-- 
Luca

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 02/52] package/libpjsip: drop path to staging to find libsrtp
  2016-12-30 10:29 ` [Buildroot] [PATCH 02/52] package/libpjsip: drop path to staging to find libsrtp Yann E. MORIN
@ 2017-01-04 13:21   ` Luca Ceresoli
  0 siblings, 0 replies; 61+ messages in thread
From: Luca Ceresoli @ 2017-01-04 13:21 UTC (permalink / raw)
  To: buildroot

Hi Yann,

On 30/12/2016 11:29, Yann E. MORIN wrote:
> As it happens, specifying the path where to look for libsrtp is not
> needed: pjsip does not use the argument to --with-external-srtp as a
> search path at all; it only checks whether it is 'no' or something
> else.

Oh dear, and it's even documented in ./configure --help! Thanks for
noticing.

> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/libpjsip/libpjsip.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
> index 7d30bbb..551dbd9 100644
> --- a/package/libpjsip/libpjsip.mk
> +++ b/package/libpjsip/libpjsip.mk
> @@ -53,7 +53,7 @@ LIBPJSIP_CONF_OPTS = \
>  	--disable-ipp \
>  	--disable-ssl \
>  	--disable-silk \
> -	--with-external-srtp=$(STAGING_DIR)/usr
> +	--with-external-srtp

Tested-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>

-- 
Luca

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options
  2017-01-04 13:16   ` Luca Ceresoli
@ 2017-01-04 17:12     ` Yann E. MORIN
  0 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2017-01-04 17:12 UTC (permalink / raw)
  To: buildroot

Luca, All,

On 2017-01-04 14:16 +0100, Luca Ceresoli spake thusly:
> On 30/12/2016 11:29, Yann E. MORIN wrote:
> > There are a bunch of options that are left unspecified; explicitly
> > disable them.
> >
> > Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> > ---
> >  package/libpjsip/libpjsip.mk | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >
> > diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
> > index cb0d866..7d30bbb 100644
> > --- a/package/libpjsip/libpjsip.mk
> > +++ b/package/libpjsip/libpjsip.mk
> > @@ -36,6 +36,23 @@ LIBPJSIP_CONF_OPTS = \
> >  	--disable-ilbc-codec \
> >  	--disable-webrtc \
> >  	--disable-opus \
> > +	--disable-epoll \
> 
> Hey, there's a bug in the libpjsip configure script here!

Dang...

> Without --disable-epoll it says:
> 
>   checking ioqueue backend... select()
> 
> With your patch applied (i.e. passing --disable-epoll) it says:
> 
>   checking ioqueue backend... /dev/epoll
> 
> Indeed the aconfigure.ac file is wrong:
> 
> > AC_ARG_ENABLE(epoll,
> >               AS_HELP_STRING([--enable-epoll],
> >                              [Use /dev/epoll ioqueue on Linux
> (experimental)]),
> >               [
> > 		ac_os_objs=ioqueue_epoll.o
> > 		AC_MSG_RESULT([/dev/epoll])
> >                 AC_DEFINE(PJ_HAS_LINUX_EPOLL,1)
> > 		ac_linux_poll=epoll
> >               ],
> > 	      [
> >                	ac_os_objs=ioqueue_select.o
> >                 AC_MSG_RESULT([select()])
> > 		ac_linux_poll=select
> >     	      ])
> 
> The third parameter to AC_ARG_ENABLE is the action-if-present, which is
> called if either --enable-epoll or --disable-epoll is called. It should
> then read ${enableval}, not enable epoll unconditionally. The result is
> that --disable-epoll enabled epoll! :-)

But do we care what the default is? In retrospect, I think that using
epoll() is better than using select(), so I'd say we want to enable it.

I came with those --disable flags by looking at configure --help and
adding all the missing parts, and it seems I did not really thought it
through...

I'll look more carefully at what we should do to enable epoll(). But in
the end, I don't really care what we choose; I just want that it is
ecplicit and not implicit.

> Note the very next AC_ARG_ENABLE() call (for --enable-shared) is correct.
> 
> > +	--disable-oss \
> > +	--disable-ext-sound \
> > +	--disable-small-filter \
> > +	--disable-large-filter \
> > +	--disable-g711-codec \
> > +	--disable-l16-codec \
> > +	--disable-g722-codec \
> > +	--disable-libsamplerate \
> > +	--disable-sdl \
> > +	--disable-ffmpeg \
> > +	--disable-v4l2 \
> > +	--disable-openh264 \
> > +	--disable-libyuv \
> > +	--disable-ipp \
> > +	--disable-ssl \
> > +	--disable-silk \
> 
> I thought these were all already disabled by default

Well, SSL support uses opensl, so if that happens to be built before, it
will be implicitly enabled, which is not correct. Ditto libsamplerate,
or SDL, or v4l2...

> or disabled by some
> higher-level flag (e.g. --disable-sound). But clearly I missed
> something, because with your patch we get a few smaller files:
> 
>   32272 ->   9789 pjmedia/lib/libpjmedia-codec.so.2
>  345892 -> 341510 pjmedia/lib/libpjmedia.so.2
> 
> So, I'll be OK with this patch if you at least remove the
> --disable-epoll line, or after the above bug is fixed.

Yup, will do. Thanks for noticing the epoll() breakage.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 03/52] package/asterisk: new package
  2016-12-30 10:29 ` [Buildroot] [PATCH 03/52] package/asterisk: new package Yann E. MORIN
@ 2017-01-22 20:31   ` Romain Naour
  2017-01-22 21:40     ` Yann E. MORIN
  0 siblings, 1 reply; 61+ messages in thread
From: Romain Naour @ 2017-01-22 20:31 UTC (permalink / raw)
  To: buildroot

Hi Yann,

Le 30/12/2016 ? 11:29, Yann E. MORIN a ?crit :
> Asterisk: the flagship of telephony on Linux. These are the lines of
> code whose continuous mission is to power small and large enterprises
> telephony systems, to boldly provide IP PBX where no one has done so
> before.
> 
> But it is a hell to get compiled... :-(
> 
> For starters, it needs a host tool, menuselect, to prepare its build
> configuration. Unfortunately, the way it handles menuselect does not
> paly very well for cross-compilation: the main ./configure calls out to
> menuselect's own ./configure, and of course that runs with the same
> environement, which is wrong for croos-compilation (because of variables
> like CC, CFLAGS and the likes).
> 
> Furthermore, the paths to menuselect are imbricated about everywhere in
> the main Makefile, so making it find menuselect in PATH is a lost cause.
> So we can't make menuselect a host-package... :-(
> 
> Instead, we just patch-out the handling of menuselect and take care of
> it manually:
>   - we manually configure it before configuring asterisk itself
>   - we manually build it before building asterisk itself
> 
> For those two, we duplicate the same code we have for host-autotools
> packages, and stay as close to it as possible.
> 
> If that was not completely enough, asterisk requires libxml2, because
> menuselect needs it. So we should pass it the path the the host libxml2,
> not the target one. However, to add insult to injury, asterisk really
> needs libxml2 for the target as well, so we really need to pass it the
> target libxml2, which is now possible because we build menuselect
> separately.
> 
> Some tests, like the crypt() one, are broken and could not have ever
> possibly worked at all. Worse, the FFmpeg test is looking for headers
> that FFmpeg removed more than 7 years ago and are virtually no longer
> available in any distro. So, FFmpeg support is definitely not tested by
> upstream and can't possibly work at all.
> 
> Now, asterisk wants to install a default set of sound files (for
> answering machine stuff, I guess). They come come pre-bundled in the
> official archive [0], but the buildsystem will want to download (at
> install time) the sah1 files for each sound archive, to validate that
> said archive is correct. However, the download is done via plain http,
> so it still risks an MITM attack. And for Buildroot, it is not always
> possible to download at install time, so we patch-out the sha1 check.
> 
> [0] http://downloads.asterisk.org/pub/telephony/asterisk/releases/
> 
> The official archive contains the sound archives plus a full set of
> documentation. This makes it very big. Unfotunately, the hosting site is
> rather slow, topping at about ~204kbps. So we get the archive from the
> official mirror on Github. But that archive is missing the sound
> archives, so we download them separately.
> 
> Finally, but not the least, asterisk does not autoreconf nicely at all,
> even with the provided bootstrap script, so we just patch configure.ac
> and configure since it is trivial enough to do so.
> 
> Almost all features are disabled for now. Support for additional
> features will be added in subsequent patches now that we have a working
> base.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/Config.in                                  |   1 +
>  ...-configure-do-not-configure-in-menuselect.patch |  92 +++++++++++
>  ...02-sounds-do-not-download-and-check-sha1s.patch |  52 ++++++
>  .../0003-configure-fix-detection-of-libcrypt.patch |  62 +++++++
>  package/asterisk/Config.in                         |  28 ++++
>  package/asterisk/asterisk.hash                     |   9 +
>  package/asterisk/asterisk.mk                       | 181 +++++++++++++++++++++
>  7 files changed, 425 insertions(+)
>  create mode 100644 package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
>  create mode 100644 package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
>  create mode 100644 package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
>  create mode 100644 package/asterisk/Config.in
>  create mode 100644 package/asterisk/asterisk.hash
>  create mode 100644 package/asterisk/asterisk.mk
> 
> diff --git a/package/Config.in b/package/Config.in
> index 18818fa..38da776 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1443,6 +1443,7 @@ menu "Networking applications"
>  	source "package/apache/Config.in"
>  	source "package/argus/Config.in"
>  	source "package/arptables/Config.in"
> +	source "package/asterisk/Config.in"
>  	source "package/atftp/Config.in"
>  	source "package/autossh/Config.in"
>  	source "package/avahi/Config.in"
> diff --git a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
> new file mode 100644
> index 0000000..c4fd060
> --- /dev/null
> +++ b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
> @@ -0,0 +1,92 @@
> +From cc5daff874779475742bdb89a9328bb4fc4c4e09 Mon Sep 17 00:00:00 2001
> +From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +Date: Tue, 27 Dec 2016 11:20:19 +0100
> +Subject: [PATCH] configure: do not configure in menuselect
> +
> +When cross-compiling, the arguments and environment for ./configure are
> +different for the host and the target, and we want menuselect to be
> +compiled for the build machine, not the target.
> +
> +Although we do not pass any option to ./configure for menuselect, the
> +environment may still reference variables for the taget, like CC or
> +CFLAGS and so on... We can not build menuselect with those variables.
> +
> +Intead, just assume that menuselect will be pre-compiled.
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +---
> + configure    | 16 ----------------
> + configure.ac | 16 ----------------
> + 2 files changed, 32 deletions(-)
> +
> +diff --git a/configure b/configure
> +index 4ab32c9..b4aab11 100755
> +--- a/configure
> ++++ b/configure
> +@@ -35548,12 +35548,6 @@ fi
> + 
> + 
> + 
> +-if test -f makeopts; then
> +-	${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak
> +-else
> +-	touch makeopts.acbak
> +-fi
> +-
> + ac_config_files="$ac_config_files build_tools/menuselect-deps makeopts"
> + 
> + 
> +@@ -36874,16 +36868,6 @@ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
> + fi
> + 
> + 
> +-${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2
> +-if test "x${ac_cv_path_CMP}" = "x:"; then
> +-	( cd `pwd`/menuselect && ./configure )
> +-else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else
> +-	( cd `pwd`/menuselect && ./configure )
> +-fi ; fi
> +-
> +-rm makeopts.acbak makeopts.acbak2
> +-
> +-
> + if test "x${silent}" != "xyes" ; then
> + echo
> + echo "               .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=..      "
> +diff --git a/configure.ac b/configure.ac
> +index 66c8971..121dd93 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -2662,12 +2662,6 @@ fi
> + 
> + AC_SUBST([PBX_SYSLOG])
> + 
> +-if test -f makeopts; then
> +-	${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak
> +-else
> +-	touch makeopts.acbak
> +-fi
> +-
> + AC_CONFIG_FILES([build_tools/menuselect-deps makeopts])
> + AST_CHECK_MANDATORY
> + 
> +@@ -2683,16 +2677,6 @@ fi
> + 
> + AC_OUTPUT
> + 
> +-${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2
> +-if test "x${ac_cv_path_CMP}" = "x:"; then
> +-	( cd `pwd`/menuselect && ./configure )
> +-else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else
> +-	( cd `pwd`/menuselect && ./configure )
> +-fi ; fi
> +-
> +-rm makeopts.acbak makeopts.acbak2
> +-
> +-
> + if test "x${silent}" != "xyes" ; then
> + echo
> + echo "               .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=..      "
> +-- 
> +2.7.4
> +
> diff --git a/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
> new file mode 100644
> index 0000000..8412843
> --- /dev/null
> +++ b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
> @@ -0,0 +1,52 @@
> +From 3e8a9e9a1c7eae515eb628778c3c8a04338b3bb3 Mon Sep 17 00:00:00 2001
> +From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +Date: Tue, 27 Dec 2016 11:21:09 +0100
> +Subject: [PATCH] sounds: do not download and check sha1s
> +
> +To validate the sound archives, the corresponding sha1s are also
> +downloaded from the same location, and that download is done at install
> +time.
> +
> +However, that poses at least two problems:
> +
> +  - in Buildroot, we already have validated the downloads with the sha1s
> +    anyway, and trying to download anything at install time is not
> +    always possible (e.g. for off-line builds);
> +
> +  - since the download scheme is not secured (plain http), a
> +    man-in-the-middle for the sounds will also be able to MITM the
> +    download of the sha1s, so there is absolutely no additional safety
> +    in doing so.
> +
> +So we just do without the sha1 download and checks.
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +---
> + sounds/Makefile | 10 ----------
> + 1 file changed, 10 deletions(-)
> +
> +diff --git a/sounds/Makefile b/sounds/Makefile
> +index 84d0f45..7a80d56 100644
> +--- a/sounds/Makefile
> ++++ b/sounds/Makefile
> +@@ -100,17 +100,7 @@ ifneq ($(SOUNDS_CACHE_DIR),)
> + 	  if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@"; then \
> + 	    (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@); \
> + 	  fi; \
> +-	  if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@.sha1"; then \
> +-	    (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@.sha1); \
> +-	  fi; \
> + 	  $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@" .; \
> +-	  $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@.sha1" .; \
> +-	  $$(SHA1SUM) -c --status $$@.sha1 || \
> +-	    ( \
> +-	      rm -f "$$(SOUNDS_CACHE_DIR)/$$@" "$$(SOUNDS_CACHE_DIR)/$$@.sha1" $$@ $$@.sha1; \
> +-	      echo "Bad checksum: $$@" 1>&2; \
> +-	      exit 1; \
> +-	    ) || exit 1; \
> + 	fi
> + else
> + 	$(CMD_PREFIX) \
> +-- 
> +2.7.4
> +
> diff --git a/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
> new file mode 100644
> index 0000000..325ab49
> --- /dev/null
> +++ b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
> @@ -0,0 +1,62 @@
> +From 8996503f6c55e55f326ab11c18278954ad7abaf3 Mon Sep 17 00:00:00 2001
> +From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +Date: Tue, 27 Dec 2016 11:21:57 +0100
> +Subject: [PATCH] configure: fix detection of libcrypt
> +
> +The crypt() function is searched in two locations: -lcrypt and the
> +standard C library.
> +
> +The result of the forner is stored in the LIBCRYPT 'scheme' while that
> +of the latter is stored in the 'SYSCRYPT' scheme.
> +
> +However, the check for mandatory modules looks at the CRYPT 'scheme',
> +and thus concludes that crypt is missing when it was successfully found.
> +
> +Fix that by also storing the result of either check in the 'CRYPT'
> +scheme.
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> +---
> + configure    | 2 ++
> + configure.ac | 2 ++
> + 2 files changed, 4 insertions(+)
> +
> +diff --git a/configure b/configure
> +index b4aab11..53648f1 100755
> +--- a/configure
> ++++ b/configure
> +@@ -31879,12 +31879,14 @@ fi
> + if test "x$LIBCRYPT_LIB" != "x" ; then
> +     CRYPT_LIB="$LIBCRYPT_LIB"
> +     CRYPT_INCLUDE="$LIBCRYPT_INCLUDE"
> ++    PBX_CRYPT=1
> + 
> + $as_echo "#define HAVE_CRYPT 1" >>confdefs.h
> + 
> + elif test "x$SYSCRYPT" != "x" ; then
> +     CRYPT_LIB=""
> +     CRYPT_INCLUDE=""
> ++    PBX_CRYPT=1
> + 
> + $as_echo "#define HAVE_CRYPT 1" >>confdefs.h
> + 
> +diff --git a/configure.ac b/configure.ac
> +index 121dd93..d459ff5 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -2406,10 +2406,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""])
> + if test "x$LIBCRYPT_LIB" != "x" ; then
> +     CRYPT_LIB="$LIBCRYPT_LIB"
> +     CRYPT_INCLUDE="$LIBCRYPT_INCLUDE"
> ++    PBX_CRYPT=1
> +     AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.])
> + elif test "x$SYSCRYPT" != "x" ; then
> +     CRYPT_LIB=""
> +     CRYPT_INCLUDE=""
> ++    PBX_CRYPT=1
> +     AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.])
> + fi
> + 
> +-- 
> +2.7.4
> +
> diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in
> new file mode 100644
> index 0000000..5e7f04b
> --- /dev/null
> +++ b/package/asterisk/Config.in
> @@ -0,0 +1,28 @@
> +config BR2_PACKAGE_ASTERISK
> +	bool "asterisk"
> +	depends on BR2_USE_MMU # fork()
> +	depends on !BR2_STATIC_LIBS # dlopen()
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	depends on BR2_USE_WCHAR # util-linux
> +	select BR2_PACKAGE_JANSSON
> +	select BR2_PACKAGE_LIBXML2
> +	select BR2_PACKAGE_NCURSES
> +	select BR2_PACKAGE_SQLITE
> +	select BR2_PACKAGE_UTIL_LINUX
> +	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> +	help
> +	  Asterisk is an open source framework for building
> +	  communications applications. Asterisk turns an ordinary
> +	  computer into a communications server. Asterisk powers
> +	  IP PBX systems, VoIP gateways, conference servers and
> +	  other custom solutions. It is used by small businesses,
> +	  large businesses, call centers, carriers and government
> +	  agencies, worldwide. Asterisk is free and open source.
> +
> +	  http://www.asterisk.org/
> +
> +comment "asterisk needs a toolchain w/ C++, threads, wchar, dynamic library"
> +	depends on BR2_USE_MMU
> +	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
> +		|| !BR2_USE_WCHAR || BR2_STATIC_LIBS
> diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash
> new file mode 100644
> index 0000000..4cc09ae
> --- /dev/null
> +++ b/package/asterisk/asterisk.hash
> @@ -0,0 +1,9 @@
> +# From http://downloads.asterisk.org/pub/telephony/asterisk
> +sha256  0afce295676875bf422a028c586eff88146f068363aab35af09b1c56cfb9c138  asterisk-14.2.1.tar.gz
> +
> +# sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases
> +# sha256 locally computed
> +sha1    65ee068462c6645ed14a28d6b34eb0e9aa7a6c8d                          asterisk-core-sounds-en-gsm-1.5.tar.gz
> +sha256  8d1118c6e0a0c614fafe297e3789f924ef5b04285cf6a8cffb8501dfcf5bbf07  asterisk-core-sounds-en-gsm-1.5.tar.gz
> +sha1    f40fd6ea03dfe8d72ada2540b2288bfdc006381d                          asterisk-moh-opsound-wav-2.03.tar.gz
> +sha256  449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538  asterisk-moh-opsound-wav-2.03.tar.gz
> diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
> new file mode 100644
> index 0000000..239e457
> --- /dev/null
> +++ b/package/asterisk/asterisk.mk
> @@ -0,0 +1,181 @@
> +################################################################################
> +#
> +# asterisk
> +#
> +################################################################################
> +
> +ASTERISK_VERSION = 14.2.1
> +# Use the github mirror: it's an official mirror maintained by Digium, and
> +# provides tarballs, which the main Asterisk git tree (behind Gerrit) does not.
> +ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION))
> +
> +ASTERISK_SOUNDS_BASE_URL = http://downloads.asterisk.org/pub/telephony/sounds/releases
> +ASTERISK_EXTRA_DOWNLOADS = \
> +	$(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.5.tar.gz \
> +	$(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz
> +
> +ASTERISK_DEPENDENCIES = jansson libxml2 ncurses sqlite util-linux
> +
> +# Those dependencies are to build the menuselect tool:
> +ASTERISK_DEPENDENCIES += host-libxml2 host-ncurses
> +
> +# avcodec are from ffmpeg. There is virtually zero chance this could
> +# even work; asterisk is looking for ffmpeg/avcodec.h which has not
> +# been installed in this location since early 2007 (~9 years at the
> +# time of this writing).
> +ASTERISK_CONF_OPTS = --without-avcodec
> +
> +ASTERISK_CONF_OPTS += \
> +	--disable-xmldoc \
> +	--disable-internal-poll \
> +	--disable-asteriskssl \
> +	--disable-rpath \
> +	--without-asound \
> +	--without-bfd \
> +	--without-execinfo \
> +	--without-bluetooth \
> +	--without-cap \
> +	--without-cpg \
> +	--without-curses \
> +	--without-dahdi \
> +	--without-gsm \
> +	--without-ilbc \
> +	--without-gtk2 \
> +	--without-gmime \
> +	--without-h323 \
> +	--without-hoard \
> +	--without-ical \
> +	--without-iconv \
> +	--without-iksemel \
> +	--without-imap \
> +	--without-inotify \
> +	--without-iodbc \
> +	--without-isdnnet \
> +	--without-jack \
> +	--without-uriparser \
> +	--without-kqueue \
> +	--without-ldap \
> +	--without-libcurl \
> +	--without-libedit \
> +	--without-libxslt \
> +	--without-ltdl \
> +	--without-lua \
> +	--without-misdn \
> +	--without-mysqlclient \
> +	--without-nbs \
> +	--without-neon \
> +	--without-neon29 \
> +	--without-netsnmp \
> +	--without-newt \
> +	--without-ogg \
> +	--without-openr2 \
> +	--without-opus \
> +	--without-osptk \
> +	--without-oss \
> +	--without-postgres \
> +	--without-pjproject \
> +	--without-popt \
> +	--without-portaudio \
> +	--without-pri \
> +	--without-pwlib \
> +	--without-radius \
> +	--without-resample \
> +	--without-sdl \
> +	--without-SDL_image \
> +	--without-spandsp \
> +	--without-ss7 \
> +	--without-speex \
> +	--without-speexdsp \
> +	--without-sqlite \
> +	--without-srtp \
> +	--without-ssl \
> +	--without-suppserv \
> +	--without-tds \
> +	--without-termcap \
> +	--without-timerfd \
> +	--without-tinfo \
> +	--without-tonezone \
> +	--without-unbound \
> +	--without-unixodbc \
> +	--without-vorbis \
> +	--without-vpb \
> +	--without-x11 \
> +	--without-z \
> +	--with-crypt \
> +	--with-jansson \
> +	--with-libxml2 \
> +	--with-ncurses="$(STAGING_DIR)/usr" \
> +	--with-sqlite3="$(STAGING_DIR)/usr" \
> +	--with-sounds-cache=$(BR2_DL_DIR)
> +
> +ASTERISK_CONF_ENV = \
> +	ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config
> +
> +ASTERISK_DIRS = \
> +	ASTVARLIBDIR="/usr/lib/asterisk" \
> +	ASTDATADIR="/usr/lib/asterisk" \
> +	ASTKEYDIR="/usr/lib/asterisk" \
> +	ASTDBDIR="/usr/lib/asterisk"
> +
> +ASTERISK_MAKE_OPTS = $(ASTERISK_DIRS)
> +
> +# We want to install sample configuration files, too.
> +ASTERISK_INSTALL_TARGET_OPTS = \
> +	$(ASTERISK_DIRS) \
> +	DESTDIR=$(TARGET_DIR) \
> +	install samples

There are some warnings about /usr/sbin/ldconfig being used on the target directory:

/usr/sbin/ldconfig: output/target/usr/lib/libjansson.so is for unknown machine 40.
[...]

I suggest to add LDCONFIG=true in ASTERISK_INSTALL_TARGET_OPTS.

> +
> +#-------------------------------------------------------------------------------
> +# This part deals with building the menuselect tool.
> +# Even though menuselect is an autotools package, it is *not* installed in
> +# $(HOST_DIR) as asterisk does expect it to be in a sub-directory of its
> +# source tree.
> +
> +ASTRISK_MENUSELECT_FLAGS = \

./support/scripts/check-package package/asterisk/*
package/asterisk/asterisk.mk:135: possible typo: ASTRISK_MENUSELECT_FLAGS ->
*ASTERISK*

:)

This is a quick (partial) review for today.

Best regards,
Romain

> +	LDFLAGS="$(HOST_LDFLAGS) -lxml2" \
> +	CFLAGS="$(HOST_CLFAGS) -I$(HOST_DIR)/usr/include/libxml2"
> +
> +ASTERISK_MENUSELECT_CONF_ENV = \
> +	CONFIG_LIBXML2=$(HOST_DIR)/usr/bin/xml2-config
> +
> +ASTERISK_MENUSELECT_CONF_OPTS = \
> +	--without-newt \
> +	--without-curses \
> +	--with-ncurses=$(HOST_DIR)/usr \
> +	--with-libxml2=$(HOST_DIR)/usr \
> +	$(ASTRISK_MENUSELECT_FLAGS)
> +
> +ASTERISK_MENUSELECT_MAKE_OPTS = \
> +	$(ASTRISK_MENUSELECT_FLAGS)
> +
> +define ASTERISK_MENUSELECT_CONFIGURE_CMDS
> +	cd $(@D)/menuselect && rm -rf config.cache; \
> +	$(HOST_CONFIGURE_OPTS) \
> +	CFLAGS="$(HOST_CFLAGS)" \
> +	LDFLAGS="$(HOST_LDFLAGS)" \
> +	$(ASTERISK_MENUSELECT_CONF_ENV) \
> +	CONFIG_SITE=/dev/null \
> +	./configure \
> +		--prefix="$(HOST_DIR)/usr" \
> +		--sysconfdir="$(HOST_DIR)/etc" \
> +		--localstatedir="$(HOST_DIR)/var" \
> +		--enable-shared --disable-static \
> +		--disable-gtk-doc \
> +		--disable-gtk-doc-html \
> +		--disable-doc \
> +		--disable-docs \
> +		--disable-documentation \
> +		--disable-debug \
> +		--with-xmlto=no \
> +		--with-fop=no \
> +		--disable-dependency-tracking \
> +		$(QUIET) $(ASTERISK_MENUSELECT_CONF_OPTS)
> +endef
> +ASTERISK_PRE_CONFIGURE_HOOKS += ASTERISK_MENUSELECT_CONFIGURE_CMDS
> +
> +define ASTERISK_MENUSELECT_BUILD_CMDS
> +	$(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/menuselect $(ASTERISK_MENUSELECT_MAKE_OPTS)
> +endef
> +ASTERISK_PRE_BUILD_HOOKS += ASTERISK_MENUSELECT_BUILD_CMDS
> +
> +$(eval $(autotools-package))
> 

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 03/52] package/asterisk: new package
  2017-01-22 20:31   ` Romain Naour
@ 2017-01-22 21:40     ` Yann E. MORIN
  0 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2017-01-22 21:40 UTC (permalink / raw)
  To: buildroot

Romain, All,

On 2017-01-22 21:31 +0100, Romain Naour spake thusly:
> Le 30/12/2016 ? 11:29, Yann E. MORIN a ?crit :
> > Asterisk: the flagship of telephony on Linux. These are the lines of
> > code whose continuous mission is to power small and large enterprises
> > telephony systems, to boldly provide IP PBX where no one has done so
> > before.
> > diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
> > new file mode 100644
> > index 0000000..239e457
> > --- /dev/null
> > +++ b/package/asterisk/asterisk.mk
[--SNIP--]
> > +# We want to install sample configuration files, too.
> > +ASTERISK_INSTALL_TARGET_OPTS = \
> > +	$(ASTERISK_DIRS) \
> > +	DESTDIR=$(TARGET_DIR) \
> > +	install samples
> 
> There are some warnings about /usr/sbin/ldconfig being used on the target directory:
> 
> /usr/sbin/ldconfig: output/target/usr/lib/libjansson.so is for unknown machine 40.
> [...]
> 
> I suggest to add LDCONFIG=true in ASTERISK_INSTALL_TARGET_OPTS.

Done.

> > +
> > +#-------------------------------------------------------------------------------
> > +# This part deals with building the menuselect tool.
> > +# Even though menuselect is an autotools package, it is *not* installed in
> > +# $(HOST_DIR) as asterisk does expect it to be in a sub-directory of its
> > +# source tree.
> > +
> > +ASTRISK_MENUSELECT_FLAGS = \
> 
> ./support/scripts/check-package package/asterisk/*
> package/asterisk/asterisk.mk:135: possible typo: ASTRISK_MENUSELECT_FLAGS ->
> *ASTERISK*

And fixed as well.

> This is a quick (partial) review for today.

Thanks! :-)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 43/52] package/libpjsip: add option to enable G.7221 codec
  2016-12-30 10:29 ` [Buildroot] [PATCH 43/52] package/libpjsip: add option to enable G.7221 codec Yann E. MORIN
@ 2017-01-27 17:06   ` Adam Duskett
  2017-01-27 17:07     ` Yann E. MORIN
  0 siblings, 1 reply; 61+ messages in thread
From: Adam Duskett @ 2017-01-27 17:06 UTC (permalink / raw)
  To: buildroot

Hello;

On Fri, Dec 30, 2016 at 5:29 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> We do have a standalone libg7221 package, but pjsip can only use a
> bundled version.
>
> Patching pjsip so it can use the standalone version is not trivial, so
> we have to live with that... :-(
>
> Fortunately, the library that pjsip installs does nto conflict with the
> one from the libg7221 package, as it is named differently.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> ---
>  package/libpjsip/Config.in   | 3 +++
>  package/libpjsip/libpjsip.mk | 6 +++++-
>  2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
> index 903dd1d..2e0178c 100644
> --- a/package/libpjsip/Config.in
> +++ b/package/libpjsip/Config.in
> @@ -18,6 +18,9 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_G711
>  config BR2_PACKAGE_LIBPJSIP_CODEC_G722
>         bool "G.722 codec"
>
> +config BR2_PACKAGE_LIBPJSIP_CODEC_G7221
> +       bool "G.722.1 codec"
> +
>  config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
>      bool "GSM codec"
>      depends on !BR2_STATIC_LIBS # libgsm
> diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
> index a7d66f5..c7b4023 100644
> --- a/package/libpjsip/libpjsip.mk
> +++ b/package/libpjsip/libpjsip.mk
> @@ -29,7 +29,6 @@ LIBPJSIP_CONF_OPTS = \
>         --disable-resample \
>         --disable-video \
>         --disable-opencore-amr \
> -       --disable-g7221-codec \
>         --disable-ilbc-codec \
>         --disable-webrtc \
>         --disable-opus \
> @@ -75,6 +74,11 @@ ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G722),y)
>  LIBPJSIP_CONF_OPTS += --disable-g722-codec
>  endif
>
> +# libpjsip can only use a bundled version of libg7221
> +ifneq ($(BR2_PACKAGE_LIBPJSIP_G7221_CODEC),y)
> +LIBPJSIP_CONF_OPTS += --disable-g7221-codec
> +endif
> +
BR2_PACKAGE_LIBPJSIP_G7221_CODEC doesn't match BR2_PACKAGE_LIBPJSIP_CODEC_G7221.

>  ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
>  LIBPJSIP_DEPENDENCIES += libgsm
>  LIBPJSIP_CONF_OPTS += --with-external-gsm
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Adam

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 43/52] package/libpjsip: add option to enable G.7221 codec
  2017-01-27 17:06   ` Adam Duskett
@ 2017-01-27 17:07     ` Yann E. MORIN
  0 siblings, 0 replies; 61+ messages in thread
From: Yann E. MORIN @ 2017-01-27 17:07 UTC (permalink / raw)
  To: buildroot

Adam, All,

On 2017-01-27 12:06 -0500, Adam Duskett spake thusly:
> On Fri, Dec 30, 2016 at 5:29 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > We do have a standalone libg7221 package, but pjsip can only use a
> > bundled version.
> >
> > Patching pjsip so it can use the standalone version is not trivial, so
> > we have to live with that... :-(
> >
> > Fortunately, the library that pjsip installs does nto conflict with the
> > one from the libg7221 package, as it is named differently.
> >
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > ---
> >  package/libpjsip/Config.in   | 3 +++
> >  package/libpjsip/libpjsip.mk | 6 +++++-
> >  2 files changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
> > index 903dd1d..2e0178c 100644
> > --- a/package/libpjsip/Config.in
> > +++ b/package/libpjsip/Config.in
> > @@ -18,6 +18,9 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_G711
> >  config BR2_PACKAGE_LIBPJSIP_CODEC_G722
> >         bool "G.722 codec"
> >
> > +config BR2_PACKAGE_LIBPJSIP_CODEC_G7221
> > +       bool "G.722.1 codec"
> > +
> >  config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
> >      bool "GSM codec"
> >      depends on !BR2_STATIC_LIBS # libgsm
> > diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
> > index a7d66f5..c7b4023 100644
> > --- a/package/libpjsip/libpjsip.mk
> > +++ b/package/libpjsip/libpjsip.mk
> > @@ -29,7 +29,6 @@ LIBPJSIP_CONF_OPTS = \
> >         --disable-resample \
> >         --disable-video \
> >         --disable-opencore-amr \
> > -       --disable-g7221-codec \
> >         --disable-ilbc-codec \
> >         --disable-webrtc \
> >         --disable-opus \
> > @@ -75,6 +74,11 @@ ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G722),y)
> >  LIBPJSIP_CONF_OPTS += --disable-g722-codec
> >  endif
> >
> > +# libpjsip can only use a bundled version of libg7221
> > +ifneq ($(BR2_PACKAGE_LIBPJSIP_G7221_CODEC),y)
> > +LIBPJSIP_CONF_OPTS += --disable-g7221-codec
> > +endif
> > +
> BR2_PACKAGE_LIBPJSIP_G7221_CODEC doesn't match BR2_PACKAGE_LIBPJSIP_CODEC_G7221.

Good catch! :-)

will fix, thanks.

Regards,
Yann E. MORIN.

> >  ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
> >  LIBPJSIP_DEPENDENCIES += libgsm
> >  LIBPJSIP_CONF_OPTS += --with-external-gsm
> > --
> > 2.7.4
> >
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot
> 
> Adam

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 61+ messages in thread

* [Buildroot] [PATCH 05/52] package/libgsm: new package
  2016-12-30 10:29 ` [Buildroot] [PATCH 05/52] package/libgsm: new package Yann E. MORIN
@ 2017-01-27 19:38   ` Thomas Petazzoni
  0 siblings, 0 replies; 61+ messages in thread
From: Thomas Petazzoni @ 2017-01-27 19:38 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 30 Dec 2016 11:29:06 +0100, Yann E. MORIN wrote:

> diff --git a/package/libgsm/Config.in b/package/libgsm/Config.in
> new file mode 100644
> index 0000000..b883329
> --- /dev/null
> +++ b/package/libgsm/Config.in
> @@ -0,0 +1,10 @@
> +config BR2_PACKAGE_LIBGSM
> +	bool "libgsm"
> +	depends on !BR2_STATIC_LIBS
> +	help
> +	  Shared libraries for GSM 06.10 lossy speech compression.
> +
> +	  http://www.quut.com/gsm
> +
> +comment "libgsm needs a toolchain w/ shared libraries"

The normal comment for this is "w/ dynamic library", so I've fixed that
and applied.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 61+ messages in thread

end of thread, other threads:[~2017-01-27 19:38 UTC | newest]

Thread overview: 61+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-30 10:29 [Buildroot] [PATCH 00/52] Add a rather complete asterisk stack Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 01/52] package/libpjsip: disable remaining unspecified options Yann E. MORIN
2017-01-04 13:16   ` Luca Ceresoli
2017-01-04 17:12     ` Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 02/52] package/libpjsip: drop path to staging to find libsrtp Yann E. MORIN
2017-01-04 13:21   ` Luca Ceresoli
2016-12-30 10:29 ` [Buildroot] [PATCH 03/52] package/asterisk: new package Yann E. MORIN
2017-01-22 20:31   ` Romain Naour
2017-01-22 21:40     ` Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 04/52] package/asterisk: enable backtrace when available Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 05/52] package/libgsm: new package Yann E. MORIN
2017-01-27 19:38   ` Thomas Petazzoni
2016-12-30 10:29 ` [Buildroot] [PATCH 06/52] package/asterisk: add optional libgsm dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 07/52] package/asterisk: add optional zlib dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 08/52] package/asterisk: add optional support for SSL Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 09/52] package/asterisk: add optional alsa-lib dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 10/52] package/asterisk: add optional curl dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 11/52] package/asterisk: add optional neon dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 12/52] package/asterisk: add optional libogg dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 13/52] package/asterisk: add optional bluez_utils dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 14/52] package/asterisk: add optional opus dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 15/52] package/asterisk: add optional speex dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 16/52] package/asterisk: add optional libvorbis dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 17/52] package/asterisk: add optional libilbc dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 18/52] package/asterisk: add optional portaudio dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 19/52] package/asterisk: add optional libical dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 20/52] package/asterisk: add optional openldap dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 21/52] package/asterisk: add optional freeradius-client dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 22/52] package/asterisk: add optional libsrtp dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 23/52] package/dahdi-linux: new package Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 24/52] package/dahdi-tools: " Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 25/52] package/dahdi-tools: add USB support Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 26/52] package/asterisk: add support for dahdi Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 27/52] package/libss7: new package Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 28/52] package/asterisk: add support for SS7 Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 29/52] package/libpri: new package Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 30/52] package/asterisk: add support for PRI signalling Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 31/52] package/spandsp: new package Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 32/52] package/asterisk: add optional spandsp support Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 33/52] package/libqb: new package Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 34/52] package/corosync: " Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 35/52] package/corosync: add optional dbus support Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 36/52] package/corosync: add optional snmp support Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 37/52] package/asterisk: add optional corosync dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 38/52] package/libpjsip: add option to enable GSM codec Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 39/52] package/asterisk: add optional netsnmp dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 40/52] package/libpjsip: add option to enable SPEEX codec Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 41/52] package/libpjsip: add option to enable G.711 codec Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 42/52] package/libpjsip: add option to enable G.722 codec Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 43/52] package/libpjsip: add option to enable G.7221 codec Yann E. MORIN
2017-01-27 17:06   ` Adam Duskett
2017-01-27 17:07     ` Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 44/52] package/libpjsip: add option to enable iLBC codec Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 45/52] package/libpjsip: add option to enable L16 codec Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 46/52] package/libpjsip: add optional portaudio support Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 47/52] package/asterisk: add optional pjsip support Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 48/52] package/asterisk: add optional libcap dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 49/52] package/asterisk: add optional iconv support Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 50/52] package/asterisk: enable inotify when possible Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 51/52] package/asterisk: add optional unixodbc dependency Yann E. MORIN
2016-12-30 10:29 ` [Buildroot] [PATCH 52/52] package/asterisk: add optional jack2 dependency Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.