FreeBSD Bugzilla – Attachment 156713 Details for
Bug 200154
[maintainer patch] graphics/zathura-pdf-mupdf compatible to mupdf 1.7
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
zathura-pdf-mupdf-0.2.7_3.diff (text/plain), 14.04 KB, created by
Zsolt Udvari
on 2015-05-12 17:21:58 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Zsolt Udvari
Created:
2015-05-12 17:21:58 UTC
Size:
14.04 KB
patch
obsolete
>diff -urN graphics/zathura-pdf-mupdf.orig/Makefile graphics/zathura-pdf-mupdf/Makefile >--- graphics/zathura-pdf-mupdf.orig/Makefile 2015-05-12 18:37:04.000000000 +0200 >+++ graphics/zathura-pdf-mupdf/Makefile 2015-05-12 19:07:33.000000000 +0200 >@@ -3,7 +3,7 @@ > > PORTNAME= zathura-pdf-mupdf > PORTVERSION= 0.2.7 >-PORTREVISION= 2 >+PORTREVISION= 3 > CATEGORIES= graphics > MASTER_SITES= http://pwmt.org/projects/zathura-pdf-mupdf/download/ > >@@ -16,7 +16,7 @@ > LICENSE_PERMS= dist-mirror pkg-mirror auto-accept > > BUILD_DEPENDS= zathura:${PORTSDIR}/graphics/zathura \ >- mupdf>=1.5_1,1:${PORTSDIR}/graphics/mupdf >+ mupdf>=1.7,1:${PORTSDIR}/graphics/mupdf > RUN_DEPENDS= zathura:${PORTSDIR}/graphics/zathura > > PLIST_FILES= lib/zathura/pdf.so share/applications/zathura-pdf-mupdf.desktop >diff -urN graphics/zathura-pdf-mupdf.orig/files/patch-document.c graphics/zathura-pdf-mupdf/files/patch-document.c >--- graphics/zathura-pdf-mupdf.orig/files/patch-document.c 1970-01-01 01:00:00.000000000 +0100 >+++ graphics/zathura-pdf-mupdf/files/patch-document.c 2015-05-12 19:02:57.000000000 +0200 >@@ -0,0 +1,53 @@ >+--- document.c.orig 2015-05-12 16:37:29 UTC >++++ document.c >+@@ -51,14 +51,14 @@ pdf_document_open(zathura_document_t* do >+ } >+ >+ /* authenticate if password is required and given */ >+- if (fz_needs_password(mupdf_document->document) != 0) { >+- if (password == NULL || fz_authenticate_password(mupdf_document->document, (char*) password) == 0) { >++ if (fz_needs_password(mupdf_document->ctx, mupdf_document->document) != 0) { >++ if (password == NULL || fz_authenticate_password(mupdf_document->ctx, mupdf_document->document, (char*) password) == 0) { >+ error = ZATHURA_ERROR_INVALID_PASSWORD; >+ goto error_free; >+ } >+ } >+ >+- zathura_document_set_number_of_pages(document, fz_count_pages(mupdf_document->document)); >++ zathura_document_set_number_of_pages(document, fz_count_pages(mupdf_document->ctx, mupdf_document->document)); >+ zathura_document_set_data(document, mupdf_document); >+ >+ return error; >+@@ -67,10 +67,10 @@ error_free: >+ >+ if (mupdf_document != NULL) { >+ if (mupdf_document->document != NULL) { >+- fz_close_document(mupdf_document->document); >++ fz_drop_document(mupdf_document->ctx, mupdf_document->document); >+ } >+ if (mupdf_document->ctx != NULL) { >+- fz_free_context(mupdf_document->ctx); >++ fz_drop_context(mupdf_document->ctx); >+ } >+ >+ free(mupdf_document); >+@@ -90,8 +90,8 @@ pdf_document_free(zathura_document_t* do >+ return ZATHURA_ERROR_INVALID_ARGUMENTS; >+ } >+ >+- fz_close_document(mupdf_document->document); >+- fz_free_context(mupdf_document->ctx); >++ fz_drop_document(mupdf_document->ctx, mupdf_document->document); >++ fz_drop_context(mupdf_document->ctx); >+ free(mupdf_document); >+ zathura_document_set_data(document, NULL); >+ >+@@ -112,7 +112,7 @@ pdf_document_save_as(zathura_document_t* >+ * options. */ >+ >+ fz_write_options opts = { 0 }; /* just use the default options */ >+- fz_write_document(mupdf_document->document, (char*) path, &opts); >++ fz_write_document(mupdf_document->ctx, mupdf_document->document, (char*) path, &opts); >+ } fz_catch (mupdf_document->ctx) { >+ return ZATHURA_ERROR_UNKNOWN; >+ } >diff -urN graphics/zathura-pdf-mupdf.orig/files/patch-image.c graphics/zathura-pdf-mupdf/files/patch-image.c >--- graphics/zathura-pdf-mupdf.orig/files/patch-image.c 1970-01-01 01:00:00.000000000 +0100 >+++ graphics/zathura-pdf-mupdf/files/patch-image.c 2015-05-12 19:02:57.000000000 +0200 >@@ -0,0 +1,143 @@ >+--- image.c.orig 2015-05-12 16:41:50 UTC >++++ image.c >+@@ -9,8 +9,8 @@ >+ #include "plugin.h" >+ >+ static void pdf_zathura_image_free(zathura_image_t* image); >+-static void get_images(pdf_obj* dict, girara_list_t* list); >+-static void get_resources(pdf_obj* resource, girara_list_t* list); >++static void get_images(zathura_page_t* page, pdf_obj* dict, girara_list_t* list); >++static void get_resources(zathura_page_t* page, pdf_obj* resource, girara_list_t* list); >+ >+ girara_list_t* >+ pdf_page_images_get(zathura_page_t* page, mupdf_page_t* mupdf_page, zathura_error_t* error) >+@@ -30,12 +30,12 @@ pdf_page_images_get(zathura_page_t* page >+ >+ mupdf_document_t* mupdf_document = zathura_document_get_data(document); >+ >+- pdf_obj* page_object = pdf_load_object((pdf_document*) mupdf_document->document, zathura_page_get_index(page), 0); >++ pdf_obj* page_object = pdf_load_object(mupdf_document->ctx, (pdf_document*) mupdf_document->document, zathura_page_get_index(page), 0); >+ if (page_object == NULL) { >+ goto error_free; >+ } >+ >+- pdf_obj* resource = pdf_dict_gets(page_object, "Resources"); >++ pdf_obj* resource = pdf_dict_gets(mupdf_document->ctx, page_object, "Resources"); >+ if (resource == NULL) { >+ goto error_free; >+ } >+@@ -50,7 +50,7 @@ pdf_page_images_get(zathura_page_t* page >+ >+ girara_list_set_free_function(list, (girara_free_function_t) pdf_zathura_image_free); >+ >+- get_resources(resource, list); >++ get_resources(page, resource, list); >+ >+ return list; >+ >+@@ -81,20 +81,32 @@ pdf_zathura_image_free(zathura_image_t* >+ } >+ >+ static void >+-get_images(pdf_obj* dict, girara_list_t* list) >++get_images(zathura_page_t* page, pdf_obj* dict, girara_list_t* list) >+ { >+ if (dict == NULL || list == NULL) { >+ return; >+ } >+ >+- for (int i = 0; i < pdf_dict_len(dict); i++) { >+- pdf_obj* image_dict = pdf_dict_get_val(dict, i); >+- if (pdf_is_dict(image_dict) == 0) { >++ if (page == NULL) { >++ return; >++ } >++ >++ zathura_document_t* document = zathura_page_get_document(page); >++ >++ if (document == NULL) { >++ return; >++ } >++ >++ mupdf_document_t* mupdf_document = zathura_document_get_data(document); >++ >++ for (int i = 0; i < pdf_dict_len(mupdf_document->ctx, dict); i++) { >++ pdf_obj* image_dict = pdf_dict_get_val(mupdf_document->ctx, dict, i); >++ if (pdf_is_dict(mupdf_document->ctx, image_dict) == 0) { >+ continue; >+ } >+ >+- pdf_obj* type = pdf_dict_gets(image_dict, "Subtype"); >+- if (strcmp(pdf_to_name(type), "Image") != 0) { >++ pdf_obj* type = pdf_dict_gets(mupdf_document->ctx, image_dict, "Subtype"); >++ if (strcmp(pdf_to_name(mupdf_document->ctx, type), "Image") != 0) { >+ continue; >+ } >+ >+@@ -110,8 +122,8 @@ get_images(pdf_obj* dict, girara_list_t* >+ continue; >+ } >+ >+- pdf_obj* width = pdf_dict_gets(image_dict, "Width"); >+- pdf_obj* height = pdf_dict_gets(image_dict, "Height"); >++ pdf_obj* width = pdf_dict_gets(mupdf_document->ctx, image_dict, "Width"); >++ pdf_obj* height = pdf_dict_gets(mupdf_document->ctx, image_dict, "Height"); >+ >+ zathura_image_t* zathura_image = g_malloc(sizeof(zathura_image_t)); >+ >+@@ -120,33 +132,45 @@ get_images(pdf_obj* dict, girara_list_t* >+ // FIXME: Get correct image coordinates >+ zathura_image->data = image_dict; >+ zathura_image->position.x1 = 0; >+- zathura_image->position.x2 = pdf_to_int(width); >++ zathura_image->position.x2 = pdf_to_int(mupdf_document->ctx, width); >+ zathura_image->position.y1 = 0; >+- zathura_image->position.y2 = pdf_to_int(height); >++ zathura_image->position.y2 = pdf_to_int(mupdf_document->ctx, height); >+ >+ girara_list_append(list, zathura_image); >+ } >+ } >+ >+ static void >+-get_resources(pdf_obj* resource, girara_list_t* list) >++get_resources(zathura_page_t* page, pdf_obj* resource, girara_list_t* list) >+ { >+ if (resource == NULL || list == NULL) { >+ return; >+ } >+ >+- pdf_obj* x_object = pdf_dict_gets(resource, "XObject"); >++ if (page == NULL) { >++ return; >++ } >++ >++ zathura_document_t* document = zathura_page_get_document(page); >++ >++ if (document == NULL) { >++ return; >++ } >++ >++ mupdf_document_t* mupdf_document = zathura_document_get_data(document); >++ >++ pdf_obj* x_object = pdf_dict_gets(mupdf_document->ctx, resource, "XObject"); >+ if (x_object == NULL) { >+ return; >+ } >+ >+- get_images(x_object, list); >++ get_images(page, x_object, list); >+ >+- for (int i = 0; i < pdf_dict_len(x_object); i++) { >+- pdf_obj* obj = pdf_dict_get_val(x_object, i); >+- pdf_obj* subsrc = pdf_dict_gets(obj, "Resources"); >+- if (subsrc != NULL && pdf_objcmp(resource, subsrc)) { >+- get_resources(subsrc, list); >++ for (int i = 0; i < pdf_dict_len(mupdf_document->ctx, x_object); i++) { >++ pdf_obj* obj = pdf_dict_get_val(mupdf_document->ctx, x_object, i); >++ pdf_obj* subsrc = pdf_dict_gets(mupdf_document->ctx, obj, "Resources"); >++ if (subsrc != NULL && pdf_objcmp(mupdf_document->ctx, resource, subsrc)) { >++ get_resources(page, subsrc, list); >+ } >+ } >+ } >diff -urN graphics/zathura-pdf-mupdf.orig/files/patch-index.c graphics/zathura-pdf-mupdf/files/patch-index.c >--- graphics/zathura-pdf-mupdf.orig/files/patch-index.c 1970-01-01 01:00:00.000000000 +0100 >+++ graphics/zathura-pdf-mupdf/files/patch-index.c 2015-05-12 19:02:57.000000000 +0200 >@@ -0,0 +1,20 @@ >+--- index.c.orig 2015-05-12 16:53:43 UTC >++++ index.c >+@@ -19,7 +19,7 @@ pdf_document_index_generate(zathura_docu >+ } >+ >+ /* get outline */ >+- fz_outline* outline = fz_load_outline(mupdf_document->document); >++ fz_outline* outline = fz_load_outline(mupdf_document->ctx, mupdf_document->document); >+ if (outline == NULL) { >+ if (error != NULL) { >+ *error = ZATHURA_ERROR_UNKNOWN; >+@@ -32,7 +32,7 @@ pdf_document_index_generate(zathura_docu >+ build_index(outline, root); >+ >+ /* free outline */ >+- fz_free_outline(mupdf_document->ctx, outline); >++ fz_drop_outline(mupdf_document->ctx, outline); >+ >+ return root; >+ } >diff -urN graphics/zathura-pdf-mupdf.orig/files/patch-links.c graphics/zathura-pdf-mupdf/files/patch-links.c >--- graphics/zathura-pdf-mupdf.orig/files/patch-links.c 1970-01-01 01:00:00.000000000 +0100 >+++ graphics/zathura-pdf-mupdf/files/patch-links.c 2015-05-12 19:02:57.000000000 +0200 >@@ -0,0 +1,11 @@ >+--- links.c.orig 2015-05-12 16:54:40 UTC >++++ links.c >+@@ -31,7 +31,7 @@ pdf_page_links_get(zathura_page_t* page, >+ goto error_free; >+ } >+ >+- fz_link* link = fz_load_links(mupdf_document->document, mupdf_page->page); >++ fz_link* link = fz_load_links(mupdf_document->ctx, mupdf_page->page); >+ for (; link != NULL; link = link->next) { >+ /* extract position */ >+ zathura_rectangle_t position; >diff -urN graphics/zathura-pdf-mupdf.orig/files/patch-page.c graphics/zathura-pdf-mupdf/files/patch-page.c >--- graphics/zathura-pdf-mupdf.orig/files/patch-page.c 1970-01-01 01:00:00.000000000 +0100 >+++ graphics/zathura-pdf-mupdf/files/patch-page.c 2015-05-12 19:02:58.000000000 +0200 >@@ -0,0 +1,36 @@ >+--- page.c.orig 2015-05-12 16:55:28 UTC >++++ page.c >+@@ -29,12 +29,12 @@ pdf_page_init(zathura_page_t* page) >+ >+ /* load page */ >+ fz_try (mupdf_page->ctx) { >+- mupdf_page->page = fz_load_page(mupdf_document->document, index); >++ mupdf_page->page = fz_load_page(mupdf_document->ctx, mupdf_document->document, index); >+ } fz_catch (mupdf_page->ctx) { >+ goto error_free; >+ } >+ >+- fz_bound_page(mupdf_document->document, (fz_page*) mupdf_page->page, &mupdf_page->bbox); >++ fz_bound_page(mupdf_document->ctx, (fz_page*) mupdf_page->page, &mupdf_page->bbox); >+ >+ /* get page dimensions */ >+ zathura_page_set_width(page, mupdf_page->bbox.x1 - mupdf_page->bbox.x0); >+@@ -74,15 +74,15 @@ pdf_page_clear(zathura_page_t* page, mup >+ >+ if (mupdf_page != NULL) { >+ if (mupdf_page->text != NULL) { >+- fz_free_text_page(mupdf_page->ctx, mupdf_page->text); >++ fz_drop_text_page(mupdf_page->ctx, mupdf_page->text); >+ } >+ >+ if (mupdf_page->sheet != NULL) { >+- fz_free_text_sheet(mupdf_page->ctx, mupdf_page->sheet); >++ fz_drop_text_sheet(mupdf_page->ctx, mupdf_page->sheet); >+ } >+ >+ if (mupdf_page->page != NULL) { >+- fz_free_page(mupdf_document->document, mupdf_page->page); >++ fz_drop_page(mupdf_document->ctx, mupdf_page->page); >+ } >+ >+ free(mupdf_page); >diff -urN graphics/zathura-pdf-mupdf.orig/files/patch-render.c graphics/zathura-pdf-mupdf/files/patch-render.c >--- graphics/zathura-pdf-mupdf.orig/files/patch-render.c 1970-01-01 01:00:00.000000000 +0100 >+++ graphics/zathura-pdf-mupdf/files/patch-render.c 2015-05-12 19:02:58.000000000 +0200 >@@ -0,0 +1,28 @@ >+--- render.c.orig 2015-05-12 17:00:05 UTC >++++ render.c >+@@ -26,12 +26,12 @@ pdf_page_render_to_buffer(mupdf_document >+ fz_try (mupdf_document->ctx) { >+ fz_matrix m; >+ fz_scale(&m, scalex, scaley); >+- fz_run_page(mupdf_document->document, mupdf_page->page, device, &m, NULL); >++ fz_run_page(mupdf_document->ctx, mupdf_page->page, device, &m, NULL); >+ } fz_catch (mupdf_document->ctx) { >+ return ZATHURA_ERROR_UNKNOWN; >+ } >+ >+- fz_free_device(device); >++ fz_drop_device(mupdf_page->ctx, device); >+ >+ fz_irect irect = { .x1 = page_width, .y1 = page_height }; >+ fz_rect rect = { .x1 = page_width, .y1 = page_height }; >+@@ -41,8 +41,8 @@ pdf_page_render_to_buffer(mupdf_document >+ fz_clear_pixmap_with_value(mupdf_page->ctx, pixmap, 0xFF); >+ >+ device = fz_new_draw_device(mupdf_page->ctx, pixmap); >+- fz_run_display_list(display_list, device, &fz_identity, &rect, NULL); >+- fz_free_device(device); >++ fz_run_display_list(mupdf_page->ctx, display_list, device, &fz_identity, &rect, NULL); >++ fz_drop_device(mupdf_page->ctx, device); >+ >+ unsigned char* s = fz_pixmap_samples(mupdf_page->ctx, pixmap); >+ unsigned int n = fz_pixmap_components(mupdf_page->ctx, pixmap); >diff -urN graphics/zathura-pdf-mupdf.orig/files/patch-utils.c graphics/zathura-pdf-mupdf/files/patch-utils.c >--- graphics/zathura-pdf-mupdf.orig/files/patch-utils.c 1970-01-01 01:00:00.000000000 +0100 >+++ graphics/zathura-pdf-mupdf/files/patch-utils.c 2015-05-12 19:02:58.000000000 +0200 >@@ -0,0 +1,14 @@ >+--- utils.c.orig 2015-05-12 17:02:07 UTC >++++ utils.c >+@@ -17,9 +17,9 @@ mupdf_page_extract_text(mupdf_document_t >+ text_device = fz_new_text_device(mupdf_page->ctx, mupdf_page->sheet, mupdf_page->text); >+ fz_matrix ctm; >+ fz_scale(&ctm, 1.0, 1.0); >+- fz_run_page(mupdf_document->document, mupdf_page->page, text_device, &ctm, NULL); >++ fz_run_page(mupdf_document->ctx, mupdf_page->page, text_device, &ctm, NULL); >+ } fz_always (mupdf_document->ctx) { >+- fz_free_device(text_device); >++ fz_drop_device(mupdf_page->ctx, text_device); >+ } fz_catch(mupdf_document->ctx) { >+ } >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
uzsolt
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 200154
:
156713
|
156723