45 Commits

Author SHA1 Message Date
Andreas Müller
3c76a8f8ae Revert "Do not ignore line endings on patch files - it is shuch a mess"
We loose our diffs on patches - sigh

This reverts commit 3b9986d51f.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit ea7afbb50e)
2021-06-26 13:21:35 +02:00
Andreas Müller
076f5109b5 lsp-plugins: Remove our gconv hack for glibc and use it for musl
And ad more crap for the sake of building with musl

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit f070cebf03)
2021-06-26 13:21:35 +02:00
Andreas Müller
b99db57abe lsp-plugins: upgrade 1.1.26 -> 1.1.30
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 03afb76dc6)
2021-06-26 13:21:35 +02:00
Andreas Müller
09c9d9209c bslizr: initial add 1.2.16
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 3015aea92a)
2021-06-26 13:21:35 +02:00
Andreas Müller
8b4f48c80f yoshimi: upgrade 2.0.1 -> 2.0.2
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit e769073817)
2021-06-26 13:21:35 +02:00
Andreas Müller
df48ae635e bshapr: set correct source commit for v0.13
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 16003003ec)
2021-06-26 13:21:35 +02:00
Andreas Müller
ed7fbc987a bchoppr: upgrade 1.10.6 -> 1.10.8
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 0d238d6906)
2021-06-26 13:21:35 +02:00
Andreas Müller
8bad61814e boops: upgrade 1.4.0 -> 1.6.0
Unfortunately we had a typo in PV. To fix we have to introduce PE to avoid
version going backwards.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 7d6a953fab)
2021-06-26 13:12:27 +02:00
Andreas Müller
f96c190090 ardour6: upgrade 6.6+ -> 6-7
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 322360f9cb)
2021-06-26 13:12:27 +02:00
Andreas Müller
d276edf980 rubberband: Fixup for upgrade 1.9.0 -> 1.9.1
And I could swear I successfully built an image containing impossible
rubberband...

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 71bff3e205)
2021-05-31 22:24:33 +02:00
Andreas Müller
e57bb9132b spotify-qt: upgrade 3.5. -> 3.6
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit a7023ac366)
2021-05-24 14:30:04 +02:00
Andreas Müller
3c5185e20d boops: upgrade 1.2.4 -> 1.4.0
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 67c7653fc7)
2021-05-23 21:58:39 +02:00
Andreas Müller
853ff79624 qmmp: upgrade 1.4.5 -> 1.4.6
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 9f56d1d9f1)
2021-05-23 21:58:25 +02:00
Andreas Müller
5f9cef62f6 rubberband: upgrade 1.9.0 -> 1.9.1
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 3af28c00a9)
2021-05-19 00:32:43 +02:00
Andreas Müller
eaf13fdf91 tuna.lv2: upgrade 0.5.3 -> 0.5.5
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit c769cb2301)
2021-05-18 22:53:19 +02:00
Andreas Müller
ec1cc3fc98 sisco.lv2: upgrade 0.9.1 -> 0.9.3
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 3e96c5b2f4)
2021-05-18 22:53:19 +02:00
Andreas Müller
35bcc52d04 mixtri.lv2: upgrade 0.4.1 -> 0.4.3
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit bee25742d6)
2021-05-18 22:53:19 +02:00
Andreas Müller
e0e6a0962d meters.lv2: upgrade 0.9.16 -> 0.9.18
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit cb6afccb8c)
2021-05-18 22:53:19 +02:00
Andreas Müller
38e2ae6375 fil4.lv2: upgrade 0.7.2 -> 0.7.4
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit b0d1a827a4)
2021-05-18 22:53:19 +02:00
Andreas Müller
db69fa54dd fat1.lv2: upgrade 0.6.2 -> 0.6.5
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 68b3e5ef74)
2021-05-18 22:53:19 +02:00
Andreas Müller
0c4ca64db0 dpl.lv2: upgrade 0.4.1 -> 0.5.1
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 5da9c52ce1)
2021-05-18 22:53:19 +02:00
Andreas Müller
08092f0534 darc.lv2: upgrade 0.5.2 -> 0.5.4
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 84cacc5cf0)
2021-05-18 22:53:19 +02:00
Andreas Müller
2792c05d4f qtractor: upgrade 0.9.21+ -> 0.9.22+ / build with CMake
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 008b213396)
2021-05-17 23:12:32 +02:00
Andreas Müller
1ebb187e1f qmidinet: upgrade 0.9.2 -> 0.9.3 / build with CMake
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 05a3d25623)
2021-05-17 23:12:32 +02:00
Andreas Müller
25aac7eb54 qmidictl: upgrade 0.9.2 -> 0.9.3 / build with CMake
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit c3127833ae)
2021-05-17 23:12:32 +02:00
Andreas Müller
8f705ecb43 qsampler: upgrade 0.9.2 -> 0.9.3 / build with CMake
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 123cd843b1)
2021-05-17 23:12:32 +02:00
Andreas Müller
3b4b2e57e3 qsynth: upgrade 0.9.2 -> 0.9.3 / build with CMake
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit b4b2e6b9cc)
2021-05-17 23:12:32 +02:00
Andreas Müller
c1107f2749 qjackctl: upgrade 0.9.2 -> 0.9.3 / switch to CMake
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit a028808652)
2021-05-17 23:12:32 +02:00
Andreas Müller
a57c0ae2e2 synthv1: upgrade 0.9.21 -> 0.9.22
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 9db2f082b2)
2021-05-17 23:12:32 +02:00
Andreas Müller
cf4678f4a0 samplv1: upgrade 0.9.21 -> 0.9.22
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 62ef42cccd)
2021-05-17 23:12:32 +02:00
Andreas Müller
715c177292 padthv1: upgrade 0.9.21 -> 0.9.22
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 01fc0f5b74)
2021-05-17 23:12:32 +02:00
Andreas Müller
a00d356ef8 drumkv1: upgrade 0.9.21 -> 0.9.22
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 382af75a07)
2021-05-17 23:12:32 +02:00
Andreas Müller
dfb3e553f2 spotify / spotify-qt: Add only if meta-rust is in layers
Otherwise meta-rust is a hard dependency

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 750a9937b6)
2021-05-15 19:32:57 +02:00
Andreas Müller
31bed33fae qmmp: upgrade 1.4.4 -> 1.4.5
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 9888d33dbf)
2021-05-13 16:05:43 +02:00
Andreas Müller
d1056e5043 Do not ignore line endings on patch files - it is shuch a mess
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 3b9986d51f)
2021-05-08 15:37:19 +02:00
Andreas Müller
5a8051e463 Merge remote-tracking branch 'origin/master' into dunfell 2021-05-02 00:42:26 +02:00
Andreas Müller
f4f2780d72 Merge remote-tracking branch 'origin/master' into dunfell 2021-05-01 13:10:31 +02:00
Andreas Müller
435ae1078b Merge remote-tracking branch 'origin/master' into dunfell 2021-04-30 22:07:21 +02:00
Andreas Müller
6953378aca Merge remote-tracking branch 'origin/master' into dunfell 2021-04-30 21:35:14 +02:00
Andreas Müller
f533c0dd0c Merge remote-tracking branch 'origin/master' into dunfell 2021-04-29 18:47:11 +02:00
Andreas Müller
769968482a Revert "gst-plugins-base: Fix build"
This does not work on build hosts with make < 4.3

This reverts commit f6df996e4f.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2021-04-29 18:46:42 +02:00
Andreas Müller
f6df996e4f gst-plugins-base: Fix build
We should get gid of this...

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 2a3f8d0121)
2021-04-29 17:38:58 +02:00
Andreas Müller
6368905d68 carla: Fix fetch - master branch is gone and main seems different
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit 437a84230c)
2021-04-29 17:37:20 +02:00
Andreas Müller
e255cf18f2 muse: upgrade 3.1.1 -> 4.0.0
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit d3ad7e6629)
2021-04-28 22:40:48 +02:00
Andreas Müller
cf834f5849 soundfont-collection: fix fetch
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
(cherry picked from commit c3ff6aa3e1)
2021-04-27 00:04:56 +02:00
65 changed files with 2966 additions and 303 deletions

View File

