mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-04 20:29:09 +01:00
office/fbpdf: Fix build with mupdf-1.7a.
This commit is contained in:
parent
0e66746f97
commit
0917b24a71
2 changed files with 79 additions and 5 deletions
|
@ -10,7 +10,7 @@
|
|||
|
||||
PRGNAM=fbpdf
|
||||
VERSION=${VERSION:-20140822}
|
||||
BUILD=${BUILD:-1}
|
||||
BUILD=${BUILD:-2}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
|
@ -57,9 +57,13 @@ find -L . \
|
|||
|
||||
# This patch has been sent upstream. In my opinion, fbpdf is needlessly
|
||||
# difficult to use without it.
|
||||
# ...a year later, and upstream never responded to my email (not even to
|
||||
# say "no"). It's staying here though.
|
||||
[ "${PRISTINE:-no}" != "yes" ] && \
|
||||
patch -p1 < $CWD/navigation.diff
|
||||
|
||||
# mupdf API keeps changing
|
||||
|
||||
sed -i \
|
||||
-e 's,-lmupdf -lmujs,`pkg-config --libs mupdf`,' \
|
||||
-e 's,-lopenjpeg,-lopenjp2,' \
|
||||
|
@ -72,11 +76,16 @@ make ${PRGNAM}2 fbdjvu
|
|||
install -s -m0755 ${PRGNAM}2 $PKG/usr/bin
|
||||
install -s -m0755 fbdjvu $PKG/usr/bin
|
||||
|
||||
# autodetect mupdf.
|
||||
pkg-config --exists mupdf && \
|
||||
make clean && \
|
||||
make $PRGNAM && \
|
||||
# autodetect mupdf, apply patch if needed.
|
||||
if pkg-config --exists mupdf; then
|
||||
MUPDFVER="$( pkg-config --modversion mupdf 2>/dev/null | \
|
||||
sed 's,^[0-9]*\.\([0-9][0-9]*\).*,\1,' )"
|
||||
[ "$MUPDFVER" != "" -a "$MUPDFVER" -gt "6" ] &&
|
||||
patch -p1 < $CWD/mupdf-1.7a.diff
|
||||
make clean
|
||||
make $PRGNAM
|
||||
install -s -m0755 $PRGNAM $PKG/usr/bin
|
||||
fi
|
||||
|
||||
# man page written for this build.
|
||||
mkdir -p $PKG/usr/man/man1
|
||||
|
|
65
office/fbpdf/mupdf-1.7a.diff
Normal file
65
office/fbpdf/mupdf-1.7a.diff
Normal file
|
@ -0,0 +1,65 @@
|
|||
diff -Naur fbpdf-20140822/mupdf.c fbpdf-20140822.patched/mupdf.c
|
||||
--- fbpdf-20140822/mupdf.c 2014-08-21 21:12:00.000000000 -0400
|
||||
+++ fbpdf-20140822.patched/mupdf.c 2015-09-12 03:24:40.000000000 -0400
|
||||
@@ -23,11 +23,11 @@
|
||||
int h, w;
|
||||
int x, y;
|
||||
|
||||
- if (!(page = fz_load_page(doc->pdf, p - 1)))
|
||||
+ if (!(page = fz_load_page(doc->ctx, doc->pdf, p - 1)))
|
||||
return 1;
|
||||
fz_rotate(&ctm, rotate);
|
||||
fz_pre_scale(&ctm, (float) zoom / 10, (float) zoom / 10);
|
||||
- fz_bound_page(doc->pdf, page, &rect);
|
||||
+ fz_bound_page(doc->ctx, page, &rect);
|
||||
fz_transform_rect(&rect, &ctm);
|
||||
fz_round_rect(&bbox, &rect);
|
||||
w = MIN_(*cols, rect.x1 - rect.x0);
|
||||
@@ -37,8 +37,8 @@
|
||||
fz_clear_pixmap_with_value(doc->ctx, pix, 0xff);
|
||||
|
||||
dev = fz_new_draw_device(doc->ctx, pix);
|
||||
- fz_run_page(doc->pdf, page, dev, &ctm, NULL);
|
||||
- fz_free_device(dev);
|
||||
+ fz_run_page(doc->ctx, page, dev, &ctm, NULL);
|
||||
+ fz_drop_device(doc->ctx, dev);
|
||||
|
||||
for (y = 0; y < h; y++) {
|
||||
int xs = y * *cols + (*cols - w) / 2;
|
||||
@@ -50,7 +50,7 @@
|
||||
}
|
||||
}
|
||||
fz_drop_pixmap(doc->ctx, pix);
|
||||
- fz_free_page(doc->pdf, page);
|
||||
+ fz_drop_page(doc->ctx, page);
|
||||
*cols = w;
|
||||
*rows = h;
|
||||
return 0;
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
int doc_pages(struct doc *doc)
|
||||
{
|
||||
- return fz_count_pages(doc->pdf);
|
||||
+ return fz_count_pages(doc->ctx, doc->pdf);
|
||||
}
|
||||
|
||||
struct doc *doc_open(char *path)
|
||||
@@ -69,7 +69,7 @@
|
||||
fz_try (doc->ctx) {
|
||||
doc->pdf = fz_open_document(doc->ctx, path);
|
||||
} fz_catch (doc->ctx) {
|
||||
- fz_free_context(doc->ctx);
|
||||
+ fz_drop_context(doc->ctx);
|
||||
free(doc);
|
||||
return NULL;
|
||||
}
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
void doc_close(struct doc *doc)
|
||||
{
|
||||
- fz_close_document(doc->pdf);
|
||||
- fz_free_context(doc->ctx);
|
||||
+ fz_drop_document(doc->ctx, doc->pdf);
|
||||
+ fz_drop_context(doc->ctx);
|
||||
free(doc);
|
||||
}
|
Loading…
Reference in a new issue