--- Begin Message ---
tags 622013 + upstream help
thanks
Coin,
I've been maintaining gnusound in Debian for years despite no news
from upstream authors. Even without new features and emerging
powerfull softwares, it is still in use by a lot of people[1],
probably as an easy-to-use tool compared to a full-featured but more
complex softwares. Until recently, gnusound built correctly, and it
was included in the Squeeze release, without causing a big workload.
With recent GNOME/GTK libraries, it is no longuer the case, and its
future is now a concern.
I had a look at what is currently causing problems :
- dependency on libgnomeui, which had been deprecated long ago
- usage of gnome-config, deprecated long ago too
I made a patch (attached) to remove gnomeui dependency, and rework the
menu bar (to be tested), and it now compiles correctly. Nevertheless,
the gnome-config functions were removed recently, so it cannot link
anymore, and a complete rewrite of this part of the code is needed.
Switching over gconf directly to Gsettings is probably the best path
to follow, but i really do not have the knownledge and time to work on
this part.
Other parts of the software may have such problems in the future of
course, like the libglade->GtkBuilder planned migration, but maybe we
can save this useful software for a few more years.
So, the goal of this mail was to get your opinions, and your help if
we decide to maintain this software a bit longer. If so, a few other
patches were added in Debian in order a fix a few bugs and be able to
build with recent gcc, which could be included in a maintainance
release.
Regards
[1] http://qa.debian.org/popcon.php?package=gnusound
(the number only reflects people agreeing to send back
statistical information, but the general trend is useful)
--
Marc Dequènes (Duck)
Index: gnusound-0.7.5/configure.ac
===================================================================
--- gnusound-0.7.5.orig/configure.ac 2011-04-14 23:35:46.565598449 +0200
+++ gnusound-0.7.5/configure.ac 2011-04-14 23:36:18.851388470 +0200
@@ -264,7 +264,7 @@
fi,
use_gnome2=yes)
if test "x$use_gnome2" = "xyes"; then
- PKG_CHECK_MODULES(GNOME2,libgnomeui-2.0 >= 2.0.0 libglade-2.0 gthread-2.0,
+ PKG_CHECK_MODULES(GNOME2,libgnome-2.0 libglade-2.0 gthread-2.0,
AC_DEFINE(HAVE_GNOME2,,[use GNOME2])
CFLAGS="$CFLAGS -rdynamic $GNOME2_CFLAGS"
LIBS="$LIBS -rdynamic $GNOME2_LIBS",
Index: gnusound-0.7.5/src/shell.h
===================================================================
--- gnusound-0.7.5.orig/src/shell.h 2011-04-15 02:38:38.379823388 +0200
+++ gnusound-0.7.5/src/shell.h 2011-04-15 02:38:43.987437734 +0200
@@ -26,7 +26,6 @@
#include <math.h>
#include <sys/time.h>
#include <unistd.h>
-#include <gnome.h>
#include <pthread.h>
#include <audiofile.h>
#include "snd.h"
Index: gnusound-0.7.5/src/cmd_events.c
===================================================================
--- gnusound-0.7.5.orig/src/cmd_events.c 2011-04-15 02:42:08.805346731 +0200
+++ gnusound-0.7.5/src/cmd_events.c 2011-04-15 02:42:26.324141116 +0200
@@ -22,6 +22,7 @@
#include <config.h>
#include "arbiter.h"
#include "cmd.h"
+#include <gdk/gdkkeysyms-compat.h>
/**
* @file
Index: gnusound-0.7.5/src/dialog_format.c
===================================================================
--- gnusound-0.7.5.orig/src/dialog_format.c 2011-04-15 02:43:49.686404355 +0200
+++ gnusound-0.7.5/src/dialog_format.c 2011-04-15 02:43:51.594273068 +0200
@@ -20,7 +20,6 @@
*/
#include <config.h>
-#include <gnome.h>
#include <combo_box.h>
#include "lib/misc.h"
#include "gui.h"
Index: gnusound-0.7.5/src/dialog_mixdown.c
===================================================================
--- gnusound-0.7.5.orig/src/dialog_mixdown.c 2011-04-15 02:43:35.271396345 +0200
+++ gnusound-0.7.5/src/dialog_mixdown.c 2011-04-15 02:43:37.743226242 +0200
@@ -20,7 +20,6 @@
*/
#include <config.h>
-#include <gnome.h>
#include "gui.h"
#include "shell.h"
#include "pane.h"
Index: gnusound-0.7.5/src/dialog_props.c
===================================================================
--- gnusound-0.7.5.orig/src/dialog_props.c 2011-04-15 02:43:23.992172545 +0200
+++ gnusound-0.7.5/src/dialog_props.c 2011-04-15 02:43:26.360009596 +0200
@@ -20,7 +20,6 @@
*/
#include <config.h>
-#include <gnome.h>
#include "shell.h"
#include "pane.h"
#include "resample.h"
Index: gnusound-0.7.5/src/draw.c
===================================================================
--- gnusound-0.7.5.orig/src/draw.c 2011-04-15 02:40:59.238134300 +0200
+++ gnusound-0.7.5/src/draw.c 2011-04-15 02:41:02.601902805 +0200
@@ -26,7 +26,6 @@
#include <config.h>
#include <math.h>
-#include <gnome.h>
#include <gtk/gtk.h>
#include "pref.h"
#include "shell.h"
Index: gnusound-0.7.5/src/file.c
===================================================================
--- gnusound-0.7.5.orig/src/file.c 2011-04-15 03:53:00.808790849 +0200
+++ gnusound-0.7.5/src/file.c 2011-04-15 03:53:02.776655468 +0200
@@ -35,7 +35,6 @@
#include <sys/time.h>
#include <unistd.h>
#include <stdio.h>
-#include <gnome.h>
#include "lib/misc.h"
#include "pref.h"
#include "mem.h"
Index: gnusound-0.7.5/src/grid.c
===================================================================
--- gnusound-0.7.5.orig/src/grid.c 2011-04-15 02:40:49.358814198 +0200
+++ gnusound-0.7.5/src/grid.c 2011-04-15 02:40:51.294680969 +0200
@@ -25,7 +25,6 @@
#include <stdio.h>
#include <math.h>
#include <audiofile.h>
-#include <gnome.h>
#include "grid.h"
void
Index: gnusound-0.7.5/src/gui.c
===================================================================
--- gnusound-0.7.5.orig/src/gui.c 2011-04-15 02:42:37.651361599 +0200
+++ gnusound-0.7.5/src/gui.c 2011-04-15 02:42:59.613850161 +0200
@@ -36,8 +36,6 @@
#include <math.h>
#include <signal.h>
#include <gdk/gdk.h>
-#include <gnome.h>
-#include <libgnomeui/gnome-window-icon.h>
#include "lib/misc.h"
#include "pref.h"
#include "mem.h"
Index: gnusound-0.7.5/src/marker.c
===================================================================
--- gnusound-0.7.5.orig/src/marker.c 2011-04-15 02:40:05.929802331 +0200
+++ gnusound-0.7.5/src/marker.c 2011-04-15 02:40:10.793467845 +0200
@@ -27,7 +27,6 @@
#include <string.h>
#include <glib.h>
#include <audiofile.h>
-#include <gnome.h>
#include <config.h>
#include "mem.h"
#include "marker.h"
Index: gnusound-0.7.5/src/mixer.c
===================================================================
--- gnusound-0.7.5.orig/src/mixer.c 2011-04-15 02:40:34.511835975 +0200
+++ gnusound-0.7.5/src/mixer.c 2011-04-15 02:40:37.127655951 +0200
@@ -31,7 +31,6 @@
#include <unistd.h>
#include <fcntl.h>
#include <audiofile.h>
-#include <gnome.h>
#include "mem.h"
#include "sample.h"
#include "snd.h"
Index: gnusound-0.7.5/src/pane.c
===================================================================
--- gnusound-0.7.5.orig/src/pane.c 2011-04-15 02:43:08.433243265 +0200
+++ gnusound-0.7.5/src/pane.c 2011-04-15 02:43:15.176779193 +0200
@@ -26,7 +26,6 @@
*/
#include <config.h>
-#include <gnome.h>
#include <glade/glade.h>
#include <glib.h>
#include <gtk/gtk.h>
Index: gnusound-0.7.5/src/pref.c
===================================================================
--- gnusound-0.7.5.orig/src/pref.c 2011-04-15 02:39:47.123095714 +0200
+++ gnusound-0.7.5/src/pref.c 2011-04-15 02:39:51.658783789 +0200
@@ -22,7 +22,6 @@
#undef GNOME_DISABLE_DEPRECATED
#include <config.h>
-#include <gnome.h>
#include "tests.h"
#include "lib/misc.h"
#include "mem.h"
Index: gnusound-0.7.5/src/view.c
===================================================================
--- gnusound-0.7.5.orig/src/view.c 2011-04-15 02:44:35.863226658 +0200
+++ gnusound-0.7.5/src/view.c 2011-04-15 03:52:13.724030107 +0200
@@ -42,6 +42,9 @@
#include "history.h"
#include "tool.h"
#include "dialog_props.h"
+#ifdef HAVE_GNOME2
+#include <libgnome/libgnome.h>
+#endif
void
@@ -1223,6 +1226,50 @@
void
view_setup_help_menu(struct view *view) {
+#ifdef HAVE_GNOME2
+ static GtkActionEntry entries[] = {
+ { "HelpMenu", NULL, "_Help" },
+ { "Content", GTK_STOCK_HELP, "_Contents", NULL, "Help Manual", G_CALLBACK(gnome_help_display) },
+ { "About", GTK_STOCK_ABOUT, "_About GNUsound", NULL, "Application information", G_CALLBACK(view_about_activate) }
+ };
+ static const char *ui_description =
+ "<ui>"
+ " <menubar name='MainMenu'>"
+ " <menu action='HelpMenu'>"
+ " <menuitem action='Help'/>"
+ " <separator/>"
+ " <menuitem action='About'/>"
+ " </menu>"
+ " </menubar>"
+ "</ui>";
+ GtkWindow *window;
+ GtkActionGroup *action_group;
+ GtkUIManager *ui_manager;
+ GtkAccelGroup *accel_group;
+ GError *error;
+ GtkWidget *menu_widget;
+
+ window = GTK_WINDOW(view_get_widget(view, "shell"));
+
+ register_my_stock_icons();
+ action_group = gtk_action_group_new("MenuActions");
+ gtk_action_group_add_actions(action_group, entries, G_N_ELEMENTS (entries), window);
+ ui_manager = gtk_ui_manager_new();
+ gtk_ui_manager_insert_action_group(ui_manager, action_group, 0);
+ accel_group = gtk_ui_manager_get_accel_group (ui_manager);
+ gtk_window_add_accel_group(GTK_WINDOW (window), accel_group);
+
+ error = NULL;
+ if (!gtk_ui_manager_add_ui_from_string(ui_manager, ui_description, -1, &error)) {
+ g_message ("building menus failed: %s", error->message);
+ g_error_free (error);
+ exit (EXIT_FAILURE);
+ }
+
+ menu_widget = gtk_ui_manager_get_widget(ui_manager, "/MainMenu/HelpMenu");
+ gtk_menu_item_set_submenu(GTK_MENU_ITEM(view_get_widget(view, "help")),
+ menu_widget);
+#else
static GnomeUIInfo help_menu[] = {
GNOMEUIINFO_HELP("gnusound"),
GNOMEUIINFO_SEPARATOR,
@@ -1237,7 +1284,7 @@
1, 0);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(view_get_widget(view, "help")),
GTK_WIDGET(help));
-
+#endif
}
void
Index: gnusound-0.7.5/src/view_callbacks.c
===================================================================
--- gnusound-0.7.5.orig/src/view_callbacks.c 2011-04-15 03:52:43.713966907 +0200
+++ gnusound-0.7.5/src/view_callbacks.c 2011-04-15 03:52:49.385576722 +0200
@@ -20,7 +20,6 @@
*/
#include <config.h>
-#include <gnome.h>
#include <combo_box.h>
#include "lib/misc.h"
#include "gui.h"
Index: gnusound-0.7.5/src/view_callbacks.h
===================================================================
--- gnusound-0.7.5.orig/src/view_callbacks.h 2011-04-15 02:44:01.361600913 +0200
+++ gnusound-0.7.5/src/view_callbacks.h 2011-04-15 02:44:03.901426132 +0200
@@ -6,7 +6,6 @@
*/
#include <config.h>
-#include <gnome.h>
#include "view.h"
#ifndef VIEW_CALLBACKS_H
Index: gnusound-0.7.5/src/view.h
===================================================================
--- gnusound-0.7.5.orig/src/view.h 2011-04-15 02:39:29.900280171 +0200
+++ gnusound-0.7.5/src/view.h 2011-04-15 02:39:34.367972916 +0200
@@ -22,7 +22,6 @@
#define VIEW_H
#include <config.h>
-#include <gnome.h>
#include "shell.h"
#include "draw.h"
#include "draw_hooks.h"
Index: gnusound-0.7.5/src/main.c
===================================================================
--- gnusound-0.7.5.orig/src/main.c 2011-04-15 12:36:55.250899278 +0200
+++ gnusound-0.7.5/src/main.c 2011-04-15 12:45:14.056593513 +0200
@@ -27,6 +27,7 @@
#include "arbiter.h"
#include "clipboard.h"
#include "emergency.h"
+#include <libgnome/libgnome.h>
int
main(int argc,
@@ -42,7 +43,7 @@
#ifdef HAVE_GNOME2
gdk_threads_init();
- gnome_program_init(PACKAGE, VERSION, LIBGNOMEUI_MODULE, argc, argv,
+ gnome_program_init(PACKAGE, VERSION, LIBGNOME_MODULE, argc, argv,
GNOME_PROGRAM_STANDARD_PROPERTIES, NULL);
#else
pgpOE3JopayC3.pgp
Description: PGP Digital Signature
--- End Message ---