From 7e8434c6ef38bad583ab4a7cedbc6b8836cc7ffd Mon Sep 17 00:00:00 2001 From: Guido Aulisi Date: Thu, 10 Oct 2019 10:17:42 +0000 Subject: [PATCH 01/10] Update to 1.9.13 Drop python2 Some spec cleanup --- .gitignore | 1 + ...udio-connection-kit-catchbyreference.patch | 13 +++ jack-audio-connection-kit-doxygen.patch | 56 +++++++++ ...-audio-connection-kit-python-shebang.patch | 110 ++++++++++++++++++ jack-audio-connection-kit.spec | 68 +++++------ jack2-1.9.12-nodate.patch | 22 ---- jack2-1.9.12-nointernalapi.patch | 27 ----- jack2-1.9.12-nojunk.patch | 12 -- jack2-1.9.12-outdir.patch | 12 -- jack2-1.9.12-python-shebang.patch | 72 ------------ sources | 2 +- 11 files changed, 210 insertions(+), 185 deletions(-) create mode 100644 jack-audio-connection-kit-catchbyreference.patch create mode 100644 jack-audio-connection-kit-doxygen.patch create mode 100644 jack-audio-connection-kit-python-shebang.patch delete mode 100644 jack2-1.9.12-nodate.patch delete mode 100644 jack2-1.9.12-nointernalapi.patch delete mode 100644 jack2-1.9.12-nojunk.patch delete mode 100644 jack2-1.9.12-outdir.patch delete mode 100644 jack2-1.9.12-python-shebang.patch diff --git a/.gitignore b/.gitignore index d2ecb69..e5c9bd9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ jack-1.9.5.tar.bz2 /jack-1.9.9.5.tar.bz2 /jack-1.9.10.tar.bz2 /jack2-1.9.12.tar.gz +/jack2-1.9.13.tar.gz diff --git a/jack-audio-connection-kit-catchbyreference.patch b/jack-audio-connection-kit-catchbyreference.patch new file mode 100644 index 0000000..15b0e00 --- /dev/null +++ b/jack-audio-connection-kit-catchbyreference.patch @@ -0,0 +1,13 @@ +diff --git a/linux/alsarawmidi/JackALSARawMidiPort.cpp b/linux/alsarawmidi/JackALSARawMidiPort.cpp +index 70e1fa71..8ef0ab65 100644 +--- a/linux/alsarawmidi/JackALSARawMidiPort.cpp ++++ b/linux/alsarawmidi/JackALSARawMidiPort.cpp +@@ -109,7 +109,7 @@ JackALSARawMidiPort::JackALSARawMidiPort(const char *client_name, snd_rawmidi_in + } + try { + CreateNonBlockingPipe(fds); +- } catch (std::exception e) { ++ } catch (std::exception& e) { + error_message = e.what(); + func = "CreateNonBlockingPipe"; + goto close; diff --git a/jack-audio-connection-kit-doxygen.patch b/jack-audio-connection-kit-doxygen.patch new file mode 100644 index 0000000..59f3edf --- /dev/null +++ b/jack-audio-connection-kit-doxygen.patch @@ -0,0 +1,56 @@ +diff --git a/doxyfile.in b/doxyfile.in +index ff7bd963..f92e264a 100644 +--- a/doxyfile.in ++++ b/doxyfile.in +@@ -38,7 +38,7 @@ PROJECT_NUMBER = @VERSION@ + # If a relative path is entered, it will be relative to the location + # where doxygen was started. If left blank the current directory will be used. + +-OUTPUT_DIRECTORY = ++OUTPUT_DIRECTORY = default/ + + # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create + # 4096 sub-directories (in 2 levels) under the output directory of each output +@@ -574,21 +574,7 @@ WARN_LOGFILE = + # directories like "/usr/src/myproject". Separate the files or directories + # with spaces. + +-INPUT = @SRCDIR@/common \ +- @SRCDIR@/posix \ +- @SRCDIR@/macosx \ +- @SRCDIR@/macosx/coreaudio/ \ +- @SRCDIR@/macosx/coremidi/ \ +- @SRCDIR@/linux \ +- @SRCDIR@/linux/alsa \ +- @SRCDIR@/linux/alsarawmidi \ +- @SRCDIR@/linux/firewire \ +- @SRCDIR@/windows \ +- @SRCDIR@/windows/portaudio \ +- @SRCDIR@/windows/winmme \ +- @SRCDIR@/solaris \ +- @SRCDIR@/solaris/oss \ +- @SRCDIR@/common/jack/ ++INPUT = @SRCDIR@/common/jack/ + + # This tag can be used to specify the character encoding of the source files + # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +@@ -806,7 +792,7 @@ HTML_HEADER = + # each generated HTML page. If it is left blank doxygen will generate a + # standard footer. + +-HTML_FOOTER = ++HTML_FOOTER = @SRCDIR@/no_date_footer.html + + # The HTML_STYLESHEET tag can be used to specify a user-defined cascading + # style sheet that is used by each HTML page. It can be used to +diff --git a/no_date_footer.html b/no_date_footer.html +new file mode 100644 +index 00000000..8bf8be6b +--- /dev/null ++++ b/no_date_footer.html +@@ -0,0 +1,5 @@ ++
++Generated for $projectname by doxygen ++$doxygenversion
++ ++ diff --git a/jack-audio-connection-kit-python-shebang.patch b/jack-audio-connection-kit-python-shebang.patch new file mode 100644 index 0000000..6a35aa0 --- /dev/null +++ b/jack-audio-connection-kit-python-shebang.patch @@ -0,0 +1,110 @@ +diff --git a/common/wscript b/common/wscript +index afc251a2..70503788 100644 +--- a/common/wscript ++++ b/common/wscript +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/python3 + # encoding: utf-8 + + import re +diff --git a/compat/alloca/wscript b/compat/alloca/wscript +index 36798973..9e740f1c 100644 +--- a/compat/alloca/wscript ++++ b/compat/alloca/wscript +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # encoding: utf-8 + # + # Copyright (C) 2018 Karl Linden +diff --git a/compat/wscript b/compat/wscript +index e3ec8d33..25eb2a3f 100644 +--- a/compat/wscript ++++ b/compat/wscript +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # encoding: utf-8 + # + # Copyright (C) 2018 Karl Linden +diff --git a/dbus/wscript b/dbus/wscript +index 535d4121..fa40b4f1 100644 +--- a/dbus/wscript ++++ b/dbus/wscript +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/python3 + # encoding: utf-8 + + import os.path +diff --git a/example-clients/jack_control b/example-clients/jack_control +index 61ac40c1..54277543 100755 +--- a/example-clients/jack_control ++++ b/example-clients/jack_control +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + + from __future__ import print_function + name_base = 'org.jackaudio' +diff --git a/example-clients/wscript b/example-clients/wscript +index 6163d222..a8857aa7 100644 +--- a/example-clients/wscript ++++ b/example-clients/wscript +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/python3 + # encoding: utf-8 + + example_programs = { +diff --git a/man/wscript b/man/wscript +index 9e4d3043..def57078 100644 +--- a/man/wscript ++++ b/man/wscript +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/python3 + # encoding: utf-8 + + import re +diff --git a/systemd/wscript b/systemd/wscript +index fc8b8f15..d10bdf96 100644 +--- a/systemd/wscript ++++ b/systemd/wscript +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/python3 + # encoding: utf-8 + + +diff --git a/tests/wscript b/tests/wscript +index 756fd3bb..96a63bc9 100644 +--- a/tests/wscript ++++ b/tests/wscript +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/python3 + # encoding: utf-8 + + test_programs = { +diff --git a/waf b/waf +index a2efc852..845fba5e 100755 +--- a/waf ++++ b/waf +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # encoding: latin-1 + # Thomas Nagy, 2005-2018 + # +diff --git a/wscript b/wscript +index 5e8485e6..7e48f750 100644 +--- a/wscript ++++ b/wscript +@@ -1,4 +1,4 @@ +-#! /usr/bin/env python ++#! /usr/bin/python3 + # encoding: utf-8 + from __future__ import print_function + diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 68d077e..03ad13e 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -10,8 +10,8 @@ Summary: The Jack Audio Connection Kit Name: jack-audio-connection-kit -Version: 1.9.12 -Release: 9%{?dist} +Version: 1.9.13 +Release: 1%{?dist} # The entire source (~500 files) is a mixture of these three licenses License: GPLv2 and GPLv2+ and LGPLv2+ URL: http://www.jackaudio.org @@ -19,19 +19,14 @@ Source0: https://github.com/jackaudio/jack2/releases/download/v%{version}/ Source1: %{name}-README.Fedora Source2: %{name}-script.pa Source3: %{name}-limits.conf -# No-date-footer hack to remove dates from doxygen documentation -Patch0: jack2-1.9.12-nodate.patch -# Build fix -Patch1: jack2-1.9.12-outdir.patch -# We don't want the internal API documentation -Patch2: jack2-1.9.12-nointernalapi.patch +# Patch doxygen documentation +Patch0: %{name}-doxygen.patch # Adjust default priority. RHBZ#795094 -Patch3: jack-realtime-compat.patch -# Remove binary junk from README -Patch4: jack2-1.9.12-nojunk.patch +Patch1: jack-realtime-compat.patch # Proper Python2 shebangs -Patch5: jack2-1.9.12-python-shebang.patch - +Patch2: %{name}-python-shebang.patch +# Catch exception by reference, patch sent upstream https://github.com/jackaudio/jack2/pull/511 +Patch3: %{name}-catchbyreference.patch BuildRequires: alsa-lib-devel BuildRequires: dbus-devel @@ -48,7 +43,7 @@ BuildRequires: libsndfile-devel BuildRequires: ncurses-devel BuildRequires: opus-devel BuildRequires: pkgconfig -BuildRequires: python2 +BuildRequires: python3 BuildRequires: readline-devel Requires(pre): shadow-utils @@ -89,21 +84,12 @@ Requires: %{name} = %{version}-%{release} Small example clients that use the Jack Audio Connection Kit. %prep -%setup -q -n jack2-%{version} - -%patch0 -p1 -b .nodate -%patch1 -p1 -b .outdir -%patch2 -p1 -b .nointernalapi -%patch3 -p1 -b .priority -%patch4 -p1 -b .nojunk -%patch5 -p1 -b .shebang +%autosetup -p1 -n jack2-%{version} %build -export CPPFLAGS="$RPM_OPT_FLAGS" -export LDFLAGS="$RPM_LD_FLAGS" +%set_build_flags export PREFIX=%{_prefix} -./waf configure \ - %{?_smp_mflags} \ +python3 ./waf configure \ --mandir=%{_mandir}/man1 \ --libdir=%{_libdir} \ --doxygen \ @@ -118,20 +104,19 @@ export PREFIX=%{_prefix} --clients 256 \ --ports-per-application=2048 - -./waf build %{?_smp_mflags} -v +python3 ./waf build %{?_smp_mflags} -v %install -./waf --destdir=$RPM_BUILD_ROOT install +python3 ./waf --destdir=%{buildroot} install # move doxygen documentation to the right place -mv $RPM_BUILD_ROOT%{_datadir}/jack-audio-connection-kit/reference . -rm -rf $RPM_BUILD_ROOT%{_datadir}/jack-audio-connection-kit +mv %{buildroot}%{_datadir}/jack-audio-connection-kit/reference . +rm -rf %{buildroot}%{_datadir}/jack-audio-connection-kit # install our limits to the /etc/security/limits.d -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/security/limits.d +mkdir -p %{buildroot}%{_sysconfdir}/security/limits.d sed -e 's,@groupname@,%groupname,g; s,@pagroup@,%pagroup,g;' \ - %{SOURCE3} > $RPM_BUILD_ROOT%{_sysconfdir}/security/limits.d/95-jack.conf + %{SOURCE3} > %{buildroot}%{_sysconfdir}/security/limits.d/95-jack.conf # prepare README.Fedora for documentation including install -p -m644 %{SOURCE1} README.Fedora @@ -140,19 +125,17 @@ install -p -m644 %{SOURCE1} README.Fedora install -p -m644 %{SOURCE2} jack.pa # For compatibility with jack1 -mv $RPM_BUILD_ROOT%{_bindir}/jack_rec $RPM_BUILD_ROOT%{_bindir}/jackrec +mv %{buildroot}%{_bindir}/jack_rec %{buildroot}%{_bindir}/jackrec # Fix permissions of the modules -chmod 755 $RPM_BUILD_ROOT%{_libdir}/jack/*.so $RPM_BUILD_ROOT%{_libdir}/libjack*.so.*.*.* +chmod 755 %{buildroot}%{_libdir}/jack/*.so %{buildroot}%{_libdir}/libjack*.so.*.*.* %pre getent group %groupname > /dev/null || groupadd -r %groupname exit 0 -%ldconfig_scriptlets - -%files -%doc ChangeLog README README_NETJACK2 TODO +%files +%doc ChangeLog.rst README.rst README_NETJACK2 %doc README.Fedora %doc jack.pa %{_bindir}/jackd @@ -205,6 +188,7 @@ exit 0 %{_bindir}/jack_net_master %{_bindir}/jack_net_slave %{_bindir}/jack_netsource +%{_bindir}/jack_property %{_bindir}/jack_samplerate %{_bindir}/jack_server_control %{_bindir}/jack_session_notify @@ -227,6 +211,7 @@ exit 0 %{_mandir}/man1/jack_metro.1* %{_mandir}/man1/jack_monitor_client.1* %{_mandir}/man1/jack_netsource.1* +%{_mandir}/man1/jack_property.1* %{_mandir}/man1/jack_samplerate.1* %{_mandir}/man1/jack_showtime.1* %{_mandir}/man1/jack_simple_client.1* @@ -244,6 +229,11 @@ exit 0 %changelog +* Mon Oct 07 2019 Guido Aulisi - 1.9.13-1 +- Update to 1.9.13 +- Drop python2 +- Some spec cleanup + * Thu Jul 25 2019 Fedora Release Engineering - 1.9.12-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/jack2-1.9.12-nodate.patch b/jack2-1.9.12-nodate.patch deleted file mode 100644 index 1fe0e91..0000000 --- a/jack2-1.9.12-nodate.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up jack2-1.9.12/doxyfile.in.nodate jack2-1.9.12/doxyfile.in ---- jack2-1.9.12/doxyfile.in.nodate 2017-12-13 22:19:04.000000000 +0100 -+++ jack2-1.9.12/doxyfile.in 2017-12-26 18:15:27.130315688 +0100 -@@ -807,7 +807,7 @@ HTML_HEADER = - # each generated HTML page. If it is left blank doxygen will generate a - # standard footer. - --HTML_FOOTER = -+HTML_FOOTER = @SRCDIR@/no_date_footer.html - - # The HTML_STYLESHEET tag can be used to specify a user-defined cascading - # style sheet that is used by each HTML page. It can be used to -diff -up jack2-1.9.12/no_date_footer.html.nodate jack2-1.9.12/no_date_footer.html ---- jack2-1.9.12/no_date_footer.html.nodate 2017-12-26 18:12:48.975963873 +0100 -+++ jack2-1.9.12/no_date_footer.html 2017-12-26 18:12:48.975963873 +0100 -@@ -0,0 +1,6 @@ -+
-+Generated for $projectname by doxygen -+$doxygenversion
-+ -+ diff --git a/jack2-1.9.12-nointernalapi.patch b/jack2-1.9.12-nointernalapi.patch deleted file mode 100644 index ee73b94..0000000 --- a/jack2-1.9.12-nointernalapi.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -up jack2-1.9.12/doxyfile.in.nointernalapi jack2-1.9.12/doxyfile.in ---- jack2-1.9.12/doxyfile.in.nointernalapi 2017-12-26 17:43:14.387643693 +0100 -+++ jack2-1.9.12/doxyfile.in 2017-12-26 17:44:34.743795861 +0100 -@@ -574,22 +574,7 @@ WARN_LOGFILE = - # directories like "/usr/src/myproject". Separate the files or directories - # with spaces. - --INPUT = @SRCDIR@/common \ -- @SRCDIR@/posix \ -- @SRCDIR@/macosx \ -- @SRCDIR@/macosx/coreaudio/ \ -- @SRCDIR@/macosx/coremidi/ \ -- @SRCDIR@/linux \ -- @SRCDIR@/linux/alsa \ -- @SRCDIR@/linux/alsarawmidi \ -- @SRCDIR@/linux/firewire \ -- @SRCDIR@/linux/freebob \ -- @SRCDIR@/windows \ -- @SRCDIR@/windows/portaudio \ -- @SRCDIR@/windows/winmme \ -- @SRCDIR@/solaris \ -- @SRCDIR@/solaris/oss \ -- @SRCDIR@/common/jack/ -+INPUT = @SRCDIR@/common/jack/ - - # This tag can be used to specify the character encoding of the source files - # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is diff --git a/jack2-1.9.12-nojunk.patch b/jack2-1.9.12-nojunk.patch deleted file mode 100644 index 200cd28..0000000 --- a/jack2-1.9.12-nojunk.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up jack2-1.9.12/README.nojunk jack2-1.9.12/README ---- jack2-1.9.12/README.nojunk 2017-12-13 22:19:04.000000000 +0100 -+++ jack2-1.9.12/README 2017-12-26 18:01:57.297797940 +0100 -@@ -220,7 +220,7 @@ Note : To experiment with the -S option, - 1.9.1 : Fix jackctl_server_unload_internal. Filter SIGPIPE to avoid having client get a SIGPIPE when trying to access a died server. Libjack shutdown handler does not "deactivate" (fActive = false) the client anymore, so that jack_deactivate correctly does the job later on. Better isolation of server and clients system resources to allow starting the server in several user account at the same time. Report ringbuffer.c fixes from JACK1. Client and library global context cleanup in case of incorrect shutdown handling (that is applications not correctly closing client after server has shutdown). Use JACK_DRIVER_DIR variable in internal clients loader. For ALSA driver, synchronize with latest JACK1 memops functions. Synchronize JACK2 public headers with JACK1 ones. Implement jack_client_real_time_priority and jack_client_max_real_time_priority API. Use up to BUFFER_SIZE_MAX frames in midi ports, fix for ticket #117. Cleanup server starting code for clients directly linked with libjackserver.so. JackMessageBuffer was using thread "Stop" scheme in destructor, now use the safer thread "Kill" way. Synchronize ALSA backend code with JACK1 one. Set default mode to 'slow' in JackNetDriver and JackNetAdapter. Simplify audio packet order verification. Fix JackNetInterface::SetNetBufferSize for socket buffer size computation and JackNetMasterInterface::DataRecv if synch packet is received, various cleanup. Better recovery of network overload situations, now "resynchronize" by skipping cycles.". Support for BIG_ENDIAN machines in NetJack2. Support for BIG_ENDIAN machines in NetJack2 for MIDI ports. Support for "-h" option in internal clients to print the parameters. In NetJack2, fix a bug when capture or playback only channels are used. Add a JACK_INTERNAL_DIR environment variable to be used for internal clients. Add a resample quality parameter in audioadapter. Now correctly return an error if JackServer::SetBufferSize could not change the buffer size (and was just restoring the current one). Use PRIu32 kind of macro in JackAlsaDriver again. Add a resample quality parameter in netadapter. - 1.9.2 : Solaris version. New "profiling" tools. Rework the mutex/signal classes. Support for BIG_ENDIAN machines in NetJack2. D-BUS based device reservation to better coexist with PulseAudio on Linux. Add auto_connect parameter in netmanager and netadapter. Use Torben Hohn PI controler code for adapters. Client incorrect re-naming fixed : now done at socket and fifo level. Virtualize and allow overriding of thread creation function, to allow Wine support (from JACK1). - 1.9.3 : New JackBoomerDriver class for Boomer driver on Solaris. Add mixed 32/64 bits mode (off by default). Native MIDI backend (JackCoreMidiDriver, JackWinMMEDriver). In ALSA audio card reservation code, tries to open the card even if reservation fails. Clock source setting on Linux. Add jackctl_server_switch_master API. Fix transport callback (timebase master, sync) issue when used after jack_activate (RT thread was not running). D-Bus access for jackctl_server_add_slave/jackctl_server_remove_slave API. Cleanup "loopback" stuff in server. Torben Hohn fix for InitTime and GetMicroSeconds in JackWinTime.c. New jack_free function added in jack.h. Reworked Torben Hohn fix for server restart issue on Windows. Correct jack_set_error_function, jack_set_info_function and jack_set_thread_creator functions. Correct JackFifo::TimedWait for EINTR handling. Move DBus based audio device reservation code in ALSA backend compilation. Correct JackTransportEngine::MakeAllLocating, sync callback has to be called in this case also. NetJack2 code : better error checkout, method renaming. Tim Bechmann patch : hammerfall, only release monitor thread, if it has been created. Tim Bechmann memops.c optimization patches. In combined --dbus and --classic compilation code, use PulseAudio acquire/release code. Big rewrite of Solaris boomer driver, seems to work in duplex mode at least. Loopback backend reborn as a dynamically loadable separated backend. --1.9.4 : Solaris boomer backend now working in capture or playback only mode. Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period). Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend. Big endian bug fix in memops.c. Fix issues in JackNetDriver::DecodeTransportData and JackNetDriver::Initialize. Correct CPU timing in JackNetDriver, now take cycle begin time after Read. Simplify transport in NetJack2: master only can control transport. Change CoreAudio notification thread setup for OSX Snow Leopard. Correct server temporary mode : now set a global and quit after server/client message handling is finished. Add a string parameter to server ==> client notification, add a new JackInfoShutdownCallback type. CoreAudio backend now issue a JackInfoShutdownCallback when an unrecoverable error is detected (sampling rate change, stream configuration changeÉ). Correct jackdmp.cpp (failures case were not correct..). Improve JackCoreAudioDriver code. Raise default port number to 2048. Correct JackProcessSync::LockedTimedWait. Correct JACK_MESSAGE_SIZE value, particularly in OSX RPC code. Now start server channel thread only when backend has been started (so in JackServer::Start). Should solve race conditions at start time. jack_verbose moved to JackGlobals class. Improve aggregate device management in JackCoreAudioDriver : now a "private" device only and cleanup properly. Aggregate device code added to JackCoreAudioAdapter. Implement "hog mode" (exclusive access of the audio device) in JackCoreAudioDriver. Fix jack_set_sample_rate_callback to have he same behavior as in JACK1. Dynamic system version detection in JackCoreAudioDriver to either create public or private aggregate device. In JackCoreAudioDriver, force the SR value to the wanted one *before* creating aggregate device (otherwise creation will fail). In JackCoreAudioDriver, better cleanup of AD when intermediate open failure. In JackCoreAudioDriver::Start, wait for the audio driver to effectively start (use the MeasureCallback). In JackCoreAudioDriver, improve management of input/output channels: -1 is now used internally to indicate a wanted max value. In JackCoreAudioDriver::OpenAUHAL, correct stream format setup and cleanup. Correct crash bug in JackAudioAdapterInterface when not input is used in adapter (temporary fixÉ). Sync JackCoreAudioAdapter code on JackCoreAudioDriver one. JACK_SCHED_POLICY switched to SCHED_FIFO. Now can aggregate device that are themselves AD. No reason to make jack_on_shutdown deprecated, so revert the incorrect change. Thread AcquireRealTime and DropRealTime were (incorrectly) using fThread field. Use pthread_self()) (or GetCurrentThread() on Windows) to get the calling thread. Correctly save and restore RT mode state in freewheel mode. Correct freewheel code on client side. Fix AcquireRealTime and DropRealTime: now distinguish when called from another thread (AcquireRealTime/DropRealTime) and from the thread itself (AcquireSelfRealTime/DropSelfRealTime). Correct JackPosixThread::StartImp : thread priority setting now done in the RT case only. Correct JackGraphManager::GetBuffer for the "client loop with one connection" case : buffer must be copied. Correct JackInfoShutdownCallback prototype, two new JackClientProcessFailure and JackClientZombie JackStatus code. Correct JackCoreAudio driver when empty strings are given as -C, -P or -d parameter. Better memory allocation error checking on client (library) side. Better memory allocation error checking in ringbuffer.c, weak import improvements. Memory allocation error checking for jack_client_new and jack_client_open (server and client side). Memory allocation error checking in server for RPC. Simplify server temporary mode : now use a JackTemporaryException. Lock/Unlock shared memory segments (to test...). Sync with JACK1 : -r parameter now used for no-realtime, realtime (-R) is now default, usable backend given vie platform. In JackCoreAudio driver, (possibly) clock drift compensation when needed in aggregated devices. In JackCoreAudio driver, clock drift compensation in aggregated devices working. In JackCoreAudio driver, clock drift compensation semantic changed a bit : when on, does not activate if not needed (same clock domain). Sync JackCoreAudioAdapter code with JackCoreAudioDriver. -+1.9.4 : Solaris boomer backend now working in capture or playback only mode. Add a -G parameter in CoreAudio backend (the computation value in RT thread expressed as percent of period). Use SNDCTL_DSP_SYNCGROUP/SNDCTL_DSP_SYNCSTART API to synchronize input and output in Solaris boomer backend. Big endian bug fix in memops.c. Fix issues in JackNetDriver::DecodeTransportData and JackNetDriver::Initialize. Correct CPU timing in JackNetDriver, now take cycle begin time after Read. Simplify transport in NetJack2: master only can control transport. Change CoreAudio notification thread setup for OSX Snow Leopard. Correct server temporary mode : now set a global and quit after server/client message handling is finished. Add a string parameter to server ==> client notification, add a new JackInfoShutdownCallback type. CoreAudio backend now issue a JackInfoShutdownCallback when an unrecoverable error is detected (sampling rate change, stream configuration change). Correct jackdmp.cpp (failures case were not correct..). Improve JackCoreAudioDriver code. Raise default port number to 2048. Correct JackProcessSync::LockedTimedWait. Correct JACK_MESSAGE_SIZE value, particularly in OSX RPC code. Now start server channel thread only when backend has been started (so in JackServer::Start). Should solve race conditions at start time. jack_verbose moved to JackGlobals class. Improve aggregate device management in JackCoreAudioDriver : now a "private" device only and cleanup properly. Aggregate device code added to JackCoreAudioAdapter. Implement "hog mode" (exclusive access of the audio device) in JackCoreAudioDriver. Fix jack_set_sample_rate_callback to have he same behavior as in JACK1. Dynamic system version detection in JackCoreAudioDriver to either create public or private aggregate device. In JackCoreAudioDriver, force the SR value to the wanted one *before* creating aggregate device (otherwise creation will fail). In JackCoreAudioDriver, better cleanup of AD when intermediate open failure. In JackCoreAudioDriver::Start, wait for the audio driver to effectively start (use the MeasureCallback). In JackCoreAudioDriver, improve management of input/output channels: -1 is now used internally to indicate a wanted max value. In JackCoreAudioDriver::OpenAUHAL, correct stream format setup and cleanup. Correct crash bug in JackAudioAdapterInterface when not input is used in adapter (temporary fix). Sync JackCoreAudioAdapter code on JackCoreAudioDriver one. JACK_SCHED_POLICY switched to SCHED_FIFO. Now can aggregate device that are themselves AD. No reason to make jack_on_shutdown deprecated, so revert the incorrect change. Thread AcquireRealTime and DropRealTime were (incorrectly) using fThread field. Use pthread_self()) (or GetCurrentThread() on Windows) to get the calling thread. Correctly save and restore RT mode state in freewheel mode. Correct freewheel code on client side. Fix AcquireRealTime and DropRealTime: now distinguish when called from another thread (AcquireRealTime/DropRealTime) and from the thread itself (AcquireSelfRealTime/DropSelfRealTime). Correct JackPosixThread::StartImp : thread priority setting now done in the RT case only. Correct JackGraphManager::GetBuffer for the "client loop with one connection" case : buffer must be copied. Correct JackInfoShutdownCallback prototype, two new JackClientProcessFailure and JackClientZombie JackStatus code. Correct JackCoreAudio driver when empty strings are given as -C, -P or -d parameter. Better memory allocation error checking on client (library) side. Better memory allocation error checking in ringbuffer.c, weak import improvements. Memory allocation error checking for jack_client_new and jack_client_open (server and client side). Memory allocation error checking in server for RPC. Simplify server temporary mode : now use a JackTemporaryException. Lock/Unlock shared memory segments (to test...). Sync with JACK1 : -r parameter now used for no-realtime, realtime (-R) is now default, usable backend given vie platform. In JackCoreAudio driver, (possibly) clock drift compensation when needed in aggregated devices. In JackCoreAudio driver, clock drift compensation in aggregated devices working. In JackCoreAudio driver, clock drift compensation semantic changed a bit : when on, does not activate if not needed (same clock domain). Sync JackCoreAudioAdapter code with JackCoreAudioDriver. - 1.9.5 : Dynamic choice of maximum port number. More robust sample rate change handling code in JackCoreAudioDriver. Devin Anderson patch for Jack FFADO driver issues with lost MIDI bytes between periods (and more). Fix port_rename callback : now both old name and new name are given as parameters. Special code in JackCoreAudio driver to handle completely buggy Digidesign CoreAudio user-land driver. Ensure that client-side message buffer thread calls thread_init callback if/when it is set by the client (backport of JACK1 rev 3838). Check dynamic port-max value. Fix JackCoreMidiDriver::ReadProcAux when ring buffer is full (thanks Devin Anderson). Josh Green ALSA driver capture only patch. When threads are cancelled, the exception has to be rethrown. Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'. Mario Lang alsa_io time calculation overflow patch. Shared memory manager was calling abort in case of fatal error, now return an error in caller. Change JackEngineProfiling and JackAudioAdapterInterface gnuplot scripts to output SVG instead of PDF. - 1.9.6 : Improve JackCoreAudioDriver and JackCoreAudioAdapter : when no devices are described, takes default input and output and aggregate them.Correct JackGraphManager::DeactivatePort. Correct JackMachServerChannel::Execute : keep running even in error cases. Raise JACK_PROTOCOL_VERSION number. Arnold Krille firewire patch. Raise JACK_DRIVER_PARAM_STRING_MAX and JACK_PARAM_STRING_MAX to 127 otherwise some audio drivers cannot be loaded on OSX. Fix some file header to have library side code use LGPL. On Windows, now use TRE library for regexp (BSD license instead of GPL license). ffado-portname-sync.patch from ticket #163 applied. Remove call to exit in library code. Make jack_connect/jack_disconnect wait for effective port connection/disconnection. Add tests to validate intclient.h API. On Linux, inter-process synchronization primitive switched to POSIX semaphore. In JackCoreAudioDriver, move code called in MeasureCallback to be called once in IO thread. David Garcia Garzon netone patch. Fix from Fernando Lopez-Lezcano for compilation on fc13. Fix JackPosixSemaphore::TimedWait : same behavior as JackPosixSemaphore::Wait regarding EINTR. David Garcia Garzon unused_pkt_buf_field_jack2 netone patch. Arnold Krille firewire snooping patch. Jan Engelhardt patch for get_cycles on SPARC. Adrian Knoth hurd.patch, kfreebsd-fix.patch and alpha_ia64-sigsegv.patch from ticket 177. Adrian Knoth fix for linux cycle.h (ticket 188). In JackCoreAudioDriver, fix an issue when no value is given for input. - 1.9.7 : Sync JackAlsaDriver::alsa_driver_check_card_type with JACK1 backend. Correct JackServer::Open to avoid a race when control API is used on OSX. Improve backend error handling: fatal error returned by Read/Write now cause a Process failure (so a thread exit for blocking backends). Recoverable ones (XRuns..) are now treated internally in ALSA, FreeBob and FFADO backends. In jackdmp.cpp, jackctl_setup_signals moved before jackctl_server_start. Correct symbols export in backends on OSX. ALSA backend : suspend/resume handling. Correct dummy driver. Adrian Knoth jack_lsp patch. Remove JackPortIsActive flag. New latency API implementation. ComputeTotalLatencies now a client/server call. Add latent test client for latency API. Also print playback and capture latency in jack_lsp. jack_client_has_session_callback implementation. Check requested buffer size and limit to 1..8192 - avoids weird behaviour caused by jack_bufsize foobar. jack_port_type_get_buffer_size implementation. Stop using alloca and allocate buffer on the heap for alsa_io. Rename jdelay to jack_iodelay as per Fons' request. Call buffer size callback in activate (actually this is done on client side in the RT thread Init method). Add jack_midi_dump client. Synchronize net JACK1 with JACK1 version. Synchronize jack_connect/jack_disconnect with JACK1 version. Correct JackNetMaster::SetBufferSize. Use jack_default_audio_sample_t instead of float consistently, fix ticket #201. -X now allows to add several slave backends, add -I to load several internal clients. Rework internal slave driver management, JackServerGlobals now handle same parameters as jackdmp. Correct JackEngine::NotifyGraphReorder, update JackDebugClient with latest API. Devin Anderson server-ctl-proposal branch merged on trunk: improved control API, slave backend reworked. Implement renaming in JackDriver::Open to avoid name collision (thanks Devin Anderson). Correct alsa_driver_restart (thanks Devin Anderson). Correction of jack_connect/jack_disconnect: use of jack_activate and volatile keyword for thread shared variable. Correction of JackNetOneDriver for latest CELT API. Synchronize JackWeakAPI.cpp with new APIs. diff --git a/jack2-1.9.12-outdir.patch b/jack2-1.9.12-outdir.patch deleted file mode 100644 index b6bd8da..0000000 --- a/jack2-1.9.12-outdir.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up jack2-1.9.12/doxyfile.in.outdir jack2-1.9.12/doxyfile.in ---- jack2-1.9.12/doxyfile.in.outdir 2017-12-26 17:41:13.121923158 +0100 -+++ jack2-1.9.12/doxyfile.in 2017-12-26 17:41:29.048755116 +0100 -@@ -38,7 +38,7 @@ PROJECT_NUMBER = @VERSION@ - # If a relative path is entered, it will be relative to the location - # where doxygen was started. If left blank the current directory will be used. - --OUTPUT_DIRECTORY = -+OUTPUT_DIRECTORY = default/ - - # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create - # 4096 sub-directories (in 2 levels) under the output directory of each output diff --git a/jack2-1.9.12-python-shebang.patch b/jack2-1.9.12-python-shebang.patch deleted file mode 100644 index c44c57c..0000000 --- a/jack2-1.9.12-python-shebang.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -rupN jack2-1.9.12.org/common/wscript jack2-1.9.12/common/wscript ---- jack2-1.9.12.org/common/wscript 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/common/wscript 2018-07-05 22:32:26.811067221 -0400 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python2 - # encoding: utf-8 - - import re -diff -rupN jack2-1.9.12.org/dbus/wscript jack2-1.9.12/dbus/wscript ---- jack2-1.9.12.org/dbus/wscript 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/dbus/wscript 2018-07-05 22:32:26.812067218 -0400 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python2 - # encoding: utf-8 - - import os.path -diff -rupN jack2-1.9.12.org/example-clients/jack_control jack2-1.9.12/example-clients/jack_control ---- jack2-1.9.12.org/example-clients/jack_control 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/example-clients/jack_control 2018-07-05 22:32:26.814067212 -0400 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python2 - - name_base = 'org.jackaudio' - control_interface_name = name_base + '.JackControl' -diff -rupN jack2-1.9.12.org/example-clients/wscript jack2-1.9.12/example-clients/wscript ---- jack2-1.9.12.org/example-clients/wscript 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/example-clients/wscript 2018-07-05 22:32:26.813067215 -0400 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python2 - # encoding: utf-8 - - example_programs = { -diff -rupN jack2-1.9.12.org/man/wscript jack2-1.9.12/man/wscript ---- jack2-1.9.12.org/man/wscript 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/man/wscript 2018-07-05 22:32:26.813067215 -0400 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python2 - # encoding: utf-8 - - import re -diff -rupN jack2-1.9.12.org/tests/wscript jack2-1.9.12/tests/wscript ---- jack2-1.9.12.org/tests/wscript 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/tests/wscript 2018-07-05 22:32:26.813067215 -0400 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python2 - # encoding: utf-8 - - test_programs = { -diff -rupN jack2-1.9.12.org/waf jack2-1.9.12/waf ---- jack2-1.9.12.org/waf 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/waf 2018-07-05 22:32:26.806067234 -0400 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python2 - # encoding: ISO8859-1 - # Thomas Nagy, 2005-2015 - -diff -rupN jack2-1.9.12.org/wscript jack2-1.9.12/wscript ---- jack2-1.9.12.org/wscript 2017-12-13 16:19:04.000000000 -0500 -+++ jack2-1.9.12/wscript 2018-07-05 22:32:26.810067223 -0400 -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python2 - # encoding: utf-8 - from __future__ import print_function - diff --git a/sources b/sources index 32c137d..3667d70 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (jack2-1.9.12.tar.gz) = f0271dfc8f8e2f2489ca52f431ad4fa420665816d6c67a01a76da1d4b5ae91f6dad8c4e3309ec5e0c159c9d312ed56021ab323d74bce828ace26f1b8d477ddfa +SHA512 (jack2-1.9.13.tar.gz) = dd83a6535cf92a3c45b5ed31edda5f1cb4a6c1db2ac683d4ea709e226bc30d55b366ce80ee543dfaa600f871079f3754e9314124093e230dc7deeceb828de8aa From cecf5d10349e5a0dd046a076687f70ddd148e88b Mon Sep 17 00:00:00 2001 From: Guido Aulisi Date: Thu, 10 Oct 2019 14:28:30 +0200 Subject: [PATCH 02/10] Fix compilation on arm --- jack-audio-connection-kit-arm.patch | 13 +++++++++++++ jack-audio-connection-kit.spec | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 jack-audio-connection-kit-arm.patch diff --git a/jack-audio-connection-kit-arm.patch b/jack-audio-connection-kit-arm.patch new file mode 100644 index 0000000..aee1e5d --- /dev/null +++ b/jack-audio-connection-kit-arm.patch @@ -0,0 +1,13 @@ +diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c +index de316429..0f135ec0 100644 +--- a/dbus/sigsegv.c ++++ b/dbus/sigsegv.c +@@ -64,7 +64,7 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { + const char *si_code_str; + ucontext_t *ucontext = (ucontext_t*)ptr; + +-#if defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) ++#if ( defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) ) || defined(HAVE_EXECINFO_H ) + size_t i; + #endif + #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 03ad13e..ef286ff 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -11,7 +11,7 @@ Summary: The Jack Audio Connection Kit Name: jack-audio-connection-kit Version: 1.9.13 -Release: 1%{?dist} +Release: 2%{?dist} # The entire source (~500 files) is a mixture of these three licenses License: GPLv2 and GPLv2+ and LGPLv2+ URL: http://www.jackaudio.org @@ -27,6 +27,8 @@ Patch1: jack-realtime-compat.patch Patch2: %{name}-python-shebang.patch # Catch exception by reference, patch sent upstream https://github.com/jackaudio/jack2/pull/511 Patch3: %{name}-catchbyreference.patch +# Fix compilation on arm +Patch4: %{name}-arm.patch BuildRequires: alsa-lib-devel BuildRequires: dbus-devel @@ -229,6 +231,9 @@ exit 0 %changelog +* Thu Oct 10 2019 Guido Aulisi - 1.9.13-2 +- Fix compilation on arm + * Mon Oct 07 2019 Guido Aulisi - 1.9.13-1 - Update to 1.9.13 - Drop python2 From 173357b8bd3fadac29b6e5d118aad95d88f53440 Mon Sep 17 00:00:00 2001 From: Guido Aulisi Date: Thu, 10 Oct 2019 13:02:13 +0000 Subject: [PATCH 03/10] Document patch for ARM --- jack-audio-connection-kit-arm.patch | 2 +- jack-audio-connection-kit.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jack-audio-connection-kit-arm.patch b/jack-audio-connection-kit-arm.patch index aee1e5d..7046771 100644 --- a/jack-audio-connection-kit-arm.patch +++ b/jack-audio-connection-kit-arm.patch @@ -7,7 +7,7 @@ index de316429..0f135ec0 100644 ucontext_t *ucontext = (ucontext_t*)ptr; -#if defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) -+#if ( defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) ) || defined(HAVE_EXECINFO_H ) ++#if ( defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) ) || defined(HAVE_EXECINFO_H) size_t i; #endif #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index ef286ff..3645f35 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -27,7 +27,7 @@ Patch1: jack-realtime-compat.patch Patch2: %{name}-python-shebang.patch # Catch exception by reference, patch sent upstream https://github.com/jackaudio/jack2/pull/511 Patch3: %{name}-catchbyreference.patch -# Fix compilation on arm +# Fix compilation on arm, patch sent upstream https://github.com/jackaudio/jack2/pull/512 Patch4: %{name}-arm.patch BuildRequires: alsa-lib-devel From 1cdf16fce6aae42b310da1b46b1968d8896a8cdc Mon Sep 17 00:00:00 2001 From: Jan Beran Date: Tue, 29 Oct 2019 10:56:12 +0100 Subject: [PATCH 04/10] Do not use libffado when building flatpak When building flatpak[0], libffado refuses to build and there is no easy fix, so FireWire support is dropped now. When %{flatpak} macro is not set, there is no change in functionality. [0] https://docs.fedoraproject.org/en-US/flatpak/tutorial/ --- jack-audio-connection-kit.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 3645f35..10ecd8b 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -11,7 +11,7 @@ Summary: The Jack Audio Connection Kit Name: jack-audio-connection-kit Version: 1.9.13 -Release: 2%{?dist} +Release: 3%{?dist} # The entire source (~500 files) is a mixture of these three licenses License: GPLv2 and GPLv2+ and LGPLv2+ URL: http://www.jackaudio.org @@ -36,7 +36,7 @@ BuildRequires: doxygen BuildRequires: expat-devel BuildRequires: gcc-c++ %ifnarch s390 s390x -%if !0%{?bootstrap} +%if !0%{?bootstrap} && !0%{?flatpak} BuildRequires: libffado-devel %endif %endif @@ -98,7 +98,7 @@ python3 ./waf configure \ --dbus \ --classic \ %ifnarch s390 s390x -%if !0%{?bootstrap} +%if !0%{?bootstrap} && !0%{?flatpak} --firewire \ %endif %endif @@ -231,6 +231,9 @@ exit 0 %changelog +* Tue Oct 29 2019 Jan Beran - 1.9.13-3 +- Do not use libffado if building flatpak + * Thu Oct 10 2019 Guido Aulisi - 1.9.13-2 - Fix compilation on arm From 8fb166dca3767ca27462af6b2cb3cfdd01dc87f3 Mon Sep 17 00:00:00 2001 From: Guido Aulisi Date: Mon, 11 Nov 2019 08:40:48 +0000 Subject: [PATCH 05/10] README: correct misspelled package name Use dnf instead of yum https://bugzilla.redhat.com/show_bug.cgi?id=1770689 --- jack-audio-connection-kit-README.Fedora | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jack-audio-connection-kit-README.Fedora b/jack-audio-connection-kit-README.Fedora index 07ff13d..b6d69f5 100644 --- a/jack-audio-connection-kit-README.Fedora +++ b/jack-audio-connection-kit-README.Fedora @@ -3,7 +3,7 @@ Switch to root account. Install the required packages: - yum install alsa-plugins-jack + dnf install alsa-plugins-jack Add yourself to the jackuser group. usermod -a -G audio,jackuser "" @@ -49,7 +49,7 @@ release of the sound device from Pulseaudio (see below). jackdbus is shipped in a separate package. To install this (as root) do: - yum install jack-audio-connection-kit-dus + dnf install jack-audio-connection-kit-dbus and check "Enable D-Bus interface" in Setup -> Misc within Qjackctl From 4b42ea252274d84fa94ad51b2c0863f41693b692 Mon Sep 17 00:00:00 2001 From: Guido Aulisi Date: Fri, 6 Dec 2019 19:06:26 +0100 Subject: [PATCH 06/10] Update to 1.9.14 --- .gitignore | 1 + jack-audio-connection-kit-arm.patch | 13 --- ...udio-connection-kit-catchbyreference.patch | 13 --- jack-audio-connection-kit-doxygen.patch | 51 +------- ...-audio-connection-kit-python-shebang.patch | 110 ------------------ jack-audio-connection-kit.spec | 18 +-- sources | 2 +- svnversion.h | 1 + 8 files changed, 16 insertions(+), 193 deletions(-) delete mode 100644 jack-audio-connection-kit-arm.patch delete mode 100644 jack-audio-connection-kit-catchbyreference.patch delete mode 100644 jack-audio-connection-kit-python-shebang.patch create mode 100644 svnversion.h diff --git a/.gitignore b/.gitignore index e5c9bd9..5b5e61c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ jack-1.9.5.tar.bz2 /jack-1.9.10.tar.bz2 /jack2-1.9.12.tar.gz /jack2-1.9.13.tar.gz +/jack2-1.9.14.tar.gz diff --git a/jack-audio-connection-kit-arm.patch b/jack-audio-connection-kit-arm.patch deleted file mode 100644 index 7046771..0000000 --- a/jack-audio-connection-kit-arm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/dbus/sigsegv.c b/dbus/sigsegv.c -index de316429..0f135ec0 100644 ---- a/dbus/sigsegv.c -+++ b/dbus/sigsegv.c -@@ -64,7 +64,7 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { - const char *si_code_str; - ucontext_t *ucontext = (ucontext_t*)ptr; - --#if defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) -+#if ( defined(HAVE_UCONTEXT) && defined(HAVE_NGREG) ) || defined(HAVE_EXECINFO_H) - size_t i; - #endif - #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) diff --git a/jack-audio-connection-kit-catchbyreference.patch b/jack-audio-connection-kit-catchbyreference.patch deleted file mode 100644 index 15b0e00..0000000 --- a/jack-audio-connection-kit-catchbyreference.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/linux/alsarawmidi/JackALSARawMidiPort.cpp b/linux/alsarawmidi/JackALSARawMidiPort.cpp -index 70e1fa71..8ef0ab65 100644 ---- a/linux/alsarawmidi/JackALSARawMidiPort.cpp -+++ b/linux/alsarawmidi/JackALSARawMidiPort.cpp -@@ -109,7 +109,7 @@ JackALSARawMidiPort::JackALSARawMidiPort(const char *client_name, snd_rawmidi_in - } - try { - CreateNonBlockingPipe(fds); -- } catch (std::exception e) { -+ } catch (std::exception& e) { - error_message = e.what(); - func = "CreateNonBlockingPipe"; - goto close; diff --git a/jack-audio-connection-kit-doxygen.patch b/jack-audio-connection-kit-doxygen.patch index 59f3edf..a490760 100644 --- a/jack-audio-connection-kit-doxygen.patch +++ b/jack-audio-connection-kit-doxygen.patch @@ -1,56 +1,13 @@ diff --git a/doxyfile.in b/doxyfile.in -index ff7bd963..f92e264a 100644 +index f92e264a..2335adab 100644 --- a/doxyfile.in +++ b/doxyfile.in -@@ -38,7 +38,7 @@ PROJECT_NUMBER = @VERSION@ - # If a relative path is entered, it will be relative to the location - # where doxygen was started. If left blank the current directory will be used. - --OUTPUT_DIRECTORY = -+OUTPUT_DIRECTORY = default/ - - # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create - # 4096 sub-directories (in 2 levels) under the output directory of each output -@@ -574,21 +574,7 @@ WARN_LOGFILE = - # directories like "/usr/src/myproject". Separate the files or directories - # with spaces. - --INPUT = @SRCDIR@/common \ -- @SRCDIR@/posix \ -- @SRCDIR@/macosx \ -- @SRCDIR@/macosx/coreaudio/ \ -- @SRCDIR@/macosx/coremidi/ \ -- @SRCDIR@/linux \ -- @SRCDIR@/linux/alsa \ -- @SRCDIR@/linux/alsarawmidi \ -- @SRCDIR@/linux/firewire \ -- @SRCDIR@/windows \ -- @SRCDIR@/windows/portaudio \ -- @SRCDIR@/windows/winmme \ -- @SRCDIR@/solaris \ -- @SRCDIR@/solaris/oss \ -- @SRCDIR@/common/jack/ -+INPUT = @SRCDIR@/common/jack/ - - # This tag can be used to specify the character encoding of the source files - # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -@@ -806,7 +792,7 @@ HTML_HEADER = +@@ -792,7 +792,7 @@ HTML_HEADER = # each generated HTML page. If it is left blank doxygen will generate a # standard footer. --HTML_FOOTER = -+HTML_FOOTER = @SRCDIR@/no_date_footer.html +-HTML_FOOTER = @SRCDIR@/no_date_footer.html ++HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to -diff --git a/no_date_footer.html b/no_date_footer.html -new file mode 100644 -index 00000000..8bf8be6b ---- /dev/null -+++ b/no_date_footer.html -@@ -0,0 +1,5 @@ -+
-+Generated for $projectname by doxygen -+$doxygenversion
-+ -+ diff --git a/jack-audio-connection-kit-python-shebang.patch b/jack-audio-connection-kit-python-shebang.patch deleted file mode 100644 index 6a35aa0..0000000 --- a/jack-audio-connection-kit-python-shebang.patch +++ /dev/null @@ -1,110 +0,0 @@ -diff --git a/common/wscript b/common/wscript -index afc251a2..70503788 100644 ---- a/common/wscript -+++ b/common/wscript -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python3 - # encoding: utf-8 - - import re -diff --git a/compat/alloca/wscript b/compat/alloca/wscript -index 36798973..9e740f1c 100644 ---- a/compat/alloca/wscript -+++ b/compat/alloca/wscript -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # encoding: utf-8 - # - # Copyright (C) 2018 Karl Linden -diff --git a/compat/wscript b/compat/wscript -index e3ec8d33..25eb2a3f 100644 ---- a/compat/wscript -+++ b/compat/wscript -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # encoding: utf-8 - # - # Copyright (C) 2018 Karl Linden -diff --git a/dbus/wscript b/dbus/wscript -index 535d4121..fa40b4f1 100644 ---- a/dbus/wscript -+++ b/dbus/wscript -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python3 - # encoding: utf-8 - - import os.path -diff --git a/example-clients/jack_control b/example-clients/jack_control -index 61ac40c1..54277543 100755 ---- a/example-clients/jack_control -+++ b/example-clients/jack_control -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - - from __future__ import print_function - name_base = 'org.jackaudio' -diff --git a/example-clients/wscript b/example-clients/wscript -index 6163d222..a8857aa7 100644 ---- a/example-clients/wscript -+++ b/example-clients/wscript -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python3 - # encoding: utf-8 - - example_programs = { -diff --git a/man/wscript b/man/wscript -index 9e4d3043..def57078 100644 ---- a/man/wscript -+++ b/man/wscript -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python3 - # encoding: utf-8 - - import re -diff --git a/systemd/wscript b/systemd/wscript -index fc8b8f15..d10bdf96 100644 ---- a/systemd/wscript -+++ b/systemd/wscript -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python3 - # encoding: utf-8 - - -diff --git a/tests/wscript b/tests/wscript -index 756fd3bb..96a63bc9 100644 ---- a/tests/wscript -+++ b/tests/wscript -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python3 - # encoding: utf-8 - - test_programs = { -diff --git a/waf b/waf -index a2efc852..845fba5e 100755 ---- a/waf -+++ b/waf -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # encoding: latin-1 - # Thomas Nagy, 2005-2018 - # -diff --git a/wscript b/wscript -index 5e8485e6..7e48f750 100644 ---- a/wscript -+++ b/wscript -@@ -1,4 +1,4 @@ --#! /usr/bin/env python -+#! /usr/bin/python3 - # encoding: utf-8 - from __future__ import print_function - diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 10ecd8b..455f01d 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -10,25 +10,21 @@ Summary: The Jack Audio Connection Kit Name: jack-audio-connection-kit -Version: 1.9.13 -Release: 3%{?dist} +Version: 1.9.14 +Release: 1%{?dist} # The entire source (~500 files) is a mixture of these three licenses License: GPLv2 and GPLv2+ and LGPLv2+ URL: http://www.jackaudio.org -Source0: https://github.com/jackaudio/jack2/releases/download/v%{version}/jack2-%{version}.tar.gz +Source0: https://github.com/jackaudio/jack2/releases/download/v%{version}/v%{version}.tar.gz#/jack2-%{version}.tar.gz Source1: %{name}-README.Fedora Source2: %{name}-script.pa Source3: %{name}-limits.conf +# Generate this file in the GIT repo by running ./svnversion_regenerate.sh svnversion.h +Source4: svnversion.h # Patch doxygen documentation Patch0: %{name}-doxygen.patch # Adjust default priority. RHBZ#795094 Patch1: jack-realtime-compat.patch -# Proper Python2 shebangs -Patch2: %{name}-python-shebang.patch -# Catch exception by reference, patch sent upstream https://github.com/jackaudio/jack2/pull/511 -Patch3: %{name}-catchbyreference.patch -# Fix compilation on arm, patch sent upstream https://github.com/jackaudio/jack2/pull/512 -Patch4: %{name}-arm.patch BuildRequires: alsa-lib-devel BuildRequires: dbus-devel @@ -89,6 +85,7 @@ Small example clients that use the Jack Audio Connection Kit. %autosetup -p1 -n jack2-%{version} %build +cp -p %{SOURCE4} . %set_build_flags export PREFIX=%{_prefix} python3 ./waf configure \ @@ -231,6 +228,9 @@ exit 0 %changelog +* Fri Dec 06 2019 Guido Aulisi - 1.9.14-1 +- Update to 1.9.14 + * Tue Oct 29 2019 Jan Beran - 1.9.13-3 - Do not use libffado if building flatpak diff --git a/sources b/sources index 3667d70..afb7353 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (jack2-1.9.13.tar.gz) = dd83a6535cf92a3c45b5ed31edda5f1cb4a6c1db2ac683d4ea709e226bc30d55b366ce80ee543dfaa600f871079f3754e9314124093e230dc7deeceb828de8aa +SHA512 (jack2-1.9.14.tar.gz) = ca9738fd5aadcb7e125f98a358437905959afebe0b792cab316fc31410e89ea3aefdb85154792a9d0a80fa988aa7eff379ff5c7ac6c4bfa1d57ad3d7de7b5fdd diff --git a/svnversion.h b/svnversion.h new file mode 100644 index 0000000..ef1dfbb --- /dev/null +++ b/svnversion.h @@ -0,0 +1 @@ +#define SVN_VERSION "0+b54a09bf7ef760d81fdb8544ad10e45575394624" From 4f43d426b913bee690e4a6d6e24e4acfe9d1a037 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jan 2020 05:47:54 +0000 Subject: [PATCH 07/10] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- jack-audio-connection-kit.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 455f01d..4a40c36 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -11,7 +11,7 @@ Summary: The Jack Audio Connection Kit Name: jack-audio-connection-kit Version: 1.9.14 -Release: 1%{?dist} +Release: 2%{?dist} # The entire source (~500 files) is a mixture of these three licenses License: GPLv2 and GPLv2+ and LGPLv2+ URL: http://www.jackaudio.org @@ -228,6 +228,9 @@ exit 0 %changelog +* Wed Jan 29 2020 Fedora Release Engineering - 1.9.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Fri Dec 06 2019 Guido Aulisi - 1.9.14-1 - Update to 1.9.14 From 99fdcb7d11ea56ec6652ee41e42eb48e6d14726f Mon Sep 17 00:00:00 2001 From: Bruno Vernay Date: Thu, 19 Mar 2020 20:59:21 +0000 Subject: [PATCH 08/10] Uses HTTPS URL --- jack-audio-connection-kit.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 4a40c36..9fd4d24 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -14,7 +14,7 @@ Version: 1.9.14 Release: 2%{?dist} # The entire source (~500 files) is a mixture of these three licenses License: GPLv2 and GPLv2+ and LGPLv2+ -URL: http://www.jackaudio.org +URL: https://www.jackaudio.org Source0: https://github.com/jackaudio/jack2/releases/download/v%{version}/v%{version}.tar.gz#/jack2-%{version}.tar.gz Source1: %{name}-README.Fedora Source2: %{name}-script.pa From 82bd5d2e0ced9591119ceaf82dc6ef36983cb13e Mon Sep 17 00:00:00 2001 From: Bruno Vernay Date: Thu, 19 Mar 2020 21:07:01 +0000 Subject: [PATCH 09/10] Add support for Jack properties Add support for BerkeleyDB as it is required for Jack properties to work (Aliases are deprecated in Jack) --- jack-audio-connection-kit.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index 9fd4d24..e5135ae 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -11,7 +11,7 @@ Summary: The Jack Audio Connection Kit Name: jack-audio-connection-kit Version: 1.9.14 -Release: 2%{?dist} +Release: 3%{?dist} # The entire source (~500 files) is a mixture of these three licenses License: GPLv2 and GPLv2+ and LGPLv2+ URL: https://www.jackaudio.org @@ -28,6 +28,7 @@ Patch1: jack-realtime-compat.patch BuildRequires: alsa-lib-devel BuildRequires: dbus-devel +BuildRequires: libdb-devel BuildRequires: doxygen BuildRequires: expat-devel BuildRequires: gcc-c++ @@ -93,6 +94,7 @@ python3 ./waf configure \ --libdir=%{_libdir} \ --doxygen \ --dbus \ + --db \ --classic \ %ifnarch s390 s390x %if !0%{?bootstrap} && !0%{?flatpak} @@ -228,6 +230,9 @@ exit 0 %changelog +* Sat Mar 21 2020 Bruno Vernay - 1.9.14-3 +- Add Berkley DB support for Jack properties + * Wed Jan 29 2020 Fedora Release Engineering - 1.9.14-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 23d63e1522a6a914fce0ee1055e8e98bdd5827fe Mon Sep 17 00:00:00 2001 From: Bruno Vernay Date: Sun, 22 Mar 2020 09:23:22 +0000 Subject: [PATCH 10/10] Avoid Berkeley DB version with new AGPL licence --- jack-audio-connection-kit.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jack-audio-connection-kit.spec b/jack-audio-connection-kit.spec index e5135ae..9aef60b 100644 --- a/jack-audio-connection-kit.spec +++ b/jack-audio-connection-kit.spec @@ -28,7 +28,8 @@ Patch1: jack-realtime-compat.patch BuildRequires: alsa-lib-devel BuildRequires: dbus-devel -BuildRequires: libdb-devel +# Berkeley DB v6 new licence (AGPLv3) is incompatible with GPLv2. https://en.wikipedia.org/wiki/Berkeley_DB#Licensing +BuildRequires: libdb-devel < 6.0.20 BuildRequires: doxygen BuildRequires: expat-devel BuildRequires: gcc-c++