guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/56: Revert "Revert "gnu: inkscape: Fix build with glibmm-2.48.""


From: ???
Subject: 02/56: Revert "Revert "gnu: inkscape: Fix build with glibmm-2.48.""
Date: Mon, 02 May 2016 13:38:28 +0000

iyzsong pushed a commit to branch gnome-updates
in repository guix.

commit e3792b2392b13e7f0fd4d6bfb357f05c909ca0ad
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 7a45eed..b7a149d 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
+    ####################################### */
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]