guix-commits
[Top][All Lists]
Advanced

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

03/04: gnu: emacs-pdf-tools: Fix build with recent Poppler.


From: guix-commits
Subject: 03/04: gnu: emacs-pdf-tools: Fix build with recent Poppler.
Date: Wed, 21 Nov 2018 11:38:09 -0500 (EST)

civodul pushed a commit to branch core-updates
in repository guix.

commit e555bbfc48ebb4ca019d3648324b1900a891cda1
Author: Ludovic Courtès <address@hidden>
Date:   Wed Nov 21 12:43:57 2018 +0100

    gnu: emacs-pdf-tools: Fix build with recent Poppler.
    
    * gnu/packages/patches/emacs-pdf-tools-poppler.patch: New file.
    * gnu/packages/emacs.scm (emacs-pdf-tools)[source]: Use it.
    * gnu/local.mk (dist_patch_DATA): Add it.
---
 gnu/local.mk                                       |  1 +
 gnu/packages/emacs.scm                             |  3 +-
 gnu/packages/patches/emacs-pdf-tools-poppler.patch | 41 ++++++++++++++++++++++
 3 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index aeff3f8..4b194d7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -667,6 +667,7 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/emacs-fix-scheme-indent-function.patch  \
   %D%/packages/patches/emacs-json-reformat-fix-tests.patch     \
   %D%/packages/patches/emacs-highlight-stages-add-gexp.patch   \
+  %D%/packages/patches/emacs-pdf-tools-poppler.patch           \
   %D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch    \
   %D%/packages/patches/emacs-source-date-epoch.patch           \
   %D%/packages/patches/emacs-realgud-fix-configure-ac.patch    \
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index c386b08..dfcee56 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -1601,7 +1601,8 @@ filters, new key bindings and faces.  It can be enabled by
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1i4647vax5na73basc5dz4lh9kprir00fh8ps4i0l1y3ippnjs2s"))))
+                "1i4647vax5na73basc5dz4lh9kprir00fh8ps4i0l1y3ippnjs2s"))
+              (patches (search-patches "emacs-pdf-tools-poppler.patch"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; there are no tests
diff --git a/gnu/packages/patches/emacs-pdf-tools-poppler.patch 
b/gnu/packages/patches/emacs-pdf-tools-poppler.patch
new file mode 100644
index 0000000..0477508
--- /dev/null
+++ b/gnu/packages/patches/emacs-pdf-tools-poppler.patch
@@ -0,0 +1,41 @@
+Fix build issue with recent Poppler:
+  <https://github.com/politza/pdf-tools/issues/372>.
+
+This combines upstream commits
+6cd76dec9aece2a8daa90f17ab77fbf773157a1d..50a5297b82e26cfd52f6c00645ddc1057099d6a7
+for this file.
+
+diff --git a/server/poppler-hack.cc b/server/poppler-hack.cc
+index 0c62f73..427f9df 100644
+--- a/server/poppler-hack.cc
++++ b/server/poppler-hack.cc
+@@ -51,7 +51,10 @@ GType poppler_annot_markup_get_type (void) G_GNUC_CONST;
+     double y2;
+   };
+ 
+-  char *_xpoppler_goo_string_to_utf8(GooString *s)
++  // This function does not modify its argument s, but for
++  // compatibility reasons (e.g. getLength in GooString.h before 2015)
++  // with older poppler code, it can't be declared as such.
++  char *_xpoppler_goo_string_to_utf8(/* const */ GooString *s)
+   {
+     char *result;
+ 
+@@ -85,7 +88,7 @@ GType poppler_annot_markup_get_type (void) G_GNUC_CONST;
+   // Set the rectangle of an annotation.  It was first added in v0.26.
+   void xpoppler_annot_set_rectangle (PopplerAnnot *a, PopplerRectangle 
*rectangle)
+   {
+-    GooString *state = a->annot->getAppearState ();
++    GooString *state = (GooString*) a->annot->getAppearState ();
+     char *ustate = _xpoppler_goo_string_to_utf8 (state);
+ 
+     a->annot->setRect (rectangle->x1, rectangle->y1,
+@@ -105,7 +108,7 @@ GType poppler_annot_markup_get_type (void) G_GNUC_CONST;
+     g_return_val_if_fail (POPPLER_IS_ANNOT_MARKUP (poppler_annot), NULL);
+ 
+     annot = static_cast<AnnotMarkup *>(POPPLER_ANNOT (poppler_annot)->annot);
+-    text = annot->getDate ();
++    text = (GooString*) annot->getDate ();
+ 
+     return text ? _xpoppler_goo_string_to_utf8 (text) : NULL;
+   }



reply via email to

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