[arch-commits] Commit in jack2/trunk (6 files)
David Runge
dvzrv at archlinux.org
Thu Nov 16 23:24:27 UTC 2017
Date: Thursday, November 16, 2017 @ 23:24:26
Author: dvzrv
Revision: 267029
Updating to 1.9.11_RC1. Removing gcc6 and jack1compat patches. Introducing patches for gcc7 and debug/example clients. Introducing additional -docs package.
Added:
jack2/trunk/example-clients-fix-compilation-of-tw.c.patch
jack2/trunk/jackdebugclient-keep-client-fsynchrotable.patch
jack2/trunk/tests-fix-compilation-with-gcc7.patch
Modified:
jack2/trunk/PKGBUILD
Deleted:
jack2/trunk/gcc6.patch
jack2/trunk/jack1compat.diff
-------------------------------------------------+
PKGBUILD | 170 ++++++++++------------
example-clients-fix-compilation-of-tw.c.patch | 24 +++
gcc6.patch | 62 --------
jack1compat.diff | 33 ----
jackdebugclient-keep-client-fsynchrotable.patch | 53 ++++++
tests-fix-compilation-with-gcc7.patch | 25 +++
6 files changed, 184 insertions(+), 183 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-11-16 23:23:01 UTC (rev 267028)
+++ PKGBUILD 2017-11-16 23:24:26 UTC (rev 267029)
@@ -1,113 +1,101 @@
# $Id$
# Maintainer: Ray Rashif <schiv at archlinux.org>
+# Maintainer: David Runge <dave at sleepmap.de>
# Contributor: Daniele Paolella <danielepaolella at email.it>
# Contributor: Philipp Überbacher <hollunder at gmx dot at>
# Contributor: Thomas Bahn <thomas-bahn at gmx dot net>
pkgbase=jack2
-pkgname=('jack2' 'jack2-dbus')
-#pkgname= # single build (overrides split)
-_tarname=jack
-pkgver=1.9.10
-pkgrel=6
+pkgname=('jack2' 'jack2-dbus' 'jack2-docs')
+pkgdesc="The next-generation JACK with SMP support"
+pkgver=1.9.11_RC1
+pkgrel=1
arch=('x86_64')
url="http://jackaudio.org/"
-backup=(etc/security/limits.d/99-audio.conf)
license=('GPL')
-makedepends=('python2-dbus' 'libffado' 'celt' 'opus' 'libsamplerate')
-source=("https://dl.dropbox.com/u/28869550/jack-$pkgver.tar.bz2"
+makedepends=('python2-dbus' 'libffado' 'celt' 'opus' 'libsamplerate' 'doxygen')
+source=("${pkgbase}-${pkgver}::https://github.com/jackaudio/${pkgbase}/archive/v${pkgver//_/-}.tar.gz"
'99-audio.conf'
'40-hpet-permissions.rules'
- 'jack1compat.diff'
- 'gcc6.patch')
-md5sums=('4aeb91d7ae0cabce98355436ed4f217a'
- 'ae65b7c9ebe0fff6c918ba9d97ae342d'
- '471aad533ff56c5d3cbbf65ce32cadef'
- '8c367d60a6375ebacf0d53ad651a0486'
- '2a28b64d7672f9c38dd777e380b81291')
+ 'tests-fix-compilation-with-gcc7.patch'
+ 'jackdebugclient-keep-client-fsynchrotable.patch'
+ 'example-clients-fix-compilation-of-tw.c.patch')
+sha512sums=('4fd7d82ab6536b8c6061023858ae5b978903608b149498818971481da75c6e9e0e7e7aef5e1343730c259f4378aebfbf25916b9736e0ad8aa19584a44f894436'
+ 'c21f593d46ff12d1b8d3ce7ca4593c230a673e67ed4e486944f52fd51bdf902873d3fb253220c8ec9c6c5d5b9f002ecf3dd72318222cd748b1925bfcbf1df5d7'
+ '1f876aa61de4bc4e54d46dde7f8c8c2aa575fc382c09f3dc6819c328224b1998c7171cfd3039d35ca214e40909ad71f8d56a9b3b5652046beb5ca97e44a780b1'
+ '79e44bae409fc47af8b9b227464a3a88c223f103bf59a2aaaf2ade99108c27aeca8f4f8d60ba919a3aa83a0072f9ffef03e7259c28a61d70caf9cc18a23afcad'
+ '4c3290c51bd289e36edddb55a6e4cab981d9d3a3932da8c0a06652a22cce35c7858ff4afa99c309ed0e331224274bdb9dfe8e4fed46d486e1b2b44e6b971c484'
+ 'ec5f46c8fffda5f90c7597c8a8058246adefec95c0565ccc72afb7f57cb159fdf368107d3160284f1b2cf1c8e5e5c490f53151039d69423ca48da0d3d676e1e0')
-_isbuild() {
- printf "%s\n" ${pkgname[@]} | grep -qx $1
-}
-
-_pyfix() {
- sed -i 's:bin/env python:bin/env python2:' \
- "$pkgdir/usr/bin/jack_control"
-}
-
-_wafconf() {
- python2 waf configure --prefix=/usr \
- --alsa \
- --firewire $@
-
- # not building with doxygen
- # see https://github.com/jackaudio/jack2/issues/22
-}
-
prepare() {
- cd "$srcdir"
+ cd "${pkgbase}-${pkgver//_/-}"
- # Some optimisation bug exists for current GCC
- # see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53663
- #export CFLAGS="${CFLAGS/-O[0-9]/-O0}"
- #export CXXFLAGS="$CFLAGS"
+ # https://github.com/jackaudio/jack2/issues/253
+ patch -Np1 -i "${srcdir}/tests-fix-compilation-with-gcc7.patch"
+ patch -Np1 -i "${srcdir}/example-clients-fix-compilation-of-tw.c.patch"
+ patch -Np1 -i "${srcdir}/jackdebugclient-keep-client-fsynchrotable.patch"
- # fix doxygen building
- # TODO: report upstream, but redundant until github issue 22 resolves
- #sed -i 's:build/default/html:html:' $_tarname-$pkgver/wscript
+ # https://github.com/jackaudio/jack2/issues/308
+ sed -i 's:bin/env python:bin/env python2:' \
+ "example-clients/jack_control"
+ # copies of the source for jack2-dbus and jack2-docs
+ cp -r "${srcdir}/${pkgbase}-${pkgver//_/-}" "${srcdir}/${pkgname[1]}-${pkgver//_/-}"
+ cp -r "${srcdir}/${pkgbase}-${pkgver//_/-}" "${srcdir}/${pkgname[2]}-${pkgver//_/-}"
- (
- cd $_tarname-$pkgver
- patch -Np1 -i $srcdir/gcc6.patch
+ # configure jack2
+ python waf configure --prefix=/usr \
+ --doxygen=no \
+ --freebob=no \
+ --classic \
+ --dbus
- # see https://bugs.archlinux.org/task/47839
- patch -Np1 -i $srcdir/jack1compat.diff
- )
+ # configure jack2-dbus
+ cd "${srcdir}/${pkgname[1]}-${pkgver//_/-}"
+ python waf configure --prefix=/usr \
+ --doxygen=no \
+ --freebob=no \
+ --dbus
- # we may do 2 different builds
- cp -r $_tarname-$pkgver $_tarname-dbus-$pkgver
-
+ # configure jack2-docs
+ cd "${srcdir}/${pkgname[2]}-${pkgver//_/-}"
+ python waf configure --prefix=/usr \
+ --htmldir="/usr/share/doc/${pkgbase}/" \
+ --autostart=none \
+ --alsa=no \
+ --firewire=no \
+ --freebob=no \
+ --iio=no \
+ --winmme=no \
+ --celt=no \
+ --opus=no \
+ --samplerate=no \
+ --sndfile=no \
+ --readline=no
}
build() {
- cd "$srcdir"
-
- # mixed dbus/classic build
- if _isbuild jack2; then
- cd $_tarname-$pkgver
- msg2 "Running Mixed D-Bus/Classic build"
- _wafconf --classic --dbus
- python2 waf build $MAKEFLAGS
- cd ..
- fi
-
- # dbus-ONLY build
- if _isbuild jack2-dbus; then
- cd $_tarname-dbus-$pkgver
- msg2 "Running D-Bus-only build"
- _wafconf --dbus
- python2 waf build $MAKEFLAGS
- cd ..
- fi
+ # build jack2
+ cd "${pkgname[0]}-${pkgver//_/-}"
+ python waf build
+ # build jack2-dbus
+ cd "${srcdir}/${pkgname[1]}-${pkgver//_/-}"
+ python waf build
+ # build jack2-docs
+ cd "${srcdir}/${pkgname[2]}-${pkgver//_/-}"
+ python waf build
}
package_jack2() {
- ! _isbuild jack2 && return 0
-
pkgdesc="The next-generation JACK with SMP support"
- depends=('libsamplerate' 'celt' 'opus' 'libffado')
- optdepends=('python2-dbus: jack_control')
+ depends=('libsamplerate' 'celt' 'opus' 'libffado' 'python2-dbus')
conflicts=('jack')
provides=('jack' 'jackmp' 'jackdmp' 'jackdbus')
+ backup=(etc/security/limits.d/99-audio.conf)
- cd "$srcdir/$_tarname-$pkgver"
+ cd "${pkgname[0]}-${pkgver//_/-}"
+ python waf install --destdir="${pkgdir}"
- python2 waf install --destdir="$pkgdir"
-
- # fix for major python transition
- _pyfix
-
# configure realtime access/scheduling
# see https://bugs.archlinux.org/task/26343
install -Dm644 "$srcdir/99-audio.conf" \
@@ -118,20 +106,17 @@
}
package_jack2-dbus() {
- ! _isbuild jack2-dbus && return 0
-
pkgdesc="The next-generation JACK with SMP support (for D-BUS interaction only)"
- depends=('libsamplerate' 'celt' 'opus' 'libffado')
- optdepends=('python2-dbus: jack_control')
+ depends=('libsamplerate' 'celt' 'opus' 'libffado' 'python2-dbus')
conflicts=('jack' 'jack2')
provides=('jack' 'jack2' 'jackmp' 'jackdmp' 'jackdbus')
+ backup=(etc/security/limits.d/99-audio.conf)
- cd "$srcdir/$_tarname-dbus-$pkgver"
+ cd "${pkgname[1]}-${pkgver//_/-}"
+ python waf install --destdir="${pkgdir}"
- python2 waf install --destdir="$pkgdir"
-
- _pyfix
-
+ # configure realtime access/scheduling
+ # see https://bugs.archlinux.org/task/26343
install -Dm644 "$srcdir/99-audio.conf" \
"$pkgdir/etc/security/limits.d/99-audio.conf"
@@ -139,4 +124,13 @@
"$pkgdir/usr/lib/udev/rules.d/40-hpet-permissions.rules"
}
+package_jack2-docs() {
+ pkgdesc="The next-generation JACK with SMP support (documentation)"
+ arch=('any')
+
+ cd "${pkgname[2]}-${pkgver//_/-}"
+ python waf install --destdir="${pkgdir}"
+ rm -r "${pkgdir}"/usr/{bin,lib,include,share/man}
+}
+
# vim:set ts=2 sw=2 et:
Added: example-clients-fix-compilation-of-tw.c.patch
===================================================================
--- example-clients-fix-compilation-of-tw.c.patch (rev 0)
+++ example-clients-fix-compilation-of-tw.c.patch 2017-11-16 23:24:26 UTC (rev 267029)
@@ -0,0 +1,24 @@
+From eabc679bd4f564a6b5294d0558b579898d66e2fa Mon Sep 17 00:00:00 2001
+From: Kjetil Matheussen <k.s.matheussen at notam02.no>
+Date: Sat, 15 Jul 2017 13:21:36 +0200
+Subject: [PATCH] Example clients: Fix compilation of tw.c
+
+---
+ example-clients/tw.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/example-clients/tw.c b/example-clients/tw.c
+index 623ff240..edc7ef31 100644
+--- a/example-clients/tw.c
++++ b/example-clients/tw.c
+@@ -9,6 +9,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <signal.h>
+
+ #include <jack/jack.h>
+
+--
+2.15.0
+
Deleted: gcc6.patch
===================================================================
--- gcc6.patch 2017-11-16 23:23:01 UTC (rev 267028)
+++ gcc6.patch 2017-11-16 23:24:26 UTC (rev 267029)
@@ -1,62 +0,0 @@
-From ff1ed2c4524095055140370c1008a2d9cccc5645 Mon Sep 17 00:00:00 2001
-From: Adrian Knoth <adi at 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.
----
- tests/iodelay.cpp | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/tests/iodelay.cpp b/tests/iodelay.cpp
-index e1ba63f..1ef470f 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
-+// --------------------------------------------------------------------------------
Deleted: jack1compat.diff
===================================================================
--- jack1compat.diff 2017-11-16 23:23:01 UTC (rev 267028)
+++ jack1compat.diff 2017-11-16 23:24:26 UTC (rev 267029)
@@ -1,33 +0,0 @@
-diff --git a/common/jack/types.h b/common/jack/types.h
-index 094d407..2dccf34 100644
---- a/common/jack/types.h
-+++ b/common/jack/types.h
-@@ -403,10 +403,8 @@ typedef void (*JackPortConnectCallback)(jack_port_id_t a, jack_port_id_t b, int
- * @param port the port that has been renamed
- * @param new_name the new name
- * @param arg pointer to a client supplied structure
-- *
-- * @return zero on success, non-zero on error
- */
--typedef int (*JackPortRenameCallback)(jack_port_id_t port, const char* old_name, const char* new_name, void *arg);
-+typedef void (*JackPortRenameCallback)(jack_port_id_t port, const char* old_name, const char* new_name, void *arg);
-
- /**
- * Prototype for the client supplied function that is called
-diff --git a/tests/test.cpp b/tests/test.cpp
-index 750d152..8a8a811 100644
---- a/tests/test.cpp
-+++ b/tests/test.cpp
-@@ -186,11 +186,10 @@ void Jack_Client_Registration_Callback(const char* name, int val, void *arg)
- client_register--;
- }
-
--int Jack_Port_Rename_Callback(jack_port_id_t port, const char* old_name, const char* new_name, void *arg)
-+void Jack_Port_Rename_Callback(jack_port_id_t port, const char* old_name, const char* new_name, void *arg)
- {
- Log("Rename callback has been successfully called with old_name '%s' and new_name '%s'. (msg from callback)\n", old_name, new_name);
- port_rename_clbk = 1;
-- return 0;
- }
-
- int Jack_Update_Buffer_Size(jack_nframes_t nframes, void *arg)
Added: jackdebugclient-keep-client-fsynchrotable.patch
===================================================================
--- jackdebugclient-keep-client-fsynchrotable.patch (rev 0)
+++ jackdebugclient-keep-client-fsynchrotable.patch 2017-11-16 23:24:26 UTC (rev 267029)
@@ -0,0 +1,53 @@
+From ccedff2f357d7d52bf4327cf14dfade2b41052ca Mon Sep 17 00:00:00 2001
+From: Kjetil Matheussen <k.s.matheussen at notam02.no>
+Date: Sat, 15 Jul 2017 13:21:17 +0200
+Subject: [PATCH] JackDebugClient: Keep client->fSynchroTable. Prevents crash
+ in jack_client_wait, plus that it seems to be the correct thing to do.
+
+---
+ common/JackClient.cpp | 3 ---
+ common/JackClient.h | 1 -
+ common/JackDebugClient.cpp | 1 +
+ 3 files changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/common/JackClient.cpp b/common/JackClient.cpp
+index 7334a57a..bcb06ead 100644
+--- a/common/JackClient.cpp
++++ b/common/JackClient.cpp
+@@ -39,9 +39,6 @@ namespace Jack
+
+ #define IsRealTime() ((fProcess != NULL) | (fThreadFun != NULL) | (fSync != NULL) | (fTimebase != NULL))
+
+-JackClient::JackClient():fThread(this)
+-{}
+-
+ JackClient::JackClient(JackSynchro* table):fThread(this)
+ {
+ fSynchroTable = table;
+diff --git a/common/JackClient.h b/common/JackClient.h
+index 3013334b..b6e78ef3 100644
+--- a/common/JackClient.h
++++ b/common/JackClient.h
+@@ -124,7 +124,6 @@ class SERVER_EXPORT JackClient : public JackClientInterface, public JackRunnable
+
+ public:
+
+- JackClient();
+ JackClient(JackSynchro* table);
+ virtual ~JackClient();
+
+diff --git a/common/JackDebugClient.cpp b/common/JackDebugClient.cpp
+index 3308c457..7c1f539a 100644
+--- a/common/JackDebugClient.cpp
++++ b/common/JackDebugClient.cpp
+@@ -35,6 +35,7 @@ namespace Jack
+ {
+
+ JackDebugClient::JackDebugClient(JackClient * client)
++ : JackClient(client->fSynchroTable)
+ {
+ fTotalPortNumber = 1; // The total number of port opened and maybe closed. Historical view.
+ fOpenPortNumber = 0; // The current number of opened port.
+--
+2.15.0
+
Added: tests-fix-compilation-with-gcc7.patch
===================================================================
--- tests-fix-compilation-with-gcc7.patch (rev 0)
+++ tests-fix-compilation-with-gcc7.patch 2017-11-16 23:24:26 UTC (rev 267029)
@@ -0,0 +1,25 @@
+From f7bccdca651592cc4082b28fd4a01ed6ef8ab655 Mon Sep 17 00:00:00 2001
+From: Kjetil Matheussen <k.s.matheussen at notam02.no>
+Date: Sat, 15 Jul 2017 13:21:59 +0200
+Subject: [PATCH] Tests: Fix compilation with gcc7
+
+---
+ 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);
+ }
+
+--
+2.15.0
+
More information about the arch-commits
mailing list