Skip to contentSkip to conversation

libsoxr: new package

PATCH Superseded Hadrien Boutteville 3 participants 5 messages Apr 19, 2014

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libsoxr: new package

Building tests fails mainly because of the cross-compilation, so they are disabled for the moment.

---
 package/Config.in          |  1 +
 package/libsoxr/Config.in  | 16 ++++++++++++++++
 package/libsoxr/libsoxr.mk | 24 ++++++++++++++++++++++++
 3 files changed, 41 insertions(+)
 create mode 100644 package/libsoxr/Config.in
 create mode 100644 package/libsoxr/libsoxr.mk
package/Config.in +1 -0
index 748d28e..f04e422 100644
@@ -505,6 +505,7 @@ source "package/libmpd/Config.in"
 source "package/libreplaygain/Config.in"
 source "package/libsamplerate/Config.in"
 source "package/libsndfile/Config.in"
+source "package/libsoxr/Config.in"
 source "package/libvorbis/Config.in"
 source "package/opus/Config.in"
 source "package/portaudio/Config.in"
package/libsoxr/Config.in new file +16 -0
new file mode 100644
index 0000000..ad6f8dd
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_LIBSOXR
+	bool "libsoxr"
+	help
+	  The SoX Resampler library `libsoxr' performs one-dimensional
+	  sample-rate conversion?it may be used, for example, to
+	  resample PCM-encoded audio.
+
+	  It aims to give fast and high quality results for any constant
+	  (rational or irrational) resampling ratio. Phase-response,
+	  preserved bandwidth, aliasing, and rejection level parameters
+	  are all configurable; alternatively, simple `preset'
+	  configurations may be selected. An experimental, variable-rate
+	  resampling mode of operation is also included.
+
+	  http://sourceforge.net/projects/soxr/
+
package/libsoxr/libsoxr.mk new file +24 -0
new file mode 100644
index 0000000..c0fb72b
@@ -0,0 +1,24 @@
+################################################################################
+#
+# libsoxr
+#
+################################################################################
+
+LIBSOXR_VERSION = 0.1.1
+LIBSOXR_SITE = git://git.code.sf.net/p/soxr/code
+LIBSOXR_LICENSE = LGPLv2.1
+LIBSOXR_LICENSE_FILES = LICENCE COPYING.LGPL
+LIBSOXR_INSTALL_STAGING = YES
+LIBSOXR_CONF_OPT = -DWITH_OPENMP:BOOL=OFF -DBUILD_TESTS:BOOL=OFF
+
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBSOXR_CONF_OPT += -DBUILD_SHARED_LIBS:BOOL=OFF
+endif
+
+ifeq ($(BR2_ENDIAN),"BIG")
+LIBSOXR_CONF_OPT += -DHAVE_WORDS_BIGENDIAN=1
+else
+LIBSOXR_CONF_OPT += -DHAVE_WORDS_BIGENDIAN=0
+endif
+
+$(eval $(cmake-package))
#1 lore raw

PATCH 1/1 libsoxr: new package

Hadrien Boutteville <[email protected]> schreef:

Quoted 60 lines

Building tests fails mainly because of the cross-compilation, so they are disabled for the moment.

---

package/Config.in          |  1 +
package/libsoxr/Config.in  | 16 ++++++++++++++++
package/libsoxr/libsoxr.mk | 24 ++++++++++++++++++++++++
3 files changed, 41 insertions(+)

create mode 100644 package/libsoxr/Config.in
create mode 100644 package/libsoxr/libsoxr.mk

package/Config.in +0 -0
index 748d28e..f04e422 100644
@@ -505,6 +505,7 @@ source "package/libmpd/Config.in"

source "package/libreplaygain/Config.in"
source "package/libsamplerate/Config.in"
source "package/libsndfile/Config.in"
+source "package/libsoxr/Config.in"
source "package/libvorbis/Config.in"
source "package/opus/Config.in"
source "package/portaudio/Config.in"

package/libsoxr/Config.in new file +16 -0
new file mode 100644
index 0000000..ad6f8dd
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_LIBSOXR
+	bool "libsoxr"
+	help
+	  The SoX Resampler library `libsoxr' performs one-dimensional
+	  sample-rate conversion?it may be used, for example, to
+	  resample PCM-encoded audio.
+
+	  It aims to give fast and high quality results for any constant
+	  (rational or irrational) resampling ratio. Phase-response,
+	  preserved bandwidth, aliasing, and rejection level parameters
+	  are all configurable; alternatively, simple `preset'
+	  configurations may be selected. An experimental, variable-rate
+	  resampling mode of operation is also included.
+
+	  http://sourceforge.net/projects/soxr/
+
package/libsoxr/libsoxr.mk new file +8 -0
new file mode 100644
index 0000000..c0fb72b
@@ -0,0 +1,24 @@
+################################################################################
+#
+# libsoxr
+#
+################################################################################
+
+LIBSOXR_VERSION = 0.1.1
+LIBSOXR_SITE = git://git.code.sf.net/p/soxr/code

package/libsoxr/libsoxr.mk line 18

