diff --git a/.gitignore b/.gitignore index 3aaf6fd..456f069 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ a2jmidid-6.tar.bz2 /a2jmidid-7.tar.bz2 /a2jmidid-8.tar.bz2 +/a2jmidid-9.tar.gz diff --git a/a2jmidid-aarch64.patch b/a2jmidid-aarch64.patch deleted file mode 100644 index 7e16fe2..0000000 --- a/a2jmidid-aarch64.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a2jmidid-8/sigsegv.c.orig 2014-10-27 00:55:18.105347411 +0000 -+++ a2jmidid-8/sigsegv.c 2014-10-27 00:56:07.209296207 +0000 -@@ -91,7 +91,7 @@ - a2j_error("info.si_errno = %d", info->si_errno); - a2j_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]); - a2j_error("info.si_addr = %p", info->si_addr); --#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) -+#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__) - for(i = 0; i < NGREG; i++) - a2j_error("reg[%02d] = 0x" REGFORMAT, i, - #if defined(__powerpc__) -@@ -102,7 +102,7 @@ - ucontext->uc_mcontext.gregs[i] - #endif - ); --#endif /* alpha, ia64, kFreeBSD, arm, hppa */ -+#endif /* alpha, ia64, kFreeBSD, arm, hppa, aarch64 */ - - #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) - # if defined(SIGSEGV_STACK_IA64) diff --git a/a2jmidid-linking.patch b/a2jmidid-linking.patch deleted file mode 100644 index 15a3758..0000000 --- a/a2jmidid-linking.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -rupN a2jmidid-8.old/wscript a2jmidid-8/wscript ---- a2jmidid-8.old/wscript 2012-07-04 21:14:23.000000000 -0400 -+++ a2jmidid-8/wscript 2012-07-09 22:38:36.474015629 -0400 -@@ -67,6 +67,7 @@ def configure(conf): - conf.env['DBUS_ENABLED'] = False - - conf.env['LIB_DL'] = ['dl'] -+ conf.env['LIB_PTHREAD'] = ['pthread'] - - #conf.check_header('expat.h', mandatory=True) - #conf.env['LIB_EXPAT'] = ['expat'] -@@ -152,7 +153,7 @@ def build(bld): - - prog.includes = '.' # make waf dependency tracking work - prog.target = 'a2jmidid' -- prog.uselib = 'ALSA JACK DL' -+ prog.uselib = 'ALSA JACK DL PTHREAD' - if bld.env()['DBUS_ENABLED']: - prog.uselib += " DBUS-1" - prog = bld.create_obj('cc', 'program') diff --git a/a2jmidid-man.patch b/a2jmidid-man.patch index a6b08e4..f536a66 100644 --- a/a2jmidid-man.patch +++ b/a2jmidid-man.patch @@ -1,19 +1,49 @@ -diff -Nurp a2jmidid/man/a2jmidid.1 a2jmidid.orig/man/a2jmidid.1 ---- a2jmidid/man/a2jmidid.1 2012-09-15 11:25:31.661714067 +0200 -+++ a2jmidid.orig/man/a2jmidid.1 2012-09-15 11:31:29.273764443 +0200 -@@ -19,13 +19,13 @@ specifies which jack-server to use - .SH NOTES - ALSA does not guarantee client names to by unique. I.e. it is possible - to have two apps that create two clients with same ALSA client name. --JACK however requires port names to be unqiue. To ensure this uniqueness, -+JACK however requires port names to be unique. To ensure this uniqueness, - a2jmidid will add the unique numeric ALSA client ID to the JACK port name. - However this behaviour is known to be problematic when restoring - connections using simplistic tools like aj\-snapshot and jack_connect. - In order to make them work, the -u option can be used. This option will - cause a2jmidid to omit the numeric ALSA Client ID from JACK port names. --In this mode, ALSA client name uniqueness must be guartanteed externally. -+In this mode, ALSA client name uniqueness must be guaranteed externally. - - .SH AUTHOR - Eric Hedekar +diff --git a/man/a2jmidi_bridge.1 b/man/a2jmidi_bridge.1 +index c4c358d..e3a4af8 100644 +--- a/man/a2jmidi_bridge.1 ++++ b/man/a2jmidi_bridge.1 +@@ -5,7 +5,7 @@ a2jmidi_bridge \- static bridge with one ALSA playback port and one JACK MIDI in + .SH SYNOPSIS + .B a2jmidi_bridge [NAME] + .SH DESCRIPTION +-A single, static, one-way bridge from legacy ALSA MIDI to JACK MIDI. Mostly useful for those needing a steady bridge rather than an active briding daemon such as a2jmidid. Multiple instances of this can be run simultaneously. ++A single, static, one-way bridge from legacy ALSA MIDI to JACK MIDI. Mostly useful for those needing a steady bridge rather than an active bridging daemon such as a2jmidid. Multiple instances of this can be run simultaneously. + .SH OPTIONS + .IP NAME + names the given bridge with the name provided +@@ -15,4 +15,3 @@ Eric Hedekar + .BR a2jmidid (1), + .BR a2j_control (1), + .BR j2amidi_bridge (1) +- +diff --git a/man/a2jmidid.1 b/man/a2jmidid.1 +index d4b4bf5..432e0a5 100644 +--- a/man/a2jmidid.1 ++++ b/man/a2jmidid.1 +@@ -6,7 +6,7 @@ a2jmidid \- JACK MIDI daemon for ALSA MIDI + .B a2jmidid [-j jack-server] [e | --export-hw] + .SH DESCRIPTION + a2jmidid is a daemon that implements automatic bridging. For every ALSA +-sequencer port you get one jack midi port. If ALSA sequencer port is ++sequencer port you get one JACK midi port. If ALSA sequencer port is + both input and output one, you get two JACK MIDI ports, one input and + output. + .SH OPTIONS +diff --git a/man/j2amidi_bridge.1 b/man/j2amidi_bridge.1 +index e2f2ce0..8c4bcbd 100644 +--- a/man/j2amidi_bridge.1 ++++ b/man/j2amidi_bridge.1 +@@ -5,7 +5,7 @@ j2amidi_bridge \- static bridge with one ALSA input port and one JACK MIDI outpu + .SH SYNOPSIS + .B j2amidi_bridge [NAME] + .SH DESCRIPTION +-A single, static, one-way bridge from JACK MIDI to legacy ALSA MIDI. Mostly useful for those needing a steady bridge rather than an active briding daemon such as a2jmidid. Multiple instances of this can be run simultaneously. ++A single, static, one-way bridge from JACK MIDI to legacy ALSA MIDI. Mostly useful for those needing a steady bridge rather than an active bridging daemon such as a2jmidid. Multiple instances of this can be run simultaneously. + .SH OPTIONS + .IP NAME + names the given bridge with the name provided +@@ -15,4 +15,3 @@ Eric Hedekar + .BR a2jmidid (1), + .BR a2j_control (1), + .BR a2jmidi_bridge (1) +- diff --git a/a2jmidid-portname.patch b/a2jmidid-portname.patch new file mode 100644 index 0000000..06c7368 --- /dev/null +++ b/a2jmidid-portname.patch @@ -0,0 +1,17 @@ +diff --git a/port.c b/port.c +index 3a7c41e..523fae2 100644 +--- a/port.c ++++ b/port.c +@@ -116,10 +116,11 @@ a2j_port_fill_name( + ret = snprintf( + port_ptr->name, + g_max_jack_port_name_size, +- "%s [%d] (%s): %s", ++ "%s [%d] (%s): [%d] %s", + snd_seq_client_info_get_name(client_info_ptr), + snd_seq_client_info_get_client(client_info_ptr), + type == A2J_PORT_CAPTURE ? "capture": "playback", ++ snd_seq_port_info_get_port(port_info_ptr), + snd_seq_port_info_get_name(port_info_ptr)); + } + else diff --git a/a2jmidid-ppc64.patch b/a2jmidid-ppc64.patch deleted file mode 100644 index d2dfc6d..0000000 --- a/a2jmidid-ppc64.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -rupN a2jmidid-8.org/sigsegv.c a2jmidid-8/sigsegv.c ---- a2jmidid-8.org/sigsegv.c 2017-02-16 00:53:09.585594069 -0500 -+++ a2jmidid-8/sigsegv.c 2017-02-16 00:54:33.498225062 -0500 -@@ -94,8 +94,10 @@ static void signal_segv(int signum, sigi - #if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__) && !defined(__aarch64__) - for(i = 0; i < NGREG; i++) - a2j_error("reg[%02d] = 0x" REGFORMAT, i, --#if defined(__powerpc__) -+#if defined(__powerpc__) && !defined(__powerpc64__) - ucontext->uc_mcontext.uc_regs[i] -+#elif defined(__powerpc64__) -+ ucontext->uc_mcontext.gp_regs[i] - #elif defined(__sparc__) && defined(__arch64__) - ucontext->uc_mcontext.mc_gregs[i] - #else diff --git a/a2jmidid.spec b/a2jmidid.spec index 90e43db..b2851a3 100644 --- a/a2jmidid.spec +++ b/a2jmidid.spec @@ -1,25 +1,24 @@ Summary: Daemon for exposing ALSA sequencer applications in JACK MIDI system Name: a2jmidid -Version: 8 -Release: 20%{?dist} -URL: http://home.gna.org/a2jmidid/ -Source0: http://download.gna.org/%{name}/%{name}-%{version}.tar.bz2 +Version: 9 +Release: 1%{?dist} +URL: https://github.com/linuxaudio/a2jmidid +Source0: https://github.com/linuxaudio/a2jmidid/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# Backported from upstream +Patch0: %{name}-man.patch +Patch1: %{name}-portname.patch + # a2jmidi_bridge.c and j2amidi_bridge.c are GPLv2+ # The rest is GPLv2 -# Fix DSO linking: https://gna.org/support/index.php?2934 -Patch0: a2jmidid-linking.patch -Patch1: a2jmidid-man.patch -Patch2: a2jmidid-aarch64.patch -Patch3: a2jmidid-ppc64.patch License: GPLv2 and GPLv2+ BuildRequires: alsa-lib-devel BuildRequires: dbus-devel BuildRequires: gcc BuildRequires: jack-audio-connection-kit-devel -BuildRequires: python2 +BuildRequires: meson Requires: dbus - +Requires: python3 %description a2jmidid is a project that aims to ease usage of legacy ALSA sequencer @@ -34,28 +33,21 @@ The second approach is to static bridges. You start application that creates one ALSA sequencer port and one JACK MIDI port. Such bridge is unidirectional. %prep -%setup -q -%patch0 -p1 -b .dso.linking -%patch1 -p1 -b .man -%patch2 -p1 -b .aarch64 -%patch3 -p1 -b .ppc64 +%autosetup -p1 # Fix Python shebangs -sed -i 's|/usr/bin/.*python$|/usr/bin/python2|' a2j_control waf wscript +sed -i 's|^#!/usr/bin/env python3|#!/usr/bin/python3|' a2j_control %build -export CFLAGS="%{optflags}" -export LINKFLAGS="$RPM_LD_FLAGS" -./waf configure --prefix=%{_prefix} \ - --enable-pkg-config-dbus-service-dir -./waf %{?_smp_mflags} -v +%meson +%meson_build %install -./waf --destdir=%{buildroot} -v install +%meson_install %files -%doc AUTHORS README NEWS -%license gpl2.txt +%doc AUTHORS.rst README.rst CHANGELOG.rst +%license LICENSE %{_bindir}/a2j %{_bindir}/%{name} %{_bindir}/a2j_control @@ -66,6 +58,10 @@ export LINKFLAGS="$RPM_LD_FLAGS" %{_mandir}/man1/j2a* %changelog +* Thu Sep 26 2019 Guido Aulisi - 9-1 +- Update to version 9 +- New upstream + * Wed Jul 24 2019 Fedora Release Engineering - 8-20 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index dc65b7e..e40c361 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9cf4edbc3ad2ddeeaf6c8c1791ff3ddd a2jmidid-8.tar.bz2 +SHA512 (a2jmidid-9.tar.gz) = 5bd13b6904ed68c5bfe40ca516fd49b7eb4d4a946b9908ee04687265848734c8e1a81579f0f1a5bd0752595be8858dc748da10487b7f366394c09a5ffc7d5e5c