[arch-commits] Commit in zathura-pdf-mupdf/repos (10 files)

Johannes Löthberg demize at archlinux.org
Sun Nov 27 00:18:06 UTC 2016


    Date: Sunday, November 27, 2016 @ 00:18:05
  Author: demize
Revision: 196985

archrelease: copy trunk to community-i686, community-x86_64

Added:
  zathura-pdf-mupdf/repos/community-i686/PKGBUILD
    (from rev 196984, zathura-pdf-mupdf/trunk/PKGBUILD)
  zathura-pdf-mupdf/repos/community-i686/mupdf-1.10.patch
    (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.10.patch)
  zathura-pdf-mupdf/repos/community-i686/mupdf-1.9.patch
    (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.9.patch)
  zathura-pdf-mupdf/repos/community-x86_64/PKGBUILD
    (from rev 196984, zathura-pdf-mupdf/trunk/PKGBUILD)
  zathura-pdf-mupdf/repos/community-x86_64/mupdf-1.10.patch
    (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.10.patch)
  zathura-pdf-mupdf/repos/community-x86_64/mupdf-1.9.patch
    (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.9.patch)
Deleted:
  zathura-pdf-mupdf/repos/community-i686/PKGBUILD
  zathura-pdf-mupdf/repos/community-i686/mupdf-1.9.patch
  zathura-pdf-mupdf/repos/community-x86_64/PKGBUILD
  zathura-pdf-mupdf/repos/community-x86_64/mupdf-1.9.patch

-----------------------------------+
 /PKGBUILD                         |   80 +++++++++
 /mupdf-1.9.patch                  |  302 ++++++++++++++++++++++++++++++++++++
 community-i686/PKGBUILD           |   37 ----
 community-i686/mupdf-1.10.patch   |  287 ++++++++++++++++++++++++++++++++++
 community-i686/mupdf-1.9.patch    |  151 ------------------
 community-x86_64/PKGBUILD         |   37 ----
 community-x86_64/mupdf-1.10.patch |  287 ++++++++++++++++++++++++++++++++++
 community-x86_64/mupdf-1.9.patch  |  151 ------------------
 8 files changed, 956 insertions(+), 376 deletions(-)

Deleted: community-i686/PKGBUILD
===================================================================
--- community-i686/PKGBUILD	2016-11-27 00:17:52 UTC (rev 196984)
+++ community-i686/PKGBUILD	2016-11-27 00:18:05 UTC (rev 196985)
@@ -1,37 +0,0 @@
-# $Id$
-# Maintainer: Johannes Löthberg <johannes at kyriasis.com>
-# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
-# Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
-# Contributor: Moritz Lipp <mlq at pwmt.org>
-
-pkgname=zathura-pdf-mupdf
-pkgver=0.3.0
-pkgrel=4
-
-pkgdesc="PDF support for Zathura (MuPDF backend)"
-url="https://pwmt.org/projects/zathura-pdf-mupdf/"
-arch=('i686' 'x86_64')
-license=('zlib')
-
-conflicts=('zathura-pdf-poppler')
-
-depends=('zathura' 'jbig2dec' 'openjpeg2' 'cairo' 'desktop-file-utils')
-makedepends=('libmupdf')
-
-source=(https://pwmt.org/projects/zathura/plugins/download/zathura-pdf-mupdf-$pkgver.tar.gz
-        mupdf-1.9.patch)
-sha1sums=('ae0be41ea7c75b8ddc083fe01f1366673ea9751a'
-          'f26adb3a7c69cf7a2e957d211e8faffe79c923c7')
-
-prepare() {
-  patch -d zathura-pdf-mupdf-$pkgver -Np1 < mupdf-1.9.patch
-}
-
-build() {
-  make -C zathura-pdf-mupdf-$pkgver MUPDF_LIB="-lmupdf -lmupdfthird"
-}
-
-package(){
-  make -C zathura-pdf-mupdf-$pkgver DESTDIR="$pkgdir" install
-  install -Dm0644 zathura-pdf-mupdf-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}

Copied: zathura-pdf-mupdf/repos/community-i686/PKGBUILD (from rev 196984, zathura-pdf-mupdf/trunk/PKGBUILD)
===================================================================
--- community-i686/PKGBUILD	                        (rev 0)
+++ community-i686/PKGBUILD	2016-11-27 00:18:05 UTC (rev 196985)
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Johannes Löthberg <johannes at kyriasis.com>
+# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Moritz Lipp <mlq at pwmt.org>
+
+pkgname=zathura-pdf-mupdf
+pkgver=0.3.0
+pkgrel=5
+
+pkgdesc="PDF support for Zathura (MuPDF backend)"
+url="https://pwmt.org/projects/zathura-pdf-mupdf/"
+arch=('i686' 'x86_64')
+license=('zlib')
+
+conflicts=('zathura-pdf-poppler')
+
+depends=('zathura' 'jbig2dec' 'openjpeg2' 'cairo' 'desktop-file-utils')
+makedepends=('libmupdf')
+
+source=(https://pwmt.org/projects/zathura/plugins/download/zathura-pdf-mupdf-$pkgver.tar.gz
+        mupdf-1.9.patch
+        mupdf-1.10.patch)
+sha1sums=('ae0be41ea7c75b8ddc083fe01f1366673ea9751a'
+          'f26adb3a7c69cf7a2e957d211e8faffe79c923c7'
+          '8adb7223e54c028d33008c1b65efb845cb8e6224')
+
+prepare() {
+  patch -d zathura-pdf-mupdf-$pkgver -Np1 < mupdf-1.9.patch
+  patch -d zathura-pdf-mupdf-$pkgver -Np1 < mupdf-1.10.patch
+}
+
+build() {
+  make -C zathura-pdf-mupdf-$pkgver MUPDF_LIB="-lmupdf -lmupdfthird"
+}
+
+package(){
+  make -C zathura-pdf-mupdf-$pkgver DESTDIR="$pkgdir" install
+  install -Dm0644 zathura-pdf-mupdf-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}

