Compare commits
20 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8022010cee | ||
|
|
0e08c1f334 | ||
|
|
6698953808 | ||
|
|
5f8bf1c356 | ||
|
|
7cd13a6795 | ||
|
|
2393a352a6 | ||
|
|
51f3baa960 | ||
|
|
0b2713db0e | ||
|
|
dc9e2f2103 | ||
|
|
3677f1e245 | ||
|
|
95aef9386d | ||
|
|
a257d27363 | ||
|
|
deff62a784 | ||
|
|
5fcf626ea0 | ||
|
|
c587cda8fe | ||
|
|
9f1241cc6c | ||
|
|
b9239690f5 | ||
|
|
5819615ec6 | ||
|
|
17c0f46bf3 | ||
|
|
baa61a9456 |
9 changed files with 195 additions and 101 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1,3 +1,4 @@
|
|||
a2jmidid-6.tar.bz2
|
||||
/a2jmidid-7.tar.bz2
|
||||
/a2jmidid-8.tar.bz2
|
||||
/a2jmidid-9.tar.gz
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
44
a2jmidid-add-riscv64-support.patch
Normal file
44
a2jmidid-add-riscv64-support.patch
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
From 2c3fbef6854743416d95d85b1565dde51668488c Mon Sep 17 00:00:00 2001
|
||||
From: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
|
||||
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 <heinrich.schuchardt@canonical.com>
|
||||
---
|
||||
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)
|
||||
|
|
@ -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')
|
||||
|
|
@ -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 <after the beep at g mail dot nospam com>
|
||||
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 <after the beep at g mail dot nospam com>
|
||||
.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 <after the beep at g mail dot nospam com>
|
||||
.BR a2jmidid (1),
|
||||
.BR a2j_control (1),
|
||||
.BR a2jmidi_bridge (1)
|
||||
-
|
||||
|
|
|
|||
17
a2jmidid-portname.patch
Normal file
17
a2jmidid-portname.patch
Normal file
|
|
@ -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
|
||||
|
|
@ -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
|
||||
109
a2jmidid.spec
109
a2jmidid.spec
|
|
@ -1,25 +1,30 @@
|
|||
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: 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
|
||||
|
||||
# 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+
|
||||
# Automatically converted from old format: GPLv2 and GPLv2+ - review is highly recommended.
|
||||
License: GPL-2.0-only AND GPL-2.0-or-later
|
||||
|
||||
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
|
||||
BuildRequires: python2
|
||||
%endif
|
||||
BuildRequires: meson
|
||||
Requires: dbus
|
||||
|
||||
Requires: python3
|
||||
|
||||
%description
|
||||
a2jmidid is a project that aims to ease usage of legacy ALSA sequencer
|
||||
|
|
@ -34,28 +39,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 +64,65 @@ export LINKFLAGS="$RPM_LD_FLAGS"
|
|||
%{_mandir}/man1/j2a*
|
||||
|
||||
%changelog
|
||||
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 9-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Thu Mar 27 2025 Davide Cavalca <dcavalca@fedoraproject.org> - 9-17
|
||||
- Switch to pipewire-jack-audio-connection-kit-devel where available
|
||||
|
||||
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 9-16
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Wed Aug 07 2024 Miroslav Suchý <msuchy@redhat.com> - 9-15
|
||||
- convert license to SPDX
|
||||
|
||||
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 9-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Oct 06 2023 Songsong Zhang <U2FsdGVkX1@gmail.com> - 9-11
|
||||
- Add riscv64 patch from https://github.com/jackaudio/a2jmidid/pull/18
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 9-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 9-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Jan 25 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9-4
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Sep 26 2019 Guido Aulisi <guido.aulisi@gmail.com> - 9-1
|
||||
- Update to version 9
|
||||
- New upstream
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
9cf4edbc3ad2ddeeaf6c8c1791ff3ddd a2jmidid-8.tar.bz2
|
||||
SHA512 (a2jmidid-9.tar.gz) = 5bd13b6904ed68c5bfe40ca516fd49b7eb4d4a946b9908ee04687265848734c8e1a81579f0f1a5bd0752595be8858dc748da10487b7f366394c09a5ffc7d5e5c
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue