commit:     fa2b7726a5df2c40d68670d009f0c740cc923307
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 12 22:14:30 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Nov 12 22:19:29 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fa2b7726

media-sound/aseqview: buildsys, build warnings, segfault fixes

Bug: https://bugs.gentoo.org/844028
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 media-sound/aseqview/aseqview-0.2.8-r3.ebuild      |  42 +++++
 .../aseqview/files/aseqview-0.2.8-automake.patch   |  18 +++
 .../files/aseqview-0.2.8-configure-quotes.patch    |  25 +++
 .../files/aseqview-0.2.8-fix-eautoreconf.patch     |  15 ++
 .../aseqview/files/aseqview-0.2.8-gcc14.patch      | 176 +++++++++++++++++++++
 .../files/aseqview-0.2.8-mv-configure.ac.patch     |  57 +++++++
 .../files/aseqview-0.2.8-piano-segfault.patch      |  42 +++++
 7 files changed, 375 insertions(+)

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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+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 <[email protected]>
+Date: Tue, 12 Nov 2024 22:55:41 +0100
+Subject: [PATCH] Move configure.in -> configure.ac
+
+Signed-off-by: Andreas Sturmlechner <[email protected]>
+---
+ 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 <[email protected]>
+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);
+ 

Reply via email to