Skip to contentSkip to conversation

package/speexdsp: new package

PATCH New Bernd Kuhls 2 participants 7 messages Jun 13, 2018 – Jun 16, 2018

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/6 package/speexdsp: new package

Quoting speex release notes from https://www.speex.org

"Speex 1.2rc2 and SpeexDSP 1.2rc2 are out
December 6, 2014
This release splits the speex codec library and the speex DSP library into separate source trees."

After bumping speex to 1.2.0 this new package is necessary to provide speex-based DSP support for packages like Freeswitch and Asterisk.

We use current git HEAD which received 21 commits since the 1.2rc3 tarball was released in 2015, including a fix for building on arm.

We still need another patch which was not committed to git master to fix building on aarch64.

---
v3: updated package description and patch description (Peter)
v2: no changes

 package/Config.in                             |   1 +
 .../0001-port-resample-neon-to-aarch64.patch  | 250 ++++++++++++++++++
 package/speexdsp/Config.in                    |   6 +
 package/speexdsp/speexdsp.hash                |   3 +
 package/speexdsp/speexdsp.mk                  |  22 ++
 5 files changed, 282 insertions(+)
 create mode 100644 package/speexdsp/0001-port-resample-neon-to-aarch64.patch
 create mode 100644 package/speexdsp/Config.in
 create mode 100644 package/speexdsp/speexdsp.hash
 create mode 100644 package/speexdsp/speexdsp.mk
package/Config.in +1 -0
index f622b89bab..5756a37f72 100644
@@ -1044,6 +1044,7 @@ menu "Audio/Sound"
 	source "package/portaudio/Config.in"
 	source "package/sbc/Config.in"
 	source "package/speex/Config.in"
+	source "package/speexdsp/Config.in"
 	source "package/taglib/Config.in"
 	source "package/tinyalsa/Config.in"
 	source "package/tremor/Config.in"
package/speexdsp/0001-port-resample-neon-to-aarch64.patch new file +250 -0

250 lines not on this page · raw message

package/speexdsp/Config.in new file +6 -0
new file mode 100644
index 0000000000..2ae5b59d02
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_SPEEXDSP
+	bool "speexdsp"
+	help
+	  DSP library derived from speex.
+
+	  https://www.speex.org
package/speexdsp/speexdsp.hash new file +3 -0
new file mode 100644
index 0000000000..5c3d6b96f3
@@ -0,0 +1,3 @@
+# Locally computed
+sha256 e896489e045d11933723a94b9dd6f8e7d3d4e0d4b34c9612bcb2f4204261130c  speexdsp-20ed3452074664ad07e380e51321b148acebdf20.tar.gz
+sha256 671bb5d8fd3c6b05a2e831d90f978ac27965c92bd8ea6d16b3df76e3440c0e9f  COPYING
package/speexdsp/speexdsp.mk new file +22 -0
new file mode 100644
index 0000000000..e4b2ce5112
@@ -0,0 +1,22 @@
+################################################################################
+#
+# speexdsp
+#
+################################################################################
+
+SPEEXDSP_VERSION = 20ed3452074664ad07e380e51321b148acebdf20
+SPEEXDSP_SITE = https://git.xiph.org/speexdsp.git
+SPEEXDSP_SITE_METHOD = git
+SPEEXDSP_LICENSE = BSD-3-Clause
+SPEEXDSP_LICENSE_FILES = COPYING
+SPEEXDSP_INSTALL_STAGING = YES
+SPEEXDSP_DEPENDENCIES = host-pkgconf
+SPEEXDSP_AUTORECONF = YES
+
+# Autoreconf step fails due to missing m4 directory
+define SPEEXDSP_PRECONFIGURE
+	mkdir -p $(@D)/m4
+endef
+SPEEXDSP_PRE_CONFIGURE_HOOKS += SPEEXDSP_PRECONFIGURE
+
+$(eval $(autotools-package))
Signature · 1 line
2.17.1
#1 lore raw

PATCH v3 2/6 package/speex: add optional dependency to speexdsp

Quoting speex release notes from https://www.speex.org

"Speex 1.2rc2 and SpeexDSP 1.2rc2 are out
December 6, 2014
This release splits the speex codec library and the speex DSP library into separate source trees."

After bumping speex to 1.2.0 DSP support is provided by speexdsp.

---
v3: no changes
v2: no changes

 package/speex/speex.mk | 4 ++++
 1 file changed, 4 insertions(+)
package/speex/speex.mk +4 -0
index c6b46e0eb3..522f8cc09c 100644
@@ -13,6 +13,10 @@ SPEEX_DEPENDENCIES = host-pkgconf libogg
 SPEEX_CONF_OPTS = \
 	--enable-fixed-point
 
