From 78a06826be274bb4aded8ad5f946a873253db0f9 Mon Sep 17 00:00:00 2001
From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
Date: Wed, 18 Jul 2018 20:15:07 -0500
Subject: user/ladspa: pull in, modernise, fix up

---
 user/ladspa/APKBUILD                             | 44 ++++++++++++++++++++++++
 user/ladspa/fallback-ladspa-path.patch           | 27 +++++++++++++++
 user/ladspa/fix-memleak-in-plugin-scanning.patch | 11 ++++++
 3 files changed, 82 insertions(+)
 create mode 100644 user/ladspa/APKBUILD
 create mode 100644 user/ladspa/fallback-ladspa-path.patch
 create mode 100644 user/ladspa/fix-memleak-in-plugin-scanning.patch

(limited to 'user/ladspa')

diff --git a/user/ladspa/APKBUILD b/user/ladspa/APKBUILD
new file mode 100644
index 000000000..dfadd5e2b
--- /dev/null
+++ b/user/ladspa/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Carlo Landmeter <clandmeter@gmail.com>
+# Maintainer: William Pitcock <nenolod@dereferenced.org>
+pkgname=ladspa
+pkgver=1.13
+pkgrel=3
+pkgdesc="Linux Audio Developer's Simple Plug-in API, examples and tools"
+url="http://www.ladspa.org/"
+arch="all"
+options="!check"  # Currently fails on armhf and aarch64.
+license="LGPL-2.1-only"
+depends=""
+makedepends=""
+subpackages="$pkgname-dev"
+source="https://github.com/OpenMandrivaAssociation/ladspa/raw/master/ladspa_sdk_1.13.tgz
+	fallback-ladspa-path.patch
+	fix-memleak-in-plugin-scanning.patch
+	"
+builddir="$srcdir/ladspa_sdk/src"
+
+prepare() {
+	default_prepare
+	sed -i 's/mkdirhier/mkdir -p/' makefile
+}
+
+build() {
+	cd "$builddir"
+	make targets
+}
+
+check() {
+	cd "$builddir"
+	make test
+}
+
+package() {
+	cd "$builddir"
+	make INSTALL_PLUGINS_DIR="$pkgdir/usr/lib/ladspa/" \
+		INSTALL_INCLUDE_DIR="$pkgdir/usr/include/" \
+		INSTALL_BINARY_DIR="$pkgdir/usr/bin/" install
+}
+
+sha512sums="a1dab807fda58e08869d3f519be5fa91c394690eb13006fbe7f20b332548e4676b32b01273f5695bf36c8da72190c07618662a76d50f991b3f05068ac2b346ef  ladspa_sdk_1.13.tgz
+00891ac5d1e3ca17cf7d99e7d894b50f9a7df8eea80cd791593cf637bf9f4f7e658d0124c69aa32bb90a14150737a38cb48552c7991f3f2b6674b3634440504a  fallback-ladspa-path.patch
+1a96b24a47c2c82f7c2f66e2ee711f0ecbed9b03260562b72ced1bd4c8f0e518d15fc7c15951b95b1999e3dae1723b855fd3431a9795279f8a88ad68900e48e7  fix-memleak-in-plugin-scanning.patch"
diff --git a/user/ladspa/fallback-ladspa-path.patch b/user/ladspa/fallback-ladspa-path.patch
new file mode 100644
index 000000000..a0a3c43a3
--- /dev/null
+++ b/user/ladspa/fallback-ladspa-path.patch
@@ -0,0 +1,27 @@
+diff -upr ladspa_sdk.orig/src/load.c ladspa_sdk/src/load.c
+--- ./load.c	2012-09-26 07:37:24.000000000 +0300
++++ ./load.c	2012-09-26 07:38:58.000000000 +0300
+@@ -54,6 +54,8 @@ dlopenLADSPA(const char * pcFilename, in
+        to search. */
+ 
+     pcLADSPAPath = getenv("LADSPA_PATH");
++    if (! pcLADSPAPath)
++      pcLADSPAPath = "/usr/lib/ladspa";
+     
+     if (pcLADSPAPath) {
+ 
+diff -upr ladspa_sdk.orig/src/search.c ladspa_sdk/src/search.c
+--- ./search.c	2012-09-26 07:37:24.000000000 +0300
++++ ./search.c	2012-09-26 07:38:46.000000000 +0300
+@@ -99,10 +99,7 @@ LADSPAPluginSearch(LADSPAPluginSearchCal
+ 
+   pcLADSPAPath = getenv("LADSPA_PATH");
+   if (!pcLADSPAPath) {
+-    fprintf(stderr,
+-	    "Warning: You do not have a LADSPA_PATH "
+-	    "environment variable set.\n");
+-    return;
++    pcLADSPAPath = "/usr/lib/ladspa";
+   }
+   
+   pcStart = pcLADSPAPath;
diff --git a/user/ladspa/fix-memleak-in-plugin-scanning.patch b/user/ladspa/fix-memleak-in-plugin-scanning.patch
new file mode 100644
index 000000000..bc8ef7c4b
--- /dev/null
+++ b/user/ladspa/fix-memleak-in-plugin-scanning.patch
@@ -0,0 +1,11 @@
+--- ./search.c.orig	2008-11-07 00:38:18.000000000 +0100
++++ ./search.c	2008-11-07 00:50:51.000000000 +0100
+@@ -83,6 +83,8 @@
+ 	dlclose(pcFilename);
+ 	free(pcFilename);
+       }
++    } else {
++      free(pcFilename);
+     }
+   }
+ }
-- 
cgit v1.2.3-70-g09d2