diff --git a/.gitignore b/.gitignore index 456f069..d6577cf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1 @@ a2jmidid-6.tar.bz2 -/a2jmidid-7.tar.bz2 -/a2jmidid-8.tar.bz2 -/a2jmidid-9.tar.gz diff --git a/a2jmidid-add-riscv64-support.patch b/a2jmidid-add-riscv64-support.patch deleted file mode 100644 index 2b9e2ed..0000000 --- a/a2jmidid-add-riscv64-support.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2c3fbef6854743416d95d85b1565dde51668488c Mon Sep 17 00:00:00 2001 -From: Heinrich Schuchardt -Date: Fri, 1 Oct 2021 16:15:29 +0200 -Subject: [PATCH] sigsegv: enable RISC-V build -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Avoid build error - -../sigsegv.c:104:39: error: ‘mcontext_t’ has no member named ‘gregs’; -did you mean ‘__gregs’? - 104 | ucontext->uc_mcontext.gregs[i] - | ^~~~~ - -Signed-off-by: Heinrich Schuchardt ---- - sigsegv.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/sigsegv.c b/sigsegv.c -index fb4456e..6930185 100644 ---- a/sigsegv.c -+++ b/sigsegv.c -@@ -91,7 +91,9 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { - 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__) && !defined(__aarch64__) -+#if !defined(__alpha__) && !defined(__ia64__) && \ -+ !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && \ -+ !defined(__sh__) && !defined(__aarch64__) && !defined(__riscv) - for(i = 0; i < NGREG; i++) - a2j_error("reg[%02d] = 0x" REGFORMAT, i, - #if defined(__powerpc__) && !defined(__powerpc64__) -@@ -108,7 +110,7 @@ static void signal_segv(int signum, siginfo_t* info, void*ptr) { - ucontext->uc_mcontext.gregs[i] - #endif - ); --#endif /* alpha, ia64, kFreeBSD, arm, hppa, aarch64 */ -+#endif /* alpha, ia64, kFreeBSD, arm, hppa, aarch64, riscv */ - - #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64) - # if defined(SIGSEGV_STACK_IA64) diff --git a/a2jmidid-linking.patch b/a2jmidid-linking.patch new file mode 100644 index 0000000..c99c906 --- /dev/null +++ b/a2jmidid-linking.patch @@ -0,0 +1,11 @@ +diff -rupN a2jmidid-6.old/wscript a2jmidid-6/wscript +--- a2jmidid-6.old/wscript 2009-12-06 19:53:25.000000000 -0500 ++++ a2jmidid-6/wscript 2010-05-19 13:13:20.000000000 -0400 +@@ -130,6 +130,7 @@ def build(bld): + prog.includes = '.' # make waf dependency tracking work + prog.target = 'a2jmidid' + prog.uselib = 'ALSA JACK DBUS-1' ++ prog.env.append_value("LINKFLAGS", "-ldl") + + prog = bld.create_obj('cc', 'program') + prog.source = 'a2jmidi_bridge.c' diff --git a/a2jmidid-man.patch b/a2jmidid-man.patch deleted file mode 100644 index f536a66..0000000 --- a/a2jmidid-man.patch +++ /dev/null @@ -1,49 +0,0 @@ -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 deleted file mode 100644 index 06c7368..0000000 --- a/a2jmidid-portname.patch +++ /dev/null @@ -1,17 +0,0 @@ -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.spec b/a2jmidid.spec index 938ee27..95217c9 100644 --- a/a2jmidid.spec +++ b/a2jmidid.spec @@ -1,30 +1,24 @@ Summary: Daemon for exposing ALSA sequencer applications in JACK MIDI system Name: a2jmidid -Version: 9 -Release: 19%{?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 -Patch2: %{name}-add-riscv64-support.patch - +Version: 6 +Release: 3%{?dist} +URL: http://home.gna.org/a2jmidid/ +Source0: http://download.gna.org/%{name}/%{name}-%{version}.tar.bz2 +# Fix DSO linking error +# https://gna.org/support/index.php?2547 +Patch0: a2jmidid-linking.patch # a2jmidi_bridge.c and j2amidi_bridge.c are GPLv2+ # The rest is GPLv2 -# Automatically converted from old format: GPLv2 and GPLv2+ - review is highly recommended. -License: GPL-2.0-only AND GPL-2.0-or-later +License: GPLv2 and GPLv2+ +Group: Applications/Multimedia +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: alsa-lib-devel BuildRequires: dbus-devel -BuildRequires: gcc -%if 0%{?fedora} || 0%{?rhel} >= 9 -BuildRequires: pipewire-jack-audio-connection-kit-devel -%else BuildRequires: jack-audio-connection-kit-devel -%endif -BuildRequires: meson +BuildRequires: python Requires: dbus -Requires: python3 + %description a2jmidid is a project that aims to ease usage of legacy ALSA sequencer @@ -39,164 +33,33 @@ 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 -%autosetup -p1 - -# Fix Python shebangs -sed -i 's|^#!/usr/bin/env python3|#!/usr/bin/python3|' a2j_control +%setup -q +%patch0 -p1 -b .linking %build -%meson -%meson_build +export CFLAGS="%{optflags}" +./waf configure --prefix=%{_prefix} \ + --enable-pkg-config-dbus-service-dir +./waf %{?_smp_mflags} -v %install -%meson_install +rm -fr %{buildroot} +./waf --destdir=%{buildroot} -v install + +%clean +rm -fr %{buildroot} %files -%doc AUTHORS.rst README.rst CHANGELOG.rst -%license LICENSE +%defattr(-,root,root,-) +%doc AUTHORS README gpl2.txt NEWS %{_bindir}/a2j %{_bindir}/%{name} %{_bindir}/a2j_control %{_bindir}/a2jmidi_bridge %{_bindir}/j2amidi_bridge %{_datadir}/dbus-1/services/org.gna.home.a2jmidid.service -%{_mandir}/man1/a2j* -%{_mandir}/man1/j2a* %changelog -* Fri Jan 16 2026 Fedora Release Engineering - 9-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Wed Jul 23 2025 Fedora Release Engineering - 9-18 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Mar 27 2025 Davide Cavalca - 9-17 -- Switch to pipewire-jack-audio-connection-kit-devel where available - -* Thu Jan 16 2025 Fedora Release Engineering - 9-16 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Aug 07 2024 Miroslav Suchý - 9-15 -- convert license to SPDX - -* Wed Jul 17 2024 Fedora Release Engineering - 9-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 9-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 9-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Oct 06 2023 Songsong Zhang - 9-11 -- Add riscv64 patch from https://github.com/jackaudio/a2jmidid/pull/18 - -* Wed Jul 19 2023 Fedora Release Engineering - 9-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 9-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 9-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 9-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 9-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Mon Jan 25 2021 Fedora Release Engineering - 9-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jul 31 2020 Fedora Release Engineering - 9-4 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 9-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 9-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* 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 - -* Thu Jan 31 2019 Fedora Release Engineering - 8-19 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 19 2018 Orcan Ogetbil - 8-18 -- Use Fedora link flags -- BR: gcc -- Moved license file to %%license -- Fix Python shebangs - -* Thu Jul 12 2018 Fedora Release Engineering - 8-17 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Feb 28 2018 Iryna Shcherbina - 8-16 -- Update Python 2 dependency declarations to new packaging standards - (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) - -* Wed Feb 07 2018 Fedora Release Engineering - 8-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Wed Aug 02 2017 Fedora Release Engineering - 8-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 8-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Thu Feb 16 2017 Orcan Ogetbil - 8-12 -- Add patch to fix build on ppc64* - -* Fri Feb 10 2017 Fedora Release Engineering - 8-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Feb 03 2016 Fedora Release Engineering - 8-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jun 16 2015 Fedora Release Engineering - 8-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sun Oct 26 2014 Peter Robinson 8-8 -- Add patch to fix ftbfs on aarch64 - -* Fri Aug 15 2014 Fedora Release Engineering - 8-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Fri Jun 06 2014 Fedora Release Engineering - 8-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sat Aug 03 2013 Fedora Release Engineering - 8-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Wed Feb 13 2013 Fedora Release Engineering - 8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Sun Jan 13 2013 Brendan Jones 8-3 -- Release bump for F19 - -* Sat Sep 15 2012 Jørn Lomax - 8-2 -- added patch for man pages - -* Mon Jul 09 2012 Orcan Ogetbil - 8-1 -- Update to 8. - -* Thu Jan 12 2012 Fedora Release Engineering - 7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Mon Feb 07 2011 Fedora Release Engineering - 7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Wed Jan 26 2011 Orcan Ogetbil - 7-1 -- Update to 7. -- Drop upstreamed patches. - * Fri Jul 16 2010 Orcan Ogetbil - 6-3 - Fix license tag diff --git a/sources b/sources index e40c361..d65bf34 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (a2jmidid-9.tar.gz) = 5bd13b6904ed68c5bfe40ca516fd49b7eb4d4a946b9908ee04687265848734c8e1a81579f0f1a5bd0752595be8858dc748da10487b7f366394c09a5ffc7d5e5c +461969bc19a5331e9e81441c6431ef20 a2jmidid-6.tar.bz2