Source: gtkpod Version: 2.1.3-4 Severity: serious Tags: patch Hi Matteo,
due to the update of anjuta and gdl, the package now FTBFS [1]. Attached is a debdiff (patches pulled from the Ubuntu package) to fix the build failures. You just have to update the changelog accordingly. Would be great if you can prepare a new release. Sorry for the inconvenience. Cheers, Michael [1] https://buildd.debian.org/status/package.php?p=gtkpod -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (200, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.10-1-amd64 (SMP w/4 CPU cores) Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -Nru gtkpod-2.1.3/debian/changelog gtkpod-2.1.3/debian/changelog --- gtkpod-2.1.3/debian/changelog 2013-05-20 17:44:07.000000000 +0200 +++ gtkpod-2.1.3/debian/changelog 2013-08-02 00:56:01.000000000 +0200 @@ -1,3 +1,13 @@ +gtkpod (2.1.3-4.1) UNRELEASED; urgency=low + + * Non-maintainer upload. + * debian/patches/gtkpod-2.1.3-anjuta-3.8.patch: Git patch to fix build + with Anjuta 3.8. + * debian/patches/gtkpod-gdl362.patch: Add patch from Fedora to fix build + with gdl 3.6.2. + + -- Michael Biebl <bi...@debian.org> Fri, 02 Aug 2013 00:55:09 +0200 + gtkpod (2.1.3-4) unstable; urgency=low * Upload to unstable diff -Nru gtkpod-2.1.3/debian/patches/gtkpod-2.1.3-anjuta-3.8.patch gtkpod-2.1.3/debian/patches/gtkpod-2.1.3-anjuta-3.8.patch --- gtkpod-2.1.3/debian/patches/gtkpod-2.1.3-anjuta-3.8.patch 1970-01-01 01:00:00.000000000 +0100 +++ gtkpod-2.1.3/debian/patches/gtkpod-2.1.3-anjuta-3.8.patch 2013-08-02 00:54:26.000000000 +0200 @@ -0,0 +1,178 @@ +From 8f833a3ecebb8b8eae7d039c55abc7feca128d4d Mon Sep 17 00:00:00 2001 +From: phantomjinx <p.g.richard...@phantomjinx.co.uk> +Date: Sat, 27 Apr 2013 22:58:53 +0100 +Subject: Fixes to cater for changing API in anjuta version 3.8.0+ + +* Contribute to future proofing against new versions of anjuta library + +* core_prefs.c +* coverweb.c +* plugin.c +* anjuta-app.c + * Fixes error messages about destroyed widgets being already destroyed + +* gtkpod.c +* anjuta-about.c + * Makes changes to align code more closely with the anjuta 3.8.0 codebase +--- + plugins/core_preferences/core_prefs.c | 4 ++-- + plugins/coverweb/coverweb.c | 5 ++++- + plugins/sorttab_display/plugin.c | 4 +++- + src/anjuta-about.c | 10 ++++++++-- + src/anjuta-app.c | 3 --- + src/gtkpod.c | 16 ++++++++++++++++ + 6 files changed, 33 insertions(+), 9 deletions(-) + +Index: gtkpod-2.1.3/plugins/core_preferences/core_prefs.c +=================================================================== +--- gtkpod-2.1.3.orig/plugins/core_preferences/core_prefs.c 2013-08-02 00:54:05.675043702 +0200 ++++ gtkpod-2.1.3/plugins/core_preferences/core_prefs.c 2013-08-02 00:54:05.671043648 +0200 +@@ -736,10 +736,10 @@ + } + + void destroy_settings_preferences() { +- if (notebook) ++ if (notebook && GTK_IS_WIDGET(notebook)) + gtk_widget_destroy(notebook); + +- if (builder) ++ if (builder && G_IS_OBJECT(builder)) + g_object_unref(builder); + + builder_path = NULL; +Index: gtkpod-2.1.3/plugins/coverweb/coverweb.c +=================================================================== +--- gtkpod-2.1.3.orig/plugins/coverweb/coverweb.c 2013-08-02 00:54:05.675043702 +0200 ++++ gtkpod-2.1.3/plugins/coverweb/coverweb.c 2013-08-02 00:54:05.671043648 +0200 +@@ -199,6 +199,9 @@ + * destroy the web browser and all associated items. + */ + void destroy_cover_web() { +- gtk_widget_destroy(browser->window); ++ if (GTK_IS_WIDGET(browser->window)) ++ gtk_widget_destroy(browser->window); ++ ++ g_free(browser); + browser = NULL; + } +Index: gtkpod-2.1.3/plugins/sorttab_display/plugin.c +=================================================================== +--- gtkpod-2.1.3.orig/plugins/sorttab_display/plugin.c 2013-08-02 00:54:05.675043702 +0200 ++++ gtkpod-2.1.3/plugins/sorttab_display/plugin.c 2013-08-02 00:54:05.671043648 +0200 +@@ -207,7 +207,9 @@ + anjuta_shell_remove_widget(plugin->shell, sorttab_display_plugin->sort_tab_widget_parent, NULL); + + /* Destroy the sort tab widget parent */ +- gtk_widget_destroy(sorttab_display_plugin->sort_tab_widget_parent); ++ if (GTK_IS_WIDGET(sorttab_display_plugin->sort_tab_widget_parent)) ++ gtk_widget_destroy(sorttab_display_plugin->sort_tab_widget_parent); ++ + sorttab_display_plugin->sort_tab_widget_parent = NULL; + + /* Unmerge UI */ +Index: gtkpod-2.1.3/src/anjuta-about.c +=================================================================== +--- gtkpod-2.1.3.orig/src/anjuta-about.c 2013-08-02 00:54:05.675043702 +0200 ++++ gtkpod-2.1.3/src/anjuta-about.c 2013-08-02 00:54:05.671043648 +0200 +@@ -189,7 +189,7 @@ + return dialog; + } + +-static void on_about_plugin_activate(GtkMenuItem *item, AnjutaPluginDescription *desc) { ++static void on_about_plugin_activate(GtkMenuItem *item, AnjutaShell *shell) { + gchar *name = NULL; + gchar *authors = NULL; + gchar *license = NULL; +@@ -198,6 +198,9 @@ + gchar *d = NULL; + GdkPixbuf *pix = NULL; + GtkWidget *dialog; ++ AnjutaPluginDescription *desc; ++ ++ desc = g_object_get_data (G_OBJECT (item), "plugin-desc"); + + anjuta_plugin_description_get_locale_string(desc, "Anjuta Plugin", "Name", &name); + anjuta_plugin_description_get_locale_string(desc, "Anjuta Plugin", "Description", &d); +@@ -213,6 +216,8 @@ + authors_v = g_strsplit(authors, ",", -1); + } + dialog = gtk_about_dialog_new(); ++ gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(shell)); ++ gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); + gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(dialog), name); + gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(dialog), VERSION); + if (license) +@@ -259,9 +264,10 @@ + || anjuta_plugin_description_get_string(desc, "Anjuta Plugin", "License", &license)) { + item = gtk_menu_item_new_with_label(label); + gtk_widget_show(item); ++ g_object_set_data (G_OBJECT (item), "plugin-desc", desc); + g_signal_connect (G_OBJECT (item), "activate", + G_CALLBACK (on_about_plugin_activate), +- desc); ++ shell); + gtk_menu_shell_append(GTK_MENU_SHELL (submenu), item); + g_free(authors); + g_free(license); +Index: gtkpod-2.1.3/src/anjuta-app.c +=================================================================== +--- gtkpod-2.1.3.orig/src/anjuta-app.c 2013-08-02 00:54:05.675043702 +0200 ++++ gtkpod-2.1.3/src/anjuta-app.c 2013-08-02 00:54:05.671043648 +0200 +@@ -436,9 +436,6 @@ + + app = ANJUTA_APP (widget); + +- gtk_widget_destroy (GTK_WIDGET (app->ui)); +- gtk_widget_destroy (GTK_WIDGET (app->preferences)); +- + G_OBJECT_CLASS(parent_class)->finalize(widget); + } + +Index: gtkpod-2.1.3/src/gtkpod.c +=================================================================== +--- gtkpod-2.1.3.orig/src/gtkpod.c 2013-08-02 00:54:05.675043702 +0200 ++++ gtkpod-2.1.3/src/gtkpod.c 2013-08-02 00:54:05.671043648 +0200 +@@ -29,6 +29,7 @@ + #include <gtk/gtk.h> + #include <libanjuta/anjuta-utils.h> + #include <libanjuta/anjuta-shell.h> ++#include <libanjuta/anjuta-version.h> + + #include "gtkpod.h" + #include "libgtkpod/directories.h" +@@ -220,12 +221,14 @@ + return TRUE; + + AnjutaPluginManager *plugin_manager; ++ AnjutaProfileManager *profile_manager; + AnjutaApp *app; + gchar *remembered_plugins; + gchar *session_dir; + + app = ANJUTA_APP(widget); + plugin_manager = anjuta_shell_get_plugin_manager(ANJUTA_SHELL(app), NULL); ++ profile_manager = anjuta_shell_get_profile_manager(ANJUTA_SHELL(app), NULL); + + /* Save remembered plugins */ + remembered_plugins = anjuta_plugin_manager_get_remembered_plugins(plugin_manager); +@@ -236,7 +239,20 @@ + anjuta_shell_session_save(ANJUTA_SHELL(app), session_dir, NULL); + g_free(session_dir); + ++#if (ANJUTA_CHECK_VERSION(3, 8, 0)) ++ /* Close the profile manager which will emit "profile-descoped" and release ++ * all previous profiles. */ ++ anjuta_profile_manager_close (profile_manager); ++ ++ /* Hide the window while unloading all the plugins. */ ++ gtk_widget_hide (widget); ++ anjuta_plugin_manager_unload_all_plugins (plugin_manager); ++#else + anjuta_shell_notify_exit(ANJUTA_SHELL(app), NULL); ++#endif ++ ++ /** Release any blocked widgets in order to cleanup correctly */ ++ release_widgets(); + + if (!gtkpod_cleanup_quit()) { + // Dont want to quit so avoid signalling any destroy event diff -Nru gtkpod-2.1.3/debian/patches/gtkpod-gdl362.patch gtkpod-2.1.3/debian/patches/gtkpod-gdl362.patch --- gtkpod-2.1.3/debian/patches/gtkpod-gdl362.patch 1970-01-01 01:00:00.000000000 +0100 +++ gtkpod-2.1.3/debian/patches/gtkpod-gdl362.patch 2013-08-02 00:54:26.000000000 +0200 @@ -0,0 +1,89 @@ +From 47a3bc71ec6612bfda856e840e9ee65b31ecbc52 Mon Sep 17 00:00:00 2001 +From: phantomjinx <p.g.richard...@phantomjinx.co.uk> +Date: Fri, 26 Apr 2013 23:15:46 +0100 +Subject: Fix to cater for changing API in anjuta version 3.6.2+ + +* Contribute to future proofing against new versions of anjuta library +--- + src/anjuta-action-callbacks.c | 5 +++++ + src/anjuta-app.c | 16 ++++++++++++++-- + 2 files changed, 19 insertions(+), 2 deletions(-) + +diff --git a/src/anjuta-action-callbacks.c b/src/anjuta-action-callbacks.c +index fc3f732..cdd67fb 100644 +--- a/src/anjuta-action-callbacks.c ++++ b/src/anjuta-action-callbacks.c +@@ -32,6 +32,7 @@ + #include <libanjuta/anjuta-utils.h> + #include <libanjuta/resources.h> + #include <libanjuta/interfaces/ianjuta-preferences.h> ++#include <libanjuta/anjuta-version.h> + + #include "anjuta-app.h" + #include "anjuta-about.h" +@@ -65,7 +66,11 @@ void + on_layout_lock_toggle (GtkAction *action, AnjutaApp *app) + { + if (app->layout_manager) ++#if (ANJUTA_CHECK_VERSION(3, 6, 2)) ++ g_object_set (gdl_dock_layout_get_master (app->layout_manager), "locked", ++#else + g_object_set (app->layout_manager->master, "locked", ++#endif + gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)), + NULL); + } +diff --git a/src/anjuta-app.c b/src/anjuta-app.c +index df08b06..0028b40 100644 +--- a/src/anjuta-app.c ++++ b/src/anjuta-app.c +@@ -252,7 +252,13 @@ static void on_gdl_style_changed(GSettings* settings, const gchar* key, gpointer + else if (g_strcmp0(pr_style, "Tabs") == 0) + style = GDL_SWITCHER_STYLE_TABS; + ++#if (ANJUTA_CHECK_VERSION(3, 6, 2)) ++ g_object_set (gdl_dock_layout_get_master (app->layout_manager), "switcher-style", ++ style, NULL); ++#else + g_object_set(G_OBJECT(app->layout_manager->master), "switcher-style", style, NULL); ++#endif ++ + g_free(pr_style); + } + +@@ -344,6 +350,7 @@ static void on_session_load(AnjutaShell *shell, AnjutaSessionPhase phase, Anjuta + /* Restore geometry */ + geometry = anjuta_session_get_string(session, "Anjuta", "Geometry"); + anjuta_app_set_geometry(app, geometry); ++ g_free (geometry); + + /* Restore window state */ + if (anjuta_session_get_int(session, "Anjuta", "Fullscreen")) { +@@ -429,8 +436,8 @@ static void anjuta_app_finalize(GObject *widget) { + + app = ANJUTA_APP (widget); + +- g_object_unref(app->ui); +- g_object_unref(app->preferences); ++ gtk_widget_destroy (GTK_WIDGET (app->ui)); ++ gtk_widget_destroy (GTK_WIDGET (app->preferences)); + + G_OBJECT_CLASS(parent_class)->finalize(widget); + } +@@ -485,8 +492,13 @@ static void anjuta_app_instance_init(AnjutaApp *app) { + app->layout_manager = gdl_dock_layout_new(GDL_DOCK (app->dock)); + g_signal_connect (app->layout_manager, "notify::dirty", + G_CALLBACK (on_layout_dirty_notify), app); ++#if (ANJUTA_CHECK_VERSION(3, 6, 2)) ++ g_signal_connect (gdl_dock_layout_get_master (app->layout_manager), "notify::locked", ++ G_CALLBACK (on_layout_locked_notify), app); ++#else + g_signal_connect (app->layout_manager->master, "notify::locked", + G_CALLBACK (on_layout_locked_notify), app); ++#endif + + /* UI engine */ + app->ui = anjuta_ui_new(); +-- +1.8.1.2 + diff -Nru gtkpod-2.1.3/debian/patches/series gtkpod-2.1.3/debian/patches/series --- gtkpod-2.1.3/debian/patches/series 2012-06-20 11:42:41.000000000 +0200 +++ gtkpod-2.1.3/debian/patches/series 2013-08-02 00:54:41.000000000 +0200 @@ -1 +1,3 @@ 0001-Fix_mab2vcard_issue.patch +gtkpod-gdl362.patch +gtkpod-2.1.3-anjuta-3.8.patch