+ifeq ($(BR2_PACKAGE_SPEEXDSP),y)
+SPEEX_DEPENDENCIES += speexdsp
+endif
+
 ifeq ($(BR2_PACKAGE_SPEEX_ARM4),y)
 SPEEX_CONF_OPTS += --enable-arm4-asm
 endif
Signature · 1 line
2.17.1
#2 lore raw

PATCH v3 3/6 package/freeswitch: needs speexdsp

In reply to Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/a3f/a3f9845681025fad93a4f867bb667822e87a08ea/

---
v3: no changes
v2: no changes

 package/freeswitch/Config.in | 1 +
 1 file changed, 1 insertion(+)
package/freeswitch/Config.in +1 -0
index 1f6459335d..ff2898dc3c 100644
@@ -17,6 +17,7 @@ config BR2_PACKAGE_FREESWITCH
 	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_PCRE
 	select BR2_PACKAGE_SPEEX
+	select BR2_PACKAGE_SPEEXDSP
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_UTIL_LINUX
 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
Signature · 1 line
2.17.1
#3 lore raw

PATCH v3 4/6 package/asterisk: add optional dependency to speexdsp

In reply to Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/9f6/9f61192382ea4b57b0f0548626968752363bb13f/

---
v3: no changes
v2: no changes

 package/asterisk/asterisk.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/asterisk/asterisk.mk +1 -1
index f2f210b524..430b122655 100644
@@ -229,7 +229,7 @@ else
 ASTERISK_CONF_OPTS += --without-ssl
 endif
 
-ifeq ($(BR2_PACKAGE_SPEEX),y)
+ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy)
 ASTERISK_DEPENDENCIES += speex
 ASTERISK_CONF_OPTS += --with-speex --with-speexdsp
 else
Signature · 1 line
2.17.1
#4 lore raw

PATCH v3 5/6 package/linphone: needs speexdsp

In reply to Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/956/956b8cffa0a35a417763ad72bb7c8e8a8b2fe6b0/

---
v3: no changes
v2: no changes

 package/linphone/Config.in | 1 +
 1 file changed, 1 insertion(+)
package/linphone/Config.in +1 -0
index 2504ca2b49..06eb059cfd 100644
@@ -5,6 +5,7 @@ config BR2_PACKAGE_LINPHONE
 	depends on BR2_USE_MMU # libeXosip2
 	select BR2_PACKAGE_LIBEXOSIP2
 	select BR2_PACKAGE_SPEEX
+	select BR2_PACKAGE_SPEEXDSP
 	help
 	  Linphone is an internet phone or Voice Over IP phone (VoIP).
 
Signature · 1 line
2.17.1
#5 lore raw

PATCH v3 6/6 package/mediastreamer: add optional dependency to speexdsp

In reply to Bernd Kuhls

Fixes
http://autobuild.buildroot.net/results/594/594ea96cd7b6726052268a3c0b094e00e7b8f12f/

---
v3: initial version

 package/mediastreamer/mediastreamer.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/mediastreamer/mediastreamer.mk +1 -1
index 1276cfae10..d3b70f4ca9 100644
@@ -46,7 +46,7 @@ MEDIASTREAMER_CONF_OPTS += --disable-opus
 endif
 
 # portaudio backend needs speex as well
-ifeq ($(BR2_PACKAGE_PORTAUDIO)$(BR2_PACKAGE_SPEEX),yy)
+ifeq ($(BR2_PACKAGE_PORTAUDIO)$(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yyy)
 MEDIASTREAMER_CONF_OPTS += --enable-portaudio
 MEDIASTREAMER_DEPENDENCIES += portaudio speex
 else
Signature · 1 line
2.17.1
#6 lore raw

PATCH v3 1/6 package/speexdsp: new package

In reply to Bernd Kuhls

Hello,

Quoted 13 lines · Bernd Kuhls

Quoting speex release notes from https://www.speex.org

"Speex 1.2rc2 and SpeexDSP 1.2rc2 are out
December 6, 2014
This release splits the speex codec library and the speex DSP library into separate source trees."

After bumping speex to 1.2.0 this new package is necessary to provide speex-based DSP support for packages like Freeswitch and Asterisk.

We use current git HEAD which received 21 commits since the 1.2rc3 tarball was released in 2015, including a fix for building on arm.

Quoted 7 lines

We still need another patch which was not committed to git master to fix building on aarch64.

---
v3: updated package description and patch description (Peter)
v2: no changes

Series applied. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com