summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2024-11-12 23:14:30 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2024-11-12 23:19:29 +0100
commitfa2b7726a5df2c40d68670d009f0c740cc923307 (patch)
tree11936e59d78b3cbc47198715c84f85ae2d09defe /media-sound/aseqview
parentmedia-libs/libwebp: drop 1.3.2 (diff)
downloadgentoo-fa2b7726a5df2c40d68670d009f0c740cc923307.tar.gz
gentoo-fa2b7726a5df2c40d68670d009f0c740cc923307.tar.bz2
gentoo-fa2b7726a5df2c40d68670d009f0c740cc923307.zip
media-sound/aseqview: buildsys, build warnings, segfault fixes
Bug: https://bugs.gentoo.org/844028 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'media-sound/aseqview')
-rw-r--r--media-sound/aseqview/aseqview-0.2.8-r3.ebuild42
-rw-r--r--media-sound/aseqview/files/aseqview-0.2.8-automake.patch18
-rw-r--r--media-sound/aseqview/files/aseqview-0.2.8-configure-quotes.patch25
-rw-r--r--media-sound/aseqview/files/aseqview-0.2.8-fix-eautoreconf.patch15
-rw-r--r--media-sound/aseqview/files/aseqview-0.2.8-gcc14.patch176
-rw-r--r--media-sound/aseqview/files/aseqview-0.2.8-mv-configure.ac.patch57
-rw-r--r--media-sound/aseqview/files/aseqview-0.2.8-piano-segfault.patch42
7 files changed, 375 insertions, 0 deletions
diff --git a/media-sound/aseqview/aseqview-0.2.8-r3.ebuild b/media-sound/aseqview/aseqview-0.2.8-r3.ebuild
new file mode 100644
index 000000000000..1459f244f0f1
--- /dev/null
+++ b/media-sound/aseqview/aseqview-0.2.8-r3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="ALSA sequencer event viewer/filter"
+HOMEPAGE="https://github.com/tiwai/aseqview"
+SRC_URI="https://ftp.suse.com/pub/people/tiwai/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+RDEPEND="
+ media-libs/alsa-lib
+ net-libs/libpcap
+ x11-libs/gtk+:2
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ # upstream git master
+ "${FILESDIR}"/${P}-fix-eautoreconf.patch
+ "${FILESDIR}"/${P}-automake.patch
+ "${FILESDIR}"/${P}-configure-quotes.patch
+ "${FILESDIR}"/${P}-piano-segfault.patch # bug 844028
+ "${FILESDIR}"/${P}-gcc14.patch
+ # downstream patch
+ "${FILESDIR}"/${P}-mv-configure.ac.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-alsatest --enable-gtk2
+}
diff --git a/media-sound/aseqview/files/aseqview-0.2.8-automake.patch b/media-sound/aseqview/files/aseqview-0.2.8-automake.patch
new file mode 100644
index 000000000000..1764d7b7ae5d
--- /dev/null
+++ b/media-sound/aseqview/files/aseqview-0.2.8-automake.patch
@@ -0,0 +1,18 @@
+From 818b95ed3eaf8deb92c5e590315342932508bcb6 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 21 Aug 2007 18:32:51 +0200
+Subject: [PATCH] Add AUTOMAKE_OPTIONS to make autoreconf happy
+
+---
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index 02386b6..6c9d27f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -32,3 +32,4 @@ EXTRA_DIST = \
+
+ CONFIG_CLEAN_FILES = etc/aseqview.spec
+
++AUTOMAKE_OPTIONS = foreign
diff --git a/media-sound/aseqview/files/aseqview-0.2.8-configure-quotes.patch b/media-sound/aseqview/files/aseqview-0.2.8-configure-quotes.patch
new file mode 100644
index 000000000000..20efb01a9ebe
--- /dev/null
+++ b/media-sound/aseqview/files/aseqview-0.2.8-configure-quotes.patch
@@ -0,0 +1,25 @@
+From b31044aeddd0b406ddbc262f20a4f069baf26783 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 25 Jun 2021 10:19:39 +0200
+Subject: [PATCH] Fix quote in configure.in
+
+---
+ configure.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index e125908..4b6907f 100644
+--- a/configure.in
++++ b/configure.in
+@@ -12,9 +12,9 @@ AC_C_INLINE
+
+ AH_TEMPLATE([HAVE_LIBCAP], [Hey, we have libcap])
+ AC_CHECK_HEADER(sys/capability.h,
+- AC_CHECK_LIB(cap, cap_get_proc,
++ [AC_CHECK_LIB(cap, cap_get_proc,
+ [AC_DEFINE(HAVE_LIBCAP)
+- LIBS="$LIBS -lcap"]))
++ LIBS="$LIBS -lcap"])])
+
+ AM_PATH_ALSA(0.5.0)
+ AC_CHECK_HEADERS(alsa/asoundlib.h)
diff --git a/media-sound/aseqview/files/aseqview-0.2.8-fix-eautoreconf.patch b/media-sound/aseqview/files/aseqview-0.2.8-fix-eautoreconf.patch
new file mode 100644
index 000000000000..71bad90637f7
--- /dev/null
+++ b/media-sound/aseqview/files/aseqview-0.2.8-fix-eautoreconf.patch
@@ -0,0 +1,15 @@
+---
+ configure.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/configure.in
++++ b/configure.in
+@@ -26,7 +26,7 @@ AC_ARG_ENABLE(gtk2,
+ if test $use_gtk2 = "yes"; then
+ PKG_CHECK_MODULES(ASEQVIEW, gtk+-2.0)
+ else
+- AM_PATH_GTK(1.2.0, , AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?))
++ dnl AM_PATH_GTK(1.2.0, , AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?))
+ ASEQVIEW_CFLAGS="$CFLAGS $ALSA_CFLAGS $GTK_CFLAGS"
+ ASEQVIEW_LIBS="$LIBS $ALSA_LIBS $GTK_LIBS"
+ AC_SUBST(ASEQVIEW_CFLAGS)
diff --git a/media-sound/aseqview/files/aseqview-0.2.8-gcc14.patch b/media-sound/aseqview/files/aseqview-0.2.8-gcc14.patch
new file mode 100644
index 000000000000..a08a439ee2c4
--- /dev/null
+++ b/media-sound/aseqview/files/aseqview-0.2.8-gcc14.patch
@@ -0,0 +1,176 @@
+From bebad6475fe3b9fd0c794c1862c53ec9453b5607 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 21 Aug 2024 17:34:52 +0200
+Subject: [PATCH] Fix gcc14 build errors and warnings
+
+Some trivial fixes covering the compile errors and warnings:
+- include missing pthread.h
+- align to char * for all bitmap data
+- put parentheses around operations
+- drop unused variable and function declarations
+---
+ aseqview.c | 18 +++++++++---------
+ bitmaps/gm.xbm | 2 +-
+ bitmaps/gm2.xbm | 2 +-
+ bitmaps/gs.xbm | 2 +-
+ bitmaps/xg.xbm | 2 +-
+ piano.c | 7 -------
+ portlib.c | 1 +
+ 7 files changed, 14 insertions(+), 20 deletions(-)
+
+diff --git a/aseqview.c b/aseqview.c
+index 345d56d..20afcca 100644
+--- a/aseqview.c
++++ b/aseqview.c
+@@ -853,7 +853,7 @@ static int expose_temper_keysig(GtkWidget *w)
+ int y_ofs = (height - tk_height) / 2;
+
+ i = (tk == TEMPER_UNKNOWN) ? 0 : (tk + 8) % 32;
+- adj = (tk == TEMPER_UNKNOWN) ? 0 : tk + 8 & 0x20;
++ adj = (tk == TEMPER_UNKNOWN) ? 0 : (tk + 8) & 0x20;
+ p = (adj) ? st->w_tk_xpm_adj[i] : st->w_tk_xpm[i];
+ gdk_draw_pixmap(w->window, w->style->fg_gc[GTK_STATE_NORMAL], p, 0, 0,
+ x_ofs, y_ofs, tk_width, tk_height);
+@@ -873,7 +873,7 @@ static int expose_temper_type(GtkWidget *w)
+ int x_ofs = (width - tt_width) / 2;
+ int y_ofs = (height - tt_height - 6) / 2;
+
+- if (tt >= 0 && tt < 4 || tt >= 64 && tt < 68)
++ if ((tt >= 0 && tt < 4) || (tt >= 64 && tt < 68))
+ i = (tk == TEMPER_UNKNOWN) ? 0 : tt - ((tt >= 0x40) ? 0x3c : 0) + 1;
+ else
+ i = 0;
+@@ -930,9 +930,9 @@ static void suppress_temper_type(GtkToggleButton *w, midi_status_t *st)
+ continue;
+ for (i = 0; i < MIDI_CHANNELS; i++) {
+ chst = &port->ch[i], tt = chst->temper_type;
+- if (tt >= 0 && tt < 4 || tt >= 64 && tt < 68)
++ if ((tt >= 0 && tt < 4) || (tt >= 64 && tt < 68))
+ av_mute_update(chst->w_chnum, st->temper_type_mute
+- & 1 << tt - ((tt >= 0x40) ? 0x3c : 0), use_thread);
++ & (1 << (tt - (tt >= 0x40) ? 0x3c : 0)), use_thread);
+ }
+ }
+ }
+@@ -1163,7 +1163,7 @@ static void replace_event(port_t *pp,
+ snd_seq_ev_set_sysex(ev, sizeof(tk_macro), tk_macro);
+ ev->queue = st->queue;
+ process_event(pp, type, ev, &st->ports[0]);
+- } else if (tk + 8 & 0x20) {
++ } else if ((tk + 8) & 0x20) {
+ tk_macro[6] = (mi) ? 1 : 0;
+ snd_seq_ev_clear(ev);
+ snd_seq_ev_set_sysex(ev, sizeof(tk_macro), tk_macro);
+@@ -1197,7 +1197,7 @@ static void replace_event(port_t *pp,
+ && mi != (ev->data.control.value >= 64)) {
+ mi = (ev->data.control.value >= 64);
+ if (tk != TEMPER_UNKNOWN) {
+- adj = tk + 8 & 0x20;
++ adj = (tk + 8) & 0x20;
+ tk_macro[5] = (tk + 8) % 16 + 56;
+ tk_macro[6] = (mi) ? ((adj) ? 2 : 1) : ((adj) ? 3 : 0);
+ snd_seq_ev_clear(ev);
+@@ -1474,10 +1474,10 @@ static void parse_sysex(port_status_t *port,
+ tt = chst->temper_type = buf[7];
+ display_temper_type(chst->w_temper_type, in_buf);
+ if (st->temper_type_mute
+- && (tt >= 0 && tt < 4 || tt >= 64 && tt < 68))
++ && ((tt >= 0 && tt < 4) || (tt >= 64 && tt < 68)))
+ av_mute_update(chst->w_chnum,
+- st->temper_type_mute & 1 << tt
+- - ((tt >= 0x40) ? 0x3c : 0), in_buf);
++ st->temper_type_mute &
++ (1 << (tt - ((tt >= 0x40) ? 0x3c : 0))), in_buf);
+ }
+ break;
+ }
+diff --git a/bitmaps/gm.xbm b/bitmaps/gm.xbm
+index 5ebfbf8..dfe39cb 100644
+--- a/bitmaps/gm.xbm
++++ b/bitmaps/gm.xbm
+@@ -1,6 +1,6 @@
+ #define gm_width 29
+ #define gm_height 20
+-static unsigned char gm_bits[] = {
++static char gm_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0xb0, 0xcd, 0x46, 0x02, 0xa8, 0x54, 0xae, 0x02,
+ 0xb8, 0xd5, 0xea, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xf8, 0x67, 0x7f, 0x06, 0xf8, 0x6f, 0xff, 0x06, 0xd8, 0x6d, 0xe0, 0x06,
+diff --git a/bitmaps/gm2.xbm b/bitmaps/gm2.xbm
+index ec97bf9..7e5f118 100644
+--- a/bitmaps/gm2.xbm
++++ b/bitmaps/gm2.xbm
+@@ -1,6 +1,6 @@
+ #define gm2_width 29
+ #define gm2_height 20
+-static unsigned char gm2_bits[] = {
++static char gm2_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xda, 0x16, 0xc5, 0x07, 0xc9, 0xb2, 0xe5, 0x0f, 0xdb, 0xb6, 0x6d, 0x1c,
+ 0x00, 0x00, 0x60, 0x1c, 0x3f, 0xfb, 0x0c, 0x1c, 0x7f, 0xfb, 0x0d, 0x0e,
+diff --git a/bitmaps/gs.xbm b/bitmaps/gs.xbm
+index fa1ee6e..f327c01 100644
+--- a/bitmaps/gs.xbm
++++ b/bitmaps/gs.xbm
+@@ -1,6 +1,6 @@
+ #define gs_width 29
+ #define gs_height 20
+-static unsigned char gs_bits[] = {
++static char gs_bits[] = {
+ 0x80, 0xff, 0xe3, 0x07, 0xc0, 0xff, 0xf1, 0x03, 0xe0, 0xff, 0xf8, 0x01,
+ 0xf0, 0x7f, 0xfc, 0x00, 0xf8, 0x01, 0xf8, 0x01, 0xfc, 0xe0, 0xf1, 0x03,
+ 0x7e, 0xf0, 0xe3, 0x07, 0x3f, 0xf8, 0xc7, 0x0f, 0x7e, 0xfc, 0x8f, 0x1f,
+diff --git a/bitmaps/xg.xbm b/bitmaps/xg.xbm
+index 0e45011..523cfc2 100644
+--- a/bitmaps/xg.xbm
++++ b/bitmaps/xg.xbm
+@@ -1,6 +1,6 @@
+ #define xg_width 29
+ #define xg_height 20
+-static unsigned char xg_bits[] = {
++static char xg_bits[] = {
+ 0x1f, 0x80, 0xff, 0x1f, 0x3f, 0xc0, 0xff, 0x1f, 0x7e, 0xe0, 0x07, 0x10,
+ 0xfc, 0xf0, 0x03, 0x10, 0xf8, 0xf9, 0x01, 0x10, 0xf0, 0xff, 0xf0, 0x1f,
+ 0xe0, 0x7f, 0xf8, 0x1f, 0xc0, 0x3f, 0xfc, 0x1f, 0x80, 0x1f, 0xfe, 0x1f,
+diff --git a/piano.c b/piano.c
+index 931e3b9..7bec3c9 100644
+--- a/piano.c
++++ b/piano.c
+@@ -36,10 +36,6 @@ static void piano_size_request (GtkWidget * widget,
+ static void piano_size_allocate (GtkWidget * widget,
+ GtkAllocation * allocation);
+ static gint piano_expose (GtkWidget * widget, GdkEventExpose * event);
+-static gint piano_button_press (GtkWidget * widget, GdkEventButton * event);
+-static gint piano_button_release (GtkWidget * widget, GdkEventButton * event);
+-static gint piano_motion_notify (GtkWidget * widget, GdkEventMotion * event);
+-static void piano_update_mouse (Piano * piano, gint x, gint y);
+
+ #define POFSY 0
+
+@@ -458,14 +454,11 @@ piano_size_request (GtkWidget * widget, GtkRequisition * requisition)
+ static void
+ piano_size_allocate (GtkWidget * widget, GtkAllocation * allocation)
+ {
+- Piano *piano;
+-
+ g_return_if_fail (widget != NULL);
+ g_return_if_fail (IS_PIANO (widget));
+ g_return_if_fail (allocation != NULL);
+
+ widget->allocation = *allocation;
+- piano = PIANO (widget);
+
+ if (GTK_WIDGET_REALIZED (widget))
+ {
+diff --git a/portlib.c b/portlib.c
+index b2942ca..9a25b73 100644
+--- a/portlib.c
++++ b/portlib.c
+@@ -20,6 +20,7 @@
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <pthread.h>
+ #include "portlib.h"
+
+
diff --git a/media-sound/aseqview/files/aseqview-0.2.8-mv-configure.ac.patch b/media-sound/aseqview/files/aseqview-0.2.8-mv-configure.ac.patch
new file mode 100644
index 000000000000..57194d8b0303
--- /dev/null
+++ b/media-sound/aseqview/files/aseqview-0.2.8-mv-configure.ac.patch
@@ -0,0 +1,57 @@
+From b24ee0be7931055928cc7aa48b42cef2b5c12536 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 12 Nov 2024 22:55:41 +0100
+Subject: [PATCH] Move configure.in -> configure.ac
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ Makefile.in | 2 +-
+ configure | 2 +-
+ configure.in => configure.ac | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+ rename configure.in => configure.ac (97%)
+
+diff --git a/Makefile.in b/Makefile.in
+index f5f3c42..0bf1c90 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -38,7 +38,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+ AUTHORS COPYING ChangeLog INSTALL NEWS depcomp install-sh \
+ missing
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = $(top_srcdir)/configure.in
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+diff --git a/configure b/configure
+index a27ba2a..6b5216c 100755
+--- a/configure
++++ b/configure
+@@ -576,7 +576,7 @@ PACKAGE_VERSION=
+ PACKAGE_STRING=
+ PACKAGE_BUGREPORT=
+
+-ac_unique_file="configure.in"
++ac_unique_file="configure.ac"
+ # Factoring default headers for most tests.
+ ac_includes_default="\
+ #include <stdio.h>
+diff --git a/configure.in b/configure.ac
+similarity index 97%
+rename from configure.in
+rename to configure.ac
+index e125908..3a8d632 100644
+--- a/configure.in
++++ b/configure.ac
+@@ -1,6 +1,6 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+-AC_INIT(configure.in)
++AC_INIT(configure.ac)
+ AM_INIT_AUTOMAKE(aseqview, 0.2.8)
+ AM_CONFIG_HEADER(config.h)
+
+--
+2.47.0
+
diff --git a/media-sound/aseqview/files/aseqview-0.2.8-piano-segfault.patch b/media-sound/aseqview/files/aseqview-0.2.8-piano-segfault.patch
new file mode 100644
index 000000000000..2acbd3bec910
--- /dev/null
+++ b/media-sound/aseqview/files/aseqview-0.2.8-piano-segfault.patch
@@ -0,0 +1,42 @@
+From e40717bcf0d1851465a5d2531b92f6b1da2ce0c0 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 25 Jun 2021 10:20:18 +0200
+Subject: [PATCH] Fix crash at piano widget creation
+
+It was a failure in piano widget that assumed that the widget type is
+an integer. It caused a segfault with the recent gtk.
+---
+ piano.c | 4 ++--
+ piano.h | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/piano.c b/piano.c
+index 7626373..931e3b9 100644
+--- a/piano.c
++++ b/piano.c
+@@ -69,10 +69,10 @@ static GdkColor c60clr = { red : 18000, green : 0, blue : 54000 };
+
+ static GtkWidgetClass *parent_class = NULL;
+
+-guint
++GType
+ piano_get_type (void)
+ {
+- static guint piano_type = 0;
++ static GType piano_type = 0;
+
+ if (!piano_type)
+ {
+diff --git a/piano.h b/piano.h
+index 6dea3b6..c35d7da 100644
+--- a/piano.h
++++ b/piano.h
+@@ -71,7 +71,7 @@ struct _PianoClass
+ };
+
+ GtkWidget *piano_new (gboolean * selkeys);
+-guint piano_get_type (void);
++GType piano_get_type (void);
+ void piano_note_on (Piano * piano, guint8 keynum);
+ void piano_note_off (Piano * piano, guint8 keynum);
+