~ruther/guix-local

5c97ce1ea9378ee01688ede3837ab6a76964da9a — Ricardo Wurmus 8 years ago ad7f6e5
gnu: abiword: Update to 3.0.2.

* gnu/packages/patches/abiword-explictly-cast-bools.patch: Update patch.
* gnu/packages/patches/abiword-black-drawing-with-gtk322.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/abiword.scm (abiword): Update to 3.0.2.
[source]: Remove outdated snippet; add new patch.
[arguments]: Pass CXXFLAGS.
M gnu/local.mk => gnu/local.mk +1 -0
@@ 487,6 487,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/a2ps-CVE-2014-0466.patch	\
  %D%/packages/patches/abiword-explictly-cast-bools.patch	\
  %D%/packages/patches/abiword-wmf-version-lookup-fix.patch	\
  %D%/packages/patches/abiword-black-drawing-with-gtk322.patch	\
  %D%/packages/patches/acl-hurd-path-max.patch			\
  %D%/packages/patches/aegis-constness-error.patch         	\
  %D%/packages/patches/aegis-perl-tempdir1.patch           	\

M gnu/packages/abiword.scm => gnu/packages/abiword.scm +8 -10
@@ 1,6 1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 44,7 45,7 @@
(define-public abiword
  (package
    (name "abiword")
    (version "3.0.1")
    (version "3.0.2")
    (source
      (origin
        (method url-fetch)


@@ 52,16 53,11 @@
          (string-append "http://abisource.org/downloads/" name "/" version
                         "/source/" name "-" version ".tar.gz"))
        (sha256
          (base32 "1ik591rx15nn3n1297cwykl8wvrlgj78i528id9wbidgy3xzd570"))
        (modules '((guix build utils)))
        (snippet
         ;; Ensure reproducibility.
         '(substitute* "src/wp/main/xp/abi_ver.cpp"
            (("__DATE__") "\"2017\"")
            (("__TIME__") "\"00:00\"")))
         (base32 "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg"))
        (patches
         (search-patches "abiword-wmf-version-lookup-fix.patch"
                         "abiword-explictly-cast-bools.patch"))))
                         "abiword-explictly-cast-bools.patch"
                         "abiword-black-drawing-with-gtk322.patch"))))

    (build-system glib-or-gtk-build-system)
    (arguments                   ;; NOTE: rsvg is disabled, since Abiword


@@ 84,7 80,9 @@
        ;;                  assertion 'G_IS_OBJECT (object)' failed
        ;; Manually starting the X server before the test phase did not help
        ;; the tests to pass.
        #:tests? #f))
        #:tests? #f
        #:make-flags
        (list "CXXFLAGS=-std=c++11")))
    (inputs
      `(("boost" ,boost)
        ("enchant" ,enchant)

A gnu/packages/patches/abiword-black-drawing-with-gtk322.patch => gnu/packages/patches/abiword-black-drawing-with-gtk322.patch +49 -0
@@ 0,0 1,49 @@
commit 2ee38d1881aeea27bb49acc450631d813d1f28ba
Author: Hubert Figuière <hub@figuiere.net>
Date:   Wed Dec 7 09:44:01 2016 -0500

    Bug 13815 - draw event should return TRUE
    
    This fix the black drawing regression witj Gtk3.22

diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.cpp b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
index 780000e..10f8e00 100644
--- a/src/af/xap/gtk/xap_UnixFrameImpl.cpp
+++ b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
@@ -1208,9 +1208,9 @@ gint XAP_UnixFrameImpl::_fe::delete_event(GtkWidget * w, GdkEvent * /*event*/, g
 }
 
 #if GTK_CHECK_VERSION(3,0,0)
-gint XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
+gboolean XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
 #else
-gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
+gboolean XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
 #endif
 {
 	XAP_UnixFrameImpl * pUnixFrameImpl = static_cast<XAP_UnixFrameImpl *>(g_object_get_data(G_OBJECT(w), "user_data"));
@@ -1243,7 +1243,7 @@ gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
 		pView->draw(&rClip);
 #endif
 	}
-	return FALSE;
+	return TRUE;
 }
 
 static bool bScrollWait = false;
diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.h b/src/af/xap/gtk/xap_UnixFrameImpl.h
index 30ee5d8..a0ff57f 100644
--- a/src/af/xap/gtk/xap_UnixFrameImpl.h
+++ b/src/af/xap/gtk/xap_UnixFrameImpl.h
@@ -152,9 +152,9 @@ protected:
 			static gint key_release_event(GtkWidget* w, GdkEventKey* e);
 			static gint delete_event(GtkWidget * w, GdkEvent * /*event*/, gpointer /*data*/);
 #if GTK_CHECK_VERSION(3,0,0)
-			static gint draw(GtkWidget * w, cairo_t * cr);
+			static gboolean draw(GtkWidget * w, cairo_t * cr);
 #else
-			static gint expose(GtkWidget * w, GdkEventExpose* pExposeEvent);
+			static gboolean expose(GtkWidget * w, GdkEventExpose* pExposeEvent);
 #endif
 			static gint do_ZoomUpdate( gpointer /* xap_UnixFrame * */ p);
 			static void vScrollChanged(GtkAdjustment * w, gpointer /*data*/);

M gnu/packages/patches/abiword-explictly-cast-bools.patch => gnu/packages/patches/abiword-explictly-cast-bools.patch +7 -7
@@ 2,18 2,18 @@ As of JPEG-9, the type 'boolean' is an enumeration, but since glib defines
TRUE and FALSE as numeric constants and this is C++, they need to be explicitly
casted.

--- a/src/af/util/xp/ut_jpeg.cpp	2009-07-08 19:33:53.000000000 +0200
+++ b/src/af/util/xp/ut_jpeg.cpp	2014-09-06 19:55:55.876997404 +0200
@@ -102,7 +102,7 @@
--- a/src/af/util/xp/ut_jpeg.cpp
+++ b/src/af/util/xp/ut_jpeg.cpp
@@ -102,7 +102,7 @@ static boolean _jpegFillInputBuffer (j_decompress_ptr cinfo)
 	src->pub.next_input_byte = src->sourceBuf->getPointer (src->pos);
 	src->pub.bytes_in_buffer = src->sourceBuf->getLength ();
 	
-	return TRUE;
 
-	return 1; // boolean is a libjpeg type that is an int.
+	return (boolean)TRUE;
 }
 
 /*
@@ -161,7 +161,7 @@
@@ -161,7 +161,7 @@ bool UT_JPEG_getDimensions(const UT_ByteBuf* pBB, UT_sint32& iImageWidth,
 	/* set the data source */
 	_JPEG_ByteBufSrc (&cinfo, pBB);
 


@@ 22,7 22,7 @@ casted.
 	jpeg_start_decompress(&cinfo);
     iImageWidth = cinfo.output_width;
     iImageHeight = cinfo.output_height;
@@ -189,7 +189,7 @@
@@ -189,7 +189,7 @@ bool UT_JPEG_getRGBData(const UT_ByteBuf* pBB, UT_Byte* pDest, UT_sint32 iDestRo
 	/* set the data source */
 	_JPEG_ByteBufSrc (&cinfo, pBB);