From 2e5414c838e110680185221d1747a7c3c2a37134 Mon Sep 17 00:00:00 2001 From: Andreas Müller Date: Thu, 21 Jan 2021 23:54:55 +0100 Subject: jack: upgrade 1.19.16 -> 1.19.17 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit removed patch was merged 1.9.17 Fix jack_control stopping after first command iteration Fix library compat/current version under macOS Fix return codes of jackd on success Ignore DB_VERSION_MISMATCH error on windows, it is expected Remove old workaround for asio4all, as it breaks with jack-router External changes, related to macOS/Windows installer: Add jack-router to Windows installer, opt-in Fix registry keys for Windows, add 32bit compat ones on 64bit Support for arm64 macOS builds Show welcome and license pages on windows installer Update QjackCtl used in macOS/Windows installers to v0.9.0, with some commits cherry-picked from develop branch Signed-off-by: Andreas Müller Signed-off-by: Khem Raj --- .../0001-Use-SYS_futex-instead-of-__NR_futex.patch | 62 ---------------------- meta-oe/recipes-multimedia/jack/jack_1.19.16.bb | 54 ------------------- meta-oe/recipes-multimedia/jack/jack_1.19.17.bb | 53 ++++++++++++++++++ 3 files changed, 53 insertions(+), 116 deletions(-) delete mode 100644 meta-oe/recipes-multimedia/jack/jack/0001-Use-SYS_futex-instead-of-__NR_futex.patch delete mode 100644 meta-oe/recipes-multimedia/jack/jack_1.19.16.bb create mode 100644 meta-oe/recipes-multimedia/jack/jack_1.19.17.bb (limited to 'meta-oe') diff --git a/meta-oe/recipes-multimedia/jack/jack/0001-Use-SYS_futex-instead-of-__NR_futex.patch b/meta-oe/recipes-multimedia/jack/jack/0001-Use-SYS_futex-instead-of-__NR_futex.patch deleted file mode 100644 index dd1b7ccfdd..0000000000 --- a/meta-oe/recipes-multimedia/jack/jack/0001-Use-SYS_futex-instead-of-__NR_futex.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 83068f9b71aea16d1ad036fdcc326de1027b5585 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Sun, 15 Nov 2020 22:13:29 -0800 -Subject: [PATCH] Use SYS_futex instead of __NR_futex - -SYS_futex is expected from system C library. -in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex) -rv32 is using 64bit time_t from get go unlike other 32bit architectures -in glibc, therefore it wont have NR_futex defined but just NR_futex_time64 -this aliases it to NR_futex so that SYS_futex is then defined for rv32 - -Upstream-Status: Submitted [https://github.com/jackaudio/jack2/pull/670] -Signed-off-by: Khem Raj ---- - linux/JackLinuxFutex.cpp | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/linux/JackLinuxFutex.cpp b/linux/JackLinuxFutex.cpp -index deff006b..aef99cd2 100644 ---- a/linux/JackLinuxFutex.cpp -+++ b/linux/JackLinuxFutex.cpp -@@ -29,6 +29,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - #include - #include - -+#if !defined(SYS_futex) && defined(SYS_futex_time64) -+#define SYS_futex SYS_futex_time64 -+#endif -+ - namespace Jack - { - -@@ -67,7 +71,7 @@ bool JackLinuxFutex::Signal() - if (! fFutex->internal) return true; - } - -- ::syscall(__NR_futex, fFutex, fFutex->internal ? FUTEX_WAKE_PRIVATE : FUTEX_WAKE, 1, NULL, NULL, 0); -+ ::syscall(SYS_futex, fFutex, fFutex->internal ? FUTEX_WAKE_PRIVATE : FUTEX_WAKE, 1, NULL, NULL, 0); - return true; - } - -@@ -94,7 +98,7 @@ bool JackLinuxFutex::Wait() - if (__sync_bool_compare_and_swap(&fFutex->futex, 1, 0)) - return true; - -- if (::syscall(__NR_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, NULL, NULL, 0) != 0 && errno != EWOULDBLOCK) -+ if (::syscall(SYS_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, NULL, NULL, 0) != 0 && errno != EWOULDBLOCK) - return false; - } - } -@@ -122,7 +126,7 @@ bool JackLinuxFutex::TimedWait(long usec) - if (__sync_bool_compare_and_swap(&fFutex->futex, 1, 0)) - return true; - -- if (::syscall(__NR_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, &timeout, NULL, 0) != 0 && errno != EWOULDBLOCK) -+ if (::syscall(SYS_futex, fFutex, fFutex->internal ? FUTEX_WAIT_PRIVATE : FUTEX_WAIT, 0, &timeout, NULL, 0) != 0 && errno != EWOULDBLOCK) - return false; - } - } --- -2.29.2 - diff --git a/meta-oe/recipes-multimedia/jack/jack_1.19.16.bb b/meta-oe/recipes-multimedia/jack/jack_1.19.16.bb deleted file mode 100644 index c13d6261c1..0000000000 --- a/meta-oe/recipes-multimedia/jack/jack_1.19.16.bb +++ /dev/null @@ -1,54 +0,0 @@ -DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \ -server for multi-processor machines. It is a new implementation of the \ -JACK server core features that aims in removing some limitations of \ -the JACK1 design. The activation system has been changed for a data \ -flow model and lock-free programming techniques for graph access have \ -been used to have a more dynamic and robust system." -SECTION = "libs/multimedia" - -LICENSE = "GPLv2 & LGPLv2.1" -LIC_FILES_CHKSUM = " \ - file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \ - file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \ -" - -DEPENDS = "libsamplerate0 libsndfile1 readline" - -SRC_URI = "git://github.com/jackaudio/jack2.git \ - file://0001-example-clients-Use-c-compiler-for-jack_simdtests.patch \ - file://0001-Use-SYS_futex-instead-of-__NR_futex.patch \ - " -SRCREV = "5b78c2ef158c2d9ffe09818a7dd80209ed251c5f" - -S = "${WORKDIR}/git" - -inherit waf pkgconfig - -PACKAGECONFIG ??= "alsa" -PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib" -# --dbus only stops building jackd -> add --classic -PACKAGECONFIG[dbus] = "--dbus --classic,,dbus" -PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus" - -# portaudio is for windows builds only -EXTRA_OECONF = "--portaudio=no" - -do_install_append() { - if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then - rm -f ${D}${bindir}/jack_control - fi -} - -PACKAGES =+ "libjack jack-server jack-utils" - -RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})" - -FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so" -FILES_jack-server = " \ - ${datadir}/dbus-1/services \ - ${bindir}/jackdbus \ - ${bindir}/jackd \ -" -FILES_jack-utils = "${bindir}/*" - -FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*" diff --git a/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb b/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb new file mode 100644 index 0000000000..d5288c7b71 --- /dev/null +++ b/meta-oe/recipes-multimedia/jack/jack_1.19.17.bb @@ -0,0 +1,53 @@ +DESCRIPTION = "jackdmp is a C++ version of the JACK low-latency audio \ +server for multi-processor machines. It is a new implementation of the \ +JACK server core features that aims in removing some limitations of \ +the JACK1 design. The activation system has been changed for a data \ +flow model and lock-free programming techniques for graph access have \ +been used to have a more dynamic and robust system." +SECTION = "libs/multimedia" + +LICENSE = "GPLv2 & LGPLv2.1" +LIC_FILES_CHKSUM = " \ + file://common/jack/control.h;beginline=2;endline=21;md5=e6df0bf30cde8b3b825451459488195d \ + file://common/jack/jack.h;beginline=1;endline=19;md5=6b736ed6b810592b135480a5e853392e \ +" + +DEPENDS = "libsamplerate0 libsndfile1 readline" + +SRC_URI = "git://github.com/jackaudio/jack2.git \ + file://0001-example-clients-Use-c-compiler-for-jack_simdtests.patch \ + " +SRCREV = "9e23888b8def6527774889cf4ef6348fb78c7154" + +S = "${WORKDIR}/git" + +inherit waf pkgconfig + +PACKAGECONFIG ??= "alsa" +PACKAGECONFIG[alsa] = "--alsa=yes,--alsa=no,alsa-lib" +# --dbus only stops building jackd -> add --classic +PACKAGECONFIG[dbus] = "--dbus --classic,,dbus" +PACKAGECONFIG[opus] = "--opus=yes,--opus=no,libopus" + +# portaudio is for windows builds only +EXTRA_OECONF = "--portaudio=no" + +do_install_append() { + if ! ${@bb.utils.contains('PACKAGECONFIG', 'dbus', True, False, d)}; then + rm -f ${D}${bindir}/jack_control + fi +} + +PACKAGES =+ "libjack jack-server jack-utils" + +RDEPENDS_jack-dev_remove = "${PN} (= ${EXTENDPKGV})" + +FILES_libjack = "${libdir}/*.so.* ${libdir}/jack/*.so" +FILES_jack-server = " \ + ${datadir}/dbus-1/services \ + ${bindir}/jackdbus \ + ${bindir}/jackd \ +" +FILES_jack-utils = "${bindir}/*" + +FILES_${PN}-doc += " ${datadir}/jack-audio-connection-kit/reference/html/*" -- cgit v1.2.3-54-g00ecf