[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
17/71: Revert "Revert "gnu: inkscape: Fix build with glibmm-2.48.""
From: |
??? |
Subject: |
17/71: Revert "Revert "gnu: inkscape: Fix build with glibmm-2.48."" |
Date: |
Mon, 02 May 2016 14:08:19 +0000 |
iyzsong pushed a commit to branch gnome-updates
in repository guix.
commit 8e3593353ee8cb3bb171fe2919850790aac15076
Author: 宋文武 <address@hidden>
Date: Wed Apr 27 21:51:43 2016 +0800
Revert "Revert "gnu: inkscape: Fix build with glibmm-2.48.""
This reverts commit 267061ba0bc6df0d61081b97d650d95acec8178a.
---
gnu/local.mk | 1 +
gnu/packages/inkscape.scm | 7 +-
.../patches/inkscape-drop-wait-for-targets.patch | 68 ++++++++++++++++++++
3 files changed, 74 insertions(+), 2 deletions(-)
diff --git a/gnu/local.mk b/gnu/local.mk
index 4afd657..6f93386 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -542,6 +542,7 @@ dist_patch_DATA =
\
gnu/packages/patches/ilmbase-fix-tests.patch \
gnu/packages/patches/imagemagick-test-segv.patch \
gnu/packages/patches/imlib2-CVE-2016-4024.patch \
+ gnu/packages/patches/inkscape-drop-wait-for-targets.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jasper-CVE-2007-2721.patch \
gnu/packages/patches/jasper-CVE-2008-3520.patch \
diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm
index b09e84e..16f83fc 100644
--- a/gnu/packages/inkscape.scm
+++ b/gnu/packages/inkscape.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <address@hidden>
-;;; Copyright © 2014 Mark H Weaver <address@hidden>
+;;; Copyright © 2014, 2016 Mark H Weaver <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -52,7 +52,10 @@
version ".tar.gz"))
(sha256
(base32
- "086v01jy896dj86bq7plrf6si4p6gh6ga2v5417llgmminycz8rc"))))
+ "086v01jy896dj86bq7plrf6si4p6gh6ga2v5417llgmminycz8rc"))
+ (patch-flags '("-p0"))
+ (patches
+ (search-patches "inkscape-drop-wait-for-targets.patch"))))
(build-system gnu-build-system)
(inputs
`(("aspell" ,aspell)
diff --git a/gnu/packages/patches/inkscape-drop-wait-for-targets.patch
b/gnu/packages/patches/inkscape-drop-wait-for-targets.patch
new file mode 100644
index 0000000..3dbe664
--- /dev/null
+++ b/gnu/packages/patches/inkscape-drop-wait-for-targets.patch
@@ -0,0 +1,68 @@
+Copied from Fedora.
+
+http://pkgs.fedoraproject.org/cgit/rpms/inkscape.git/plain/inkscape-0.91-drop-wait-for-targets.patch?id=eb5340800b563d6b05aa5f11a2f24f2cc0d8c80e
+
+=== modified file 'src/ui/clipboard.cpp'
+--- src/ui/clipboard.cpp 2016-04-02 15:15:43 +0000
++++ src/ui/clipboard.cpp 2016-04-07 16:30:32 +0000
+@@ -146,8 +146,6 @@
+ void _setClipboardColor(guint32);
+ void _userWarn(SPDesktop *, char const *);
+
+- void _inkscape_wait_for_targets(std::list<Glib::ustring> &);
+-
+ // private properites
+ SPDocument *_clipboardSPDoc; ///< Document that stores the clipboard
until someone requests it
+ Inkscape::XML::Node *_defs; ///< Reference to the clipboard document's
defs node
+@@ -1302,9 +1300,7 @@
+ */
+ Glib::ustring ClipboardManagerImpl::_getBestTarget()
+ {
+- // GTKmm's wait_for_targets() is broken, see the comment in
_inkscape_wait_for_targets()
+- std::list<Glib::ustring> targets; // = _clipboard->wait_for_targets();
+- _inkscape_wait_for_targets(targets);
++ std::list<Glib::ustring> targets = _clipboard->wait_for_targets();
+
+ // clipboard target debugging snippet
+ /*
+@@ -1456,39 +1452,6 @@
+ desktop->messageStack()->flash(Inkscape::WARNING_MESSAGE, msg);
+ }
+
+-
+-// GTKMM's clipboard::wait_for_targets is buggy and might return bogus, see
+-//
+-// https://bugs.launchpad.net/inkscape/+bug/296778
+-// http://mail.gnome.org/archives/gtk-devel-list/2009-June/msg00062.html
+-//
+-// for details. Until this has been fixed upstream we will use our own
implementation
+-// of this method, as copied from /gtkmm-2.16.0/gtk/gtkmm/clipboard.cc.
+-void
ClipboardManagerImpl::_inkscape_wait_for_targets(std::list<Glib::ustring>
&listTargets)
+-{
+- //Get a newly-allocated array of atoms:
+- GdkAtom* targets = NULL;
+- gint n_targets = 0;
+- gboolean test = gtk_clipboard_wait_for_targets(
gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), &targets, &n_targets );
+- if (!test || (targets == NULL)) {
+- return;
+- }
+-
+- //Add the targets to the C++ container:
+- for (int i = 0; i < n_targets; i++)
+- {
+- //Convert the atom to a string:
+- gchar* const atom_name = gdk_atom_name(targets[i]);
+-
+- Glib::ustring target;
+- if (atom_name) {
+- target = Glib::ScopedPtr<char>(atom_name).get(); //This frees the
gchar*.
+- }
+-
+- listTargets.push_back(target);
+- }
+-}
+-
+ /* #######################################
+ ClipboardManager class
+ ####################################### */
+
- 55/71: gnu: dconf-editor: Update to 3.20.1., (continued)
- 55/71: gnu: dconf-editor: Update to 3.20.1., ???, 2016/05/02
- 60/71: gnu: grilo: Update to 0.3.0., ???, 2016/05/02
- 63/71: gnu: gnome: Add baobab, gnome-backgrounds and gvfs., ???, 2016/05/02
- 52/71: gnu: gnome-control-center: Update to 3.20.1., ???, 2016/05/02
- 67/71: profiles: Add xdg-mime-database hook., ???, 2016/05/02
- 62/71: gnu: nautilus: Update to 3.20.1., ???, 2016/05/02
- 26/71: gnu: gtksourceview: Update to 3.20.2., ???, 2016/05/02
- 07/71: gnu: Add antiword., ???, 2016/05/02
- 28/71: gnu: gnome-desktop: Update to 3.20.1., ???, 2016/05/02
- 31/71: gnu: rest: Update to 0.8.0., ???, 2016/05/02
- 17/71: Revert "Revert "gnu: inkscape: Fix build with glibmm-2.48."",
??? <=
- 51/71: gnu: gdm: Update to 3.20.1., ???, 2016/05/02
- 57/71: gnu: network-manager: Update to 1.2.0., ???, 2016/05/02
- 56/71: gnu: librsvg: Drop 'loaders.cache' file., ???, 2016/05/02
- 68/71: gnu: gnome: Add desktop-file-utils., ???, 2016/05/02
- 35/71: gnu: geocode-glib: Update to 3.20.1., ???, 2016/05/02
- 14/71: gnu: ruby-hashery: Update to 2.1.2., ???, 2016/05/02
- 44/71: gnu: shotwell: Update to 0.22.1., ???, 2016/05/02
- 39/71: gnu: eog: Update to 3.20.1., ???, 2016/05/02
- 24/71: gnu: at-spi2-atk: Update to 2.20.1., ???, 2016/05/02
- 13/71: syscalls: Add 'tcgetattr' and 'tcsetattr' bindings., ???, 2016/05/02