[Buildroot] [PATCH 1/3] ladspa-sdk: new package
Martin Bark
martin at barkynet.com
Thu Apr 24 21:19:42 UTC 2014
LADSPA is a standard that allows software audio processors and
effects to be plugged into a wide range of audio synthesis and
recording packages.
Signed-off-by: Martin Bark <martin at barkynet.com>
---
package/Config.in | 1 +
package/ladspa-sdk/Config.in | 8 +++++
.../ladspa-sdk/ladspa-sdk-01-no-mkdirhier.patch | 18 ++++++++++
.../ladspa-sdk-02-default-ladspa-path.patch | 30 ++++++++++++++++
.../ladspa-sdk-04-fix-linkage-C-plugins.diff | 23 ++++++++++++
.../ladspa-sdk/ladspa-sdk-05-linking-order.patch | 37 ++++++++++++++++++++
.../ladspa-sdk-06-cross-compile-fix.patch | 35 ++++++++++++++++++
package/ladspa-sdk/ladspa-sdk.mk | 27 ++++++++++++++
8 files changed, 179 insertions(+)
create mode 100644 package/ladspa-sdk/Config.in
create mode 100644 package/ladspa-sdk/ladspa-sdk-01-no-mkdirhier.patch
create mode 100644 package/ladspa-sdk/ladspa-sdk-02-default-ladspa-path.patch
create mode 100644 package/ladspa-sdk/ladspa-sdk-04-fix-linkage-C-plugins.diff
create mode 100644 package/ladspa-sdk/ladspa-sdk-05-linking-order.patch
create mode 100644 package/ladspa-sdk/ladspa-sdk-06-cross-compile-fix.patch
create mode 100644 package/ladspa-sdk/ladspa-sdk.mk
diff --git a/package/Config.in b/package/Config.in
index 07fd166..5956154 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -493,6 +493,7 @@ source "package/alsa-lib/Config.in"
source "package/audiofile/Config.in"
source "package/celt051/Config.in"
source "package/fdk-aac/Config.in"
+source "package/ladspa-sdk/Config.in"
source "package/libao/Config.in"
source "package/libcdaudio/Config.in"
source "package/libcdio/Config.in"
diff --git a/package/ladspa-sdk/Config.in b/package/ladspa-sdk/Config.in
new file mode 100644
index 0000000..ec3d568
--- /dev/null
+++ b/package/ladspa-sdk/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LADSPA_SDK
+ bool "ladspa-sdk"
+ help
+ LADSPA is a standard that allows software audio processors and
+ effects to be plugged into a wide range of audio synthesis and
+ recording packages.
+
+ http://www.ladspa.org/
diff --git a/package/ladspa-sdk/ladspa-sdk-01-no-mkdirhier.patch b/package/ladspa-sdk/ladspa-sdk-01-no-mkdirhier.patch
new file mode 100644
index 0000000..d424594
--- /dev/null
+++ b/package/ladspa-sdk/ladspa-sdk-01-no-mkdirhier.patch
@@ -0,0 +1,18 @@
+Use mkdir -p instead of mkdirhier to avoid build-dep on xutils-dev
+Index: ladspa-sdk/src/makefile
+===================================================================
+--- ladspa-sdk.orig/src/makefile 2009-06-05 14:49:37.000000000 +1000
++++ ladspa-sdk/src/makefile 2009-06-05 14:50:07.000000000 +1000
+@@ -59,9 +59,9 @@
+ @echo Test complete.
+
+ install: targets
+- -mkdirhier $(INSTALL_PLUGINS_DIR)
+- -mkdirhier $(INSTALL_INCLUDE_DIR)
+- -mkdirhier $(INSTALL_BINARY_DIR)
++ -mkdir -p $(INSTALL_PLUGINS_DIR)
++ -mkdir -p $(INSTALL_INCLUDE_DIR)
++ -mkdir -p $(INSTALL_BINARY_DIR)
+ cp ../plugins/* $(INSTALL_PLUGINS_DIR)
+ cp ladspa.h $(INSTALL_INCLUDE_DIR)
+ cp ../bin/* $(INSTALL_BINARY_DIR)
diff --git a/package/ladspa-sdk/ladspa-sdk-02-default-ladspa-path.patch b/package/ladspa-sdk/ladspa-sdk-02-default-ladspa-path.patch
new file mode 100644
index 0000000..05f5122
--- /dev/null
+++ b/package/ladspa-sdk/ladspa-sdk-02-default-ladspa-path.patch
@@ -0,0 +1,30 @@
+Use a default ladspa path instead of failing when LADSPA_PATH is undefined
+Index: ladspa-sdk/src/load.c
+===================================================================
+--- ladspa-sdk.orig/src/load.c 2009-06-05 14:52:05.000000000 +1000
++++ ladspa-sdk/src/load.c 2009-06-05 14:54:04.000000000 +1000
+@@ -54,6 +54,8 @@
+ to search. */
+
+ pcLADSPAPath = getenv("LADSPA_PATH");
++ if (!pcLADSPAPath)
++ pcLADSPAPath = "/usr/lib/ladspa";
+
+ if (pcLADSPAPath) {
+
+Index: ladspa-sdk/src/search.c
+===================================================================
+--- ladspa-sdk.orig/src/search.c 2009-06-05 14:52:05.000000000 +1000
++++ ladspa-sdk/src/search.c 2009-06-05 14:52:57.000000000 +1000
+@@ -99,10 +99,10 @@
+
+ pcLADSPAPath = getenv("LADSPA_PATH");
+ if (!pcLADSPAPath) {
++ pcLADSPAPath = "/usr/lib/ladspa/";
+ fprintf(stderr,
+ "Warning: You do not have a LADSPA_PATH "
+ "environment variable set.\n");
+- return;
+ }
+
+ pcStart = pcLADSPAPath;
diff --git a/package/ladspa-sdk/ladspa-sdk-04-fix-linkage-C-plugins.diff b/package/ladspa-sdk/ladspa-sdk-04-fix-linkage-C-plugins.diff
new file mode 100644
index 0000000..5934f75
--- /dev/null
+++ b/package/ladspa-sdk/ladspa-sdk-04-fix-linkage-C-plugins.diff
@@ -0,0 +1,23 @@
+LD does not automatically insert needed libraries, we must specify them
+Index: ladspa-sdk/src/makefile
+===================================================================
+--- ladspa-sdk.orig/src/makefile 2009-11-03 20:36:21.000000000 -0300
++++ ladspa-sdk/src/makefile 2009-11-03 20:37:25.000000000 -0300
+@@ -14,7 +14,7 @@
+ #
+
+ INCLUDES = -I.
+-LIBRARIES = -ldl -lm
++LIBRARIES = -ldl -lm -lc
+ CFLAGS = $(INCLUDES) -Wall -Werror -O2 -fPIC
+ CXXFLAGS = $(CFLAGS)
+ PLUGINS = ../plugins/amp.so \
+@@ -35,7 +35,7 @@
+
+ ../plugins/%.so: plugins/%.c ladspa.h
+ $(CC) $(CFLAGS) -o plugins/$*.o -c plugins/$*.c
+- $(LD) -o ../plugins/$*.so plugins/$*.o -shared
++ $(LD) -o ../plugins/$*.so plugins/$*.o -shared $(LIBRARIES)
+
+ ../plugins/%.so: plugins/%.cpp ladspa.h
+ $(CPP) $(CXXFLAGS) -o plugins/$*.o -c plugins/$*.cpp
diff --git a/package/ladspa-sdk/ladspa-sdk-05-linking-order.patch b/package/ladspa-sdk/ladspa-sdk-05-linking-order.patch
new file mode 100644
index 0000000..a66def7
--- /dev/null
+++ b/package/ladspa-sdk/ladspa-sdk-05-linking-order.patch
@@ -0,0 +1,37 @@
+Description: Correct linking order to prevent FTBFS with GCC4.5 + binutils-gold.
+Author: Alessio Treglia <quadrispro at ubuntu.com>
+---
+ src/makefile | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+--- ladspa-sdk-1.13.orig/src/makefile
++++ ladspa-sdk-1.13/src/makefile
+@@ -90,19 +90,22 @@ targets: $(PLUGINS) $(PROGRAMS)
+ #
+
+ ../bin/applyplugin: applyplugin.o load.o default.o
+- $(CC) $(CFLAGS) $(LIBRARIES) \
++ $(CC) $(CFLAGS) \
+ -o ../bin/applyplugin \
+- applyplugin.o load.o default.o
++ applyplugin.o load.o default.o \
++ $(LIBRARIES)
+
+ ../bin/analyseplugin: analyseplugin.o load.o default.o
+- $(CC) $(CFLAGS) $(LIBRARIES) \
++ $(CC) $(CFLAGS) \
+ -o ../bin/analyseplugin \
+- analyseplugin.o load.o default.o
++ analyseplugin.o load.o default.o \
++ $(LIBRARIES)
+
+ ../bin/listplugins: listplugins.o search.o
+- $(CC) $(CFLAGS) $(LIBRARIES) \
++ $(CC) $(CFLAGS) \
+ -o ../bin/listplugins \
+- listplugins.o search.o
++ listplugins.o search.o \
++ $(LIBRARIES)
+
+ ###############################################################################
+ #
diff --git a/package/ladspa-sdk/ladspa-sdk-06-cross-compile-fix.patch b/package/ladspa-sdk/ladspa-sdk-06-cross-compile-fix.patch
new file mode 100644
index 0000000..549b6eb
--- /dev/null
+++ b/package/ladspa-sdk/ladspa-sdk-06-cross-compile-fix.patch
@@ -0,0 +1,35 @@
+--- ladspa-sdk-1.13.original/src/makefile 2014-04-24 19:59:18.151359520 +0100
++++ ladspa-sdk-1.13/src/makefile 2014-04-24 20:01:42.820770007 +0100
+@@ -15,8 +15,8 @@
+
+ INCLUDES = -I.
+ LIBRARIES = -ldl -lm
+-CFLAGS = $(INCLUDES) -Wall -Werror -O3 -fPIC
+-CXXFLAGS = $(CFLAGS)
++CFLAGS += $(INCLUDES) -Wall -fPIC
++CXXFLAGS += $(CFLAGS)
+ PLUGINS = ../plugins/amp.so \
+ ../plugins/delay.so \
+ ../plugins/filter.so \
+@@ -25,8 +25,8 @@
+ PROGRAMS = ../bin/analyseplugin \
+ ../bin/applyplugin \
+ ../bin/listplugins
+-CC = cc
+-CPP = c++
++CC ?= cc
++CXX ?= c++
+
+ ###############################################################################
+ #
+@@ -38,8 +38,8 @@
+ $(LD) -o ../plugins/$*.so plugins/$*.o -shared
+
+ ../plugins/%.so: plugins/%.cpp ladspa.h
+- $(CPP) $(CXXFLAGS) -o plugins/$*.o -c plugins/$*.cpp
+- $(CPP) -o ../plugins/$*.so plugins/$*.o -shared
++ $(CXX) $(CXXFLAGS) -o plugins/$*.o -c plugins/$*.cpp
++ $(CXX) -o ../plugins/$*.so plugins/$*.o -shared
+
+ ###############################################################################
+ #
diff --git a/package/ladspa-sdk/ladspa-sdk.mk b/package/ladspa-sdk/ladspa-sdk.mk
new file mode 100644
index 0000000..f6f4cf0
--- /dev/null
+++ b/package/ladspa-sdk/ladspa-sdk.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# ladspa-sdk
+#
+################################################################################
+
+LADSPA_SDK_VERSION = 1.13
+LADSPA_SDK_SOURCE = ladspa_sdk_$(LADSPA_SDK_VERSION).tgz
+LADSPA_SDK_SITE = http://www.ladspa.org/download/
+LADSPA_SDK_LICENSE = LGPLv2.1+
+LADSPA_SDK_LICENSE_FILES = doc/COPYING
+LADSPA_SDK_INSTALL_STAGING = YES
+
+define LADSPA_SDK_BUILD_CMDS
+ $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/src targets
+endef
+
+define LADSPA_SDK_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 0644 $(@D)/plugins/*.so $(TARGET_DIR)/usr/lib/ladspa/.
+ $(INSTALL) -D -m 0755 $(@D)/bin/* $(TARGET_DIR)/usr/bin/.
+endef
+
+define LADSPA_SDK_INSTALL_STAGING_CMDS
+ $(INSTALL) -D -m 0644 $(@D)/src/ladspa.h $(STAGING_DIR)/usr/include/.
+endef
+
+$(eval $(generic-package))
--
1.7.9.5
More information about the buildroot
mailing list