summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-libs/ladspa-sdk/Manifest1
-rw-r--r--media-libs/ladspa-sdk/files/ladspa-sdk-1.15-properbuild.patch114
-rw-r--r--media-libs/ladspa-sdk/ladspa-sdk-1.15.ebuild64
3 files changed, 179 insertions, 0 deletions
diff --git a/media-libs/ladspa-sdk/Manifest b/media-libs/ladspa-sdk/Manifest
index deb53c7d70ad..424a514238f3 100644
--- a/media-libs/ladspa-sdk/Manifest
+++ b/media-libs/ladspa-sdk/Manifest
@@ -1 +1,2 @@
DIST ladspa_sdk_1.13.tgz 70540 BLAKE2B cfc5dce5b02107f361cfff3881173d04ea0ff5856cb7e9fb0cf5e23ca62c7f61b8b3b1573b95f67d82eb039cda874a3ba66856b6408e5e6785823c9d53c8cd2e SHA512 a1dab807fda58e08869d3f519be5fa91c394690eb13006fbe7f20b332548e4676b32b01273f5695bf36c8da72190c07618662a76d50f991b3f05068ac2b346ef
+DIST ladspa_sdk_1.15.tgz 71179 BLAKE2B 7a201fd968433241fda190874d51b835f425c8f35270dc8fac9acf4e9e1546fa20d48f85e894b9eb263dd5d84c2b407481d168e18256dfe2cdd026fe0c805a65 SHA512 a521622e23d988284244003e4ccfc3b42f6ddc7944cb00e7949b87e09d7f39a0cbb64b6d8b5a5af0a5ccf7179f88815416a88f02d3912957167e54b74accfc65
diff --git a/media-libs/ladspa-sdk/files/ladspa-sdk-1.15-properbuild.patch b/media-libs/ladspa-sdk/files/ladspa-sdk-1.15-properbuild.patch
new file mode 100644
index 000000000000..bba05d1ef48d
--- /dev/null
+++ b/media-libs/ladspa-sdk/files/ladspa-sdk-1.15-properbuild.patch
@@ -0,0 +1,114 @@
+diff --git a/src/Makefile b/src/Makefile
+index c339524..0b8137e 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -13,12 +13,12 @@ INSTALL_BINARY_DIR = /usr/bin/
+ # GENERAL
+ #
+
++CFLAGS = -Wall -Werror -O3
++CXXFLAGS = -Wall -Werror -O3
++
+ INCLUDES = -I.
+-LIBRARIES = -ldl -lm
+-CFLAGS = $(INCLUDES) -Wall -Werror -O2 -fPIC \
+- -DDEFAULT_LADSPA_PATH=$(INSTALL_PLUGINS_DIR)
+-BINFLAGS = -fPIE -pie
+-CXXFLAGS = $(CFLAGS)
++DYNAMIC_LD_LIBS = -ldl
++LIBRARIES = $(DYNAMIC_LD_LIBS) -lm
+ PLUGINS = ../plugins/amp.so \
+ ../plugins/delay.so \
+ ../plugins/filter.so \
+@@ -28,7 +28,8 @@ PROGRAMS = ../bin/analyseplugin \
+ ../bin/applyplugin \
+ ../bin/listplugins
+ CC = cc
+-CPP = c++
++CXX = c++
++MKDIR_P = mkdirhier
+
+ ###############################################################################
+ #
+@@ -36,26 +37,12 @@ CPP = c++
+ #
+
+ ../plugins/%.so: plugins/%.c ladspa.h gcc_exports.map
+- $(CC) $(CFLAGS) -o plugins/$*.o -c plugins/$*.c
+- $(CC) -o ../plugins/$*.so \
+- plugins/$*.o \
+- -shared \
+- $(CFLAGS) \
+- -fvisibility=hidden \
+- -fvisibility-inlines-hidden \
+- -s \
+- -Wl,--version-script=gcc_exports.map
++ $(CC) $(CFLAGS) $(INCLUDES) -fPIC -o plugins/$*.o -c plugins/$*.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o ../plugins/$*.so plugins/$*.o -nostartfiles -shared
+
+ ../plugins/%.so: plugins/%.cpp ladspa.h gcc_exports.map
+- $(CPP) $(CXXFLAGS) -o plugins/$*.o -c plugins/$*.cpp
+- $(CPP) -o ../plugins/$*.so \
+- plugins/$*.o \
+- -shared \
+- $(CXXFLAGS) \
+- -fvisibility=hidden \
+- -fvisibility-inlines-hidden \
+- -s \
+- -Wl,--version-script=gcc_exports.map
++ $(CXX) $(CXXFLAGS) $(INCLUDES) -fPIC -o plugins/$*.o -c plugins/$*.cpp
++ $(CXX) $(LDFLAGS) -o ../plugins/$*.so plugins/$*.o -shared
+
+ ###############################################################################
+ #
+@@ -66,7 +53,7 @@ test: /tmp/test.wav ../snd/noise.wav always
+ @echo ---------------------------------------------
+ @echo First listen to the white noise input signal:
+ @echo ---------------------------------------------
+- -sndfile-play ../snd/noise.wav
++ @echo -sndfile-play ../snd/noise.wav
+ @echo -------------------------
+ @echo Compare to plugin output.
+ @echo -------------------------
+@@ -75,12 +62,12 @@ test: /tmp/test.wav ../snd/noise.wav always
+ @echo Test complete.
+
+ install: targets
+- -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)
++ -$(MKDIR_P) $(DESTDIR)$(INSTALL_PLUGINS_DIR)
++ -$(MKDIR_P) $(DESTDIR)$(INSTALL_INCLUDE_DIR)
++ -$(MKDIR_P) $(DESTDIR)$(INSTALL_BINARY_DIR)
++ cp ../plugins/* $(DESTDIR)$(INSTALL_PLUGINS_DIR)
++ cp ladspa.h $(DESTDIR)$(INSTALL_INCLUDE_DIR)
++ cp ../bin/* $(DESTDIR)$(INSTALL_BINARY_DIR)
+
+ /tmp/test.wav: targets ../snd/noise.wav
+ ../bin/listplugins
+@@ -106,19 +93,19 @@ targets: $(PLUGINS) $(PROGRAMS)
+ #
+
+ ../bin/applyplugin: applyplugin.o load.o default.o
+- $(CC) $(CFLAGS) $(BINFLAGS) \
++ $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) \
+ -o ../bin/applyplugin \
+ applyplugin.o load.o default.o \
+ $(LIBRARIES)
+
+ ../bin/analyseplugin: analyseplugin.o load.o default.o
+- $(CC) $(CFLAGS) $(BINFLAGS) \
++ $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) \
+ -o ../bin/analyseplugin \
+ analyseplugin.o load.o default.o \
+ $(LIBRARIES)
+
+ ../bin/listplugins: listplugins.o search.o
+- $(CC) $(CFLAGS) $(BINFLAGS) \
++ $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) \
+ -o ../bin/listplugins \
+ listplugins.o search.o \
+ $(LIBRARIES)
diff --git a/media-libs/ladspa-sdk/ladspa-sdk-1.15.ebuild b/media-libs/ladspa-sdk/ladspa-sdk-1.15.ebuild
new file mode 100644
index 000000000000..2f61df077ec2
--- /dev/null
+++ b/media-libs/ladspa-sdk/ladspa-sdk-1.15.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils multilib toolchain-funcs portability flag-o-matic multilib-minimal
+
+MY_PN=${PN/-/_}
+MY_P=${MY_PN}_${PV}
+
+DESCRIPTION="The Linux Audio Developer's Simple Plugin API"
+HOMEPAGE="http://www.ladspa.org/"
+SRC_URI="http://www.ladspa.org/download/${MY_P}.tgz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND=">=sys-apps/sed-4"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-properbuild.patch"
+)
+
+HTML_DOCS="doc/*.html"
+
+src_prepare() {
+ default
+
+ multilib_copy_sources
+}
+
+multilib_src_compile() {
+ cd src
+ emake CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+ DYNAMIC_LD_LIBS="$(dlopen_lib)" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ targets
+}
+
+multilib_src_test() {
+ cd src
+ emake test
+}
+
+multilib_src_install() {
+ cd src
+ emake INSTALL_PLUGINS_DIR="/usr/$(get_libdir)/ladspa" \
+ DESTDIR="${ED}" \
+ MKDIR_P="mkdir -p" \
+ install
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ # Needed for apps like rezound
+ dodir /etc/env.d
+ echo "LADSPA_PATH=${EPREFIX}/usr/$(get_libdir)/ladspa" > "${ED}/etc/env.d/60ladspa"
+}