update buildroot to 2017.02.11
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
From ff1ed2c4524095055140370c1008a2d9cccc5645 Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
|
||||
Date: Sat, 11 Jun 2016 05:35:07 +0200
|
||||
Subject: [PATCH] Fix initialization in test/iodelay.cpp
|
||||
|
||||
jack_latency_range_t is
|
||||
|
||||
struct _jack_latency_range {
|
||||
jack_nframes_t min;
|
||||
jack_nframes_t max;
|
||||
};
|
||||
|
||||
and jack_nframes_t is
|
||||
|
||||
typedef uint32_t jack_nframes_t;
|
||||
|
||||
so it's unsigned. Initialising it with -1 is invalid (at least in C++14). We cannot use {0, 0}, because latency_cb has
|
||||
|
||||
jack_latency_range_t range;
|
||||
range.min = range.max = 0;
|
||||
if ((range.min != capture_latency.min) || (range.max !=
|
||||
capture_latency.max)) {
|
||||
capture_latency = range;
|
||||
}
|
||||
|
||||
so we must not have {0, 0}, otherwise the condition would never be true.
|
||||
|
||||
Using UINT32_MAX should be equivalent to the previous -1.
|
||||
|
||||
[Upstream commit https://github.com/jackaudio/jack2/commit/ff1ed2c4524095055140370c1008a2d9cccc5645]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
tests/iodelay.cpp | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp
|
||||
index e1ba63fa..1ef470fd 100644
|
||||
--- a/tests/iodelay.cpp
|
||||
+++ b/tests/iodelay.cpp
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <stdint.h>
|
||||
#include <math.h>
|
||||
#include <unistd.h>
|
||||
#include <jack/jack.h>
|
||||
@@ -167,8 +168,8 @@ static jack_client_t *jack_handle;
|
||||
static jack_port_t *jack_capt;
|
||||
static jack_port_t *jack_play;
|
||||
|
||||
-jack_latency_range_t capture_latency = {-1, -1};
|
||||
-jack_latency_range_t playback_latency = {-1, -1};
|
||||
+jack_latency_range_t capture_latency = {UINT32_MAX, UINT32_MAX};
|
||||
+jack_latency_range_t playback_latency = {UINT32_MAX, UINT32_MAX};
|
||||
|
||||
void
|
||||
latency_cb (jack_latency_callback_mode_t mode, void *arg)
|
||||
@@ -266,4 +267,4 @@ int main (int ac, char *av [])
|
||||
return 0;
|
||||
}
|
||||
|
||||
-// --------------------------------------------------------------------------------
|
||||
\ No newline at end of file
|
||||
+// --------------------------------------------------------------------------------
|
||||
@@ -0,0 +1,84 @@
|
||||
From ad79670d6d1e7ef2aad6935715921e5317cbe618 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Mon, 23 May 2016 22:28:12 +0200
|
||||
Subject: [PATCH] Improve check for ucontext
|
||||
|
||||
The ucontext functionality is not available on all CPUs with all C
|
||||
libraries. Instead of making just assumptions based on the CPU
|
||||
architecture, this commit adds the necessary checks in wscript to verify
|
||||
the availability of the ucontext functionality, before using it in
|
||||
dbus/sigsegv.c.
|
||||
|
||||
This avoids the long list of architecture exclusions, and make it more
|
||||
robust when building jack2 for new CPU architectures.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
dbus/sigsegv.c | 12 ++++++------
|
||||
wscript | 16 +++++++++++++++-
|
||||
2 files changed, 21 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c
|
||||
index df2c42c..00a62b5 100644
|
||||
--- a/dbus/sigsegv.c
|
||||
+++ b/dbus/sigsegv.c
|
||||
@@ -106,20 +106,20 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) {
|
||||
jack_error("info.si_errno = %d", info->si_errno);
|
||||
jack_error("info.si_code = %d (%s)", info->si_code, si_code_str);
|
||||
jack_error("info.si_addr = %p", info->si_addr);
|
||||
-#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__)
|
||||
+#if defined(HAVE_UCONTEXT) && defined(HAVE_NGREG)
|
||||
for(i = 0; i < NGREG; i++)
|
||||
jack_error("reg[%02d] = 0x" REGFORMAT, i,
|
||||
-#if defined(__powerpc64__)
|
||||
+#if defined(HAVE_UCONTEXT_GP_REGS)
|
||||
ucontext->uc_mcontext.gp_regs[i]
|
||||
-#elif defined(__powerpc__)
|
||||
+#elif defined(HAVE_UCONTEXT_UC_REGS)
|
||||
ucontext->uc_mcontext.uc_regs[i]
|
||||
-#elif defined(__sparc__) && defined(__arch64__)
|
||||
+#elif defined(HAVE_UCONTEXT_MC_GREGS)
|
||||
ucontext->uc_mcontext.mc_gregs[i]
|
||||
-#else
|
||||
+#elif defined(HAVE_UCONTEXT_GREGS)
|
||||
ucontext->uc_mcontext.gregs[i]
|
||||
#endif
|
||||
);
|
||||
-#endif /* alpha, ia64, kFreeBSD, arm, hppa */
|
||||
+#endif /* defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) */
|
||||
|
||||
#if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64)
|
||||
# if defined(SIGSEGV_STACK_IA64)
|
||||
diff --git a/wscript b/wscript
|
||||
index 63ba3aa..34a56fc 100644
|
||||
--- a/wscript
|
||||
+++ b/wscript
|
||||
@@ -168,10 +168,24 @@ def configure(conf):
|
||||
|
||||
conf.check_cc(header_name='execinfo.h', define_name="HAVE_EXECINFO_H", mandatory=False)
|
||||
conf.check_cc(header_name='samplerate.h', define_name="HAVE_SAMPLERATE")
|
||||
-
|
||||
if conf.is_defined('HAVE_SAMPLERATE'):
|
||||
conf.env['LIB_SAMPLERATE'] = ['samplerate']
|
||||
|
||||
+ # test for the availability of ucontext, and how it should be used
|
||||
+ for t in ("gp_regs", "uc_regs", "mc_gregs", "gregs"):
|
||||
+ fragment = "#include <ucontext.h>\n"
|
||||
+ fragment += "int main() { ucontext_t *ucontext; return (int) ucontext->uc_mcontext.%s[0]; }" % t
|
||||
+ confvar = "HAVE_UCONTEXT_%s" % t.upper()
|
||||
+ conf.check_cc(fragment=fragment, define_name=confvar, mandatory=False,
|
||||
+ msg="Checking for ucontext->uc_mcontext.%s" % t)
|
||||
+ if conf.is_defined(confvar):
|
||||
+ conf.define('HAVE_UCONTEXT', 1)
|
||||
+
|
||||
+ fragment = "#include <ucontext.h>\n"
|
||||
+ fragment += "int main() { return NGREG; }"
|
||||
+ conf.check_cc(fragment=fragment, define_name="HAVE_NGREG", mandatory=False,
|
||||
+ msg="Checking for NGREG")
|
||||
+
|
||||
conf.sub_config('example-clients')
|
||||
|
||||
if conf.check_cfg(package='celt', atleast_version='0.11.0', args='--cflags --libs', mandatory=False):
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From 4b2c73ad056aa327dc3b505410da68cf384317ba Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Martin <s.martin49@gmail.com>
|
||||
Date: Mon, 16 May 2016 22:26:05 +0200
|
||||
Subject: [PATCH] Make backtrace support depends on execinfo.h existence
|
||||
|
||||
In some C-libraries (like uclibc), backtrace support is optional, so the
|
||||
execinfo.h file may not exist.
|
||||
|
||||
This change adds the check for execinfo.h header and conditionnaly enable
|
||||
backtrace support.
|
||||
|
||||
This issue has been triggered by Buildroot farms:
|
||||
http://autobuild.buildroot.org/results/391/391e71a988250ea66ec4dbee6f60fdce9eaf2766/build-end.log
|
||||
|
||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
---
|
||||
dbus/sigsegv.c | 8 +++++++-
|
||||
wscript | 1 +
|
||||
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c
|
||||
index ee12f91..0b31d89 100644
|
||||
--- a/dbus/sigsegv.c
|
||||
+++ b/dbus/sigsegv.c
|
||||
@@ -27,7 +27,9 @@
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <dlfcn.h>
|
||||
-#include <execinfo.h>
|
||||
+#if defined(HAVE_EXECINFO_H)
|
||||
+# include <execinfo.h>
|
||||
+#endif /* defined(HAVE_EXECINFO_H) */
|
||||
#include <errno.h>
|
||||
#ifndef NO_CPP_DEMANGLE
|
||||
char * __cxa_demangle(const char * __mangled_name, char * __output_buffer, size_t * __length, int * __status);
|
||||
@@ -161,12 +163,16 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) {
|
||||
bp = (void**)bp[0];
|
||||
}
|
||||
#else
|
||||
+# if defined(HAVE_EXECINFO_H)
|
||||
jack_error("Stack trace (non-dedicated):");
|
||||
sz = backtrace(bt, 20);
|
||||
strings = backtrace_symbols(bt, sz);
|
||||
|
||||
for(i = 0; i < sz; ++i)
|
||||
jack_error("%s", strings[i]);
|
||||
+# else /* defined(HAVE_EXECINFO_H) */
|
||||
+ jack_error("Stack trace not available");
|
||||
+# endif /* defined(HAVE_EXECINFO_H) */
|
||||
#endif
|
||||
jack_error("End of stack trace");
|
||||
exit (-1);
|
||||
diff --git a/wscript b/wscript
|
||||
index aef4bd8..63ba3aa 100644
|
||||
--- a/wscript
|
||||
+++ b/wscript
|
||||
@@ -166,6 +166,7 @@ def configure(conf):
|
||||
if conf.env['BUILD_JACKDBUS'] != True:
|
||||
conf.fatal('jackdbus was explicitly requested but cannot be built')
|
||||
|
||||
+ conf.check_cc(header_name='execinfo.h', define_name="HAVE_EXECINFO_H", mandatory=False)
|
||||
conf.check_cc(header_name='samplerate.h', define_name="HAVE_SAMPLERATE")
|
||||
|
||||
if conf.is_defined('HAVE_SAMPLERATE'):
|
||||
--
|
||||
2.8.2
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From c971aaab74ca6e7d4ac3a06bd26e7309dfc5da45 Mon Sep 17 00:00:00 2001
|
||||
From: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
|
||||
Date: Mon, 22 Aug 2016 19:04:47 +0530
|
||||
Subject: [PATCH] tests: define __STDC_LIMIT_MACROS
|
||||
|
||||
With glibc 2.16, we get following build error when building jack2:
|
||||
|
||||
[193/247] cxx: tests/iodelay.cpp -> build/tests/iodelay.cpp.4.o
|
||||
../tests/iodelay.cpp:171:43: error: 'UINT32_MAX' was not declared in this scope
|
||||
../tests/iodelay.cpp:171:55: error: 'UINT32_MAX' was not declared in this scope
|
||||
../tests/iodelay.cpp:172:44: error: 'UINT32_MAX' was not declared in this scope
|
||||
../tests/iodelay.cpp:172:56: error: 'UINT32_MAX' was not declared in this scope
|
||||
|
||||
In glibc 2.17 or older version, Header <stdint.h> defines these macros
|
||||
for C++ only if explicitly requested by defining __STDC_LIMIT_MACROS.
|
||||
|
||||
We can't use <cstdint> since it requires C++11 standard.
|
||||
|
||||
This build issue found by Buildroot autobuilder.
|
||||
http://autobuild.buildroot.net/results/369/369ce208ffea43dad75ba0a13469159b341e3bf5/
|
||||
|
||||
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
|
||||
---
|
||||
tests/iodelay.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp
|
||||
index 1ef470f..f5c5836 100644
|
||||
--- a/tests/iodelay.cpp
|
||||
+++ b/tests/iodelay.cpp
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#define __STDC_LIMIT_MACROS
|
||||
#include <stdint.h>
|
||||
#include <math.h>
|
||||
#include <unistd.h>
|
||||
--
|
||||
2.6.2
|
||||
|
||||
31
bsp/buildroot-2017.02.11/package/jack2/0005-gcc7.patch
Normal file
31
bsp/buildroot-2017.02.11/package/jack2/0005-gcc7.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
From f7bccdca651592cc4082b28fd4a01ed6ef8ab655 Mon Sep 17 00:00:00 2001
|
||||
From: Kjetil Matheussen <k.s.matheussen@notam02.no>
|
||||
Date: Sat, 15 Jul 2017 13:21:59 +0200
|
||||
Subject: [PATCH] Tests: Fix compilation with gcc7
|
||||
|
||||
Fixes
|
||||
../tests/test.cpp: In function ‘int process4(jack_nframes_t, void*)’:
|
||||
../tests/test.cpp:483:73: error: call of overloaded ‘abs(jack_nframes_t)’ is ambiguous
|
||||
if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) {
|
||||
|
||||
Downloaded from upstream commit
|
||||
https://github.com/jackaudio/jack2/commit/f7bccdca651592cc4082b28fd4a01ed6ef8ab655
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
tests/test.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/test.cpp b/tests/test.cpp
|
||||
index 8a8a8117..d2ef9a05 100644
|
||||
--- a/tests/test.cpp
|
||||
+++ b/tests/test.cpp
|
||||
@@ -479,7 +479,7 @@ int process4(jack_nframes_t nframes, void *arg)
|
||||
jack_nframes_t delta_time = cur_time - last_time;
|
||||
|
||||
Log("calling process4 callback : jack_frame_time = %ld delta_time = %ld\n", cur_time, delta_time);
|
||||
- if (delta_time > 0 && (jack_nframes_t)abs(delta_time - cur_buffer_size) > tolerance) {
|
||||
+ if (delta_time > 0 && abs((int64_t)delta_time - (int64_t)cur_buffer_size) > (int64_t)tolerance) {
|
||||
printf("!!! ERROR !!! jack_frame_time seems to return incorrect values cur_buffer_size = %d, delta_time = %d tolerance %d\n", cur_buffer_size, delta_time, tolerance);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From d3c8e2d8d78899fba40a3e677ed4dbe388d82269 Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Knoth <adi@drcomp.erfurt.thur.de>
|
||||
Date: Thu, 18 Sep 2014 18:29:23 +0200
|
||||
Subject: [PATCH] Fix FTBFS with clang++
|
||||
|
||||
Forwarded from http://bugs.debian.org/757820
|
||||
|
||||
Downloaded from upstream commit
|
||||
https://github.com/jackaudio/jack2/commit/d3c8e2d8d78899fba40a3e677ed4dbe388d82269
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
common/memops.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/common/memops.c b/common/memops.c
|
||||
index 27f6194a..2d416b64 100644
|
||||
--- a/common/memops.c
|
||||
+++ b/common/memops.c
|
||||
@@ -198,7 +198,7 @@ static inline __m128i float_24_sse(__m128 s)
|
||||
*/
|
||||
static unsigned int seed = 22222;
|
||||
|
||||
-inline unsigned int fast_rand() {
|
||||
+static inline unsigned int fast_rand() {
|
||||
seed = (seed * 96314165) + 907633515;
|
||||
return seed;
|
||||
}
|
||||
54
bsp/buildroot-2017.02.11/package/jack2/Config.in
Normal file
54
bsp/buildroot-2017.02.11/package/jack2/Config.in
Normal file
@@ -0,0 +1,54 @@
|
||||
config BR2_PACKAGE_JACK2
|
||||
bool "jack2"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
select BR2_PACKAGE_LIBSAMPLERATE
|
||||
select BR2_PACKAGE_LIBSNDFILE
|
||||
select BR2_PACKAGE_ALSA_LIB
|
||||
select BR2_PACKAGE_ALSA_LIB_HWDEP
|
||||
select BR2_PACKAGE_ALSA_LIB_SEQ
|
||||
select BR2_PACKAGE_ALSA_LIB_RAWMIDI
|
||||
# Ensure we get at least one:
|
||||
select BR2_PACKAGE_JACK2_LEGACY if !BR2_PACKAGE_JACK2_DBUS
|
||||
help
|
||||
JACK Audio Connection Kit (server and example clients).
|
||||
|
||||
JACK is a low-latency sound server, allowing multiple
|
||||
applications to connect to one audio device, and to share
|
||||
audio between themselves. This package contains the daemon
|
||||
jackd as well as some example clients.
|
||||
|
||||
http://jackaudio.org/
|
||||
|
||||
if BR2_PACKAGE_JACK2
|
||||
|
||||
config BR2_PACKAGE_JACK2_LEGACY
|
||||
bool "classic jack2"
|
||||
help
|
||||
Build and use jackd.
|
||||
|
||||
https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging
|
||||
|
||||
config BR2_PACKAGE_JACK2_DBUS
|
||||
bool "dbus jack2"
|
||||
depends on BR2_USE_WCHAR # dbus-python, python
|
||||
select BR2_PACKAGE_DBUS
|
||||
select BR2_PACKAGE_DBUS_PYTHON
|
||||
select BR2_PACKAGE_PYTHON3 if !BR2_PACKAGE_PYTHON # runtime
|
||||
select BR2_PACKAGE_PYTHON_PYEXPAT if BR2_PACKAGE_PYTHON # runtime
|
||||
select BR2_PACKAGE_PYTHON3_PYEXPAT if BR2_PACKAGE_PYTHON3 # runtime
|
||||
help
|
||||
Build and use jackdbus.
|
||||
|
||||
https://github.com/jackaudio/jackaudio.github.com/wiki/JackDbusPackaging
|
||||
|
||||
endif
|
||||
|
||||
comment "jack2 needs a toolchain w/ threads, C++, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
|
||||
BR2_STATIC_LIBS
|
||||
2
bsp/buildroot-2017.02.11/package/jack2/jack2.hash
Normal file
2
bsp/buildroot-2017.02.11/package/jack2/jack2.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 88f1b6601b7c8950e6a2d5940b423a33ee628ae5583da40bdce3d9317d8c600d jack2-v1.9.10.tar.gz
|
||||
46
bsp/buildroot-2017.02.11/package/jack2/jack2.mk
Normal file
46
bsp/buildroot-2017.02.11/package/jack2/jack2.mk
Normal file
@@ -0,0 +1,46 @@
|
||||
################################################################################
|
||||
#
|
||||
# jack2
|
||||
#
|
||||
################################################################################
|
||||
|
||||
JACK2_VERSION = v1.9.10
|
||||
JACK2_SITE = $(call github,jackaudio,jack2,$(JACK2_VERSION))
|
||||
JACK2_LICENSE = GPLv2+ (jack server), LGPLv2.1+ (jack library)
|
||||
JACK2_DEPENDENCIES = libsamplerate libsndfile alsa-lib host-python
|
||||
JACK2_INSTALL_STAGING = YES
|
||||
|
||||
JACK2_CONF_OPTS = --alsa
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPUS),y)
|
||||
JACK2_DEPENDENCIES += opus
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_READLINE),y)
|
||||
JACK2_DEPENDENCIES += readline
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_JACK2_LEGACY),y)
|
||||
JACK2_CONF_OPTS += --classic
|
||||
else
|
||||
define JACK2_REMOVE_JACK_CONTROL
|
||||
$(RM) -f $(TARGET_DIR)/usr/bin/jack_control
|
||||
endef
|
||||
JACK2_POST_INSTALL_TARGET_HOOKS += JACK2_REMOVE_JACK_CONTROL
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_JACK2_DBUS),y)
|
||||
JACK2_DEPENDENCIES += dbus
|
||||
JACK2_CONF_OPTS += --dbus
|
||||
endif
|
||||
|
||||
# Even though it advertises support for celt-0.5.x, jack2 really
|
||||
# requires celt >= 0.5.2 but we only have 0.5.1.3 and we cannot
|
||||
# upgrade, so we do not add a dependency to celt051, which it can't
|
||||
# find anyway as it looks for celt.pc but we only have celt-51.pc.
|
||||
|
||||
# The dependency against eigen is only useful in conjunction with
|
||||
# gtkiostream, which we do not have, so we don't need to depend on
|
||||
# eigen.
|
||||
|
||||
$(eval $(waf-package))
|
||||
Reference in New Issue
Block a user