guix/gnu/packages/patches/emacs-pdf-tools-poppler.patch
Ludovic Courtès e555bbfc48
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.
2018-11-21 17:38:00 +01:00

42 lines
1.6 KiB
Diff

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;
}