package/caps: new package
authorMartin Bark <martin@barkynet.com>
Mon, 14 Oct 2019 11:26:55 +0000 (13:26 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Wed, 16 Oct 2019 21:44:40 +0000 (23:44 +0200)
CAPS is a collection of audio plugins comprising virtual guitar
amplification and a small range of basic classic effects, signal
processors and generators of often elementary and occasionally
exotic nature.

The plugins aim to satisfy the highest demands in sound quality
with maximal computational efficiency and zero latency.

Note, that the original patch [1] dates back in 2014.

[1] https://patchwork.ozlabs.org/patch/376822/

CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[Thomas:
 - drop patch 0001, use improved logic in .mk file instead
 - add dependency on !BR2_STATIC_LIBS]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
DEVELOPERS
package/Config.in
package/caps/0001-Fix-stdint-types-with-musl.patch [new file with mode: 0644]
package/caps/Config.in [new file with mode: 0644]
package/caps/caps.hash [new file with mode: 0644]
package/caps/caps.mk [new file with mode: 0644]

index f08e85ebdf5ff7f6b7e368bcdf17fa383854d4e3..9a24ca30ca040622d572f3eab0a23ac2e70c1d41 100644 (file)
@@ -1248,6 +1248,7 @@ F:        board/lemaker/bananapro/
 F:     configs/bananapro_defconfig
 F:     package/augeas/
 F:     package/bluez-alsa/
+F:     package/caps/
 F:     package/freescale-imx/imx-alsa-plugins/
 F:     package/libopusenc/
 F:     package/libupnpp/
index c835545fae1d8b9f811b07080318f014a8ec32ed..a51313235ce646dd82e1ac92621ab920bf66cd13 100644 (file)
@@ -1166,6 +1166,7 @@ menu "Audio/Sound"
        source "package/aubio/Config.in"
        source "package/audiofile/Config.in"
        source "package/bcg729/Config.in"
+       source "package/caps/Config.in"
        source "package/celt051/Config.in"
        source "package/fdk-aac/Config.in"
        source "package/libao/Config.in"
diff --git a/package/caps/0001-Fix-stdint-types-with-musl.patch b/package/caps/0001-Fix-stdint-types-with-musl.patch
new file mode 100644 (file)
index 0000000..23002c0
--- /dev/null
@@ -0,0 +1,54 @@
+From 626e60a82120961ccee117dfcb5c28f72f8a26e5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Wed, 28 Aug 2019 11:25:49 +0200
+Subject: [PATCH] Fix stdint types with musl
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fetched from:
+https://github.com/dsacre/meta-lad/blob/master/recipes-multimedia/lv2/caps-lv2/fix-stdint-types-with-musl.patch
+
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ basics.h | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/basics.h b/basics.h
+index 643d96e..34e5f63 100644
+--- a/basics.h
++++ b/basics.h
+@@ -39,6 +39,7 @@
+ #define _ISOC9X_SOURCE 1
+ #include <stdlib.h>
++#include <stdint.h>
+ #include <string.h>
+ #include <math.h>
+@@ -49,14 +50,14 @@
+ #include "ladspa.h"
+-typedef __int8_t                      int8;
+-typedef __uint8_t                     uint8;
+-typedef __int16_t                     int16;
+-typedef __uint16_t            uint16;
+-typedef __int32_t                     int32;
+-typedef __uint32_t            uint32;
+-typedef __int64_t                     int64;
+-typedef __uint64_t            uint64;
++typedef int8_t                        int8;
++typedef uint8_t                       uint8;
++typedef int16_t                       int16;
++typedef uint16_t              uint16;
++typedef int32_t                       int32;
++typedef uint32_t              uint32;
++typedef int64_t                       int64;
++typedef uint64_t              uint64;
+ #define MIN_GAIN 1e-6 /* -120 dB */
+ /* smallest non-denormal 32 bit IEEE float is 1.18e-38 */
+-- 
+2.22.0
+
diff --git a/package/caps/Config.in b/package/caps/Config.in
new file mode 100644 (file)
index 0000000..f48e176
--- /dev/null
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_CAPS
+       bool "caps"
+       depends on BR2_INSTALL_LIBSTDCPP
+       depends on !BR2_STATIC_LIBS
+       help
+         CAPS is a collection of audio plugins comprising virtual
+         guitar amplification and a small range of basic classic
+         effects, signal processors and generators of often
+         elementary and occasionally exotic nature.
+
+         The plugins aim to satisfy the highest demands in sound
+         quality with maximal computational efficiency and zero
+         latency.
+
+         http://quitte.de/dsp/caps.html
+
+comment "caps needs a toolchain w/ C++, dynamic library"
+       depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS
diff --git a/package/caps/caps.hash b/package/caps/caps.hash
new file mode 100644 (file)
index 0000000..958f4b6
--- /dev/null
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 e7496c5bce05abebe3dcb635926153bbb58a9337a6e423f048d3b61d8a4f98c9  caps_0.9.26.tar.bz2
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
diff --git a/package/caps/caps.mk b/package/caps/caps.mk
new file mode 100644 (file)
index 0000000..c4e9454
--- /dev/null
@@ -0,0 +1,34 @@
+################################################################################
+#
+# caps
+#
+################################################################################
+
+CAPS_VERSION = 0.9.26
+CAPS_SOURCE = caps_$(CAPS_VERSION).tar.bz2
+CAPS_SITE = http://quitte.de/dsp
+CAPS_LICENSE = GPLv3
+CAPS_LICENSE_FILES = COPYING
+
+# Need to pass TARGET_CONFIGURE_OPTS in the environment to not
+# override the LDFLAGS definition of the Makefile.
+CAPS_MAKE_ENV = \
+       $(TARGET_MAKE_ENV) \
+       $(TARGET_CONFIGURE_OPTS) \
+       CFLAGS="$(TARGET_CXXFLAGS)"
+
+# caps Makefile uses CC and CFLAGS, but for C++
+CAPS_MAKE_OPTS = \
+       CC="$(TARGET_CXX)" \
+       STRIP=/bin/true
+
+define CAPS_BUILD_CMDS
+       $(CAPS_MAKE_ENV) $(MAKE) $(CAPS_MAKE_OPTS) all -C $(@D)
+endef
+
+define CAPS_INSTALL_TARGET_CMDS
+       $(CAPS_MAKE_ENV) $(MAKE) $(CAPS_MAKE_OPTS) \
+               DESTDIR=$(TARGET_DIR) install -C $(@D)
+endef
+
+$(eval $(generic-package))