Copied: zathura-pdf-mupdf/repos/community-i686/mupdf-1.10.patch (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.10.patch)
===================================================================
--- community-i686/mupdf-1.10.patch	                        (rev 0)
+++ community-i686/mupdf-1.10.patch	2016-11-27 00:18:05 UTC (rev 196985)
@@ -0,0 +1,287 @@
+From 518fd77c351fa1bac37679e195dc14fa76c8e895 Mon Sep 17 00:00:00 2001
+From: Moritz Lipp <mlq at pwmt.org>
+Date: Thu, 24 Nov 2016 00:51:45 +0100
+Subject: [PATCH] Make compatible to mupdf 1.10
+
+---
+ document.c |  1 -
+ image.c    |  2 +-
+ index.c    | 68 ++++++++++++++++++++++----------------------------------------------
+ links.c    | 64 ++++++++++++++++++----------------------------------------------
+ page.c     |  4 +++-
+ render.c   |  6 +++---
+ utils.c    |  2 +-
+ 7 files changed, 48 insertions(+), 99 deletions(-)
+
+diff --git a/document.c b/document.c
+index 8d0aae4..7f9f244 100644
+--- a/document.c
++++ b/document.c
+@@ -3,7 +3,6 @@
+ #define _POSIX_C_SOURCE 1
+ 
+ #include <mupdf/fitz.h>
+-#include <mupdf/xps.h>
+ #include <mupdf/pdf.h>
+ 
+ #include <glib-2.0/glib.h>
+diff --git a/image.c b/image.c
+index 8f6912b..b938e5c 100644
+--- a/image.c
++++ b/image.c
+@@ -93,7 +93,7 @@ pdf_page_image_get_cairo(zathura_page_t* page, mupdf_page_t* mupdf_page,
+   fz_pixmap* pixmap = NULL;
+   cairo_surface_t* surface = NULL;
+ 
+-  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
++  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, NULL, NULL, 0, 0);
+   if (pixmap == NULL) {
+     goto error_free;
+   }
+diff --git a/index.c b/index.c
+index 8b8f8a5..1d1ea8d 100644
+--- a/index.c
++++ b/index.c
+@@ -6,7 +6,8 @@
+ 
+ #include "plugin.h"
+ 
+-static void build_index(fz_outline* outline, girara_tree_node_t* root);
++static void build_index(fz_context* ctx, fz_document* document, fz_outline*
++    outline, girara_tree_node_t* root);
+ 
+ girara_tree_node_t*
+ pdf_document_index_generate(zathura_document_t* document, mupdf_document_t* mupdf_document, zathura_error_t* error)
+@@ -29,7 +30,7 @@ pdf_document_index_generate(zathura_document_t* document, mupdf_document_t* mupd
+ 
+   /* generate index */
+   girara_tree_node_t* root = girara_node_new(zathura_index_element_new("ROOT"));
+-  build_index(outline, root);
++  build_index(mupdf_document->ctx, mupdf_document->document, outline, root);
+ 
+   /* free outline */
+   fz_drop_outline(mupdf_document->ctx, outline);
+@@ -38,7 +39,7 @@ pdf_document_index_generate(zathura_document_t* document, mupdf_document_t* mupd
+ }
+ 
+ static void
+-build_index(fz_outline* outline, girara_tree_node_t* root)
++build_index(fz_context* ctx, fz_document* document, fz_outline* outline, girara_tree_node_t* root)
+ {
+   if (outline == NULL || root == NULL) {
+     return;
+@@ -50,49 +51,24 @@ build_index(fz_outline* outline, girara_tree_node_t* root)
+     zathura_link_type_t type               = ZATHURA_LINK_INVALID;
+     zathura_rectangle_t rect               = { .x1 = 0, .y1 = 0, .x2 = 0, .y2 = 0 };
+ 
+-    switch (outline->dest.kind) {
+-      case FZ_LINK_NONE:
+-        type = ZATHURA_LINK_NONE;
+-        break;
+-      case FZ_LINK_URI:
++    if (fz_is_external_link(ctx, outline->uri) == 1) {
++      if (strstr(outline->uri, "file://") == outline->uri) {
++        type         = ZATHURA_LINK_GOTO_REMOTE;
++        target.value = outline->uri;
++      } else {
+         type         = ZATHURA_LINK_URI;
+-        target.value = outline->dest.ld.uri.uri;
+-        break;
+-      case FZ_LINK_GOTO:
+-        type                    = ZATHURA_LINK_GOTO_DEST;
+-        target.page_number      = outline->dest.ld.gotor.page;
+-        target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
+-        target.left             = 0;
+-        target.top              = 0;
+-        target.scale            = 0.0;
+-        {
+-          int gflags = outline->dest.ld.gotor.flags;
+-          if (gflags & fz_link_flag_l_valid) {
+-            target.left = outline->dest.ld.gotor.lt.x;
+-          }
+-          if (gflags & fz_link_flag_t_valid) {
+-            target.top = outline->dest.ld.gotor.lt.y;
+-          }
+-          /* if (gflags & fz_link_flag_r_is_zoom) { */
+-          /*   target.scale = outline->dest.ld.gotor.rb.x; */
+-          /* } */
+-        }
+-        break;
+-      case FZ_LINK_LAUNCH:
+-        type = ZATHURA_LINK_LAUNCH;
+-        target.value = outline->dest.ld.launch.file_spec;
+-        break;
+-      case FZ_LINK_NAMED:
+-        type = ZATHURA_LINK_NAMED;
+-        target.value = outline->dest.ld.named.named;
+-        break;
+-      case FZ_LINK_GOTOR:
+-        type = ZATHURA_LINK_GOTO_REMOTE;
+-        target.value = outline->dest.ld.gotor.file_spec;
+-        break;
+-      default:
+-        outline = outline->next; // TODO: Don't skip unknown type
+-        continue;
++        target.value = outline->uri;
++      }
++    } else {
++      float x = 0;
++      float y = 0;
++
++      type                    = ZATHURA_LINK_GOTO_DEST;
++      target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
++      target.page_number      = fz_resolve_link(ctx, document, outline->uri, &x, &y);
++      target.left  = x;
++      target.top   = y;
++      target.scale = 0.0;
+     }
+ 
+     index_element->link = zathura_link_new(type, rect, target);
+@@ -104,7 +80,7 @@ build_index(fz_outline* outline, girara_tree_node_t* root)
+     girara_tree_node_t* node = girara_node_append_data(root, index_element);
+ 
+     if (outline->down != NULL) {
+-      build_index(outline->down, node);
++      build_index(ctx, document, outline->down, node);
+     }
+ 
+     outline = outline->next;
+diff --git a/links.c b/links.c
+index a947802..7423af2 100644
+--- a/links.c
++++ b/links.c
+@@ -43,59 +43,31 @@ pdf_page_links_get(zathura_page_t* page, mupdf_page_t* mupdf_page, zathura_error
+     zathura_link_type_t type     = ZATHURA_LINK_INVALID;
+     zathura_link_target_t target = { 0 };
+ 
+-    char* buffer = NULL;
+-    switch (link->dest.kind) {
+-      case FZ_LINK_NONE:
+-        type = ZATHURA_LINK_NONE;
+-        break;
+-      case FZ_LINK_URI:
++    if (fz_is_external_link(mupdf_document->ctx, link->uri) == 1) {
++      if (strstr(link->uri, "file://") == link->uri) {
++        type         = ZATHURA_LINK_GOTO_REMOTE;
++        target.value = link->uri;
++      } else {
+         type         = ZATHURA_LINK_URI;
+-        target.value = link->dest.ld.uri.uri;
+-        break;
+-      case FZ_LINK_GOTO:
+-        type                    = ZATHURA_LINK_GOTO_DEST;
+-        target.page_number      = link->dest.ld.gotor.page;
+-        target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
+-        target.left             = 0;
+-        target.top              = 0;
+-        target.scale            = 0.0;
+-        {
+-          int gflags = link->dest.ld.gotor.flags;
+-          if (gflags & fz_link_flag_l_valid) {
+-            target.left = link->dest.ld.gotor.lt.x;
+-          }
+-          if (gflags & fz_link_flag_t_valid) {
+-            target.top = link->dest.ld.gotor.lt.y;
+-          }
+-          /* if (gflags & fz_link_flag_r_is_zoom) { */
+-          /*   target.scale = link->dest.ld.gotor.rb.x; */
+-          /* } */
+-        }
+-        break;
+-      case FZ_LINK_LAUNCH:
+-        type = ZATHURA_LINK_LAUNCH;
+-        target.value = link->dest.ld.launch.file_spec;
+-        break;
+-      case FZ_LINK_NAMED:
+-        type = ZATHURA_LINK_NAMED;
+-        target.value = link->dest.ld.named.named;
+-        break;
+-      case FZ_LINK_GOTOR:
+-        type = ZATHURA_LINK_GOTO_REMOTE;
+-        target.value = link->dest.ld.gotor.file_spec;
+-        break;
+-      default:
+-        continue;
++        target.value = link->uri;
++      }
++    } else {
++      float x = 0;
++      float y = 0;
++
++      type                    = ZATHURA_LINK_GOTO_DEST;
++      target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
++      target.page_number      = fz_resolve_link(mupdf_document->ctx,
++          mupdf_document->document, link->uri, &x, &y);
++      target.left  = x;
++      target.top   = y;
++      target.scale = 0.0;
+     }
+ 
+     zathura_link_t* zathura_link = zathura_link_new(type, position, target);
+     if (zathura_link != NULL) {
+       girara_list_append(list, zathura_link);
+     }
+-
+-    if (buffer != NULL) {
+-      g_free(buffer);
+-    }
+   }
+ 
+   return list;
+diff --git a/page.c b/page.c
+index 219fc2a..5302cb5 100644
+--- a/page.c
++++ b/page.c
+@@ -43,7 +43,9 @@ pdf_page_init(zathura_page_t* page)
+   /* setup text */
+   mupdf_page->extracted_text = false;
+ 
+-  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx);
++  fz_rect mediabox;
++  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx,
++      fz_bound_page(mupdf_page->ctx, mupdf_page->page, &mediabox));
+   if (mupdf_page->text == NULL) {
+     goto error_free;
+   }
+diff --git a/render.c b/render.c
+index 2a92a23..00adb83 100644
+--- a/render.c
++++ b/render.c
+@@ -20,7 +20,7 @@ pdf_page_render_to_buffer(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_
+     return ZATHURA_ERROR_UNKNOWN;
+   }
+ 
+-  fz_display_list* display_list = fz_new_display_list(mupdf_page->ctx);
++  fz_display_list* display_list = fz_new_display_list(mupdf_page->ctx, NULL);
+   fz_device* device             = fz_new_list_device(mupdf_page->ctx, display_list);
+ 
+   fz_try (mupdf_document->ctx) {
+@@ -37,10 +37,10 @@ pdf_page_render_to_buffer(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_
+   fz_rect rect = { .x1 = page_width, .y1 = page_height };
+ 
+   fz_colorspace* colorspace = fz_device_bgr(mupdf_document->ctx);
+-  fz_pixmap* pixmap = fz_new_pixmap_with_bbox_and_data(mupdf_page->ctx, colorspace, &irect, image);
++  fz_pixmap* pixmap = fz_new_pixmap_with_bbox_and_data(mupdf_page->ctx, colorspace, &irect, 1, image);
+   fz_clear_pixmap_with_value(mupdf_page->ctx, pixmap, 0xFF);
+ 
+-  device = fz_new_draw_device(mupdf_page->ctx, pixmap);
++  device = fz_new_draw_device(mupdf_page->ctx, NULL, pixmap);
+   fz_run_display_list(mupdf_page->ctx, display_list, device, &fz_identity, &rect, NULL);
+   fz_drop_device(mupdf_page->ctx, device);
+ 
+diff --git a/utils.c b/utils.c
+index a4b9320..648187a 100644
+--- a/utils.c
++++ b/utils.c
+@@ -14,7 +14,7 @@ mupdf_page_extract_text(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_pa
+   fz_device* text_device = NULL;
+ 
+   fz_try (mupdf_page->ctx) {
+-    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
++    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text, NULL);
+ 
+     /* Disable FZ_IGNORE_IMAGE to collect image blocks */
+     fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_IGNORE_IMAGE);
+--
+libgit2 0.24.0
+

Deleted: community-i686/mupdf-1.9.patch
===================================================================
--- community-i686/mupdf-1.9.patch	2016-11-27 00:17:52 UTC (rev 196984)
+++ community-i686/mupdf-1.9.patch	2016-11-27 00:18:05 UTC (rev 196985)
@@ -1,151 +0,0 @@
-From 368e80b59a7b2f330ad9bd7de45c350c6fbb2209 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail at eworm.de>
-Date: Mon, 18 Apr 2016 15:23:07 +0200
-Subject: [PATCH 1/1] update API for mupdf 1.9
-
-Signed-off-by: Christian Hesse <mail at eworm.de>
----
- AUTHORS    | 1 +
- config.mk  | 2 +-
- document.c | 6 +++---
- image.c    | 2 +-
- page.c     | 8 ++++----
- plugin.h   | 4 ++--
- search.c   | 2 +-
- utils.c    | 2 +-
- 8 files changed, 14 insertions(+), 13 deletions(-)
-
-diff --git a/AUTHORS b/AUTHORS
-index f5f8430..371ebf1 100644
---- a/AUTHORS
-+++ b/AUTHORS
-@@ -5,5 +5,6 @@ Sebastian Ramacher <s.ramacher at gmx.at>
- 
- Other contributors are (in alphabetical order):
- 
-+Christian Hesse <mail at eworm.de>
- Pavel Borzenkov <pavel.borzenkov at gmail.com>
- William Skeith <wes at cs.ccny.cuny.edu>
-diff --git a/config.mk b/config.mk
-index cba8d40..6407ae6 100644
---- a/config.mk
-+++ b/config.mk
-@@ -32,7 +32,7 @@ endif
- OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
- OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
- 
--MUPDF_LIB ?= -lmupdf -lmujs
-+MUPDF_LIB ?= -lmupdf -lmupdfthird
- 
- INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC}
- LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg
-diff --git a/document.c b/document.c
-index 873866c..548f4ff 100644
---- a/document.c
-+++ b/document.c
-@@ -109,12 +109,12 @@ pdf_document_save_as(zathura_document_t* document, mupdf_document_t*
-   }
- 
-   fz_try (mupdf_document->ctx) {
--    /* fz_write_document claims to accepts NULL as third argument but doesn't.
-+    /* pdf_save_document claims to accepts NULL as third argument but doesn't.
-      * pdf_write_document does not check if the third arguments is NULL for some
-      * options. */
- 
--    fz_write_options opts = { 0 }; /* just use the default options */
--    fz_write_document(mupdf_document->ctx, mupdf_document->document, (char*) path, &opts);
-+    pdf_write_options opts = { 0 }; /* just use the default options */
-+    pdf_save_document(mupdf_document->ctx, (pdf_document*) mupdf_document->document, (char*) path, &opts);
-   } fz_catch (mupdf_document->ctx) {
-     return ZATHURA_ERROR_UNKNOWN;
-   }
-diff --git a/image.c b/image.c
-index 97d4143..8f6912b 100644
---- a/image.c
-+++ b/image.c
-@@ -93,7 +93,7 @@ pdf_page_image_get_cairo(zathura_page_t* page, mupdf_page_t* mupdf_page,
-   fz_pixmap* pixmap = NULL;
-   cairo_surface_t* surface = NULL;
- 
--  pixmap = fz_new_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
-+  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
-   if (pixmap == NULL) {
-     goto error_free;
-   }
-diff --git a/page.c b/page.c
-index beb0351..219fc2a 100644
---- a/page.c
-+++ b/page.c
-@@ -43,12 +43,12 @@ pdf_page_init(zathura_page_t* page)
-   /* setup text */
-   mupdf_page->extracted_text = false;
- 
--  mupdf_page->text = fz_new_text_page(mupdf_page->ctx);
-+  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx);
-   if (mupdf_page->text == NULL) {
-     goto error_free;
-   }
- 
--  mupdf_page->sheet = fz_new_text_sheet(mupdf_page->ctx);
-+  mupdf_page->sheet = fz_new_stext_sheet(mupdf_page->ctx);
-   if (mupdf_page->sheet == NULL) {
-     goto error_free;
-   }
-@@ -74,11 +74,11 @@ pdf_page_clear(zathura_page_t* page, mupdf_page_t* mupdf_page)
- 
-   if (mupdf_page != NULL) {
-     if (mupdf_page->text != NULL) {
--      fz_drop_text_page(mupdf_page->ctx, mupdf_page->text);
-+      fz_drop_stext_page(mupdf_page->ctx, mupdf_page->text);
-     }
- 
-     if (mupdf_page->sheet != NULL) {
--      fz_drop_text_sheet(mupdf_page->ctx, mupdf_page->sheet);
-+      fz_drop_stext_sheet(mupdf_page->ctx, mupdf_page->sheet);
-     }
- 
-     if (mupdf_page->page != NULL) {
-diff --git a/plugin.h b/plugin.h
-index f2fb4a0..84c5e53 100644
---- a/plugin.h
-+++ b/plugin.h
-@@ -21,8 +21,8 @@ typedef struct mupdf_page_s
- {
-   fz_page* page; /**< Reference to the mupdf page */
-   fz_context* ctx; /**< Context */
--  fz_text_sheet* sheet; /**< Text sheet */
--  fz_text_page* text; /**< Page text */
-+  fz_stext_sheet* sheet; /**< Text sheet */
-+  fz_stext_page* text; /**< Page text */
-   fz_rect bbox; /**< Bbox */
-   bool extracted_text; /**< If text has already been extracted */
- } mupdf_page_t;
-diff --git a/search.c b/search.c
-index 3a9fad4..c672b9f 100644
---- a/search.c
-+++ b/search.c
-@@ -40,7 +40,7 @@ pdf_page_search_text(zathura_page_t* page, mupdf_page_t* mupdf_page, const char*
-   }
- 
-   fz_rect* hit_bbox = fz_malloc_array(mupdf_page->ctx, N_SEARCH_RESULTS, sizeof(fz_rect));
--  int num_results = fz_search_text_page(mupdf_page->ctx, mupdf_page->text,
-+  int num_results = fz_search_stext_page(mupdf_page->ctx, mupdf_page->text,
-       (char*) text, hit_bbox, N_SEARCH_RESULTS);
- 
-   for (int i = 0; i < num_results; i++) {
-diff --git a/utils.c b/utils.c
-index 4a003b9..a4b9320 100644
---- a/utils.c
-+++ b/utils.c
-@@ -14,7 +14,7 @@ mupdf_page_extract_text(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_pa
-   fz_device* text_device = NULL;
- 
-   fz_try (mupdf_page->ctx) {
--    text_device = fz_new_text_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
-+    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
- 
-     /* Disable FZ_IGNORE_IMAGE to collect image blocks */
-     fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_IGNORE_IMAGE);
--- 
-2.8.0
-

Copied: zathura-pdf-mupdf/repos/community-i686/mupdf-1.9.patch (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.9.patch)
===================================================================
--- community-i686/mupdf-1.9.patch	                        (rev 0)
+++ community-i686/mupdf-1.9.patch	2016-11-27 00:18:05 UTC (rev 196985)
@@ -0,0 +1,151 @@
+From 368e80b59a7b2f330ad9bd7de45c350c6fbb2209 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail at eworm.de>
+Date: Mon, 18 Apr 2016 15:23:07 +0200
+Subject: [PATCH 1/1] update API for mupdf 1.9
+
+Signed-off-by: Christian Hesse <mail at eworm.de>
+---
+ AUTHORS    | 1 +
+ config.mk  | 2 +-
+ document.c | 6 +++---
+ image.c    | 2 +-
+ page.c     | 8 ++++----
+ plugin.h   | 4 ++--
+ search.c   | 2 +-
+ utils.c    | 2 +-
+ 8 files changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index f5f8430..371ebf1 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -5,5 +5,6 @@ Sebastian Ramacher <s.ramacher at gmx.at>
+ 
+ Other contributors are (in alphabetical order):
+ 
++Christian Hesse <mail at eworm.de>
+ Pavel Borzenkov <pavel.borzenkov at gmail.com>
+ William Skeith <wes at cs.ccny.cuny.edu>
+diff --git a/config.mk b/config.mk
+index cba8d40..6407ae6 100644
+--- a/config.mk
++++ b/config.mk
+@@ -32,7 +32,7 @@ endif
+ OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
+ OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
+ 
+-MUPDF_LIB ?= -lmupdf -lmujs
++MUPDF_LIB ?= -lmupdf -lmupdfthird
+ 
+ INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC}
+ LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg
+diff --git a/document.c b/document.c
+index 873866c..548f4ff 100644
+--- a/document.c
++++ b/document.c
+@@ -109,12 +109,12 @@ pdf_document_save_as(zathura_document_t* document, mupdf_document_t*
+   }
+ 
+   fz_try (mupdf_document->ctx) {
+-    /* fz_write_document claims to accepts NULL as third argument but doesn't.
++    /* pdf_save_document claims to accepts NULL as third argument but doesn't.
+      * pdf_write_document does not check if the third arguments is NULL for some
+      * options. */
+ 
+-    fz_write_options opts = { 0 }; /* just use the default options */
+-    fz_write_document(mupdf_document->ctx, mupdf_document->document, (char*) path, &opts);
++    pdf_write_options opts = { 0 }; /* just use the default options */
++    pdf_save_document(mupdf_document->ctx, (pdf_document*) mupdf_document->document, (char*) path, &opts);
+   } fz_catch (mupdf_document->ctx) {
+     return ZATHURA_ERROR_UNKNOWN;
+   }
+diff --git a/image.c b/image.c
+index 97d4143..8f6912b 100644
+--- a/image.c
++++ b/image.c
+@@ -93,7 +93,7 @@ pdf_page_image_get_cairo(zathura_page_t* page, mupdf_page_t* mupdf_page,
+   fz_pixmap* pixmap = NULL;
+   cairo_surface_t* surface = NULL;
+ 
+-  pixmap = fz_new_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
++  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
+   if (pixmap == NULL) {
+     goto error_free;
+   }
+diff --git a/page.c b/page.c
+index beb0351..219fc2a 100644
+--- a/page.c
++++ b/page.c
+@@ -43,12 +43,12 @@ pdf_page_init(zathura_page_t* page)
+   /* setup text */
+   mupdf_page->extracted_text = false;
+ 
+-  mupdf_page->text = fz_new_text_page(mupdf_page->ctx);
++  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx);
+   if (mupdf_page->text == NULL) {
+     goto error_free;
+   }
+ 
+-  mupdf_page->sheet = fz_new_text_sheet(mupdf_page->ctx);
++  mupdf_page->sheet = fz_new_stext_sheet(mupdf_page->ctx);
+   if (mupdf_page->sheet == NULL) {
+     goto error_free;
+   }
+@@ -74,11 +74,11 @@ pdf_page_clear(zathura_page_t* page, mupdf_page_t* mupdf_page)
+ 
+   if (mupdf_page != NULL) {
+     if (mupdf_page->text != NULL) {
+-      fz_drop_text_page(mupdf_page->ctx, mupdf_page->text);
++      fz_drop_stext_page(mupdf_page->ctx, mupdf_page->text);
+     }
+ 
+     if (mupdf_page->sheet != NULL) {
+-      fz_drop_text_sheet(mupdf_page->ctx, mupdf_page->sheet);
++      fz_drop_stext_sheet(mupdf_page->ctx, mupdf_page->sheet);
+     }
+ 
+     if (mupdf_page->page != NULL) {
+diff --git a/plugin.h b/plugin.h
+index f2fb4a0..84c5e53 100644
+--- a/plugin.h
++++ b/plugin.h
+@@ -21,8 +21,8 @@ typedef struct mupdf_page_s
+ {
+   fz_page* page; /**< Reference to the mupdf page */
+   fz_context* ctx; /**< Context */
+-  fz_text_sheet* sheet; /**< Text sheet */
+-  fz_text_page* text; /**< Page text */
++  fz_stext_sheet* sheet; /**< Text sheet */
++  fz_stext_page* text; /**< Page text */
+   fz_rect bbox; /**< Bbox */
+   bool extracted_text; /**< If text has already been extracted */
+ } mupdf_page_t;
+diff --git a/search.c b/search.c
+index 3a9fad4..c672b9f 100644
+--- a/search.c
++++ b/search.c
+@@ -40,7 +40,7 @@ pdf_page_search_text(zathura_page_t* page, mupdf_page_t* mupdf_page, const char*
+   }
+ 
+   fz_rect* hit_bbox = fz_malloc_array(mupdf_page->ctx, N_SEARCH_RESULTS, sizeof(fz_rect));
+-  int num_results = fz_search_text_page(mupdf_page->ctx, mupdf_page->text,
++  int num_results = fz_search_stext_page(mupdf_page->ctx, mupdf_page->text,
+       (char*) text, hit_bbox, N_SEARCH_RESULTS);
+ 
+   for (int i = 0; i < num_results; i++) {
+diff --git a/utils.c b/utils.c
+index 4a003b9..a4b9320 100644
+--- a/utils.c
++++ b/utils.c
+@@ -14,7 +14,7 @@ mupdf_page_extract_text(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_pa
+   fz_device* text_device = NULL;
+ 
+   fz_try (mupdf_page->ctx) {
+-    text_device = fz_new_text_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
++    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
+ 
+     /* Disable FZ_IGNORE_IMAGE to collect image blocks */
+     fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_IGNORE_IMAGE);
+-- 
+2.8.0
+

Deleted: community-x86_64/PKGBUILD
===================================================================
--- community-x86_64/PKGBUILD	2016-11-27 00:17:52 UTC (rev 196984)
+++ community-x86_64/PKGBUILD	2016-11-27 00:18:05 UTC (rev 196985)
@@ -1,37 +0,0 @@
-# $Id$
-# Maintainer: Johannes Löthberg <johannes at kyriasis.com>
-# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
-# Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
-# Contributor: Moritz Lipp <mlq at pwmt.org>
-
-pkgname=zathura-pdf-mupdf
-pkgver=0.3.0
-pkgrel=4
-
-pkgdesc="PDF support for Zathura (MuPDF backend)"
-url="https://pwmt.org/projects/zathura-pdf-mupdf/"
-arch=('i686' 'x86_64')
-license=('zlib')
-
-conflicts=('zathura-pdf-poppler')
-
-depends=('zathura' 'jbig2dec' 'openjpeg2' 'cairo' 'desktop-file-utils')
-makedepends=('libmupdf')
-
-source=(https://pwmt.org/projects/zathura/plugins/download/zathura-pdf-mupdf-$pkgver.tar.gz
-        mupdf-1.9.patch)
-sha1sums=('ae0be41ea7c75b8ddc083fe01f1366673ea9751a'
-          'f26adb3a7c69cf7a2e957d211e8faffe79c923c7')
-
-prepare() {
-  patch -d zathura-pdf-mupdf-$pkgver -Np1 < mupdf-1.9.patch
-}
-
-build() {
-  make -C zathura-pdf-mupdf-$pkgver MUPDF_LIB="-lmupdf -lmupdfthird"
-}
-
-package(){
-  make -C zathura-pdf-mupdf-$pkgver DESTDIR="$pkgdir" install
-  install -Dm0644 zathura-pdf-mupdf-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}

Copied: zathura-pdf-mupdf/repos/community-x86_64/PKGBUILD (from rev 196984, zathura-pdf-mupdf/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD	                        (rev 0)
+++ community-x86_64/PKGBUILD	2016-11-27 00:18:05 UTC (rev 196985)
@@ -0,0 +1,40 @@
+# $Id$
+# Maintainer: Johannes Löthberg <johannes at kyriasis.com>
+# Contributor: Daniel Wallace <danielwallace at gtmanfred dot com>
+# Contributor: Sergej Pupykin <pupykin.s+arch at gmail.com>
+# Contributor: Moritz Lipp <mlq at pwmt.org>
+
+pkgname=zathura-pdf-mupdf
+pkgver=0.3.0
+pkgrel=5
+
+pkgdesc="PDF support for Zathura (MuPDF backend)"
+url="https://pwmt.org/projects/zathura-pdf-mupdf/"
+arch=('i686' 'x86_64')
+license=('zlib')
+
+conflicts=('zathura-pdf-poppler')
+
+depends=('zathura' 'jbig2dec' 'openjpeg2' 'cairo' 'desktop-file-utils')
+makedepends=('libmupdf')
+
+source=(https://pwmt.org/projects/zathura/plugins/download/zathura-pdf-mupdf-$pkgver.tar.gz
+        mupdf-1.9.patch
+        mupdf-1.10.patch)
+sha1sums=('ae0be41ea7c75b8ddc083fe01f1366673ea9751a'
+          'f26adb3a7c69cf7a2e957d211e8faffe79c923c7'
+          '8adb7223e54c028d33008c1b65efb845cb8e6224')
+
+prepare() {
+  patch -d zathura-pdf-mupdf-$pkgver -Np1 < mupdf-1.9.patch
+  patch -d zathura-pdf-mupdf-$pkgver -Np1 < mupdf-1.10.patch
+}
+
+build() {
+  make -C zathura-pdf-mupdf-$pkgver MUPDF_LIB="-lmupdf -lmupdfthird"
+}
+
+package(){
+  make -C zathura-pdf-mupdf-$pkgver DESTDIR="$pkgdir" install
+  install -Dm0644 zathura-pdf-mupdf-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}

Copied: zathura-pdf-mupdf/repos/community-x86_64/mupdf-1.10.patch (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.10.patch)
===================================================================
--- community-x86_64/mupdf-1.10.patch	                        (rev 0)
+++ community-x86_64/mupdf-1.10.patch	2016-11-27 00:18:05 UTC (rev 196985)
@@ -0,0 +1,287 @@
+From 518fd77c351fa1bac37679e195dc14fa76c8e895 Mon Sep 17 00:00:00 2001
+From: Moritz Lipp <mlq at pwmt.org>
+Date: Thu, 24 Nov 2016 00:51:45 +0100
+Subject: [PATCH] Make compatible to mupdf 1.10
+
+---
+ document.c |  1 -
+ image.c    |  2 +-
+ index.c    | 68 ++++++++++++++++++++++----------------------------------------------
+ links.c    | 64 ++++++++++++++++++----------------------------------------------
+ page.c     |  4 +++-
+ render.c   |  6 +++---
+ utils.c    |  2 +-
+ 7 files changed, 48 insertions(+), 99 deletions(-)
+
+diff --git a/document.c b/document.c
+index 8d0aae4..7f9f244 100644
+--- a/document.c
++++ b/document.c
+@@ -3,7 +3,6 @@
+ #define _POSIX_C_SOURCE 1
+ 
+ #include <mupdf/fitz.h>
+-#include <mupdf/xps.h>
+ #include <mupdf/pdf.h>
+ 
+ #include <glib-2.0/glib.h>
+diff --git a/image.c b/image.c
+index 8f6912b..b938e5c 100644
+--- a/image.c
++++ b/image.c
+@@ -93,7 +93,7 @@ pdf_page_image_get_cairo(zathura_page_t* page, mupdf_page_t* mupdf_page,
+   fz_pixmap* pixmap = NULL;
+   cairo_surface_t* surface = NULL;
+ 
+-  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
++  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, NULL, NULL, 0, 0);
+   if (pixmap == NULL) {
+     goto error_free;
+   }
+diff --git a/index.c b/index.c
+index 8b8f8a5..1d1ea8d 100644
+--- a/index.c
++++ b/index.c
+@@ -6,7 +6,8 @@
+ 
+ #include "plugin.h"
+ 
+-static void build_index(fz_outline* outline, girara_tree_node_t* root);
++static void build_index(fz_context* ctx, fz_document* document, fz_outline*
++    outline, girara_tree_node_t* root);
+ 
+ girara_tree_node_t*
+ pdf_document_index_generate(zathura_document_t* document, mupdf_document_t* mupdf_document, zathura_error_t* error)
+@@ -29,7 +30,7 @@ pdf_document_index_generate(zathura_document_t* document, mupdf_document_t* mupd
+ 
+   /* generate index */
+   girara_tree_node_t* root = girara_node_new(zathura_index_element_new("ROOT"));
+-  build_index(outline, root);
++  build_index(mupdf_document->ctx, mupdf_document->document, outline, root);
+ 
+   /* free outline */
+   fz_drop_outline(mupdf_document->ctx, outline);
+@@ -38,7 +39,7 @@ pdf_document_index_generate(zathura_document_t* document, mupdf_document_t* mupd
+ }
+ 
+ static void
+-build_index(fz_outline* outline, girara_tree_node_t* root)
++build_index(fz_context* ctx, fz_document* document, fz_outline* outline, girara_tree_node_t* root)
+ {
+   if (outline == NULL || root == NULL) {
+     return;
+@@ -50,49 +51,24 @@ build_index(fz_outline* outline, girara_tree_node_t* root)
+     zathura_link_type_t type               = ZATHURA_LINK_INVALID;
+     zathura_rectangle_t rect               = { .x1 = 0, .y1 = 0, .x2 = 0, .y2 = 0 };
+ 
+-    switch (outline->dest.kind) {
+-      case FZ_LINK_NONE:
+-        type = ZATHURA_LINK_NONE;
+-        break;
+-      case FZ_LINK_URI:
++    if (fz_is_external_link(ctx, outline->uri) == 1) {
++      if (strstr(outline->uri, "file://") == outline->uri) {
++        type         = ZATHURA_LINK_GOTO_REMOTE;
++        target.value = outline->uri;
++      } else {
+         type         = ZATHURA_LINK_URI;
+-        target.value = outline->dest.ld.uri.uri;
+-        break;
+-      case FZ_LINK_GOTO:
+-        type                    = ZATHURA_LINK_GOTO_DEST;
+-        target.page_number      = outline->dest.ld.gotor.page;
+-        target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
+-        target.left             = 0;
+-        target.top              = 0;
+-        target.scale            = 0.0;
+-        {
+-          int gflags = outline->dest.ld.gotor.flags;
+-          if (gflags & fz_link_flag_l_valid) {
+-            target.left = outline->dest.ld.gotor.lt.x;
+-          }
+-          if (gflags & fz_link_flag_t_valid) {
+-            target.top = outline->dest.ld.gotor.lt.y;
+-          }
+-          /* if (gflags & fz_link_flag_r_is_zoom) { */
+-          /*   target.scale = outline->dest.ld.gotor.rb.x; */
+-          /* } */
+-        }
+-        break;
+-      case FZ_LINK_LAUNCH:
+-        type = ZATHURA_LINK_LAUNCH;
+-        target.value = outline->dest.ld.launch.file_spec;
+-        break;
+-      case FZ_LINK_NAMED:
+-        type = ZATHURA_LINK_NAMED;
+-        target.value = outline->dest.ld.named.named;
+-        break;
+-      case FZ_LINK_GOTOR:
+-        type = ZATHURA_LINK_GOTO_REMOTE;
+-        target.value = outline->dest.ld.gotor.file_spec;
+-        break;
+-      default:
+-        outline = outline->next; // TODO: Don't skip unknown type
+-        continue;
++        target.value = outline->uri;
++      }
++    } else {
++      float x = 0;
++      float y = 0;
++
++      type                    = ZATHURA_LINK_GOTO_DEST;
++      target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
++      target.page_number      = fz_resolve_link(ctx, document, outline->uri, &x, &y);
++      target.left  = x;
++      target.top   = y;
++      target.scale = 0.0;
+     }
+ 
+     index_element->link = zathura_link_new(type, rect, target);
+@@ -104,7 +80,7 @@ build_index(fz_outline* outline, girara_tree_node_t* root)
+     girara_tree_node_t* node = girara_node_append_data(root, index_element);
+ 
+     if (outline->down != NULL) {
+-      build_index(outline->down, node);
++      build_index(ctx, document, outline->down, node);
+     }
+ 
+     outline = outline->next;
+diff --git a/links.c b/links.c
+index a947802..7423af2 100644
+--- a/links.c
++++ b/links.c
+@@ -43,59 +43,31 @@ pdf_page_links_get(zathura_page_t* page, mupdf_page_t* mupdf_page, zathura_error
+     zathura_link_type_t type     = ZATHURA_LINK_INVALID;
+     zathura_link_target_t target = { 0 };
+ 
+-    char* buffer = NULL;
+-    switch (link->dest.kind) {
+-      case FZ_LINK_NONE:
+-        type = ZATHURA_LINK_NONE;
+-        break;
+-      case FZ_LINK_URI:
++    if (fz_is_external_link(mupdf_document->ctx, link->uri) == 1) {
++      if (strstr(link->uri, "file://") == link->uri) {
++        type         = ZATHURA_LINK_GOTO_REMOTE;
++        target.value = link->uri;
++      } else {
+         type         = ZATHURA_LINK_URI;
+-        target.value = link->dest.ld.uri.uri;
+-        break;
+-      case FZ_LINK_GOTO:
+-        type                    = ZATHURA_LINK_GOTO_DEST;
+-        target.page_number      = link->dest.ld.gotor.page;
+-        target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
+-        target.left             = 0;
+-        target.top              = 0;
+-        target.scale            = 0.0;
+-        {
+-          int gflags = link->dest.ld.gotor.flags;
+-          if (gflags & fz_link_flag_l_valid) {
+-            target.left = link->dest.ld.gotor.lt.x;
+-          }
+-          if (gflags & fz_link_flag_t_valid) {
+-            target.top = link->dest.ld.gotor.lt.y;
+-          }
+-          /* if (gflags & fz_link_flag_r_is_zoom) { */
+-          /*   target.scale = link->dest.ld.gotor.rb.x; */
+-          /* } */
+-        }
+-        break;
+-      case FZ_LINK_LAUNCH:
+-        type = ZATHURA_LINK_LAUNCH;
+-        target.value = link->dest.ld.launch.file_spec;
+-        break;
+-      case FZ_LINK_NAMED:
+-        type = ZATHURA_LINK_NAMED;
+-        target.value = link->dest.ld.named.named;
+-        break;
+-      case FZ_LINK_GOTOR:
+-        type = ZATHURA_LINK_GOTO_REMOTE;
+-        target.value = link->dest.ld.gotor.file_spec;
+-        break;
+-      default:
+-        continue;
++        target.value = link->uri;
++      }
++    } else {
++      float x = 0;
++      float y = 0;
++
++      type                    = ZATHURA_LINK_GOTO_DEST;
++      target.destination_type = ZATHURA_LINK_DESTINATION_XYZ;
++      target.page_number      = fz_resolve_link(mupdf_document->ctx,
++          mupdf_document->document, link->uri, &x, &y);
++      target.left  = x;
++      target.top   = y;
++      target.scale = 0.0;
+     }
+ 
+     zathura_link_t* zathura_link = zathura_link_new(type, position, target);
+     if (zathura_link != NULL) {
+       girara_list_append(list, zathura_link);
+     }
+-
+-    if (buffer != NULL) {
+-      g_free(buffer);
+-    }
+   }
+ 
+   return list;
+diff --git a/page.c b/page.c
+index 219fc2a..5302cb5 100644
+--- a/page.c
++++ b/page.c
+@@ -43,7 +43,9 @@ pdf_page_init(zathura_page_t* page)
+   /* setup text */
+   mupdf_page->extracted_text = false;
+ 
+-  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx);
++  fz_rect mediabox;
++  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx,
++      fz_bound_page(mupdf_page->ctx, mupdf_page->page, &mediabox));
+   if (mupdf_page->text == NULL) {
+     goto error_free;
+   }
+diff --git a/render.c b/render.c
+index 2a92a23..00adb83 100644
+--- a/render.c
++++ b/render.c
+@@ -20,7 +20,7 @@ pdf_page_render_to_buffer(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_
+     return ZATHURA_ERROR_UNKNOWN;
+   }
+ 
+-  fz_display_list* display_list = fz_new_display_list(mupdf_page->ctx);
++  fz_display_list* display_list = fz_new_display_list(mupdf_page->ctx, NULL);
+   fz_device* device             = fz_new_list_device(mupdf_page->ctx, display_list);
+ 
+   fz_try (mupdf_document->ctx) {
+@@ -37,10 +37,10 @@ pdf_page_render_to_buffer(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_
+   fz_rect rect = { .x1 = page_width, .y1 = page_height };
+ 
+   fz_colorspace* colorspace = fz_device_bgr(mupdf_document->ctx);
+-  fz_pixmap* pixmap = fz_new_pixmap_with_bbox_and_data(mupdf_page->ctx, colorspace, &irect, image);
++  fz_pixmap* pixmap = fz_new_pixmap_with_bbox_and_data(mupdf_page->ctx, colorspace, &irect, 1, image);
+   fz_clear_pixmap_with_value(mupdf_page->ctx, pixmap, 0xFF);
+ 
+-  device = fz_new_draw_device(mupdf_page->ctx, pixmap);
++  device = fz_new_draw_device(mupdf_page->ctx, NULL, pixmap);
+   fz_run_display_list(mupdf_page->ctx, display_list, device, &fz_identity, &rect, NULL);
+   fz_drop_device(mupdf_page->ctx, device);
+ 
+diff --git a/utils.c b/utils.c
+index a4b9320..648187a 100644
+--- a/utils.c
++++ b/utils.c
+@@ -14,7 +14,7 @@ mupdf_page_extract_text(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_pa
+   fz_device* text_device = NULL;
+ 
+   fz_try (mupdf_page->ctx) {
+-    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
++    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text, NULL);
+ 
+     /* Disable FZ_IGNORE_IMAGE to collect image blocks */
+     fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_IGNORE_IMAGE);
+--
+libgit2 0.24.0
+

Deleted: community-x86_64/mupdf-1.9.patch
===================================================================
--- community-x86_64/mupdf-1.9.patch	2016-11-27 00:17:52 UTC (rev 196984)
+++ community-x86_64/mupdf-1.9.patch	2016-11-27 00:18:05 UTC (rev 196985)
@@ -1,151 +0,0 @@
-From 368e80b59a7b2f330ad9bd7de45c350c6fbb2209 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail at eworm.de>
-Date: Mon, 18 Apr 2016 15:23:07 +0200
-Subject: [PATCH 1/1] update API for mupdf 1.9
-
-Signed-off-by: Christian Hesse <mail at eworm.de>
----
- AUTHORS    | 1 +
- config.mk  | 2 +-
- document.c | 6 +++---
- image.c    | 2 +-
- page.c     | 8 ++++----
- plugin.h   | 4 ++--
- search.c   | 2 +-
- utils.c    | 2 +-
- 8 files changed, 14 insertions(+), 13 deletions(-)
-
-diff --git a/AUTHORS b/AUTHORS
-index f5f8430..371ebf1 100644
---- a/AUTHORS
-+++ b/AUTHORS
-@@ -5,5 +5,6 @@ Sebastian Ramacher <s.ramacher at gmx.at>
- 
- Other contributors are (in alphabetical order):
- 
-+Christian Hesse <mail at eworm.de>
- Pavel Borzenkov <pavel.borzenkov at gmail.com>
- William Skeith <wes at cs.ccny.cuny.edu>
-diff --git a/config.mk b/config.mk
-index cba8d40..6407ae6 100644
---- a/config.mk
-+++ b/config.mk
-@@ -32,7 +32,7 @@ endif
- OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
- OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
- 
--MUPDF_LIB ?= -lmupdf -lmujs
-+MUPDF_LIB ?= -lmupdf -lmupdfthird
- 
- INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC}
- LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg
-diff --git a/document.c b/document.c
-index 873866c..548f4ff 100644
---- a/document.c
-+++ b/document.c
-@@ -109,12 +109,12 @@ pdf_document_save_as(zathura_document_t* document, mupdf_document_t*
-   }
- 
-   fz_try (mupdf_document->ctx) {
--    /* fz_write_document claims to accepts NULL as third argument but doesn't.
-+    /* pdf_save_document claims to accepts NULL as third argument but doesn't.
-      * pdf_write_document does not check if the third arguments is NULL for some
-      * options. */
- 
--    fz_write_options opts = { 0 }; /* just use the default options */
--    fz_write_document(mupdf_document->ctx, mupdf_document->document, (char*) path, &opts);
-+    pdf_write_options opts = { 0 }; /* just use the default options */
-+    pdf_save_document(mupdf_document->ctx, (pdf_document*) mupdf_document->document, (char*) path, &opts);
-   } fz_catch (mupdf_document->ctx) {
-     return ZATHURA_ERROR_UNKNOWN;
-   }
-diff --git a/image.c b/image.c
-index 97d4143..8f6912b 100644
---- a/image.c
-+++ b/image.c
-@@ -93,7 +93,7 @@ pdf_page_image_get_cairo(zathura_page_t* page, mupdf_page_t* mupdf_page,
-   fz_pixmap* pixmap = NULL;
-   cairo_surface_t* surface = NULL;
- 
--  pixmap = fz_new_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
-+  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
-   if (pixmap == NULL) {
-     goto error_free;
-   }
-diff --git a/page.c b/page.c
-index beb0351..219fc2a 100644
---- a/page.c
-+++ b/page.c
-@@ -43,12 +43,12 @@ pdf_page_init(zathura_page_t* page)
-   /* setup text */
-   mupdf_page->extracted_text = false;
- 
--  mupdf_page->text = fz_new_text_page(mupdf_page->ctx);
-+  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx);
-   if (mupdf_page->text == NULL) {
-     goto error_free;
-   }
- 
--  mupdf_page->sheet = fz_new_text_sheet(mupdf_page->ctx);
-+  mupdf_page->sheet = fz_new_stext_sheet(mupdf_page->ctx);
-   if (mupdf_page->sheet == NULL) {
-     goto error_free;
-   }
-@@ -74,11 +74,11 @@ pdf_page_clear(zathura_page_t* page, mupdf_page_t* mupdf_page)
- 
-   if (mupdf_page != NULL) {
-     if (mupdf_page->text != NULL) {
--      fz_drop_text_page(mupdf_page->ctx, mupdf_page->text);
-+      fz_drop_stext_page(mupdf_page->ctx, mupdf_page->text);
-     }
- 
-     if (mupdf_page->sheet != NULL) {
--      fz_drop_text_sheet(mupdf_page->ctx, mupdf_page->sheet);
-+      fz_drop_stext_sheet(mupdf_page->ctx, mupdf_page->sheet);
-     }
- 
-     if (mupdf_page->page != NULL) {
-diff --git a/plugin.h b/plugin.h
-index f2fb4a0..84c5e53 100644
---- a/plugin.h
-+++ b/plugin.h
-@@ -21,8 +21,8 @@ typedef struct mupdf_page_s
- {
-   fz_page* page; /**< Reference to the mupdf page */
-   fz_context* ctx; /**< Context */
--  fz_text_sheet* sheet; /**< Text sheet */
--  fz_text_page* text; /**< Page text */
-+  fz_stext_sheet* sheet; /**< Text sheet */
-+  fz_stext_page* text; /**< Page text */
-   fz_rect bbox; /**< Bbox */
-   bool extracted_text; /**< If text has already been extracted */
- } mupdf_page_t;
-diff --git a/search.c b/search.c
-index 3a9fad4..c672b9f 100644
---- a/search.c
-+++ b/search.c
-@@ -40,7 +40,7 @@ pdf_page_search_text(zathura_page_t* page, mupdf_page_t* mupdf_page, const char*
-   }
- 
-   fz_rect* hit_bbox = fz_malloc_array(mupdf_page->ctx, N_SEARCH_RESULTS, sizeof(fz_rect));
--  int num_results = fz_search_text_page(mupdf_page->ctx, mupdf_page->text,
-+  int num_results = fz_search_stext_page(mupdf_page->ctx, mupdf_page->text,
-       (char*) text, hit_bbox, N_SEARCH_RESULTS);
- 
-   for (int i = 0; i < num_results; i++) {
-diff --git a/utils.c b/utils.c
-index 4a003b9..a4b9320 100644
---- a/utils.c
-+++ b/utils.c
-@@ -14,7 +14,7 @@ mupdf_page_extract_text(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_pa
-   fz_device* text_device = NULL;
- 
-   fz_try (mupdf_page->ctx) {
--    text_device = fz_new_text_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
-+    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
- 
-     /* Disable FZ_IGNORE_IMAGE to collect image blocks */
-     fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_IGNORE_IMAGE);
--- 
-2.8.0
-

Copied: zathura-pdf-mupdf/repos/community-x86_64/mupdf-1.9.patch (from rev 196984, zathura-pdf-mupdf/trunk/mupdf-1.9.patch)
===================================================================
--- community-x86_64/mupdf-1.9.patch	                        (rev 0)
+++ community-x86_64/mupdf-1.9.patch	2016-11-27 00:18:05 UTC (rev 196985)
@@ -0,0 +1,151 @@
+From 368e80b59a7b2f330ad9bd7de45c350c6fbb2209 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail at eworm.de>
+Date: Mon, 18 Apr 2016 15:23:07 +0200
+Subject: [PATCH 1/1] update API for mupdf 1.9
+
+Signed-off-by: Christian Hesse <mail at eworm.de>
+---
+ AUTHORS    | 1 +
+ config.mk  | 2 +-
+ document.c | 6 +++---
+ image.c    | 2 +-
+ page.c     | 8 ++++----
+ plugin.h   | 4 ++--
+ search.c   | 2 +-
+ utils.c    | 2 +-
+ 8 files changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/AUTHORS b/AUTHORS
+index f5f8430..371ebf1 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -5,5 +5,6 @@ Sebastian Ramacher <s.ramacher at gmx.at>
+ 
+ Other contributors are (in alphabetical order):
+ 
++Christian Hesse <mail at eworm.de>
+ Pavel Borzenkov <pavel.borzenkov at gmail.com>
+ William Skeith <wes at cs.ccny.cuny.edu>
+diff --git a/config.mk b/config.mk
+index cba8d40..6407ae6 100644
+--- a/config.mk
++++ b/config.mk
+@@ -32,7 +32,7 @@ endif
+ OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
+ OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
+ 
+-MUPDF_LIB ?= -lmupdf -lmujs
++MUPDF_LIB ?= -lmupdf -lmupdfthird
+ 
+ INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC}
+ LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg
+diff --git a/document.c b/document.c
+index 873866c..548f4ff 100644
+--- a/document.c
++++ b/document.c
+@@ -109,12 +109,12 @@ pdf_document_save_as(zathura_document_t* document, mupdf_document_t*
+   }
+ 
+   fz_try (mupdf_document->ctx) {
+-    /* fz_write_document claims to accepts NULL as third argument but doesn't.
++    /* pdf_save_document claims to accepts NULL as third argument but doesn't.
+      * pdf_write_document does not check if the third arguments is NULL for some
+      * options. */
+ 
+-    fz_write_options opts = { 0 }; /* just use the default options */
+-    fz_write_document(mupdf_document->ctx, mupdf_document->document, (char*) path, &opts);
++    pdf_write_options opts = { 0 }; /* just use the default options */
++    pdf_save_document(mupdf_document->ctx, (pdf_document*) mupdf_document->document, (char*) path, &opts);
+   } fz_catch (mupdf_document->ctx) {
+     return ZATHURA_ERROR_UNKNOWN;
+   }
+diff --git a/image.c b/image.c
+index 97d4143..8f6912b 100644
+--- a/image.c
++++ b/image.c
+@@ -93,7 +93,7 @@ pdf_page_image_get_cairo(zathura_page_t* page, mupdf_page_t* mupdf_page,
+   fz_pixmap* pixmap = NULL;
+   cairo_surface_t* surface = NULL;
+ 
+-  pixmap = fz_new_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
++  pixmap = fz_get_pixmap_from_image(mupdf_page->ctx, mupdf_image, 0, 0);
+   if (pixmap == NULL) {
+     goto error_free;
+   }
+diff --git a/page.c b/page.c
+index beb0351..219fc2a 100644
+--- a/page.c
++++ b/page.c
+@@ -43,12 +43,12 @@ pdf_page_init(zathura_page_t* page)
+   /* setup text */
+   mupdf_page->extracted_text = false;
+ 
+-  mupdf_page->text = fz_new_text_page(mupdf_page->ctx);
++  mupdf_page->text = fz_new_stext_page(mupdf_page->ctx);
+   if (mupdf_page->text == NULL) {
+     goto error_free;
+   }
+ 
+-  mupdf_page->sheet = fz_new_text_sheet(mupdf_page->ctx);
++  mupdf_page->sheet = fz_new_stext_sheet(mupdf_page->ctx);
+   if (mupdf_page->sheet == NULL) {
+     goto error_free;
+   }
+@@ -74,11 +74,11 @@ pdf_page_clear(zathura_page_t* page, mupdf_page_t* mupdf_page)
+ 
+   if (mupdf_page != NULL) {
+     if (mupdf_page->text != NULL) {
+-      fz_drop_text_page(mupdf_page->ctx, mupdf_page->text);
++      fz_drop_stext_page(mupdf_page->ctx, mupdf_page->text);
+     }
+ 
+     if (mupdf_page->sheet != NULL) {
+-      fz_drop_text_sheet(mupdf_page->ctx, mupdf_page->sheet);
++      fz_drop_stext_sheet(mupdf_page->ctx, mupdf_page->sheet);
+     }
+ 
+     if (mupdf_page->page != NULL) {
+diff --git a/plugin.h b/plugin.h
+index f2fb4a0..84c5e53 100644
+--- a/plugin.h
++++ b/plugin.h
+@@ -21,8 +21,8 @@ typedef struct mupdf_page_s
+ {
+   fz_page* page; /**< Reference to the mupdf page */
+   fz_context* ctx; /**< Context */
+-  fz_text_sheet* sheet; /**< Text sheet */
+-  fz_text_page* text; /**< Page text */
++  fz_stext_sheet* sheet; /**< Text sheet */
++  fz_stext_page* text; /**< Page text */
+   fz_rect bbox; /**< Bbox */
+   bool extracted_text; /**< If text has already been extracted */
+ } mupdf_page_t;
+diff --git a/search.c b/search.c
+index 3a9fad4..c672b9f 100644
+--- a/search.c
++++ b/search.c
+@@ -40,7 +40,7 @@ pdf_page_search_text(zathura_page_t* page, mupdf_page_t* mupdf_page, const char*
+   }
+ 
+   fz_rect* hit_bbox = fz_malloc_array(mupdf_page->ctx, N_SEARCH_RESULTS, sizeof(fz_rect));
+-  int num_results = fz_search_text_page(mupdf_page->ctx, mupdf_page->text,
++  int num_results = fz_search_stext_page(mupdf_page->ctx, mupdf_page->text,
+       (char*) text, hit_bbox, N_SEARCH_RESULTS);
+ 
+   for (int i = 0; i < num_results; i++) {
+diff --git a/utils.c b/utils.c
+index 4a003b9..a4b9320 100644
+--- a/utils.c
++++ b/utils.c
+@@ -14,7 +14,7 @@ mupdf_page_extract_text(mupdf_document_t* mupdf_document, mupdf_page_t* mupdf_pa
+   fz_device* text_device = NULL;
+ 
+   fz_try (mupdf_page->ctx) {
+-    text_device = fz_new_text_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
++    text_device = fz_new_stext_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text);
+ 
+     /* Disable FZ_IGNORE_IMAGE to collect image blocks */
+     fz_disable_device_hints(mupdf_page->ctx, text_device, FZ_IGNORE_IMAGE);
+-- 
+2.8.0
+



More information about the arch-commits mailing list