--- Begin Message ---
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
--- End Message ---