From patchwork Thu Apr 24 21:19:42 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Bark X-Patchwork-Id: 342479 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id 390C4140144 for ; Fri, 25 Apr 2014 07:19:54 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 1A2E68BDE2; Thu, 24 Apr 2014 21:19:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wfUJ7UgJ7Q-J; Thu, 24 Apr 2014 21:19:51 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id CA6E58BE13; Thu, 24 Apr 2014 21:19:51 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 510E91BF95B for ; Thu, 24 Apr 2014 21:19:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 4E71B8BDE7 for ; Thu, 24 Apr 2014 21:19:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4pjxCz-DxGSE for ; Thu, 24 Apr 2014 21:19:50 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wg0-f42.google.com (mail-wg0-f42.google.com [74.125.82.42]) by fraxinus.osuosl.org (Postfix) with ESMTPS id E33628BDE2 for ; Thu, 24 Apr 2014 21:19:49 +0000 (UTC) Received: by mail-wg0-f42.google.com with SMTP id k14so156780wgh.13 for ; Thu, 24 Apr 2014 14:19:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=cThzufR3YlK2OFJeFb1kvIJyHNGJp/tamlKsguCg5+o=; b=k0uj6F+o7fbI7zmJhMseB78NgKO838SSaDQwRza6LHITju3IQ5cDl45F6a76+Sk7oW 10mznDS6hMbElkeSqhBhg0plXsBBxleFJmY02BIa0QnAzl6XyOiAwl44c8PgYzk+D7tP nn2QfPtSA0PHW01R2DqBEiWv1em0C1tnCw4WMmTTKKFMI2FXiB2iDcmpfHXWy8Sani23 p5JZnfh4Np+1qFVCbpZQdP9iEe4xfBLLwuvJGj5Qa6haRGKgU+PkyPLSoAdkIxsiEnXb 7jgLq4D91fCxyOs3z1IHJ5OohAYH7r7/WBtHi8Y+M5SWeHCTdGmq2dynAVLio0MrEPRz XjfQ== X-Gm-Message-State: ALoCoQkAEu2BELpX7z1UodGKRMPLFQAjHsR52sc22MzKG7CIUTVquhZwK43atHjR7I9LY8HZI3hf X-Received: by 10.180.19.130 with SMTP id f2mr786214wie.6.1398374388201; Thu, 24 Apr 2014 14:19:48 -0700 (PDT) Received: from homer.home.barkynet.com (barkynet.plus.com. [80.229.219.126]) by mx.google.com with ESMTPSA id mw4sm1418542wib.12.2014.04.24.14.19.47 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 24 Apr 2014 14:19:47 -0700 (PDT) Received: from krusty (krusty.home.barkynet.com [192.168.1.16]) by homer.home.barkynet.com (Postfix) with ESMTP id 4AE9F13F7F7; Thu, 24 Apr 2014 22:19:56 +0100 (BST) Received: by krusty (Postfix, from userid 65535) id 1EE5CA400E7; Thu, 24 Apr 2014 22:19:46 +0100 (BST) From: Martin Bark To: buildroot@buildroot.org Date: Thu, 24 Apr 2014 22:19:42 +0100 Message-Id: <1398374384-8814-1-git-send-email-martin@barkynet.com> X-Mailer: git-send-email 1.7.9.5 Subject: [Buildroot] [PATCH 1/3] ladspa-sdk: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net 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 --- 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 +--- + 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))