diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2024-11-12 23:14:30 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2024-11-12 23:19:29 +0100 |
commit | fa2b7726a5df2c40d68670d009f0c740cc923307 (patch) | |
tree | 11936e59d78b3cbc47198715c84f85ae2d09defe /media-sound/aseqview | |
parent | media-libs/libwebp: drop 1.3.2 (diff) | |
download | gentoo-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')
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); + |