[pkg-crosswire-devel] Bug#912807: xiphos: Depends on gconf
Yavor Doganov
yavor at gnu.org
Sat Nov 3 22:07:29 GMT 2018
Source: xiphos
Version: 4.0.7.1-5
Severity: important
User: pkg-gnome-maintainers at lists.alioth.debian.org
Usertags: oldlibs gconf
Tags: sid buster patch
Your package depends and build-depends on gconf, but gconf will be
removed from Debian soon (most probably right after the Buster
release).
Furthermore, it seems that the dependency is completely unnecessary --
xiphos installs URL handlers but these keys are never read by GNOME as
this functionality has been deprecated long time ago. The right way
to achieve this is through .desktop/mime/aplication-registry files;
that would make them work under any XDG-compliant environment.
-------------- next part --------------
>From e5100b025039b2b850260eef832c67b5f6cae396 Mon Sep 17 00:00:00 2001
From: Yavor Doganov <yavor at gnu.org>
Date: Sat, 3 Nov 2018 23:56:19 +0200
Subject: [PATCH] Remove gconf dependency
---
debian/control | 1 -
debian/patches/0016-no-gconf.patch | 114 +++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 115 insertions(+), 1 deletion(-)
create mode 100644 debian/patches/0016-no-gconf.patch
diff --git a/debian/control b/debian/control
index fd65ca5..fd3d78b 100644
--- a/debian/control
+++ b/debian/control
@@ -14,7 +14,6 @@ Build-Depends: debhelper (>= 10),
intltool,
libbiblesync-dev,
libdbus-glib-1-dev,
- libgconf2-dev,
libgsf-1-dev,
libgtk-3-dev,
libsword-dev (>= 1.7.3),
diff --git a/debian/patches/0016-no-gconf.patch b/debian/patches/0016-no-gconf.patch
new file mode 100644
index 0000000..79fa33a
--- /dev/null
+++ b/debian/patches/0016-no-gconf.patch
@@ -0,0 +1,114 @@
+Description: Remove gconf dependency.
+Author: Yavor Doganov <yavor at gnu.org>
+Forwarded: no
+Last-Update: 2018-11-03
+---
+
+--- xiphos.orig/wscript
++++ xiphos/wscript
+@@ -303,7 +303,6 @@
+
+ common_libs = string.join(
+ '''
+- "gconf-2.0"
+ "gmodule-2.0"
+ "glib-2.0"
+ "libgsf-1 >= 1.14"
+--- xiphos.orig/src/gui/gui.h
++++ xiphos/src/gui/gui.h
+@@ -4,13 +4,6 @@
+ void gui_init(int argc, char *argv[]);
+ void gui_main(void);
+
+-#ifndef WIN32
+-#include <gconf/gconf-client.h>
+-void gconf_setup(void);
+-#endif
+-
+-#define GS_GCONF_MAX 6
+-
+ #ifdef DEBUG
+
+ gchar *XI_g_strdup_printf(const char *filename,
+--- xiphos.orig/src/gnome2/gui.c
++++ xiphos/src/gnome2/gui.c
+@@ -68,9 +68,6 @@
+ if (!gtk_init_with_args(&argc, &argv, NULL, NULL, NULL, NULL)) {
+ exit(1);
+ };
+-#ifndef WIN32
+- gconf_setup();
+-#endif
+ #ifdef HAVE_DBUS
+ ipc = ipc_init_dbus_connection(ipc);
+ #endif
+@@ -81,69 +78,6 @@
+ gtk_main();
+ }
+
+-/******************************************************************************
+- * Name
+- * gconf_setup
+- *
+- * Synopsis
+- * #include "main/settings.h"
+- *
+- * void gconf_setup()
+- *
+- * Description
+- * verifies and initializes the GConf subsystem, so that "sword://" and
+- * similar can be handled by url-comprehending programs such as browsers.
+- * dialogs for permission/success/failure => conditional on debug build.
+- *
+- * Return value
+- * void
+- */
+-
+-/* NOTE: removed query for user permission to install handlers around -r4528. */
+-/* we don't ask any more, because there's no good reason not to take over. */
+-
+-char *gconf_keys[GS_GCONF_MAX][2] = {
+- {"/desktop/gnome/url-handlers/bible/command", "xiphos-nav \"%s\""},
+- {"/desktop/gnome/url-handlers/bible/enabled", (char *)1},
+- {"/desktop/gnome/url-handlers/bible/needs_terminal", (char *)0},
+- {"/desktop/gnome/url-handlers/sword/command", "xiphos-nav \"%s\""},
+- {"/desktop/gnome/url-handlers/sword/enabled", (char *)1},
+- {"/desktop/gnome/url-handlers/sword/needs_terminal", (char *)0}};
+-
+-#ifndef WIN32
+-void gconf_setup()
+-{
+- gchar *str;
+- GConfClient *client = gconf_client_get_default();
+-
+- if (client == NULL)
+- return; /* we're not running under GConf */
+-
+- /*
+- * This is deliberately somewhat simple-minded, at least for now.
+- * We care about one thing: Is anything set to handle "bible://"?
+- *
+- * Unfortunate consequence of changing xiphos2 => xiphos:
+- * We must fix broken keys.
+- */
+- if ((((str = gconf_client_get_string(client, gconf_keys[0][0],
+- NULL)) == NULL) ||
+- (strncmp(str, "xiphos ", 7) == 0))) {
+- /*
+- * Mechanical as can be, one after another.
+- */
+- int i;
+- for (i = 0; i < GS_GCONF_MAX; ++i) {
+- (((i % 3) == 0) /* contrived hack */
+- ? gconf_client_set_string(client, gconf_keys[i][0], gconf_keys[i][1], NULL)
+- : gconf_client_set_bool(client,
+- gconf_keys[i][0],
+- (gconf_keys[i][1] ? TRUE : FALSE), NULL));
+- }
+- }
+-}
+-#endif /* WIN32 */
+-
+ #ifdef DEBUG
+
+ /* NOTE: these routines are here only and exactly because there is no other */
diff --git a/debian/patches/series b/debian/patches/series
index bfc8b13..fbe2dd6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,4 @@ build-without-scrollkeeper.patch
0014-patch-source-for-webkit2.patch
0015-patch-source-for-webkit2.patch
0015-change-webkitgtk-3.0-to-webkit2gtk-4.0-in-configure.patch
+0016-no-gconf.patch
--
2.19.1
More information about the pkg-crosswire-devel
mailing list