From 3b69f8efaa35e980e55ea0e484dde4ba07321820 Mon Sep 17 00:00:00 2001 From: Juergen Buchmueller Date: Fri, 23 Sep 2016 09:49:11 +0200 Subject: [PATCH] zathura-pdf-mupdf: fix for mudpf-1.9 API changes --- .../zathura-pdf-mupdf/patches/mudpf-1.9.patch | 151 ++++++++++++++++++ srcpkgs/zathura-pdf-mupdf/template | 3 +- 2 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/zathura-pdf-mupdf/patches/mudpf-1.9.patch diff --git a/srcpkgs/zathura-pdf-mupdf/patches/mudpf-1.9.patch b/srcpkgs/zathura-pdf-mupdf/patches/mudpf-1.9.patch new file mode 100644 index 00000000000..56862965b36 --- /dev/null +++ b/srcpkgs/zathura-pdf-mupdf/patches/mudpf-1.9.patch @@ -0,0 +1,151 @@ +From 368e80b59a7b2f330ad9bd7de45c350c6fbb2209 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 18 Apr 2016 15:23:07 +0200 +Subject: [PATCH 1/1] update API for mupdf 1.9 + +Signed-off-by: Christian Hesse +--- + 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 + + Other contributors are (in alphabetical order): + ++Christian Hesse + Pavel Borzenkov + William Skeith +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 + diff --git a/srcpkgs/zathura-pdf-mupdf/template b/srcpkgs/zathura-pdf-mupdf/template index 960795a9cdd..b8cfdbd63ec 100644 --- a/srcpkgs/zathura-pdf-mupdf/template +++ b/srcpkgs/zathura-pdf-mupdf/template @@ -1,7 +1,7 @@ # Template file for 'zathura-pdf-mupdf' pkgname=zathura-pdf-mupdf version=0.3.0 -revision=2 +revision=3 build_style=gnu-makefile make_build_args="MUPDF_LIB=-lmupdf MUPDF_LIB+=-lmujs" maintainer="lemmi " @@ -13,6 +13,7 @@ homepage="http://pwmt.org/projects/zathura-pdf-mupdf/" short_desc="PDF support for zathura (using mupdf)" distfiles="http://pwmt.org/projects/${pkgname}/download/${pkgname}-${version}.tar.gz" checksum=478cb9d1562d08e096ebec4a6db9116d616a3536260197c2a28a2772171f72c8 +patch_args="-p1" pre_build() { sed -i 's/^\(CFLAGS *+=\)/override \1/' config.mk