Quoted 10 lines
package/libsoxr/libsoxr.mk new file +10 -0
+LIBSOXR_LICENSE = LGPLv2.1
+LIBSOXR_LICENSE_FILES = LICENCE COPYING.LGPL
+LIBSOXR_INSTALL_STAGING = YES
+LIBSOXR_CONF_OPT = -DWITH_OPENMP:BOOL=OFF -DBUILD_TESTS:BOOL=OFF
+
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBSOXR_CONF_OPT += -DBUILD_SHARED_LIBS:BOOL=OFF
+endif
+
+ifeq ($(BR2_ENDIAN),"BIG")

Use
ifeq ($(call qstrip,$(BR2_ENDIAN) ),BIG)
instead..

Best regards,
Thomas

#2 lore raw

PATCH 1/1 libsoxr: new package

In reply to Hadrien Boutteville

Dear Hadrien Boutteville,

Quoted 4 lines · Hadrien Boutteville

Building tests fails mainly because of the cross-compilation, so they are disabled for the moment.

Thanks, this is looking good. A few comments below.

package/libsoxr/Config.in line 2

Quoted 8 lines
package/libsoxr/Config.in new file +2 -0
new file mode 100644
index 0000000..ad6f8dd
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_LIBSOXR
+	bool "libsoxr"

Really no toolchain dependencies? Can you test this package with the following toolchain configurations:

http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-linux-uclibc.config
-> this one tests !MMU

http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-uclinux.config
-> this one tests !MMU and static library only

http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full-nothread.config
-> this one tests the absence of thread support

http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config
-> and this one tests a minimal toolchain

Quoted 6 lines
package/libsoxr/libsoxr.mk new file +0 -0
new file mode 100644
index 0000000..c0fb72b

package/libsoxr/libsoxr.mk line 8

Quoted 8 lines
package/libsoxr/libsoxr.mk new file +8 -0
@@ -0,0 +1,24 @@
+################################################################################
+#
+# libsoxr
+#
+################################################################################
+
+LIBSOXR_VERSION = 0.1.1
+LIBSOXR_SITE = git://git.code.sf.net/p/soxr/code

The project apparently provides a tarball. Could you use the tarball instead of the Git repository?

package/libsoxr/libsoxr.mk line 9

Quoted 1 line
package/libsoxr/libsoxr.mk new file +1 -0
+LIBSOXR_LICENSE = LGPLv2.1

According to the LICENSE file, the license is LGPLv2.1+

package/libsoxr/libsoxr.mk line 11

Quoted 2 lines
package/libsoxr/libsoxr.mk new file +2 -0
+LIBSOXR_LICENSE_FILES = LICENCE COPYING.LGPL
+LIBSOXR_INSTALL_STAGING = YES

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/1 libsoxr: new package

Hello Thomas,

Quoted 6 lines · Thomas Petazzoni

Really no toolchain dependencies? Can you test this package with the following toolchain configurations:

http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-linux-uclibc.config
-> this one tests !MMU

Quoted 9 lines

http://autobuild.buildroot.org/toolchains/configs/free-electrons/bfin-uclinux.config
-> this one tests !MMU and static library only

http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-full-nothread.config
-> this one tests the absence of thread support

http://autobuild.buildroot.org/toolchains/configs/free-electrons/br-arm-basic.config
-> and this one tests a minimal toolchain

I packaged it with minimal toolchain configuration and checked for these cases, it built fine. I rebuilt with your configurations and it is always good.

At first glance the threads references in the code depend on OpenMP, and I disabled it.

I don't have time today to test the execution with static library and no thread, I just tested with a standard ARM configuration.

Quoted 9 lines
Quoted 9 lines
package/libsoxr/libsoxr.mk new file +3 -0
new file mode 100644
index 0000000..c0fb72b
@@ -0,0 +1,24 @@
+################################################################################
+#
+# libsoxr
Quoted 8 lines

package/libsoxr/libsoxr.mk line 8

Quoted 5 lines
package/libsoxr/libsoxr.mk new file +5 -0
+#
+################################################################################
+
+LIBSOXR_VERSION = 0.1.1
+LIBSOXR_SITE = git://git.code.sf.net/p/soxr/code

The project apparently provides a tarball. Could you use the tarball instead of the Git repository?

OK. Is it better to always use the tarball if available?

Quoted 3 lines

package/libsoxr/libsoxr.mk line 9

Quoted 1 line
package/libsoxr/libsoxr.mk new file +1 -0
+LIBSOXR_LICENSE = LGPLv2.1

According to the LICENSE file, the license is LGPLv2.1+

Corrected, thanks !

Regards,

Hadrien

#4 lore raw

PATCH 1/1 libsoxr: new package

Dear Hadrien Boutteville,

Quoted 3 lines · Hadrien Boutteville

I packaged it with minimal toolchain configuration and checked for these cases, it built fine. I rebuilt with your configurations and it is always good.

Good.

Quoted 5 lines

At first glance the threads references in the code depend on OpenMP, and I disabled it.

I don't have time today to test the execution with static library and no thread, I just tested with a standard ARM configuration.

That's ok.

Quoted 4 lines
Quoted 2 lines

The project apparently provides a tarball. Could you use the tarball instead of the Git repository?

OK. Is it better to always use the tarball if available?

Yes. It's typically faster to download, and git:// access can be problematic in some companies that have stupid firewall/proxy policies.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com