aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/emacs-pdf-tools-poppler.patch
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-11-21 12:43:57 +0100
committerLudovic Courtès <ludo@gnu.org>2018-11-21 17:38:00 +0100
commite555bbfc48ebb4ca019d3648324b1900a891cda1 (patch)
treeb5934e69dbe60dde6280f7c626d6b8b5500b464a /gnu/packages/patches/emacs-pdf-tools-poppler.patch
parentc3d8c6ac7e457bbde72ce54cd4caf4b9610e2d99 (diff)
downloadguix-e555bbfc48ebb4ca019d3648324b1900a891cda1.tar
guix-e555bbfc48ebb4ca019d3648324b1900a891cda1.tar.gz
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.
Diffstat (limited to 'gnu/packages/patches/emacs-pdf-tools-poppler.patch')
-rw-r--r--gnu/packages/patches/emacs-pdf-tools-poppler.patch41
1 files changed, 41 insertions, 0 deletions
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 0000000000..0477508fa9
--- /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;
+ }