@@ -17,8 +17,8 @@ Policies
* **Please do not send private emails to maintainer - they will not be answered anymore**. For bug-reports/questions/suggestions.. use [issues](https://github.com/schnitzeltony/meta-musicians/issues).
* Pull requests should follow [OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) with the following additions:
* Use 4 spaces for indentation always (shell and python code)
* For splitting of long list values use four-space indentation on successive lines and prefer the closing quote as the first character ([OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) - second example)
* Pull-requests with patches fixing issues for musl, clang or gold-linker are accepted only if patches have upstream-status "Applied" or "Backport" and contain a link to the upstream patch.
* For splitting of long list values use four-space indentation on sucessive lines and prefer the closing quote as the first character ([OE-Styleguide](https://www.openembedded.org/wiki/Styleguide) - second example)
* Pull-requests with patches fixing issues for musl, clang or gold-linker are accepeted only if patches have upstream-status "Applied" or "Backport" and contain a link to the upstream patch.
* Be aware that **this layer changes other layer's defaults by bbappends**. Maintainer disagrees with common 'configure to death practice' and won't waste time explaining dozens of knobs that are mandatory to get working/useful builds. See
[appends](appends).
Pull requests removing appends for sake of magic 'compliant' scripts are not accepted.

View File

@@ -16,7 +16,7 @@ DEPENDS_append = " qemu-native coreutils-native"
# meta-microcontroller/vtk that spawning many qemu instances in short time
# can lead to zombie processes)
QEMU_TIMEOUT ?= "180"
QEMU_TIMEOUT ?= "600"
def qemu_run_binary_local(data, rootfs_path, binary):
libdir = rootfs_path + data.getVar("libdir")

View File

@@ -0,0 +1,20 @@
SUMMARY = "A simple build configuration and project generation tool using lua"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fdafc691aa5fb7f8e2a9e9521fef771b"
HOMEPAGE = "http://premake.github.io/"
DEPENDS = "lua-native"
SRC_URI = "http://downloads.sourceforge.net/project/premake/Premake/${PV}/premake-src-${PV}.zip"
SRC_URI[md5sum] = "8d30dc5bbc52aad81abb1509c1dd7d8f"
SRC_URI[sha256sum] = "b59841a519e75d5b6566848a2c5be2f91455bf0cc6ae4d688fcbd4c40db934d5"
S = "${WORKDIR}/Premake-${PV}"
BBCLASSEXTEND = "native"
do_install() {
install -d ${D}${bindir}
install -m 755 ${S}/bin/premake ${D}${bindir}
}

View File

@@ -0,0 +1,34 @@
From 8ca73d78d0e7ce388654b2033cfbb78e3ed5d1f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Sun, 25 Jun 2017 18:54:01 +0200
Subject: [PATCH] Premake4.make: keep more of our build defaults
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
build/gmake.unix/Premake4.make | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/build/gmake.unix/Premake4.make b/build/gmake.unix/Premake4.make
index bbc159b..80fc136 100644
--- a/build/gmake.unix/Premake4.make
+++ b/build/gmake.unix/Premake4.make
@@ -26,9 +26,9 @@ ifeq ($(config),release)
DEFINES += -DNDEBUG -DLUA_USE_POSIX -DLUA_USE_DLOPEN
INCLUDES += -I../../src/host/lua-5.1.4/src
CPPFLAGS += -MMD -MP $(DEFINES) $(INCLUDES)
- CFLAGS += $(CPPFLAGS) $(ARCH) -Wall -Os
+ CFLAGS += $(CPPFLAGS) $(ARCH) -Wall
CXXFLAGS += $(CFLAGS)
- LDFLAGS += -s -rdynamic
+ LDFLAGS +=
LIBS += -lm -ldl
RESFLAGS += $(DEFINES) $(INCLUDES)
LDDEPS +=
--
2.9.4

View File

@@ -0,0 +1,25 @@
SUMMARY = "A simple build configuration and project generation tool using lua"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6f3a39cc652afb51d2f2bc39b67e308f"
HOMEPAGE = "http://premake.github.io/"
SRC_URI = " \
http://downloads.sourceforge.net/project/premake/Premake/${PV}/premake-${PV}-src.zip \
file://0001-Premake4.make-keep-more-of-our-build-defaults.patch \
"
SRC_URI[md5sum] = "8cfafee76f9665c93b2e9ad15b015eb7"
SRC_URI[sha256sum] = "36536490f8928d8ecde135da80cd8b751ea5bebe50cabba5c0de49cd41cb2780"
S = "${WORKDIR}/premake-${PV}"
BBCLASSEXTEND = "native"
do_compile_prepend() {
cd ${S}/build/gmake.unix
}
do_install() {
install -d ${D}${bindir}
install -m 755 ${S}/bin/release/premake4 ${D}${bindir}
}

View File

@@ -0,0 +1,25 @@
SUMMARY = "A simple build configuration and project generation tool using lua"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4d2a821a590b53e6ca55241102be4dbe"
HOMEPAGE = "http://premake.github.io/"
SRC_URI = " \
https://github.com/premake/premake-core/releases/download/v5.0.0-alpha14/premake-5.0.0-alpha14-src.zip \
"
SRC_URI[md5sum] = "f26699599c53865f7b154e9ed22a0ba4"
SRC_URI[sha256sum] = "7c9fa4488156625c819dd03f2b48bfd4712fbfabdc2b5768e8c7f52dd7d16608"
S = "${WORKDIR}/premake-${PV}-alpha14"
BBCLASSEXTEND = "native"
do_compile_prepend() {
cd ${S}/build/gmake.unix
export config=debug
}
do_install() {
install -d ${D}${bindir}
install -m 755 ${S}/bin/debug/premake5 ${D}${bindir}
}

View File

@@ -0,0 +1,74 @@
From 24b6038dc7c235780038d3fce2d9c83fada6ac8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 6 Feb 2017 23:33:45 +0100
Subject: [PATCH] remove all build flags that cause trouble for cross
configure/build
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross specific]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
tools/autowaf.py | 1 +
wscript | 26 --------------------------
2 files changed, 1 insertion(+), 26 deletions(-)
diff --git a/tools/autowaf.py b/tools/autowaf.py
index 375dc5909..bb7714335 100644
--- a/tools/autowaf.py
+++ b/tools/autowaf.py
@@ -93,6 +93,7 @@ def copyfile (task):
def check_header(conf, lang, name, define='', mandatory=True):
"Check for a header"
+ return True
includes = '' # search default system include paths
if sys.platform == "darwin":
includes = '/opt/local/include'
diff --git a/wscript b/wscript
index 9fd84bb2c..d4178cb36 100644
--- a/wscript
+++ b/wscript
@@ -476,31 +476,6 @@ int main() { return 0; }''',
compiler_flags.append ("-DARCH_X86")
- if platform == 'linux' :
-
- #
- # determine processor flags via /proc/cpuinfo
- #
-
- if conf.env['build_target'] != 'i386':
-
- flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1]
- x86_flags = flag_line.split (": ")[1:][0].split ()
-
- if "mmx" in x86_flags:
- compiler_flags.append ("-mmmx")
- if "sse" in x86_flags:
- build_host_supports_sse = True
- if "3dnow" in x86_flags:
- compiler_flags.append ("-m3dnow")
-
- if cpu == "i586":
- compiler_flags.append ("-march=i586")
- elif cpu == "i686":
- compiler_flags.append ("-march=i686")
-
- if not is_clang and ((conf.env['build_target'] == 'i686') or (conf.env['build_target'] == 'x86_64')) and build_host_supports_sse:
- compiler_flags.extend ([ flags_dict['sse'], flags_dict['fpmath-sse'], flags_dict['xmmintrinsics'] ])
if (conf.env['build_target'] == 'mingw'):
if (re.search ("(x86_64|AMD64)", cpu) != None):
@@ -1034,7 +1009,6 @@ def configure(conf):
fragment = "#include <dlfcn.h>\n int main(void) { dlopen (\"\", 0); return 0;}\n",
linkflags='-ldl', uselib_store='DL', execute = False)
conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
- execute = "1",
mandatory = True,
msg = 'Checking for boost library >= 1.39',
okmsg = 'ok',

View File

@@ -0,0 +1,229 @@
From 610ce4e19b0b39d0e8391057b22163d4fdc7bdb4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 3 Jul 2017 23:24:55 +0200
Subject: [PATCH 2/2] Use ARM NEON intrinsics if available for mixing functions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
libs/ardour/ardour/mix.h | 10 +++
libs/ardour/globals.cc | 13 ++++
libs/ardour/mix.cc | 157 +++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 180 insertions(+)
diff --git a/libs/ardour/ardour/mix.h b/libs/ardour/ardour/mix.h
index 4676c01..55919f0 100644
--- a/libs/ardour/ardour/mix.h
+++ b/libs/ardour/ardour/mix.h
@@ -65,6 +65,16 @@ LIBARDOUR_API void veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, cons
#endif
+#if defined (__ARM_NEON__)
+
+LIBARDOUR_API float neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
+LIBARDOUR_API void neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max);
+LIBARDOUR_API void neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain);
+LIBARDOUR_API void neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain);
+LIBARDOUR_API void neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes);
+
+#endif
+
/* non-optimized functions */
LIBARDOUR_API float default_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current);
diff --git a/libs/ardour/globals.cc b/libs/ardour/globals.cc
index 28eb818..d562b35 100644
--- a/libs/ardour/globals.cc
+++ b/libs/ardour/globals.cc
@@ -222,6 +222,19 @@ setup_hardware_optimization (bool try_optimization)
info << "Apple VecLib H/W specific optimizations in use" << endmsg;
}
+#elif defined (__ARM_NEON__)
+ // No runtime detection
+ compute_peak = neon_compute_peak;
+ find_peaks = neon_find_peaks;
+ apply_gain_to_buffer = neon_apply_gain_to_buffer;
+ mix_buffers_with_gain = neon_mix_buffers_with_gain;
+ mix_buffers_no_gain = neon_mix_buffers_no_gain;
+ copy_vector = default_copy_vector;
+
+ generic_mix_functions = false;
+
+ info << "ARM NEON optimizations in use" << endmsg;
+
#endif
/* consider FPU denormal handling to be "h/w optimization" */
diff --git a/libs/ardour/mix.cc b/libs/ardour/mix.cc
index 96ae624..d1a46a2 100644
--- a/libs/ardour/mix.cc
+++ b/libs/ardour/mix.cc
@@ -182,4 +182,161 @@ veclib_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, pf
#endif
+#if defined (__ARM_NEON__)
+#include <arm_neon.h>
+
+float
+neon_compute_peak (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float current)
+{
+ float32x4_t v4current = vdupq_n_f32(current);
+ float32x4_t v4work;
+ float32x2_t v2current;
+
+ // unaligned lead (spread single float to vector)
+ while (((intptr_t)buf) % 16 != 0 && nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf++;
+ nsamples--;
+ }
+ // aligned
+ while (nsamples >= 4) {
+ v4work = vld1q_f32(buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf+=4;
+ nsamples-=4;
+ }
+ // rest < 4 (spread single float to vector)
+ while (nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4current = vmaxq_f32(v4current, vabsq_f32(v4work));
+
+ buf++;
+ nsamples--;
+ }
+
+ // calc max in vector by pairwise max done twice
+ v2current = vpmax_f32(vget_low_f32(v4current), vget_high_f32(v4current));
+ v2current = vpmax_f32(v2current, v2current);
+ return vget_lane_f32(v2current, 0);
+}
+
+void
+neon_find_peaks (const ARDOUR::Sample * buf, ARDOUR::pframes_t nsamples, float *min, float *max)
+{
+ float32x4_t v4min = vdupq_n_f32(*min);
+ float32x4_t v4max = vdupq_n_f32(*max);
+ float32x4_t v4work;
+ float32x2_t v2min, v2max;
+
+ // vector
+ while (nsamples >= 4) {
+ v4work = vld1q_f32(buf);
+ v4min = vminq_f32(v4min, v4work);
+ v4max = vmaxq_f32(v4max, v4work);
+
+ buf+=4;
+ nsamples-=4;
+ }
+ // rest < 4 (spread single float to vector)
+ while (nsamples > 0) {
+ v4work = vdupq_n_f32(*buf);
+ v4min = vminq_f32(v4min, v4work);
+ v4max = vmaxq_f32(v4max, v4work);
+
+ buf++;
+ nsamples--;
+ }
+
+ // calc min in vector by pairwise max done twice
+ v2min = vpmin_f32(vget_low_f32(v4min), vget_high_f32(v4min));
+ v2min = vpmax_f32(v2min, v2min);
+ *min = vget_lane_f32(v2min, 0);
+ // calc max in vector by pairwise max done twice
+ v2max = vpmax_f32(vget_low_f32(v4max), vget_high_f32(v4max));
+ v2max = vpmax_f32(v2max, v2max);
+ *max = vget_lane_f32(v2max, 0);
+}
+
+void
+neon_apply_gain_to_buffer (ARDOUR::Sample * buf, ARDOUR::pframes_t nframes, float gain)
+{
+ float32x4_t v4gain = vdupq_n_f32(gain);
+ float32x4_t v4work;
+
+ // vector
+ while (nframes >= 4) {
+ v4work = vld1q_f32(buf);
+ v4work = vmulq_f32(v4work, v4gain);
+ vst1q_f32(buf, v4work);
+
+ buf+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *buf *= gain;
+
+ buf++;
+ nframes--;
+ }
+}
+
+void
+neon_mix_buffers_with_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes, float gain)
+{
+ float32x4_t v4gain = vdupq_n_f32(gain);
+ float32x4_t v4src, v4dst;
+
+ // vector
+ while (nframes >= 4) {
+ v4src = vld1q_f32(src);
+ v4dst = vld1q_f32(dst);
+ // v4dst = v4dst + v4src * v4gain
+ v4dst = vmlaq_f32(v4dst, v4src, v4gain);
+ vst1q_f32(dst, v4dst);
+
+ src+=4;
+ dst+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *dst += *src * gain;
+
+ src++;
+ dst++;
+ nframes--;
+ }
+}
+
+void
+neon_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, ARDOUR::pframes_t nframes)
+{
+ float32x4_t v4src, v4dst;
+
+ // vector
+ while (nframes >= 4) {
+ v4src = vld1q_f32(src);
+ v4dst = vld1q_f32(dst);
+ v4dst = vaddq_f32(v4dst, v4src);
+ vst1q_f32(dst, v4dst);
+
+ src+=4;
+ dst+=4;
+ nframes-=4;
+ }
+ // rest < 4
+ while (nframes > 0) {
+ *dst += *src;
+
+ src++;
+ dst++;
+ nframes--;
+ }
+}
+
+#endif
--
2.9.4

View File

@@ -0,0 +1,29 @@
From be826f363522dbca96c8263d404c57c4fe9ff0e2 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Wed, 3 Oct 2018 20:54:14 +0200
Subject: [PATCH] Prevent excessive meter redraws for inactive meters at zero
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/be826f363522dbca96c8263d404c57c4fe9ff0e2
---
libs/widgets/fastmeter.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/widgets/fastmeter.cc b/libs/widgets/fastmeter.cc
index cf1d9dd07..a9ecf5dad 100644
--- a/libs/widgets/fastmeter.cc
+++ b/libs/widgets/fastmeter.cc
@@ -703,7 +703,7 @@ FastMeter::set (float lvl, float peak)
if (pixwidth <= 0 || pixheight <=0) return;
if (peak == -1) {
- if (lvl >= current_peak) {
+ if (lvl >= current_peak && lvl > 0) {
current_peak = lvl;
hold_state = hold_cnt;
}
--
2.14.4

View File

@@ -0,0 +1,34 @@
From 8d5e7e9f4e4372debb9ce285336ccc1ecc0383f6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 17 Oct 2018 22:10:41 +0200
Subject: [PATCH] Prevent excessive meter redraws for inactive meters at zero
II
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Same as be826f363522dbca96c8263d404c57c4fe9ff0e2
Upstream-Status: Applied
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/canvas/meter.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/canvas/meter.cc b/libs/canvas/meter.cc
index b539a1b4a..76e31bf58 100644
--- a/libs/canvas/meter.cc
+++ b/libs/canvas/meter.cc
@@ -702,7 +702,7 @@ Meter::set (float lvl, float peak)
if (pixwidth <= 0 || pixheight <=0) return;
if (peak == -1) {
- if (lvl >= current_peak) {
+ if (lvl >= current_peak && lvl > 0) {
current_peak = lvl;
hold_state = hold_cnt;
}
--
2.14.4

View File

@@ -0,0 +1,117 @@
From ae281f2135607e55675d7cc18a9fe1a5b88464ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 12 Oct 2018 00:56:59 +0200
Subject: [PATCH] Follow fluidsynth's API changes introduced with 2.0.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
[1] https://github.com/Ardour/ardour/pull/431
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/ardour/fluid_synth.cc | 14 ++++++++++++++
libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc | 27 ++++++++++++++++++++++++++-
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/libs/ardour/fluid_synth.cc b/libs/ardour/fluid_synth.cc
index 45653a9e7..c9b7b526e 100644
--- a/libs/ardour/fluid_synth.cc
+++ b/libs/ardour/fluid_synth.cc
@@ -71,6 +71,7 @@ FluidSynth::load_sf2 (const std::string& fn)
}
size_t count;
+#if FLUIDSYNTH_VERSION_MAJOR < 2
fluid_preset_t preset;
sfont->iteration_start (sfont);
@@ -83,7 +84,20 @@ FluidSynth::load_sf2 (const std::string& fn)
preset.get_banknum (&preset),
preset.get_num (&preset)));
}
+#else
+ fluid_preset_t* preset;
+ fluid_sfont_iteration_start (sfont);
+ for (count = 0; (preset = fluid_sfont_iteration_next (sfont)) != 0; ++count) {
+ if (count < 16) {
+ fluid_synth_program_select (_synth, count, _synth_id, fluid_preset_get_banknum (preset), fluid_preset_get_num (preset));
+ }
+ _presets.push_back (BankProgram (
+ fluid_preset_get_name (preset),
+ fluid_preset_get_banknum (preset),
+ fluid_preset_get_num (preset)));
+ }
+#endif
if (count == 0) {
return false;
}
diff --git a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
index e6cf1e29d..6d168d5fe 100644
--- a/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
+++ b/libs/plugins/a-fluidsynth.lv2/a-fluidsynth.cc
@@ -184,6 +184,7 @@ load_sf2 (AFluidSynth* self, const char* fn)
}
int chn;
+#if FLUIDSYNTH_VERSION_MAJOR < 2
fluid_preset_t preset;
sfont->iteration_start (sfont);
pthread_mutex_lock (&self->bp_lock);
@@ -192,15 +193,33 @@ load_sf2 (AFluidSynth* self, const char* fn)
fluid_synth_program_select (self->synth, chn, synth_id,
preset.get_banknum (&preset), preset.get_num (&preset));
}
+#else
+ fluid_preset_t *preset;
+ fluid_sfont_iteration_start (sfont);
+ pthread_mutex_lock (&self->bp_lock);
+ for (chn = 0; (preset = fluid_sfont_iteration_next (sfont)); ++chn) {
+ if (chn < 16) {
+ fluid_synth_program_select (self->synth, chn, synth_id,
+ fluid_preset_get_banknum (preset), fluid_preset_get_num (preset));
+ }
+#endif // FLUIDSYNTH_VERSION_MAJOR < 2
#ifndef LV2_EXTENDED
else { break ; }
#else
+#if FLUIDSYNTH_VERSION_MAJOR < 2
self->presets[preset.get_banknum (&preset)].push_back (
BankProgram (
preset.get_name (&preset),
preset.get_banknum (&preset),
preset.get_num (&preset)));
-#endif
+#else
+ self->presets[fluid_preset_get_banknum (preset)].push_back (
+ BankProgram (
+ fluid_preset_get_name (preset),
+ fluid_preset_get_banknum (preset),
+ fluid_preset_get_num (preset)));
+#endif // FLUIDSYNTH_VERSION_MAJOR < 2
+#endif // LV2_EXTENDED
}
pthread_mutex_unlock (&self->bp_lock);
@@ -681,9 +700,15 @@ work_response (LV2_Handle instance,
}
for (int chn = 0; chn < 16; ++chn) {
+#if FLUIDSYNTH_VERSION_MAJOR < 2
unsigned int sfid = 0;
unsigned int bank = 0;
unsigned int program = -1;
+#else
+ int sfid = 0;
+ int bank = 0;
+ int program = -1;
+#endif
if (FLUID_OK == fluid_synth_get_program (self->synth, chn, &sfid, &bank, &program)) {
self->program_state[chn].bank = bank;
self->program_state[chn].program = program;
--
2.14.4

View File

@@ -0,0 +1,33 @@
From de5b65e6e5c558237fbdcfb4c6a284bc17a6054e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 25 Jan 2020 22:11:56 +0100
Subject: [PATCH] Find fmt-binding in out-of-tree building
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Submitted [1]
[1] https://github.com/Ardour/ardour/pull/465
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
gtk2_ardour/wscript | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index beb5b196b8..ed1d5631dd 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -852,7 +852,7 @@ def build(bld):
# NATIVE ARDOUR BINDING FILES
# explicitly state the use of perl here so that it works on windows too
#
- a_rule = 'perl ../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap ${SRC[0].abspath()} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
+ a_rule = 'perl %s/tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap ${SRC[0].abspath()} >${TGT}' % (bld.top_dir, sys.platform, bld.env['WINDOWS_KEY'] )
for b in [ 'ardour' ] :
obj = bld(
target = b + '.keys',
--
2.21.0

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Ardour 5
Comment=Record, mix and master audio
Exec=ardour5
Icon=ardour5
Terminal=false
MimeType=application/x-ardour;
Type=Application
Categories=AudioVideo;Audio;X-Recorders;X-Multitrack;X-Jack;X-AudioEditing;
GenericName=Digital Audio Workstation

View File

@@ -0,0 +1,859 @@
From 2e9ac80e998bc79d5ef9029415008198b22168dc Mon Sep 17 00:00:00 2001
From: David Runge <dave@sleepmap.de>
Date: Mon, 20 Jan 2020 23:08:11 +0100
Subject: [PATCH 1/8] Towards waf python 2+3 support
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/2e9ac80e998bc79d5ef9029415008198b22168dc
---
gtk2_ardour/wscript | 32 +-
libs/ardour/wscript | 2 +-
libs/pbd/wscript | 17 +-
libs/plugins/a-comp.lv2/wscript | 13 +-
libs/plugins/a-delay.lv2/wscript | 14 +-
libs/plugins/a-eq.lv2/wscript | 14 +-
libs/plugins/a-fluidsynth.lv2/wscript | 16 +-
libs/plugins/a-reverb.lv2/wscript | 14 +-
libs/plugins/reasonablesynth.lv2/wscript | 14 +-
libs/ptformat/wscript | 1 +
libs/surfaces/osc/wscript | 2 +-
libs/surfaces/push2/wscript | 24 +-
libs/surfaces/wiimote/wscript | 2 +-
libs/widgets/wscript | 2 +-
session_utils/wscript | 2 +-
tools/bb/wscript | 15 +-
tools/luadevel/wscript | 2 +-
tools/misc.py | 355 +++++++++++++++++++++++
wscript | 10 +-
19 files changed, 457 insertions(+), 94 deletions(-)
create mode 100644 tools/misc.py
diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript
index d3824a0a63..beb5b196b8 100644
--- a/gtk2_ardour/wscript
+++ b/gtk2_ardour/wscript
@@ -369,20 +369,15 @@ def configure(conf):
if sys.platform == 'darwin':
- retval = conf.run_c_code (code='#include <AppKit/NSWindow.h>\n\
- int main(void) { (void) NSWindowWillStartLiveResizeNotification; return 0; }\n',
- env = conf.env.derive (),
- features = [ 'c' ],
- compiler = 'cc',
- compile_filename='test.m',
- mandatory = False,
- )
-
- if retval == 0:
- autowaf.display_msg (conf, 'Checking for Cocoa live resizing constants', 'ok')
- conf.define ('HAVE_COCOA_LIVE_RESIZING', 1)
- else:
- autowaf.display_msg (conf, 'Checking for Cocoa live resizing constants', 'too old - AU plugin windows will be fixed size')
+ conf.check(
+ msg ='Checking for Cocoa live resizing constants',
+ fragment = '#include <AppKit/NSWindow.h>\n int main(void) { (void) NSWindowWillStartLiveResizeNotification; return 0; }\n',
+ define_name = 'HAVE_COCOA_LIVE_RESIZING',
+ uselib_store = 'COCOA_LIVE_RESIZING',
+ compiler = 'cc',
+ compile_filename = 'test.m',
+ execute = True,
+ mandatory = False)
conf.write_config_header('gtk2ardour-config.h', remove=False)
@@ -475,7 +470,6 @@ def build(bld):
obj.source = list(gtk2_ardour_sources)
obj.target = 'luadoc'
obj.includes = ['.', '../libs']
- obj.ldflags = ['-no-undefined']
obj.use = [
'libpbd',
'libardour',
@@ -515,7 +509,6 @@ def build(bld):
# obj.source = [ 'ardour_button.cc', 'ui_config.cc', 'tooltips.cc' ]
# obj.target = 'canvas_test'
# obj.includes = ['.', '../libs']
-# obj.ldflags = ['-no-undefined']
# obj.use = [
# 'libpbd',
# 'libardour',
@@ -586,9 +579,8 @@ def build(bld):
obj = bld (features = 'cxx c cxxprogram')
# operate on copy to avoid adding sources twice
obj.source = list(gtk2_ardour_sources)
- obj.target = 'ardour-' + str (bld.env['VERSION'])
- obj.includes = ['.']
- obj.ldflags = ['-no-undefined']
+ obj.target = 'ardour-' + str (bld.env['VERSION'])
+ obj.includes = ['.']
if bld.is_defined('WINDOWS_VST_SUPPORT'):
# Windows VST support mingw
@@ -617,7 +609,7 @@ def build(bld):
]
obj.install_path = bld.env['DLLDIR']
obj.linkflags = ''
- obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL GTKMM CANVAS FFTW3F LO TAGLIB XML '
+ obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD GTK OGG CURL DL GTKMM CANVAS FFTW3F LO TAGLIB XML LILV'
if sys.platform == 'darwin':
obj.uselib += ' AUDIOUNITS OSX '
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 7148a26042..8a65daaaf0 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -474,7 +474,7 @@ def build(bld):
avx_cxxflags = list(bld.env['CXXFLAGS'])
avx_cxxflags.append (bld.env['compiler_flags_dict']['avx'])
avx_cxxflags.append (bld.env['compiler_flags_dict']['pic'])
- bld(features = 'cxx',
+ bld(features = 'cxx cxxstlib asm',
source = avx_sources,
cxxflags = avx_cxxflags,
includes = [ '.' ],
diff --git a/libs/pbd/wscript b/libs/pbd/wscript
index 29d82edcb4..8dffb71dd7 100644
--- a/libs/pbd/wscript
+++ b/libs/pbd/wscript
@@ -108,12 +108,21 @@ def configure(conf):
autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0', mandatory=True)
autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2', mandatory=True)
- conf.check(function_name='getmntent', header_name='mntent.h', define_name='HAVE_GETMNTENT',mandatory=False)
conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO',mandatory=False)
conf.check(header_name='unistd.h', define_name='HAVE_UNISTD',mandatory=False)
if not Options.options.ppc:
- conf.check_cc(function_name='posix_memalign', header_name='stdlib.h', cflags='-D_XOPEN_SOURCE=600', define_name='HAVE_POSIX_MEMALIGN', mandatory=False)
- conf.check(function_name='localtime_r', header_name='time.h', define_name='HAVE_LOCALTIME_R',mandatory=False)
+ conf.check_cc(
+ msg="Checking for function 'posix_memalign' in stdlib.h",
+ fragment = "#define _XOPEN_SOURCE 600\n #include <stdlib.h>\n int main(void) { return posix_memalign (0, 64, 1); }\n",
+ define_name='HAVE_POSIX_MEMALIGN', execute = False, mandatory=False)
+ conf.check_cc(
+ msg="Checking for function 'getmntent' in mntent.h",
+ fragment = "#include <mntent.h>\n int main(void) { return (int)getmntent(0); }\n",
+ define_name='HAVE_GETMNTENT', execute = False, mandatory=False)
+ conf.check_cc(
+ msg="Checking for function 'localtime_r' in time.h",
+ fragment = "#include <time.h>\n int main(void) { return localtime_r(NULL, NULL); }\n",
+ define_name='HAVE_LOCALTIME_R', execute = False, mandatory=False)
# Boost headers
autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
@@ -161,7 +170,7 @@ def build(bld):
obj.includes = ['.']
obj.name = 'libpbd'
obj.target = 'pbd'
- obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE GIOMM ARCHIVE CURL'
+ obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE GIOMM ARCHIVE CURL XML'
if sys.platform == 'darwin':
TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
if 'cocoa_open_uri.mm' not in obj.source:
diff --git a/libs/plugins/a-comp.lv2/wscript b/libs/plugins/a-comp.lv2/wscript
index f0ebb1d33d..99d7bb03f1 100644
--- a/libs/plugins/a-comp.lv2/wscript
+++ b/libs/plugins/a-comp.lv2/wscript
@@ -25,15 +25,16 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-comp.ttl', 'a-comp#stereo.ttl', 'presets.ttl']:
bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-delay.lv2/wscript b/libs/plugins/a-delay.lv2/wscript
index 666ef0d5ab..2af05ff137 100644
--- a/libs/plugins/a-delay.lv2/wscript
+++ b/libs/plugins/a-delay.lv2/wscript
@@ -25,15 +25,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-delay.ttl', 'presets.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-eq.lv2/wscript b/libs/plugins/a-eq.lv2/wscript
index 0610ba2eea..e36a804f7f 100644
--- a/libs/plugins/a-eq.lv2/wscript
+++ b/libs/plugins/a-eq.lv2/wscript
@@ -25,15 +25,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-eq.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-fluidsynth.lv2/wscript b/libs/plugins/a-fluidsynth.lv2/wscript
index af6fcf08a8..3a093259d6 100644
--- a/libs/plugins/a-fluidsynth.lv2/wscript
+++ b/libs/plugins/a-fluidsynth.lv2/wscript
@@ -24,15 +24,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-fluidsynth.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'cxx cshlib',
@@ -42,7 +42,7 @@ def build(bld):
includes = [ '../../ardour' ],
target = '../../LV2/%s/a-fluidsynth' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
- uselib = ['LIBFLUIDSYNTH'],
+ uselib = ['LIBFLUIDSYNTH', 'GLIB'],
use = ['LV2_1_0_0']
)
diff --git a/libs/plugins/a-reverb.lv2/wscript b/libs/plugins/a-reverb.lv2/wscript
index 35601f2179..3eb5ce10bc 100644
--- a/libs/plugins/a-reverb.lv2/wscript
+++ b/libs/plugins/a-reverb.lv2/wscript
@@ -24,15 +24,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-reverb.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/reasonablesynth.lv2/wscript b/libs/plugins/reasonablesynth.lv2/wscript
index cedda4c308..0eb5c55a04 100644
--- a/libs/plugins/reasonablesynth.lv2/wscript
+++ b/libs/plugins/reasonablesynth.lv2/wscript
@@ -24,15 +24,15 @@ def build(bld):
module_pat = re.sub('^lib', '', bld.env.cshlib_PATTERN)
module_ext = module_pat[module_pat.rfind('.'):]
- if bld.is_defined ('HAVE_LV2'):
+ if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'reasonablesynth.ttl']:
- bld(features = 'subst',
- source = i + '.in',
- target = '../../LV2/%s/%s' % (bundle, i),
- install_path = '${LV2DIR}/%s' % bundle,
- chmod = Utils.O644,
- LIB_EXT = module_ext)
+ obj = bld(features='subst')
+ obj.source = i + '.in'
+ obj.target = '../../LV2/%s/%s' % (bundle, i)
+ obj.install_path = '${LV2DIR}/%s' % bundle
+ obj.chmod = Utils.O644
+ obj.dict = {'LIB_EXT': module_ext}
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/ptformat/wscript b/libs/ptformat/wscript
index 4d381234fe..8dc9ff7430 100644
--- a/libs/ptformat/wscript
+++ b/libs/ptformat/wscript
@@ -35,6 +35,7 @@ def build(bld):
obj.name = 'libptformat'
obj.target = 'ptformat'
obj.use = 'libardour'
+ obj.uselib = 'GLIBMM'
autowaf.ensure_visible_symbols (obj, True)
obj.vnum = LIBPTFORMAT_LIB_VERSION
obj.install_path = bld.env['LIBDIR']
diff --git a/libs/surfaces/osc/wscript b/libs/surfaces/osc/wscript
index 4d0dba6750..5bbe7d3946 100644
--- a/libs/surfaces/osc/wscript
+++ b/libs/surfaces/osc/wscript
@@ -30,7 +30,7 @@ def build(bld):
obj.includes = ['.', './osc']
obj.name = 'libardour_osc'
obj.target = 'ardour_osc'
- obj.uselib = 'LO GTKMM GTK GDK'
+ obj.uselib = 'LO GTKMM GTK GDK XML'
obj.use = 'libardour libardour_cp libgtkmm2ext libpbd'
obj.install_path = os.path.join(bld.env['LIBDIR'], 'surfaces')
diff --git a/libs/surfaces/push2/wscript b/libs/surfaces/push2/wscript
index 9c75f9d69f..f7a5134153 100644
--- a/libs/surfaces/push2/wscript
+++ b/libs/surfaces/push2/wscript
@@ -21,28 +21,28 @@ def build(bld):
push2.cc
buttons.cc
canvas.cc
- interface.cc
+ interface.cc
midi_byte_array.cc
leds.cc
level_meter.cc
- gui.cc
- knob.cc
- layout.cc
- menu.cc
- mix.cc
- scale.cc
- splash.cc
- track_mix.cc
- utils.cc
+ gui.cc
+ knob.cc
+ layout.cc
+ menu.cc
+ mix.cc
+ scale.cc
+ splash.cc
+ track_mix.cc
+ utils.cc
'''
obj.export_includes = ['.']
obj.defines = [ 'PACKAGE="ardour_push2"' ]
obj.defines += [ 'ARDOURSURFACE_DLL_EXPORTS' ]
obj.defines += [ 'VERSIONSTRING="' + bld.env['VERSION'] + '"' ]
- obj.includes = [ '.', './push2']
+ obj.includes = ['.', './push2']
obj.name = 'libardour_push2'
obj.target = 'ardour_push2'
- obj.uselib = 'CAIROMM PANGOMM USB GTKMM SIGCPP'
+ obj.uselib = 'CAIROMM PANGOMM USB GTKMM SIGCPP XML'
obj.use = 'libardour libardour_cp libgtkmm2ext libpbd libevoral libcanvas libtimecode'
obj.install_path = os.path.join(bld.env['LIBDIR'], 'surfaces')
diff --git a/libs/surfaces/wiimote/wscript b/libs/surfaces/wiimote/wscript
index 03d01635a1..d38296f37f 100644
--- a/libs/surfaces/wiimote/wscript
+++ b/libs/surfaces/wiimote/wscript
@@ -24,7 +24,7 @@ def build(bld):
obj.includes = ['.', '../libs']
obj.name = 'libardour_wiimote'
obj.target = 'ardour_wiimote'
- obj.uselib = 'GTKMM CWIID'
+ obj.uselib = 'GTKMM CWIID XML'
obj.use = 'libardour libardour_cp libgtkmm2ext'
obj.install_path = os.path.join(bld.env['LIBDIR'], 'surfaces')
diff --git a/libs/widgets/wscript b/libs/widgets/wscript
index 0559abe4dc..2216c38348 100644
--- a/libs/widgets/wscript
+++ b/libs/widgets/wscript
@@ -76,7 +76,7 @@ def build(bld):
obj.defines = [ ]
obj.export_includes = ['.']
- obj.includes = ['.']
+ obj.includes = ['.'] + bld.env['INCLUDES_GLIB']
obj.uselib = 'SIGCPP CAIROMM GTKMM BOOST XML'
obj.use = [ 'libpbd', 'libgtkmm2ext' ]
obj.name = 'libwidgets'
diff --git a/session_utils/wscript b/session_utils/wscript
index 5fe9445426..a98694f3d6 100644
--- a/session_utils/wscript
+++ b/session_utils/wscript
@@ -86,7 +86,7 @@ def build(bld):
utils = bld.path.ant_glob('*.cc', excl=['example.cc', 'common.cc'])
for util in utils:
- fn = str(util)[:-3]
+ fn = os.path.splitext(os.path.basename(str(util)))[0]
build_ardour_util(bld, fn)
if bld.env['build_target'] != 'mingw':
bld.symlink_as(bld.env['BINDIR'] + '/' + pgmprefix + "-" + fn, bld.env['LIBDIR'] + '/utils/ardour-util.sh')
diff --git a/tools/bb/wscript b/tools/bb/wscript
index e419fa2465..3e9fd8d2d7 100644
--- a/tools/bb/wscript
+++ b/tools/bb/wscript
@@ -12,14 +12,13 @@ def configure(ctx):
pass
def build(bld):
- obj = bld (features = 'cxx c cxxprogram')
- obj.install_path = None
- obj.source = [ 'bb.cc', 'gui.cc', 'misc.cc' ]
- obj.target = 'bb'
- obj.includes = ['.', '../libs']
- obj.ldflags = ['-no-undefined']
- obj.use = [ 'libardour', 'libevoral', ]
- obj.uselib = ' JACK GTKMM '
+ obj = bld (features = 'cxx c cxxprogram')
+ obj.install_path = None
+ obj.source = [ 'bb.cc', 'gui.cc', 'misc.cc' ]
+ obj.target = 'bb'
+ obj.includes = ['.', '../libs']
+ obj.use = [ 'libardour', 'libevoral', ]
+ obj.uselib = 'JACK GTKMM XML'
wrapper_subst_dict = {
'INSTALL_PREFIX' : bld.env['PREFIX'],
diff --git a/tools/luadevel/wscript b/tools/luadevel/wscript
index 3190380091..03889c72d7 100755
--- a/tools/luadevel/wscript
+++ b/tools/luadevel/wscript
@@ -18,7 +18,7 @@ def options(opt):
def configure(conf):
conf.load('misc')
conf.load('compiler_cxx')
- conf.check_cc(function_name='readline',
+ conf.check_cc(
header_name='stdio.h readline/readline.h',
lib='readline',
uselib_store='READLINE',
diff --git a/tools/misc.py b/tools/misc.py
new file mode 100644
index 0000000000..b82cdb63ba
--- /dev/null
+++ b/tools/misc.py
@@ -0,0 +1,355 @@
+#!/usr/bin/env python
+# encoding: utf-8
+# Thomas Nagy, 2006-2010 (ita)
+
+"""
+This tool is totally deprecated
+
+Try using:
+ .pc.in files for .pc files
+ the feature intltool_in - see demos/intltool
+ make-like rules
+"""
+
+import shutil, re, os
+from waflib import TaskGen, Node, Task, Utils, Build, Errors
+from waflib.TaskGen import feature, after_method, before_method
+from waflib.Logs import debug
+
+def copy_attrs(orig, dest, names, only_if_set=False):
+ """
+ copy class attributes from an object to another
+ """
+ for a in Utils.to_list(names):
+ u = getattr(orig, a, ())
+ if u or not only_if_set:
+ setattr(dest, a, u)
+
+def copy_func(tsk):
+ "Make a file copy. This might be used to make other kinds of file processing (even calling a compiler is possible)"
+ env = tsk.env
+ infile = tsk.inputs[0].abspath()
+ outfile = tsk.outputs[0].abspath()
+ try:
+ shutil.copy2(infile, outfile)
+ except (OSError, IOError):
+ return 1
+ else:
+ if tsk.chmod: os.chmod(outfile, tsk.chmod)
+ return 0
+
+def action_process_file_func(tsk):
+ "Ask the function attached to the task to process it"
+ if not tsk.fun: raise Errors.WafError('task must have a function attached to it for copy_func to work!')
+ return tsk.fun(tsk)
+
+@feature('cmd')
+def apply_cmd(self):
+ "call a command everytime"
+ if not self.fun: raise Errors.WafError('cmdobj needs a function!')
+ tsk = Task.TaskBase()
+ tsk.fun = self.fun
+ tsk.env = self.env
+ self.tasks.append(tsk)
+ tsk.install_path = self.install_path
+
+@feature('copy')
+@before_method('process_source')
+def apply_copy(self):
+ Utils.def_attrs(self, fun=copy_func)
+ self.default_install_path = 0
+
+ lst = self.to_list(self.source)
+ self.meths.remove('process_source')
+
+ for filename in lst:
+ node = self.path.find_resource(filename)
+ if not node: raise Errors.WafError('cannot find input file %s for processing' % filename)
+
+ target = self.target
+ if not target or len(lst)>1: target = node.name
+
+ # TODO the file path may be incorrect
+ newnode = self.path.find_or_declare(target)
+
+ tsk = self.create_task('copy', node, newnode)
+ tsk.fun = self.fun
+ tsk.chmod = getattr(self, 'chmod', Utils.O644)
+
+ if not tsk.env:
+ tsk.debug()
+ raise Errors.WafError('task without an environment')
+
+####################
+## command-output ####
+####################
+
+class cmd_arg(object):
+ """command-output arguments for representing files or folders"""
+ def __init__(self, name, template='%s'):
+ self.name = name
+ self.template = template
+ self.node = None
+
+class input_file(cmd_arg):
+ def find_node(self, base_path):
+ assert isinstance(base_path, Node.Node)
+ self.node = base_path.find_resource(self.name)
+ if self.node is None:
+ raise Errors.WafError("Input file %s not found in " % (self.name, base_path))
+
+ def get_path(self, env, absolute):
+ if absolute:
+ return self.template % self.node.abspath()
+ else:
+ return self.template % self.node.srcpath()
+
+class output_file(cmd_arg):
+ def find_node(self, base_path):
+ assert isinstance(base_path, Node.Node)
+ self.node = base_path.find_or_declare(self.name)
+ if self.node is None:
+ raise Errors.WafError("Output file %s not found in " % (self.name, base_path))
+
+ def get_path(self, env, absolute):
+ if absolute:
+ return self.template % self.node.abspath()
+ else:
+ return self.template % self.node.bldpath()
+
+class cmd_dir_arg(cmd_arg):
+ def find_node(self, base_path):
+ assert isinstance(base_path, Node.Node)
+ self.node = base_path.find_dir(self.name)
+ if self.node is None:
+ raise Errors.WafError("Directory %s not found in " % (self.name, base_path))
+
+class input_dir(cmd_dir_arg):
+ def get_path(self, dummy_env, dummy_absolute):
+ return self.template % self.node.abspath()
+
+class output_dir(cmd_dir_arg):
+ def get_path(self, env, dummy_absolute):
+ return self.template % self.node.abspath()
+
+
+class command_output(Task.Task):
+ color = "BLUE"
+ def __init__(self, env, command, command_node, command_args, stdin, stdout, cwd, os_env, stderr):
+ Task.Task.__init__(self, env=env)
+ assert isinstance(command, (str, Node.Node))
+ self.command = command
+ self.command_args = command_args
+ self.stdin = stdin
+ self.stdout = stdout
+ self.cwd = cwd
+ self.os_env = os_env
+ self.stderr = stderr
+
+ if command_node is not None: self.dep_nodes = [command_node]
+ self.dep_vars = [] # additional environment variables to look
+
+ def run(self):
+ task = self
+ #assert len(task.inputs) > 0
+
+ def input_path(node, template):
+ if task.cwd is None:
+ return template % node.bldpath()
+ else:
+ return template % node.abspath()
+ def output_path(node, template):
+ fun = node.abspath
+ if task.cwd is None: fun = node.bldpath
+ return template % fun()
+
+ if isinstance(task.command, Node.Node):
+ argv = [input_path(task.command, '%s')]
+ else:
+ argv = [task.command]
+
+ for arg in task.command_args:
+ if isinstance(arg, str):
+ argv.append(arg)
+ else:
+ assert isinstance(arg, cmd_arg)
+ argv.append(arg.get_path(task.env, (task.cwd is not None)))
+
+ if task.stdin:
+ stdin = open(input_path(task.stdin, '%s'))
+ else:
+ stdin = None
+
+ if task.stdout:
+ stdout = open(output_path(task.stdout, '%s'), "w")
+ else:
+ stdout = None
+
+ if task.stderr:
+ stderr = open(output_path(task.stderr, '%s'), "w")
+ else:
+ stderr = None
+
+ if task.cwd is None:
+ cwd = ('None (actually %r)' % os.getcwd())
+ else:
+ cwd = repr(task.cwd)
+ debug("command-output: cwd=%s, stdin=%r, stdout=%r, argv=%r" %
+ (cwd, stdin, stdout, argv))
+
+ if task.os_env is None:
+ os_env = os.environ
+ else:
+ os_env = task.os_env
+ command = Utils.subprocess.Popen(argv, stdin=stdin, stdout=stdout, stderr=stderr, cwd=task.cwd, env=os_env)
+ return command.wait()
+
+@feature('command-output')
+def init_cmd_output(self):
+ Utils.def_attrs(self,
+ stdin = None,
+ stdout = None,
+ stderr = None,
+ # the command to execute
+ command = None,
+
+ # whether it is an external command; otherwise it is assumed
+ # to be an executable binary or script that lives in the
+ # source or build tree.
+ command_is_external = False,
+
+ # extra parameters (argv) to pass to the command (excluding
+ # the command itself)
+ argv = [],
+
+ # dependencies to other objects -> this is probably not what you want (ita)
+ # values must be 'task_gen' instances (not names!)
+ dependencies = [],
+
+ # dependencies on env variable contents
+ dep_vars = [],
+
+ # input files that are implicit, i.e. they are not
+ # stdin, nor are they mentioned explicitly in argv
+ hidden_inputs = [],
+
+ # output files that are implicit, i.e. they are not
+ # stdout, nor are they mentioned explicitly in argv
+ hidden_outputs = [],
+
+ # change the subprocess to this cwd (must use obj.input_dir() or output_dir() here)
+ cwd = None,
+
+ # OS environment variables to pass to the subprocess
+ # if None, use the default environment variables unchanged
+ os_env = None)
+
+@feature('command-output')
+@after_method('init_cmd_output')
+def apply_cmd_output(self):
+ if self.command is None:
+ raise Errors.WafError("command-output missing command")
+ if self.command_is_external:
+ cmd = self.command
+ cmd_node = None
+ else:
+ cmd_node = self.path.find_resource(self.command)
+ assert cmd_node is not None, ('''Could not find command '%s' in source tree.
+Hint: if this is an external command,
+use command_is_external=True''') % (self.command,)
+ cmd = cmd_node
+
+ if self.cwd is None:
+ cwd = None
+ else:
+ assert isinstance(cwd, CmdDirArg)
+ self.cwd.find_node(self.path)
+
+ args = []
+ inputs = []
+ outputs = []
+
+ for arg in self.argv:
+ if isinstance(arg, cmd_arg):
+ arg.find_node(self.path)
+ if isinstance(arg, input_file):
+ inputs.append(arg.node)
+ if isinstance(arg, output_file):
+ outputs.append(arg.node)
+
+ if self.stdout is None:
+ stdout = None
+ else:
+ assert isinstance(self.stdout, str)
+ stdout = self.path.find_or_declare(self.stdout)
+ if stdout is None:
+ raise Errors.WafError("File %s not found" % (self.stdout,))
+ outputs.append(stdout)
+
+ if self.stderr is None:
+ stderr = None
+ else:
+ assert isinstance(self.stderr, str)
+ stderr = self.path.find_or_declare(self.stderr)
+ if stderr is None:
+ raise Errors.WafError("File %s not found" % (self.stderr,))
+ outputs.append(stderr)
+
+ if self.stdin is None:
+ stdin = None
+ else:
+ assert isinstance(self.stdin, str)
+ stdin = self.path.find_resource(self.stdin)
+ if stdin is None:
+ raise Errors.WafError("File %s not found" % (self.stdin,))
+ inputs.append(stdin)
+
+ for hidden_input in self.to_list(self.hidden_inputs):
+ node = self.path.find_resource(hidden_input)
+ if node is None:
+ raise Errors.WafError("File %s not found in dir %s" % (hidden_input, self.path))
+ inputs.append(node)
+
+ for hidden_output in self.to_list(self.hidden_outputs):
+ node = self.path.find_or_declare(hidden_output)
+ if node is None:
+ raise Errors.WafError("File %s not found in dir %s" % (hidden_output, self.path))
+ outputs.append(node)
+
+ if not (inputs or getattr(self, 'no_inputs', None)):
+ raise Errors.WafError('command-output objects must have at least one input file or give self.no_inputs')
+ if not (outputs or getattr(self, 'no_outputs', None)):
+ raise Errors.WafError('command-output objects must have at least one output file or give self.no_outputs')
+
+ cwd = self.bld.variant_dir
+ task = command_output(self.env, cmd, cmd_node, self.argv, stdin, stdout, cwd, self.os_env, stderr)
+ task.generator = self
+ copy_attrs(self, task, 'before after ext_in ext_out', only_if_set=True)
+ self.tasks.append(task)
+
+ task.inputs = inputs
+ task.outputs = outputs
+ task.dep_vars = self.to_list(self.dep_vars)
+
+ for dep in self.dependencies:
+ assert dep is not self
+ dep.post()
+ for dep_task in dep.tasks:
+ task.set_run_after(dep_task)
+
+ if not task.inputs:
+ # the case for svnversion, always run, and update the output nodes
+ task.runnable_status = type(Task.TaskBase.run)(runnable_status, task, task.__class__) # always run
+ task.post_run = type(Task.TaskBase.run)(post_run, task, task.__class__)
+
+ # TODO the case with no outputs?
+
+def post_run(self):
+ for x in self.outputs:
+ x.sig = Utils.h_file(x.abspath())
+
+def runnable_status(self):
+ return self.RUN_ME
+
+Task.task_factory('copy', vars=[], func=action_process_file_func)
+
diff --git a/wscript b/wscript
index 4b5acb0ad7..f5d1b28e56 100644
--- a/wscript
+++ b/wscript
@@ -1011,9 +1011,15 @@ def configure(conf):
if Options.options.dist_target != 'mingw':
if Options.options.dist_target != 'msvc' and re.search ("openbsd", sys.platform) == None:
if re.search ("freebsd", sys.platform) != None:
- conf.check_cc(function_name='dlopen', header_name='dlfcn.h', uselib_store='DL')
+ conf.check_cc(
+ msg="Checking for function 'dlopen' in dlfcn.h",
+ fragment = "#include <dlfcn.h>\n int main(void) { dlopen (\"\", 0); return 0;}\n",
+ uselib_store='DL', execute = False)
else:
- conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
+ conf.check_cc(
+ msg="Checking for function 'dlopen' in dlfcn.h",
+ fragment = "#include <dlfcn.h>\n int main(void) { dlopen (\"\", 0); return 0;}\n",
+ linkflags='-ldl', uselib_store='DL', execute = False)
conf.check_cxx(fragment = "#include <boost/version.hpp>\nint main(void) { return (BOOST_VERSION >= 103900 ? 0 : 1); }\n",
execute = "1",
mandatory = True,
--
2.21.0

View File

@@ -0,0 +1,99 @@
From 19603d075f7013453c79711a646301df694c7b03 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Mon, 20 Jan 2020 23:08:55 +0100
Subject: [PATCH 2/8] Update waf to v2.0.19
For oe:
* Removed waf: we cannot patch binary files. Recipe ships waf
* tools/misc.py was added from master in previous patch so no adjustment here
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/19603d075f7013453c79711a646301df694c7b03
---
doc/updating_waf.txt | 25 +++++++++++-------
tools/autowaf.py | 11 ++++----
tools/waf-str.patch | 11 ++++++++
4 files changed, 31 insertions(+), 77 deletions(-)
create mode 100644 tools/waf-str.patch
diff --git a/doc/updating_waf.txt b/doc/updating_waf.txt
index 69c1225d63..0c192d4489 100644
--- a/doc/updating_waf.txt
+++ b/doc/updating_waf.txt
@@ -1,15 +1,20 @@
-Download waf (https://waf.io/)
-
-autowaf.py is present in the tools directory of the Ardour source code.
-a patch for C++11/clang can be found in tools/waflib.patch (needed for waf 1.8.19)
-
-Current waf is build as follows;
+# Download waf (https://waf.io/)
+#
+# autowaf.py and misc.py are present in the tools directory of the Ardour source code.
+# - waf-str.patch is needed for py2/py3 compatible install_dir:
+# * in py2 paths are byte-arrays and would need to be converted using .encode("utf-8")
+# (otherwise waf expands them /t/o/p/a/t/h/s/l/i/k/e/t/h/i/s)
+# * however py3 cannot handled encoded arrays:
+# (TypeError: cannot use a string pattern on a bytes-like object)
+#
+# Current waf is build as follows:
ARDOURSRC=`pwd`
cd /tmp
-curl https://waf.io/waf-1.6.11.tar.bz2 | tar xj
-cd waf-1.6.11
+curl https://waf.io/waf-2.0.19.tar.bz2 | tar xj
+cd waf-2.0.19
+
+patch -p1 < $ARDOURSRC/tools/waf-str.patch
-patch -p1 < $ARDOURSRC/tools/waflib.patch
-./waf-light -v --make-waf --tools=misc,doxygen,$ARDOURSRC/tools/autowaf.py --prelude=''
+./waf-light -v --make-waf --tools=misc,doxygen,$ARDOURSRC/tools/autowaf.py,$ARDOURSRC/tools/misc.py --prelude=''
cp ./waf $ARDOURSRC/waf
diff --git a/tools/autowaf.py b/tools/autowaf.py
index f82b80a83f..375dc5909a 100644
--- a/tools/autowaf.py
+++ b/tools/autowaf.py
@@ -140,14 +140,13 @@ def check_pkg(conf, name, **args):
found = None
pkg_var_name = 'PKG_' + name.replace('-', '_')
pkg_name = name
- if conf.env.PARDEBUG:
- args['mandatory'] = False # Smash mandatory arg
- found = conf.check_cfg(package=pkg_name + 'D', args="--cflags --libs", **args)
- if found:
- pkg_name += 'D'
if mandatory:
args['mandatory'] = True # Unsmash mandatory arg
- if not found:
+ if 'atleast_version' in args:
+ if not 'msg' in args:
+ args['msg'] = 'Checking for %r >= %s' %(pkg_name, args['atleast_version'])
+ found = conf.check_cfg(package=pkg_name, args=[pkg_name + " >= " + args['atleast_version'], '--cflags', '--libs'], **args)
+ else:
found = conf.check_cfg(package=pkg_name, args="--cflags --libs", **args)
if found:
conf.env[pkg_var_name] = pkg_name
diff --git a/tools/waf-str.patch b/tools/waf-str.patch
new file mode 100644
index 0000000000..8d37f68d32
--- /dev/null
+++ b/tools/waf-str.patch
@@ -0,0 +1,11 @@
+--- a/waflib/Build.py 2020-01-21 15:01:13.864899388 +0100
++++ b/waflib/Build.py 2020-01-21 15:01:59.573030630 +0100
+@@ -953,7 +953,7 @@
+ tsk.link = kw.get('link', '') or kw.get('install_from', '')
+ tsk.relative_trick = kw.get('relative_trick', False)
+ tsk.type = kw['type']
+- tsk.install_to = tsk.dest = kw['install_to']
++ tsk.install_to = tsk.dest = str(kw['install_to'])
+ tsk.install_from = kw['install_from']
+ tsk.relative_base = kw.get('cwd') or kw.get('relative_base', self.path)
+ tsk.install_user = kw.get('install_user')
--
2.21.0

View File

@@ -0,0 +1,31 @@
From 1d2cfd6f2d736144b8c81179126b5850a718f769 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Tue, 21 Jan 2020 02:23:51 +0100
Subject: [PATCH 3/8] Change waf/darwin default compiler to prefer gcc (if
available)
---
wscript | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/wscript b/wscript
index cb3980ed41..e1beb6a86d 100644
--- a/wscript
+++ b/wscript
@@ -11,6 +11,13 @@ from waflib.Tools import winres
from waflib.Build import Context
from waflib.Build import BuildContext
+# Fixup OSX 10.5/10.6 builds
+# prefer gcc, g++ 4.x over ancient clang-1.5
+from waflib.Tools.compiler_c import c_compiler
+from waflib.Tools.compiler_cxx import cxx_compiler
+c_compiler['darwin'] = ['gcc', 'clang' ]
+cxx_compiler['darwin'] = ['g++', 'clang++' ]
+
class i18n(BuildContext):
cmd = 'i18n'
fun = 'i18n'
--
2.21.0

View File

@@ -0,0 +1,128 @@
From 5a841ef4624ef4b776e578af80d2397241754b00 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Wed, 22 Jan 2020 00:47:33 +0100
Subject: [PATCH 5/8] Tweaks to build/package scripts for new waf
* Windows: delete waf installed .dll.a files
* Windows: override waf's conf.env.LIBDIR = conf.env.BINDIR
with explicit --libdir
* Windows: fix asm (`x86_64-w64-mingw32-as` -D flag is for
debug messages, -D defines are not available)
* Mac: override waf adding -install_name (and
-Wl,-compatibility_version -Wl,-current_version)
by moving -dynamiclib from linkflags to ldflags
* Mac: Allow libs with compat version number suffix
(not needed anymore, but may help in the future)
Upstream-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/5a841ef4624ef4b776e578af80d2397241754b00
---
libs/ardour/wscript | 7 ++++++-
tools/osx_packaging/osx_build | 2 +-
tools/x-win/compile.sh | 3 ++-
tools/x-win/package.sh | 1 +
wscript | 17 +++++++++++++++++
5 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/libs/ardour/wscript b/libs/ardour/wscript
index 8a65daaaf0..a27826953a 100644
--- a/libs/ardour/wscript
+++ b/libs/ardour/wscript
@@ -1,6 +1,6 @@
#!/usr/bin/env python
from waflib.extras import autowaf as autowaf
-from waflib import Options
+from waflib import Options, Task, Tools
import os
import sys
import re
@@ -369,6 +369,11 @@ def build(bld):
# micro increment <=> no interface changes
LIBARDOUR_LIB_VERSION = "3.0.0"
+ # remove '${DEFINES_ST:DEFINES}' from run_str.
+ # x86_64-w64-mingw32-as (mingw) -D flag is for debug messages
+ if bld.env['build_target'] == 'mingw':
+ class asm(Task.classes['asm']): run_str = '${AS} ${ASFLAGS} ${ASMPATH_ST:INCPATHS} ${AS_SRC_F}${SRC} ${AS_TGT_F}${TGT}'
+
# operate on copy to avoid adding sources twice
sources = list(libardour_sources)
if bld.is_tracks_build():
diff --git a/tools/osx_packaging/osx_build b/tools/osx_packaging/osx_build
index 2b417b86af..cb681bafd1 100755
--- a/tools/osx_packaging/osx_build
+++ b/tools/osx_packaging/osx_build
@@ -449,7 +449,7 @@ while [ true ] ; do
strip -u -r -arch all $file &>/dev/null
fi
- deps=`otool -L $file | awk '{print $1}' | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/$STDCPP)" | grep -v 'libjack\.' | grep -v "$(basename $file)"`
+ deps=`otool -L $file | awk '{print $1}' | egrep "($GTKSTACK_ROOT|$ARDOURSTACK_ROOT|/opt/|/local/|libs/$STDCPP)" | grep -v 'libjack\.' | egrep -v "$(basename $file .dylib).*.dylib"`
# echo -n "."
for dep in $deps ; do
base=`basename $dep`
diff --git a/tools/x-win/compile.sh b/tools/x-win/compile.sh
index d778e921b5..4f54f6623d 100755
--- a/tools/x-win/compile.sh
+++ b/tools/x-win/compile.sh
@@ -79,7 +79,8 @@ LDFLAGS="-L${PREFIX}/lib" ./waf configure \
--dist-target=mingw \
--also-include=${PREFIX}/include \
$ARDOURCFG \
- --prefix=${PREFIX}
+ --prefix=${PREFIX} \
+ --libdir=${PREFIX}/lib
./waf ${CONCURRENCY}
if [ "$(id -u)" = "0" ]; then
diff --git a/tools/x-win/package.sh b/tools/x-win/package.sh
index bfb7381e41..032c45a192 100755
--- a/tools/x-win/package.sh
+++ b/tools/x-win/package.sh
@@ -200,6 +200,7 @@ cp gtk2_ardour/icons/cursor_square/* $DESTDIR/share/${LOWERCASE_DIRNAME}/icons/
# clean build-dir after depoyment
echo " === bundle completed, cleaning up"
./waf uninstall
+find $DESTDIR -name "*.dll.a" | xargs rm
echo " === complete"
du -sh $DESTDIR
diff --git a/wscript b/wscript
index d4724ecb72..9fd84bb2ca 100644
--- a/wscript
+++ b/wscript
@@ -915,6 +915,12 @@ def configure(conf):
conf.env.append_value ('CXXFLAGS', '-DSILENCE_AFTER')
conf.define ('FREEBIE', 1)
+ # set explicit LIBDIR, otherwise mingw/windows builds use
+ # conf.env.LIBDIR = conf.env.BINDIR and `waf install` fails
+ # because $BINDIR/ardour6 is the main binary, and $LIBDIR/ardour6/ a directory
+ if Options.options.libdir:
+ conf.env.LIBDIR = Options.options.libdir
+
if Options.options.lv2dir:
conf.env['LV2DIR'] = Options.options.lv2dir
else:
@@ -1247,6 +1253,17 @@ int main () { return 0; }
# Fix utterly braindead FLAC include path to not smash assert.h
conf.env['INCLUDES_FLAC'] = []
+ if sys.platform == 'darwin':
+ # override waf's -install_name added in
+ # waflib/Tools/ccroot.py when -dynamiclib is used
+ if conf.env.LINKFLAGS_cshlib:
+ conf.env.LINKFLAGS_cshlib = [];
+ conf.env.LDFLAGS_cshlib = ['-dynamiclib']
+
+ if conf.env.LINKFLAGS_cxxshlib:
+ conf.env.LINKFLAGS_cxxshlib = [];
+ conf.env.LDFLAGS_cxxshlib = ['-dynamiclib']
+
config_text = open('libs/ardour/config_text.cc', "w")
config_text.write('''#include "ardour/ardour.h"
namespace ARDOUR {
--
2.21.0

View File

@@ -0,0 +1,25 @@
From 7c381dab6e0977f61f9bbd08bd1d20f0fe2abcf6 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Sat, 25 Jan 2020 04:17:53 +0100
Subject: [PATCH 6/8] Downgrade "using all channels" warning to info - part 2
---
libs/backends/alsa/alsa_audiobackend.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libs/backends/alsa/alsa_audiobackend.cc b/libs/backends/alsa/alsa_audiobackend.cc
index 6b044f9fd0..357b00c044 100644
--- a/libs/backends/alsa/alsa_audiobackend.cc
+++ b/libs/backends/alsa/alsa_audiobackend.cc
@@ -883,7 +883,7 @@ AlsaAudioBackend::_start (bool for_latency_measurement)
} else {
_n_outputs = std::min (_n_outputs, _pcmi->nplay ());
}
- PBD::warning << _("AlsaAudioBackend: adjusted output channel count to match device.") << endmsg;
+ PBD::info << _("AlsaAudioBackend: adjusted output channel count to match device.") << endmsg;
}
if (_n_inputs != _pcmi->ncapt ()) {
--
2.21.0

View File

@@ -0,0 +1,114 @@
From 4fe30364951ea46b93e3c93acbaf2f777343d131 Mon Sep 17 00:00:00 2001
From: Robin Gareus <robin@gareus.org>
Date: Sat, 25 Jan 2020 06:20:16 +0100
Subject: [PATCH 7/8] Update waf2.x "subst" feature uses obj attributes
Upstrem-Status: Backport [1]
[1] https://github.com/Ardour/ardour/commit/4fe30364951ea46b93e3c93acbaf2f777343d131
---
libs/fst/wscript | 4 +---
libs/plugins/a-comp.lv2/wscript | 2 +-
libs/plugins/a-delay.lv2/wscript | 2 +-
libs/plugins/a-eq.lv2/wscript | 2 +-
libs/plugins/a-fluidsynth.lv2/wscript | 2 +-
libs/plugins/a-reverb.lv2/wscript | 2 +-
libs/plugins/reasonablesynth.lv2/wscript | 2 +-
7 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/libs/fst/wscript b/libs/fst/wscript
index ca90b7207d..bbac8d6f27 100644
--- a/libs/fst/wscript
+++ b/libs/fst/wscript
@@ -52,9 +52,7 @@ def build(bld):
obj.target = 'ardour-vst-scanner'
obj.chmod = Utils.O755
obj.install_path = os.path.join(bld.env['LIBDIR'])
- obj.dict = {
- 'VERSION' : bld.env['VERSION'],
- }
+ obj.VERSION = bld.env['VERSION']
obj = bld (features = 'c cxx cxxprogram wine')
obj.source = (
diff --git a/libs/plugins/a-comp.lv2/wscript b/libs/plugins/a-comp.lv2/wscript
index 99d7bb03f1..00099cb564 100644
--- a/libs/plugins/a-comp.lv2/wscript
+++ b/libs/plugins/a-comp.lv2/wscript
@@ -34,7 +34,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-delay.lv2/wscript b/libs/plugins/a-delay.lv2/wscript
index 2af05ff137..c28d7cabcf 100644
--- a/libs/plugins/a-delay.lv2/wscript
+++ b/libs/plugins/a-delay.lv2/wscript
@@ -33,7 +33,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-eq.lv2/wscript b/libs/plugins/a-eq.lv2/wscript
index e36a804f7f..6f380aa232 100644
--- a/libs/plugins/a-eq.lv2/wscript
+++ b/libs/plugins/a-eq.lv2/wscript
@@ -33,7 +33,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/a-fluidsynth.lv2/wscript b/libs/plugins/a-fluidsynth.lv2/wscript
index 3a093259d6..681ad1f489 100644
--- a/libs/plugins/a-fluidsynth.lv2/wscript
+++ b/libs/plugins/a-fluidsynth.lv2/wscript
@@ -32,7 +32,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'cxx cshlib',
diff --git a/libs/plugins/a-reverb.lv2/wscript b/libs/plugins/a-reverb.lv2/wscript
index 3eb5ce10bc..a11e2cf7af 100644
--- a/libs/plugins/a-reverb.lv2/wscript
+++ b/libs/plugins/a-reverb.lv2/wscript
@@ -32,7 +32,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
diff --git a/libs/plugins/reasonablesynth.lv2/wscript b/libs/plugins/reasonablesynth.lv2/wscript
index 0eb5c55a04..ee54ce8bee 100644
--- a/libs/plugins/reasonablesynth.lv2/wscript
+++ b/libs/plugins/reasonablesynth.lv2/wscript
@@ -32,7 +32,7 @@ def build(bld):
obj.target = '../../LV2/%s/%s' % (bundle, i)
obj.install_path = '${LV2DIR}/%s' % bundle
obj.chmod = Utils.O644
- obj.dict = {'LIB_EXT': module_ext}
+ obj.LIB_EXT = module_ext
# Build plugin library
obj = bld(features = 'c cshlib',
--
2.21.0

View File

@@ -0,0 +1,55 @@
From cf71cc33c44d25a5483ef3ed4ea994f845e0f9b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 25 Jan 2020 17:20:39 +0100
Subject: [PATCH] a-comp.lv2/wscript: sync to master
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Backport
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/plugins/a-comp.lv2/wscript | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/libs/plugins/a-comp.lv2/wscript b/libs/plugins/a-comp.lv2/wscript
index 00099cb564..c739e4bea7 100644
--- a/libs/plugins/a-comp.lv2/wscript
+++ b/libs/plugins/a-comp.lv2/wscript
@@ -15,10 +15,9 @@ def options(opt):
def configure(conf):
conf.load('compiler_c')
autowaf.configure(conf)
- if Options.options.lv2:
- autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
- uselib_store='LV2_1_0_0')
- autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12.0')
+ autowaf.check_pkg(conf, 'lv2', atleast_version='1.0.0',
+ uselib_store='LV2_1_0_0')
+ autowaf.check_pkg(conf, 'cairo', uselib_store='CAIRO', atleast_version='1.12.0')
def build(bld):
bundle = 'a-comp.lv2'
@@ -28,7 +27,6 @@ def build(bld):
if bld.is_defined('HAVE_LV2'):
# Build RDF files
for i in ['manifest.ttl', 'a-comp.ttl', 'a-comp#stereo.ttl', 'presets.ttl']:
- bld(features = 'subst',
obj = bld(features='subst')
obj.source = i + '.in'
obj.target = '../../LV2/%s/%s' % (bundle, i)
@@ -40,8 +38,8 @@ def build(bld):
obj = bld(features = 'c cshlib',
source = 'a-comp.c',
name = 'a-comp',
- cflags = [ '-fPIC', bld.env['compiler_flags_dict']['c99'] ],
- includes = [ '../../ardour' ],
+ cflags = [ bld.env['compiler_flags_dict']['pic'], bld.env['compiler_flags_dict']['c99'] ],
+ includes = [ '../../ardour', '../shared' ],
target = '../../LV2/%s/a-comp' % bundle,
install_path = '${LV2DIR}/%s' % bundle,
uselib = 'CAIRO',
--
2.21.0

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,127 @@
SUMMARY = "Ardour is a multi-channel digital audio workstation"
HOMEPAGE = "http://ardour.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=4641e94ec96f98fabc56ff9cc48be14b"
DEPENDS += " \
gettext-native \
gtk+ \
gtkmm \
cppunit \
jack \
alsa-lib \
fftw \
vamp-plugin-sdk \
aubio \
taglib \
boost \
virtual/libx11 \
dssi \
zlib \
lrdf \
rubberband \
suil \
lilv \
libarchive \
libltc \
qm-dsp \
fluidsynth \
"
inherit waf features_check gtk-icon-cache pkgconfig python3native mime-xdg siteinfo
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = " \
git://github.com/Ardour/ardour.git \
file://waf-backport/waf \
file://waf-backport/0001-Towards-waf-python-2-3-support.patch \
file://waf-backport/0002-Update-waf-to-v2.0.19.patch \
file://waf-backport/0003-Change-waf-darwin-default-compiler-to-prefer-gcc-if-.patch \
file://waf-backport/0004-Tweaks-to-build-package-scripts-for-new-waf.patch \
file://waf-backport/0005-Downgrade-using-all-channels-warning-to-info-part-2.patch \
file://waf-backport/0006-Update-waf2.x-subst-feature-uses-obj-attributes.patch \
file://waf-backport/0007-a-comp.lv2-wscript-sync-to-master.patch \
file://0001-remove-all-build-flags-that-cause-trouble-for-cross-.patch \
file://0002-Use-ARM-NEON-intrinsics-if-available-for-mixing-func.patch \
file://0003-Prevent-excessive-meter-redraws-for-inactive-meters-.patch \
file://0004-Prevent-excessive-meter-redraws-for-inactive-meters-.patch \
file://0005-Follow-fluidsynth-s-API-changes-introduced-with-2.0..patch \
file://0006-Find-fmt-binding-in-out-of-tree-building.patch \
file://ardour5.desktop \
"
SRCREV = "ae0dcdc0c5d13483271065c360e378202d20170a"
PV = "5.12"
S = "${WORKDIR}/git"
# arch specific override - default (tested) is ARM -> no fpu-optimizations
# can be something like i686 / x86_64 see file 'wscript' in sourcepath for more details
BUILD_DIST_TARGET ??= "none"
EXTRA_OECONF = " \
--configdir=${sysconfdir} \
--bindir=${bindir} \
--libdir=${libdir} \
--optimize \
--cxx11 \
--no-phone-home \
--use-external-libs \
--qm-dsp-include=${STAGING_INCDIR}/qm-dsp \
\
--with-backends="jack,alsa" \
--dist-target=${BUILD_DIST_TARGET} \
"
PATH_append = ":${B}"
# Asking fails - waf supports --bindir / --libdir
waf_preconfigure() {
}
do_configure_prepend() {
# link python -> python3
ln -sf `which python3` ${B}/python
# copy waf
cp -f ${WORKDIR}/waf-backport/waf ${S}/
}
do_install_append() {
# install icons to freedesktop locations
for s in 16 22 32 48 256 512; do
install -d ${D}${datadir}/icons/hicolor/${s}x${s}/apps
ln -s ../../../../${BPN}/resources/Ardour-icon_${s}px.png \
${D}${datadir}/icons/hicolor/${s}x${s}/apps/${BPN}.png
done
# install .desktop
install -d ${D}${datadir}/applications
install -m 0644 ${WORKDIR}/ardour5.desktop ${D}${datadir}/applications
}
FILES_${PN} += " \
${datadir}/${BPN} \
${libdir}/${BPN} \
"
FILES_${PN}-dev += " \
${libdir}/${BPN}/libardour.so \
${libdir}/${BPN}/libardouralsautil.so \
${libdir}/${BPN}/libaudiographer.so \
${libdir}/${BPN}/libcanvas.so \
${libdir}/${BPN}/libevoral.so \
${libdir}/${BPN}/libgtkmm2ext.so \
${libdir}/${BPN}/libmidipp.so \
${libdir}/${BPN}/libpbd.so \
${libdir}/${BPN}/libptformat.so \
${libdir}/${BPN}/libwaveview.so \
${libdir}/${BPN}/libwidgets.so \
${libdir}/${BPN}/vamp/*.so \
"
FILES_${PN}-staticdev += " \
${libdir}/${BPN}/*.a \
"
# did not get ardour6 to fly on 32bit systems - so (r)provide for 32 bits as fallback
PROVIDES = "${@oe.utils.conditional('SITEINFO_BITS', '32', 'ardour', '', d)}"
RPROVIDES_${PN} = "${@oe.utils.conditional('SITEINFO_BITS', '32', 'ardour', '', d)}"

View File

@@ -29,13 +29,13 @@ DEPENDS += " \
hidapi \
"
inherit waf features_check gtk-icon-cache pkgconfig python3native mime mime-xdg
inherit waf features_check gtk-icon-cache pkgconfig python3native mime mime-xdg siteinfo
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "git://github.com/Ardour/ardour.git"
SRCREV = "1734fac4105106e02219834d330fa9eb0ceef3cd"
PV = "6.8"
SRCREV = "6733a847eeb55b4640a65a8bfebac8c7166521c8"
PV = "6.7"
S = "${WORKDIR}/git"
# arch specific override - default (tested) is ARM -> no fpu-optimizations
@@ -91,5 +91,6 @@ FILES_${PN}-staticdev += " \
${libdir}/${BPN}/*.a \
"
PROVIDES = "ardour"
RPROVIDES_${PN} = "ardour"
# did not get ardour6 to fly on 32bit systems - so (r)provide for 64 bits only
PROVIDES = "${@oe.utils.conditional('SITEINFO_BITS', '64', 'ardour', '', d)}"
RPROVIDES_${PN} = "${@oe.utils.conditional('SITEINFO_BITS', '64', 'ardour', '', d)}"

View File

@@ -11,9 +11,9 @@ SRC_URI = " \
file://0001-do-not-try-to-cross-run-carla-lv2-export.patch \
file://0002-Do-not-try-to-find-Qt5-host-bins-it-won-t-work.patch \
"
SRCREV = "545304f5cfa484d4037b845a4df4abd530f82669"
SRCREV = "74ee581a3c68cb4b3c13c83bb3f215a8d114b5a7"
S = "${WORKDIR}/git"
PV = "2.3.0+git${SRCPV}"
PV = "2.3.0"
REQUIRED_DISTRO_FEATURES = "x11"

View File

@@ -0,0 +1,71 @@
SUMMARY = "Collection of synthesizers and plugins"
HOMEPAGE = "http://distrho.sourceforge.net/ports"
LICENSE = "GPLv2 & MIT"
LIC_FILES_CHKSUM = " \
file://ports/argotlunar/README.md;md5=81abc323be6ba481ab72864b53b3daca \
file://ports/protoplug/license.txt;md5=56b9d913eb7c3ef00ca375ab614bf02f \
"
SRC_URI = " \
git://github.com/DISTRHO/DISTRHO-Ports-Extra.git \
"
# TODO:
# argolunar: no sound (presets?)
# pdpulp: segfault
# protoplug asks for files
SRCREV = "b6f25f1feb4de49136844f20d88bec6439cdfbc5"
S = "${WORKDIR}/git"
PV = "0.0.0+git${SRCPV}"
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit lv2-turtle-helper features_check pack_audio_plugins
# distro-ports dependency for special hack script / libs
DEPENDS += " \
premake3-native \
virtual/libgl \
libx11 \
libxext \
libxcursor \
freetype \
csound \
distrho-ports \
"
LV2_TTL_GENERATOR = "${STAGING_BINDIR}/lv2_ttl_generator"
do_ttl_sed() {
# Seems this collection is not ready for public
# scripts/libs are (broken) symlinks to /usr/src/distrho) - copy 'shared'
# from distrho-ports (hack but we need to patch distrho-ports only)
rm -rf ${S}/libs
rm -rf ${S}/scripts
cp -r ${STAGING_BINDIR}/scripts ${S}
cp -r ${STAGING_LIBDIR}/libs ${S}
# manipulate scripts to keep lv2_ttl_generator-calls in script for lv2-turtle-helper
sed -i 's|$GEN ./$FILE|echo "`pwd`/$FILE" >> ${LV2_PLUGIN_INFO_FILE}|g' `find ${S}/scripts -name *.sh`
}
do_configure() {
cd ${S}
# platforms supporting sse2 can override NOOPTIMIZATIONS - later todo?
NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux
}
do_install() {
install -d ${D}${libdir}
cp -r ${S}/bin/* ${D}${libdir}
}
FILES_${PN} += " \
${libdir}/cabbage* \
"
# for common (?) cabbage files
RDEPENDS_${PN_LV2} += "${PN}"
RDEPENDS_${PN_VST} += "${PN}"
# Have not found what causes stripping - debugging of plugins is unlikely
INSANE_SKIP_${PN} = "already-stripped"

View File

@@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = " \
SRC_URI = " \
git://github.com/DISTRHO/DISTRHO-Ports.git \
file://0001-Modify-ttl-generation-target-so-we-can-sed-it-to-cor.patch \
file://0001-Fix-build-with-musl-by-removing-unused-SystemStats-g.patch \
file://0002-Further-musl-fix-by-removal-of-unused-function.patch \
\
http://linuxsynths.com/ObxdPatchesDemos/ObxdPatchesBrian-01.tar.gz;name=linuxsynths-obxd-patches1;subdir=linuxsynths-obxd-patches \
\
@@ -16,9 +17,9 @@ SRC_URI = " \
http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz;name=linuxsynths-vex-patches2;subdir=linuxsynths-vex-patches \
"
SRCREV = "2131ac41eef308c2ba11df6f1ae3985f3c868485"
SRCREV = "65c7c68a79e532d01695466f5b94c0e1cc4ae940"
S = "${WORKDIR}/git"
PV = "2021-03-15+git${SRCPV}"
PV = "2018-04-16+git${SRCPV}"
SRC_URI[linuxsynths-obxd-patches1.md5sum] = "32244f847a54a71ee3c25079df5c8b84"
SRC_URI[linuxsynths-obxd-patches1.sha256sum] = "246fccadd71bb9f0606a95bf7b0aee7807fd3a14f754367425423a51c31e160e"
@@ -30,9 +31,10 @@ SRC_URI[linuxsynths-vex-patches2.sha256sum] = "378cff261dab333c5f29246b6f3f557e0
REQUIRED_DISTRO_FEATURES = "x11 opengl"
inherit meson lv2-turtle-helper features_check pack_audio_plugins
inherit dos2unix lv2-turtle-helper features_check pack_audio_plugins
DEPENDS += " \
premake3-native \
virtual/libgl \
alsa-lib \
libx11 \
@@ -42,17 +44,42 @@ DEPENDS += " \
ladspa-sdk \
"
LV2_TTL_GENERATOR = "${B}/libs/lv2-ttl-generator/lv2_ttl_generator"
LV2_TTL_GENERATOR = "${B}/libs/lv2_ttl_generator"
do_ttl_sed() {
sed -i 's|%PLUGIN_INFO_FILE%|${LV2_PLUGIN_INFO_FILE}|g' `find ${S} -name meson.build`
# keep unmodified scripts for distrho-ports-extra
cp -r ${S}/scripts ${WORKDIR}
sed -i 's|$GEN ./$FILE|echo "`pwd`/$FILE" >> ${LV2_PLUGIN_INFO_FILE}|g' `find ${S}/scripts -name *.sh`
}
EXTRA_OEMESON += " \
-Doptimizations=false \
"
do_configure() {
# platforms supporting sse2 can override NOOPTIMIZATIONS - later todo?
NOOPTIMIZATIONS=1 ${S}/scripts/premake-update.sh linux
}
do_install() {
install -d ${D}${libdir}
cp -r ${S}/bin/* ${D}${libdir}
# presets
install -d ${D}${libdir}/lv2
# obxd
for file in `find ${WORKDIR}/linuxsynths-obxd-patches -mindepth 1 -maxdepth 1` ; do
cp -rf $file ${D}${libdir}/lv2/
done
# vex
for file in `find ${WORKDIR}/linuxsynths-vex-patches -mindepth 1 -maxdepth 1` ; do
cp -rf $file ${D}${libdir}/lv2/
done
# install ttl-generator bindir for distrho-ports-extra
install -d ${D}/${bindir}/scripts
install -m 755 ${S}/libs/lv2_ttl_generator ${D}/${bindir}
rm ${S}/libs/lv2_ttl_generator
cp -r ${WORKDIR}/scripts ${D}/${bindir}/
cp -r ${S}/libs ${D}/${libdir}/
mv ${D}/${libdir}/libs/*.a ${D}/${libdir}
}
# ttl-generator bindir for distrho-ports-extra
SYSROOT_DIRS_append = " ${bindir}"
@@ -68,6 +95,9 @@ FILES_${PN}-ttl-generator += " \
${bindir}/scripts \
${libdir}/libs \
"
# ${PN}-ttl-generator is intented for build of distrho-ports-extra and
# definitely nothing to be installed on target
INSANE_SKIP_${PN}-ttl-generator = "file-rdeps"
# Have not found what causes stripping - debugging of plugins is unlikely
INSANE_SKIP_${PN} = "already-stripped"

View File

@@ -0,0 +1,134 @@
From 1a4c189c7c5778951edc57f2840889629ce81135 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 3 Apr 2019 23:38:30 +0200
Subject: [PATCH] Fix build with musl by removing unused
SystemStats::getStackBacktrace
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Musl [1] considers itself as the pure POSIX incarnation and unfortunately
there are people liking it.
Since execinfo.h is not part of POSIX but a GNU header [2], musl fails with
| ../source/modules/juce_core/juce_core.cpp:98:12: fatal error: execinfo.h: No such file or directory
| #include <execinfo.h>
| ^~~~~~~~~~~~
| compilation terminated.
Removing SystemStats::getStackBacktrace does not cause any harm because it is
not used.
I am aware that there might be an update of JUCE or other prugins using
getStackBacktrace in the future but till then musl fan boys are happy.
Upstream-Status: Submitted [3]
[1] https://www.musl-libc.org/
[2] https://www.gnu.org/software/gnulib/manual/html_node/execinfo_002eh.html
[3] https://github.com/DISTRHO/DISTRHO-Ports/pull/31
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
.../source/modules/juce_core/juce_core.cpp | 3 --
.../juce_core/system/juce_SystemStats.cpp | 52 -------------------
.../juce_core/system/juce_SystemStats.h | 6 ---
3 files changed, 61 deletions(-)
diff --git a/libs/juce/source/modules/juce_core/juce_core.cpp b/libs/juce/source/modules/juce_core/juce_core.cpp
index 136dd284..06c7d17f 100644
--- a/libs/juce/source/modules/juce_core/juce_core.cpp
+++ b/libs/juce/source/modules/juce_core/juce_core.cpp
@@ -94,9 +94,6 @@
#include <net/if.h>
#include <sys/ioctl.h>
- #if ! JUCE_ANDROID
- #include <execinfo.h>
- #endif
#endif
#if JUCE_MAC || JUCE_IOS
diff --git a/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp b/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp
index c073331b..6f814213 100644
--- a/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp
+++ b/libs/juce/source/modules/juce_core/system/juce_SystemStats.cpp
@@ -118,58 +118,6 @@ bool SystemStats::hasAVX2() noexcept { return getCPUInformation().has
bool SystemStats::hasNeon() noexcept { return getCPUInformation().hasNeon; }
-//==============================================================================
-String SystemStats::getStackBacktrace()
-{
- String result;
-
- #if JUCE_ANDROID || JUCE_MINGW
- jassertfalse; // sorry, not implemented yet!
-
- #elif JUCE_WINDOWS
- HANDLE process = GetCurrentProcess();
- SymInitialize (process, nullptr, TRUE);
-
- void* stack[128];
- int frames = (int) CaptureStackBackTrace (0, numElementsInArray (stack), stack, nullptr);
-
- HeapBlock<SYMBOL_INFO> symbol;
- symbol.calloc (sizeof (SYMBOL_INFO) + 256, 1);
- symbol->MaxNameLen = 255;
- symbol->SizeOfStruct = sizeof (SYMBOL_INFO);
-
- for (int i = 0; i < frames; ++i)
- {
- DWORD64 displacement = 0;
-
- if (SymFromAddr (process, (DWORD64) stack[i], &displacement, symbol))
- {
- result << i << ": ";
-
- IMAGEHLP_MODULE64 moduleInfo;
- zerostruct (moduleInfo);
- moduleInfo.SizeOfStruct = sizeof (moduleInfo);
-
- if (::SymGetModuleInfo64 (process, symbol->ModBase, &moduleInfo))
- result << moduleInfo.ModuleName << ": ";
-
- result << symbol->Name << " + 0x" << String::toHexString ((int64) displacement) << newLine;
- }
- }
-
- #else
- void* stack[128];
- int frames = backtrace (stack, numElementsInArray (stack));
- char** frameStrings = backtrace_symbols (stack, frames);
-
- for (int i = 0; i < frames; ++i)
- result << frameStrings[i] << newLine;
-
- ::free (frameStrings);
- #endif
-
- return result;
-}
//==============================================================================
static SystemStats::CrashHandlerFunction globalCrashHandler = nullptr;
diff --git a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h
index 89d3854e..a99d830a 100644
--- a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h
+++ b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h
@@ -186,12 +186,6 @@ public:
static int getPageSize();
//==============================================================================
- /** Returns a backtrace of the current call-stack.
- The usefulness of the result will depend on the level of debug symbols
- that are available in the executable.
- */
- static String getStackBacktrace();
-
/** A function type for use in setApplicationCrashHandler(). The parameter will contain
platform-specific data about the crash.
*/
--
2.20.1

View File

@@ -1,45 +0,0 @@
From 649914c369578ef2a2db42ec02f4c1836b5eb8b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Fri, 30 Jul 2021 23:15:40 +0200
Subject: [PATCH] Modify ttl generation target so we can sed it to correct path
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate[Configuration]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
ports-legacy/meson.build | 2 +-
ports/meson.build | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ports-legacy/meson.build b/ports-legacy/meson.build
index cc8a6001..5ebcdd45 100644
--- a/ports-legacy/meson.build
+++ b/ports-legacy/meson.build
@@ -281,7 +281,7 @@ if build_lv2 or build_vst2
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'cp', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
+ 'eval', 'echo', plugin_lv2_dir / plugin_name + lib_suffix, '>>', '%PLUGIN_INFO_FILE%',
],
install: true,
install_dir: lv2dir,
diff --git a/ports/meson.build b/ports/meson.build
index 248c4c71..d6a8ede1 100644
--- a/ports/meson.build
+++ b/ports/meson.build
@@ -224,7 +224,7 @@ foreach plugin : plugins
'mkdir', '-p', plugin_lv2_dir, '&&',
'cd', plugin_lv2_dir, '&&',
'mv', plugin_lv2_lib.full_path(), plugin_lv2_dir / plugin_name + lib_suffix, '&&',
- (meson.is_cross_build() ? 'wine' : 'env'), lv2_ttl_generator, '.' / plugin_name + lib_suffix,
+ 'eval', 'echo', plugin_lv2_dir / plugin_name + lib_suffix, '>>', '%PLUGIN_INFO_FILE%',
],
install: true,
install_dir: lv2dir,
--
2.31.1

View File

@@ -0,0 +1,146 @@
From 06be2d073cb86298cba6ae98f8c7ffbec4f15e7e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 4 Apr 2019 00:19:22 +0200
Subject: [PATCH] Further musl fix by removal of unused function
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This time there are _NL_IDENTIFICATION* variables missing. Since the functions
SystemStats::getUserLanguage()
SystemStats::getUserRegion()
SystemStats::getDisplayLanguage()
are not in use there is no harm caused by removing them.
Same: I am aware that there might be an update of JUCE or other prugins using
getStackBacktrace in the future but till then musl fan boys are happy.
Upstream-Status: Submitted [1]
[1] https://github.com/DISTRHO/DISTRHO-Ports/pull/31
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
.../native/juce_android_SystemStats.cpp | 4 ----
.../native/juce_linux_SystemStats.cpp | 4 ----
.../juce_core/native/juce_mac_SystemStats.mm | 11 ----------
.../native/juce_win32_SystemStats.cpp | 22 -------------------
.../juce_core/system/juce_SystemStats.h | 17 --------------
5 files changed, 58 deletions(-)
diff --git a/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp b/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp
index a1bdd59e..6055352f 100644
--- a/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp
+++ b/libs/juce/source/modules/juce_core/native/juce_android_SystemStats.cpp
@@ -445,10 +445,6 @@ String SystemStats::getComputerName()
}
-String SystemStats::getUserLanguage() { return AndroidStatsHelpers::getLocaleValue (false); }
-String SystemStats::getUserRegion() { return AndroidStatsHelpers::getLocaleValue (true); }
-String SystemStats::getDisplayLanguage() { return getUserLanguage() + "-" + getUserRegion(); }
-
//==============================================================================
void CPUInformation::initialise() noexcept
{
diff --git a/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp b/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp
index 40f19187..07a99749 100644
--- a/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp
+++ b/libs/juce/source/modules/juce_core/native/juce_linux_SystemStats.cpp
@@ -129,10 +129,6 @@ static String getLocaleValue (nl_item key)
return result;
}
-String SystemStats::getUserLanguage() { return getLocaleValue (_NL_IDENTIFICATION_LANGUAGE); }
-String SystemStats::getUserRegion() { return getLocaleValue (_NL_IDENTIFICATION_TERRITORY); }
-String SystemStats::getDisplayLanguage() { return getUserLanguage() + "-" + getUserRegion(); }
-
//==============================================================================
void CPUInformation::initialise() noexcept
{
diff --git a/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm b/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm
index 81f62192..b0a751dd 100644
--- a/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm
+++ b/libs/juce/source/modules/juce_core/native/juce_mac_SystemStats.mm
@@ -241,17 +241,6 @@ static String getLocaleValue (CFStringRef key)
return result;
}
-String SystemStats::getUserLanguage() { return getLocaleValue (kCFLocaleLanguageCode); }
-String SystemStats::getUserRegion() { return getLocaleValue (kCFLocaleCountryCode); }
-
-String SystemStats::getDisplayLanguage()
-{
- CFArrayRef cfPrefLangs = CFLocaleCopyPreferredLanguages();
- const String result (String::fromCFString ((CFStringRef) CFArrayGetValueAtIndex (cfPrefLangs, 0)));
- CFRelease (cfPrefLangs);
- return result;
-}
-
//==============================================================================
/* NB: these are kept outside the HiResCounterInfo struct and initialised to 1 to avoid
division-by-zero errors if some other static constructor calls us before this file's
diff --git a/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp b/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp
index e2b44093..c78cf747 100644
--- a/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp
+++ b/libs/juce/source/modules/juce_core/native/juce_win32_SystemStats.cpp
@@ -469,26 +469,4 @@ static String getLocaleValue (LCID locale, LCTYPE key, const char* defaultValue)
return defaultValue;
}
-String SystemStats::getUserLanguage() { return getLocaleValue (LOCALE_USER_DEFAULT, LOCALE_SISO639LANGNAME, "en"); }
-String SystemStats::getUserRegion() { return getLocaleValue (LOCALE_USER_DEFAULT, LOCALE_SISO3166CTRYNAME, "US"); }
-
-String SystemStats::getDisplayLanguage()
-{
- DynamicLibrary dll ("kernel32.dll");
- JUCE_LOAD_WINAPI_FUNCTION (dll, GetUserDefaultUILanguage, getUserDefaultUILanguage, LANGID, (void))
-
- if (getUserDefaultUILanguage == nullptr)
- return "en";
-
- const DWORD langID = MAKELCID (getUserDefaultUILanguage(), SORT_DEFAULT);
-
- String mainLang (getLocaleValue (langID, LOCALE_SISO639LANGNAME, "en"));
- String region (getLocaleValue (langID, LOCALE_SISO3166CTRYNAME, nullptr));
-
- if (region.isNotEmpty())
- mainLang << '-' << region;
-
- return mainLang;
-}
-
} // namespace juce
diff --git a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h
index a99d830a..ca560670 100644
--- a/libs/juce/source/modules/juce_core/system/juce_SystemStats.h
+++ b/libs/juce/source/modules/juce_core/system/juce_SystemStats.h
@@ -106,23 +106,6 @@ public:
/** Returns the host-name of the computer. */
static String getComputerName();
- /** Returns the language of the user's locale.
- The return value is a 2 or 3 letter language code (ISO 639-1 or ISO 639-2)
- */
- static String getUserLanguage();
-
- /** Returns the region of the user's locale.
- The return value is a 2 letter country code (ISO 3166-1 alpha-2).
- */
- static String getUserRegion();
-
- /** Returns the user's display language.
- The return value is a 2 or 3 letter language code (ISO 639-1 or ISO 639-2).
- Note that depending on the OS and region, this may also be followed by a dash
- and a sub-region code, e.g "en-GB"
- */
- static String getDisplayLanguage();
-
/** This will attempt to return some kind of string describing the device.
If no description is available, it'll just return an empty string. You may
want to use this for things like determining the type of phone/iPad, etc.
--
2.20.1

View File

@@ -3,9 +3,6 @@ HOMEPAGE = "https://www.drumgizmo.org"
LICENSE = "LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI = " \
http://www.drumgizmo.org/releases/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
file://0001-Fix-build-with-gcc11.patch \
"
SRC_URI = "http://www.drumgizmo.org/releases/${BPN}-${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[sha256sum] = "7426f38b58fbb82d3eada60c204d74e6c5de31ef424c017e3f890117e146a2a3"
PV = "0.9.19"

View File

@@ -1,32 +0,0 @@
From 584273e28bceb0b52b5b852b56950a04a4fcc4a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 8 May 2021 15:42:48 +0200
Subject: [PATCH] Fix build with gcc11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
| translation.h:35:6: error: 'uint64_t' in namespace 'std' does not name a type; did you mean 'wint_t'?
| 35 | std::uint64_t constexpr const_hash(const char* input)
| | ^~~~~~~~
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
src/translation.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/translation.h b/src/translation.h
index 7f506a6..43545b0 100644
--- a/src/translation.h
+++ b/src/translation.h
@@ -31,6 +31,7 @@
#ifdef WITH_NLS
#include <memory>
+#include <cstdint>
std::uint64_t constexpr const_hash(const char* input)
{
--
2.30.2

View File

@@ -1,34 +0,0 @@
From 6f06bd6f85f6920c2619853536934ade83ad9580 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Sat, 8 May 2021 14:59:40 +0200
Subject: [PATCH] Fix build with gcc11
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
| ../git/libs/lua/sol/sol.hpp:9816:51: error: 'numeric_limits' is not a member of 'std'
| 9816 | std::size_t space = (std::numeric_limits<std::size_t>::max)();
| | ^~~~~~~~~~~~~~
Upstream-Status: Submitted [https://github.com/kushview/Element/pull/418]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
libs/lua/sol/sol.hpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/libs/lua/sol/sol.hpp b/libs/lua/sol/sol.hpp
index c25fd549..5d79428d 100644
--- a/libs/lua/sol/sol.hpp
+++ b/libs/lua/sol/sol.hpp
@@ -37,6 +37,7 @@
#include <sol/config.hpp>
#include <cstdint>
+#include <limits>
#define SOL_VERSION_MAJOR 3
#define SOL_VERSION_MINOR 5
--
2.30.2

View File

@@ -20,12 +20,9 @@ DEPENDS += " \
jack \
"
SRC_URI = " \
gitsm://github.com/kushview/Element.git \
file://0001-Fix-build-with-gcc11.patch \
"
SRCREV = "30cab91b515b2fc7a224a3c976bdbaf96273e6e5"
PV = "0.46.3"
SRC_URI = "gitsm://github.com/kushview/Element.git"
SRCREV = "3233c02d0fe1b96e551c0fae20626dcacb6d431e"
PV = "0.46.0"
S = "${WORKDIR}/git"
EXTRA_OECONF = " \

View File

@@ -25,7 +25,6 @@ SRC_URI[md5sum] = "2597cfddbceb28f5e764929e6c9755ab"
SRC_URI[sha256sum] = "2b77069302f8721fd614ae4e3ca364f1977731deb166bf5af00d389e9908ab21"
EXTRA_OEMAKE = "LIBTOOLFLAGS='--tag=CXX'"
CXXFLAGS += "-std=c++11"
do_install_append() {
mv ${D}${libdir}/${BPN}/* ${D}${libdir}

View File

@@ -39,8 +39,6 @@ EXTRA_OECONF = " \
--enable-plugin-dir=${libdir}/${BPN}/plugins \
"
CXXFLAGS += "-std=c++11"
do_install_append() {
mv ${D}${libdir}/${BPN}/* ${D}${libdir}
rmdir ${D}${libdir}/${BPN}

View File

@@ -1,64 +0,0 @@
SUMMARY = "Qt based DJ software"
HOMEPAGE = "http://mixxx.org/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e5323335634095f8bdd15f6a5c5c5865"
inherit cmake_qt5 gtk-icon-cache features_check
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS += " \
qtbase \
qtscript \
qtsvg \
qtxmlpatterns \
qtx11extras \
qtkeychain \
qttools-native \
libusb1 \
hidapi \
upower \
sqlite3 \
libid3tag \
taglib \
libmad \
faad2 \
libmp4v2 \
libogg \
libvorbis \
protobuf protobuf-native \
fftw \
portaudio-v19 \
portmidi \
chromaprint \
rubberband \
soundtouch \
libglu \
lilv \
lame \
wavpack \
libmodplug \
libkeyfinder \
libebur128 \
"
# causes segfault trying to find debug libs
# gperftools
SRC_URI = " \
git://github.com/mixxxdj/${BPN}.git;branch=main \
"
SRCREV = "d1dca4785af375af8f73b5ee5389311f4a4ef5e6"
S = "${WORKDIR}/git"
PV = "2.3.0"
EXTRA_OECMAKE += " \
-DSHOUTCAST=OFF \
-DLOCALECOMPARE=OFF \
-DFAAD=ON \
"
# -DPERFTOOLS=ON
FILES_${PN} += " \
${datadir}/appdata \
${datadir}/metainfo \
"

View File

@@ -0,0 +1,44 @@
From b8673fb304f0eed41a1bcaa953a63bedb27b05e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 19 Aug 2019 23:28:51 +0200
Subject: [PATCH] do not check for known machine types
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
build/mixxx.py | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/build/mixxx.py b/build/mixxx.py
index 6009973453..b9c7a9fee3 100644
--- a/build/mixxx.py
+++ b/build/mixxx.py
@@ -45,21 +45,6 @@ class MixxxBuild(object):
if target not in ['windows', 'osx', 'linux', 'bsd']:
raise Exception("invalid target platform")
- if machine.lower() not in ['x86_64', 'x86', 'i686', 'i586',
- 'alpha', 'hppa', 'mips', 'mipsel', 's390',
- 'sparc', 'ia64', 'armel', 'armhf', 'hurd-i386',
- 'armv5tel', 'armv5tejl', 'armv6l', 'armv6hl',
- 'armv7l', 'armv7hl', 'armv7hnl',
- 'sh3', 'sh4',
- 'kfreebsd-amd64', 'kfreebsd-i386',
- 'i486', 'i386', 'ppc', 'ppc64', 'powerpc',
- 'powerpc64', 'powerpcspe', 's390x',
- 'amd64', 'em64t', 'intel64', 'arm64',
- 'ppc64el', 'ppc64le', 'm68k', 'mips64',
- 'mips64el', 'mipsn32', 'mipsn32el',
- 'aarch64']:
- raise Exception("invalid machine type")
-
if toolchain not in ['gnu', 'msvs']:
raise Exception('invalid toolchain type')
--
2.21.0

View File

@@ -0,0 +1,40 @@
From bf659102f80fa2c104c2725e71943453ed8b9caf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Mon, 19 Aug 2019 23:33:01 +0200
Subject: [PATCH] force using system soundtouch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
For unknown reasons soundtouch is not properly found - maybe
PKG_CONFIG_PATH gets lost in some scons depth - no idea.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
build/depends.py | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/build/depends.py b/build/depends.py
index 9d5efa2293..8604466701 100644
--- a/build/depends.py
+++ b/build/depends.py
@@ -604,12 +604,8 @@ class SoundTouch(Dependence):
env = build.env
if build.platform_is_linux:
- # Try using system lib
- if conf.CheckForPKG('soundtouch', '2.0.0'):
- # System Lib found
- build.env.ParseConfig('pkg-config soundtouch --silence-errors \
- --cflags --libs')
- self.INTERNAL_LINK = False
+ build.env.ParseConfig('pkg-config soundtouch --silence-errors --cflags --libs')
+ self.INTERNAL_LINK = False
if self.INTERNAL_LINK:
env.Append(CPPPATH=[self.SOUNDTOUCH_INTERNAL_PATH])
--
2.21.0

View File

@@ -0,0 +1,31 @@
From 5c81f8bf6b60dbc289ec0ad7657362bec169a35b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Wed, 7 Dec 2016 18:33:04 +0100
Subject: [PATCH] align path of qt build tools to our needs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
build/qt5.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/qt5.py b/build/qt5.py
index aa70a42..da96996 100644
--- a/build/qt5.py
+++ b/build/qt5.py
@@ -704,7 +704,7 @@ def generate(env):
def locateQt5Command(env, command, qtdir) :
triedPaths = []
for suffix in suffixes :
- fullpath = os.path.join(qtdir,'bin',command + suffix)
+ fullpath = os.path.join(qtdir,command + suffix)
if os.access(fullpath, os.X_OK) :
return fullpath
triedPaths.append(fullpath)
--
2.7.4

View File

@@ -0,0 +1,31 @@
From 553cc367bf10401ac2a2849d24c0e93c4157a6d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Tue, 20 Aug 2019 00:20:06 +0200
Subject: [PATCH] Do not add host libdir to LDPATH / rpath
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [cross specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
build/depends.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build/depends.py b/build/depends.py
index 8604466701..954740fe79 100644
--- a/build/depends.py
+++ b/build/depends.py
@@ -506,7 +506,7 @@ class Qt(Dependence):
if build.platform_is_osx:
compiling_on_104 = (
os.popen('sw_vers').readlines()[1].find('10.4') >= 0)
- if not build.platform_is_windows and not (using_104_sdk or compiling_on_104):
+ if False:
qtdir = build.env['QTDIR']
framework_path = Qt.find_framework_libdir(qtdir, qt5)
if os.path.isdir(framework_path):
--
2.21.0

View File

@@ -0,0 +1,86 @@
SUMMARY = "Qt based DJ software"
HOMEPAGE = "http://mixxx.org/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://LICENSE;md5=827547320b68c9b65f19d8abd3d7a019"
inherit scons qmake5_paths pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS += " \
qtbase \
qtscript \
qtsvg \
qtxmlpatterns \
qtx11extras \
qttools-native \
libusb1 \
hidapi \
upower \
sqlite \
libid3tag \
taglib \
libmad \
faad2 \
libmp4v2 \
libogg \
libvorbis \
protobuf protobuf-native \
fftw \
portaudio-v19 \
portmidi \
chromaprint \
rubberband \
soundtouch \
libglu \
lilv \
lame \
"
# causes segfault trying to find debug libs
# gperftools
SRC_URI = " \
git://github.com/mixxxdj/${BPN}.git;branch=main \
file://0001-do-not-check-for-known-machine-types.patch \
file://0002-force-using-system-soundtouch.patch \
file://0003-align-path-of-qt-build-tools-to-our-needs.patch \
file://0004-Do-not-add-host-libdir-to-LDPATH-rpath.patch \
"
SRCREV = "59683489997e19d861a218e2e692cdbe52168869"
S = "${WORKDIR}/git"
PV = "2.2.4"
# qtbase is expected to be build for desktop GL. If there is qtbase with gles
# add opengles=1 to EXTRA_OESCONS but that currently disables code paths and
# wave displays remain empty
EXTRA_OESCONS += " \
build=release \
target=linux \
machine=${TARGET_ARCH} \
qtdir=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
shoutcast=0 \
localecompare=0 \
faad=1 \
"
# perftools=1
# If we export in do_install only, mixxx is compiled twice
export LIBDIR="${libdir}"
# Have no idea why we need to create ui-headers...
do_compile_prepend() {
for uifile in `find ${S} -name '*.ui'`; do
genfile=`echo $uifile | sed -e 's:.ui:.h:' -e 's:/dlg:/ui_dlg:'`
uic $uifile -o $genfile
done
}
do_install_prepend() {
sed -i 's:/etc/udev:${D}/etc/udev:g' ${S}/src/SConscript
}
FILES_${PN} += "${datadir}/appdata"
# was: 'probably-redundant RPATH /usr/lib' - not exactly a bad breaker. Looked
# into but could't find why this is thrown - so ignore for now.
INSANE_SKIP_${PN} = "useless-rpaths"

View File

@@ -13,7 +13,7 @@ index 5976e69..0711b11 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,10 +1,6 @@
cmake_minimum_required(VERSION 3.5.0 FATAL_ERROR)
cmake_minimum_required(VERSION 2.8.11 FATAL_ERROR)
project(qmmp)
-#freebsd support

View File

@@ -30,15 +30,15 @@ DEPENDS += " \
"
SRC_URI = " \
https://qmmp.ylsoftware.com/files/${BPN}/1.5/${BPN}-${PV}.tar.bz2 \
http://qmmp.ylsoftware.com/files/${BPN}-${PV}.tar.bz2 \
file://0001-Remove-freebsd-compilation-support.patch \
file://0002-Hardcode-projectM-configuration-file-location.patch \
"
SRC_URI[sha256sum] = "f3dc676039b5f190e6a87377a6b2bd2bcca122d1659b5f22668c7a284bb91f43"
SRC_URI[sha256sum] = "f513774357836ad4983fa216c84cf5db634284faebec48c461733838917fd664"
inherit cmake_qt5 mime-xdg
FILES_${PN} += " \
${datadir} \
${libdir}/qmmp-1.5 \
${libdir}/qmmp-1.4 \
"

View File

@@ -24,12 +24,12 @@ do_convert_crlf_to_lf () {
addtask convert_crlf_to_lf after do_unpack before do_patch
SRC_URI = " \
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
file://0001-Fix-for-python-3.9.patch;patchdir=../hydrogen2drumkv1 \
file://0002-Avoid-stripping-CMake.patch \
git://github.com/TuriSc/hydrogen2drumkv1.py.git;name=hydrogen2drumkv1;destsuffix=hydrogen2drumkv1 \
file://0001-Fix-for-python-3.9.patch;patchdir=../hydrogen2drumkv1 \
"
PV = "0.9.23"
SRC_URI[sha256sum] = "80db1cb2a1a911f53508d243941033ba6f4cd2fcc94a6e96c796ffce13adfac9"
PV = "0.9.22"
SRC_URI[sha256sum] = "fe67b6ff00bac86faef18f759100e325ce200f508093566f5d30174702a22330"
SRCREV_hydrogen2drumkv1 = "4ca8af8f1433dce33f675ae68e95429c9eed084e"

View File

@@ -12,12 +12,12 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
1 file changed, 8 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e5ef1c1..656d02f 100644
index 6af9d9f..1050391 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -178,10 +178,6 @@ if (CONFIG_LV2)
target_link_directories (${PROJECT_NAME}_lv2 PRIVATE ${LV2_LIBRARY_DIRS})
target_link_libraries (${PROJECT_NAME}_lv2 PRIVATE ${LV2_LIBRARIES})
@@ -169,10 +169,6 @@ if (CONFIG_LV2)
set_target_properties (${PROJECT_NAME}_lv2 PROPERTIES CXX_STANDARD 17)
target_link_libraries (${PROJECT_NAME}_lv2 PRIVATE ${PROJECT_NAME}_ui)
if (UNIX AND NOT APPLE)
- if (NOT CONFIG_DEBUG)
- add_custom_command(TARGET ${PROJECT_NAME}_lv2 POST_BUILD
@@ -26,7 +26,7 @@ index e5ef1c1..656d02f 100644
if (CONFIG_PREFIX MATCHES $ENV{HOME})
set (CONFIG_LV2DIR ${CONFIG_PREFIX}/.lv2)
else ()
@@ -227,10 +223,6 @@ if (CONFIG_JACK)
@@ -199,10 +195,6 @@ if (CONFIG_JACK)
target_link_libraries (${PROJECT_NAME}_jack PRIVATE PkgConfig::LIBLO)
endif ()
if (UNIX AND NOT APPLE)

View File

@@ -20,8 +20,8 @@ SRC_URI = " \
http://linuxsynths.com/Padthv1PatchesDemos/Padthv1Patches.tar.gz;name=linuxsynths-padthv1-presets;subdir=linuxsynths-padthv1-presets \
file://padthv1.conf \
"
PV = "0.9.23"
SRC_URI[sha256sum] = "f7215fbe5b243989c6adaa2ed92dd07df97c468609a84d309c394e3fc9b14208"
PV = "0.9.22"
SRC_URI[sha256sum] = "dd445359803e9bbb6f43af53841054c80e77c197aca2d88c4172301cd24e7ef2"
SRC_URI[linuxsynths-padthv1-presets.sha256sum] = "ad9eadc707784b6931955b1fc63308b9e5dc59d24903e6405e9d34d30794fd0b"

View File

@@ -20,8 +20,8 @@ SRC_URI = " \
"
SRCREV = "c88e08a7d62be39ea541d26c8c7e1e7b82289cd3"
SRC_URI[sha256sum] = "febf7019f775a07d167f255756c27e55832656ccf69d1c744b4ce563e478d9a0"
PV = "0.9.4"
SRC_URI[sha256sum] = "e9c2ffc219863c8c3dcdb05c4870d419b1625906852294f15c62d590b331bd18"
PV = "0.9.3"
FILES_${PN} += " \
${datadir}/metainfo \

View File

@@ -12,8 +12,8 @@ DEPENDS += " \
inherit cmake_qt5 gtk-icon-cache
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[sha256sum] = "3f343fba1388ca687be5903bf74fa19acb6907b2de0fbbbb25580f56135ce419"
PV = "0.9.4"
SRC_URI[sha256sum] = "44d99946474e5609bb3dc8444966591d0193cfa3bf5b78b05de0dd277ef30b49"
PV = "0.9.3"
FILES_${PN} += " \
${datadir}/metainfo \

View File

@@ -13,8 +13,8 @@ DEPENDS += " \
inherit cmake_qt5 gtk-icon-cache
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[sha256sum] = "ed48b89148188293d501a68836b77a5866686289f952e1eccc655a1da7dbfe9d"
PV = "0.9.4"
SRC_URI[sha256sum] = "3412f7da2642a2a1afc3432b770c496eb320e787bbb550aebc7f368c90f2e15f"
PV = "0.9.3"
FILES_${PN} += " \
${datadir}/metainfo \

View File

@@ -14,8 +14,8 @@ DEPENDS += " \
inherit cmake_qt5 gtk-icon-cache qt5-translation mime mime-xdg
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[sha256sum] = "f35adb55982d2d443cf38be1ea61745c55b62dc416f34fbfbbbddb00c033cc19"
PV = "0.9.4"
SRC_URI[sha256sum] = "cd772425ad18a9ee531e64fa7abc8492636fdc7c51f1d78f037a18fdf8008ed5"
PV = "0.9.3"
FILES_${PN} += " \
${datadir}/metainfo \

View File

@@ -16,7 +16,7 @@ inherit cmake_qt5 pkgconfig gtk-icon-cache features_check
REQUIRED_DISTRO_FEATURES = "x11"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
SRC_URI[sha256sum] = "76580890c75eeeebf852530a10f86d67b31f49305ced1bc7b3e436ca4f86fc93"
PV = "0.9.4"
SRC_URI[sha256sum] = "0cd6c09d4f7f02b0b487b4a01caab7965c9ca86c75945cf47659746cc3b75b29"
PV = "0.9.3"
FILES_${PN} += "${datadir}/metainfo"

View File

@@ -24,8 +24,8 @@ SRC_URI = " \
\
file://Qtractor.conf \
"
SRCREV = "535d58144e474550bf740ff941422ec020581cc9"
PV = "0.9.23+git${SRCPV}"
SRCREV = "628d95225c39235a32b9fc019991a8a05d2bad70"
PV = "0.9.22+git${SRCPV}"
S = "${WORKDIR}/git"
do_install_append() {

View File

@@ -17,8 +17,8 @@ SRC_URI = " \
${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.gz \
file://0002-Avoid-stripping-CMake.patch \
"
PV = "0.9.23"
SRC_URI[sha256sum] = "78903a8b11f6d16bfe703d82286a269dcc9f278b5fa4e2f752b4de0a46f9fead"
PV = "0.9.22"
SRC_URI[sha256sum] = "2fdd96d6fe9d7b4c3780bfb02fb4b0933a4d2a4eb940eabea252f0d23eb752a5"
FILES_${PN} += " \
${datadir}/appdata \

View File

@@ -22,8 +22,8 @@ SRC_URI = " \
\
file://synthv1.conf \
"
PV = "0.9.23"
SRC_URI[sha256sum] = "d15ef64f9d62713fedf5f25fe26c1c31864b8f34cf9e68826d4f817709c29b0e"
PV = "0.9.22"
SRC_URI[sha256sum] = "319932091e748a580bfae4f670726acbec35da59ec10964fb2d8cf099d5ebd32"
SRC_URI[autostatic-synthv1-presets1.sha256sum] = "587ac8cb4cb645fc71603d1b4b351b24f3e4d9f15a53aca59c0f30cc9f66e253"

View File

@@ -18,9 +18,9 @@ inherit cmake_qt5 pkgconfig gtk-icon-cache features_check mime mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
PV = "21.06.1"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/21.06/${BPN}-${PV}.tar.bz2"
SRC_URI[sha256sum] = "87750dc0b55ae27e07acc4effdc25ae5c4f6ba4ccf81ac5112abb0fed211397a"
PV = "20.12"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/${PV}/${BPN}-${PV}.tar.bz2"
SRC_URI[sha256sum] = "886684afc5858a9578234d1f845188db130114f7fbf38208c4d5ecda15131c5b"
FILES_${PN} += " \
${datadir}/mime \

View File

@@ -0,0 +1,45 @@
From b6d889302fa11dea2092b932cc1a51a083dc8303 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Tue, 4 Oct 2016 19:23:44 +0200
Subject: [PATCH] Optional replace FFTW_DOUBLE_ONLY by FFTW_SINGLE_ONLY
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
Makefile.in | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 76f8552..c5a8e8f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -2,7 +2,7 @@
PREFIX := @prefix@
CXX := @CXX@
CC := @CC@
-CXXFLAGS := -DHAVE_LIBSAMPLERATE -DHAVE_FFTW3 -DFFTW_DOUBLE_ONLY -DNO_THREAD_CHECKS -DUSE_PTHREADS -DNO_TIMING -DNDEBUG -I. -Isrc -Irubberband @CXXFLAGS@ @SRC_CFLAGS@ @SNDFILE_CFLAGS@ @FFTW_CFLAGS@ @Vamp_CFLAGS@ $(OPTFLAGS)
+CXXFLAGS := -DHAVE_LIBSAMPLERATE -DHAVE_FFTW3 -DFFTW_SINGLE_ONLY -DNO_THREAD_CHECKS -DUSE_PTHREADS -DNO_TIMING -DNDEBUG -I. -Isrc -Irubberband @CXXFLAGS@ @SRC_CFLAGS@ @SNDFILE_CFLAGS@ @FFTW_CFLAGS@ @Vamp_CFLAGS@ $(OPTFLAGS)
CFLAGS := @CFLAGS@ $(OPTFLAGS)
LDFLAGS := @LDFLAGS@ -lpthread $(LDFLAGS)
WITH_PROGRAMS := @WITH_PROGRAMS@
diff --git a/configure.ac b/configure.ac
index eef571b..900370f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@ PKG_CHECK_MODULES([SNDFILE],[sndfile])
AC_SUBST(SNDFILE_CFLAGS)
AC_SUBST(SNDFILE_LIBS)
-PKG_CHECK_MODULES([FFTW],[fftw3])
+PKG_CHECK_MODULES([FFTW],[fftw3f])
AC_SUBST(FFTW_CFLAGS)
AC_SUBST(FFTW_LIBS)
--
2.14.4

View File

@@ -1,25 +0,0 @@
SUMMARY = "Multi-dimensional dynamically distorted staggered multi-bandpass LV2 plugin"
HOMEPAGE = "https://github.com/sjaehn/BAngr"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
REQUIRED_DISTRO_FEATURES = "x11"
inherit pkgconfig features_check
DEPENDS += " \
virtual/libx11 \
cairo \
lv2 \
"
SRC_URI = "git://github.com/sjaehn/BAngr.git"
SRCREV = "ec25efa0a7a090a8f31dccafa02fe6ffc437aeba"
S = "${WORKDIR}/git"
PV = "1.4.0"
do_install() {
DESTDIR=${D} PREFIX=${prefix} oe_runmake install
}
FILES_${PN} += "${libdir}/lv2"

View File

@@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = " \
file://LICENSE;md5=75859989545e37968a99b631ef42722e \
"
SRC_URI = "git://github.com/schnitzeltony/soundfont-cmdline-tools.git"
SRCREV = "66b6cd4446abf616837718c62fa3f03bfb97afeb"
SRCREV = "c4b11144dc714d9e4d959f0631c35a6b9764c057"
S = "${WORKDIR}/git"
PV = "0.0.0+git${SRCPV}"

View File

@@ -15,8 +15,8 @@ DEPENDS += " \
"
SRC_URI = "gitsm://github.com/x42/darc.lv2.git"
SRCREV = "5f9dcb2c197cf0833a0006d3deaea7d5909de563"
PV = "0.5.5"
SRCREV = "4bddab4c184af4695fb3248796e77fb5fb7e54b5"
PV = "0.5.4"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += " \

View File

@@ -14,8 +14,8 @@ DEPENDS += " \
"
SRC_URI = "gitsm://github.com/x42/dpl.lv2.git"
SRCREV = "e478ef7a1f9b41bc4acd7eec4fc2017022aeed2e"
PV = "0.5.2"
SRCREV = "67593cd22f531879f9461ce022cb564b0d3ab173"
PV = "0.5.1"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += " \

View File

@@ -14,8 +14,8 @@ DEPENDS += " \
"
SRC_URI = "gitsm://github.com/x42/fat1.lv2.git"
SRCREV = "274f8cb882d85cbff09a89d3e650f7d366908681"
PV = "0.6.6"
SRCREV = "49209f070e94b12c2948be425c58f414369a200f"
PV = "0.6.5"
S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = "x11 opengl"

View File

@@ -17,8 +17,8 @@ DEPENDS += " \
"
SRC_URI = "gitsm://github.com/x42/fil4.lv2.git"
SRCREV = "d9fa3861575ac06229ea97e352e887b24c23d975"
PV = "0.7.5"
SRCREV = "98191b28c2ba193c6f12f4962dc5963d647941b7"
PV = "0.7.4"
S = "${WORKDIR}/git"
EXTRA_OEMAKE += " \

View File

@@ -1,10 +0,0 @@
SUMMARY = "A library implementing the EBU R128 loudness standard"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=b7edcc6cb01ace25ebd2555cf15473dc"
SRC_URI = "git://github.com/jiixyj/libebur128.git;branch=master;protocol=https"
SRCREV = "67b33abe1558160ed76ada1322329b0e9e058b02"
PV = "1.2.6"
S = "${WORKDIR}/git"
inherit cmake

View File

@@ -1,17 +0,0 @@
SUMMARY = "Musical key detection for digital audio"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464"
SRC_URI = "git://github.com/mixxxdj/libkeyfinder.git;branch=main;protocol=https"
SRCREV = "99c59aa4eb68071cb5ac8ce0944247a88d417143"
PV = "2.2.4"
S = "${WORKDIR}/git"
DEPENDS = "fftw"
inherit cmake
FILES_SOLIBSDEV = ""
FILES_${PN} += " \
${libdir}/libkeyfinder.so \
"

View File

@@ -26,6 +26,7 @@ RDEPENDS_${PN} += " \
\
\
distrho-ports-lv2 distrho-ports-presets distrho-ports-vst \
distrho-ports-extra-lv2 distrho-ports-extra-vst \
dpf-plugins-ladspa dpf-plugins-lv2 dpf-plugins-vst dpf-plugins-standalone \
lv2-ttl-generator \
\
@@ -138,10 +139,9 @@ RDEPENDS_${PN} += " \
setbfree \
\
\
bangr \
boops \
bchoppr \
bjumblr \
boops \
bschaffl \
bsequencer \
bshapr \