View | Details | Raw Unified | Return to bug 184335 | Differences between
and this patch

Collapse All | Expand All

(-)mupdf/Makefile (-15 / +15 lines)
Lines 2-14 Link Here
2
# $FreeBSD: head/graphics/mupdf/Makefile 355743 2014-05-29 20:18:17Z marino $
2
# $FreeBSD: head/graphics/mupdf/Makefile 355743 2014-05-29 20:18:17Z marino $
3
3
4
PORTNAME=	mupdf
4
PORTNAME=	mupdf
5
PORTVERSION=	1.2
5
PORTVERSION=	1.5
6
PORTREVISION=	2
7
PORTEPOCH=	1
6
PORTEPOCH=	1
8
CATEGORIES=	graphics
7
CATEGORIES=	graphics
9
MASTER_SITES=	GOOGLE_CODE \
8
MASTER_SITES=	GOOGLE_CODE \
10
		http://www.mupdf.com/download/
9
		http://www.mupdf.com/download/
11
EXTRACT_SUFX=	-source.zip
10
EXTRACT_SUFX=	-source.tar.gz
12
11
13
MAINTAINER=	lichray@gmail.com
12
MAINTAINER=	lichray@gmail.com
14
COMMENT=	Lightweight PDF viewer and toolkit
13
COMMENT=	Lightweight PDF viewer and toolkit
Lines 18-28 Link Here
18
LIB_DEPENDS=	libfreetype.so:${PORTSDIR}/print/freetype2 \
17
LIB_DEPENDS=	libfreetype.so:${PORTSDIR}/print/freetype2 \
19
		libjpeg.so:${PORTSDIR}/graphics/jpeg \
18
		libjpeg.so:${PORTSDIR}/graphics/jpeg \
20
		libjbig2dec.so:${PORTSDIR}/graphics/jbig2dec \
19
		libjbig2dec.so:${PORTSDIR}/graphics/jbig2dec \
21
		libopenjpeg.so:${PORTSDIR}/graphics/openjpeg15
20
		libopenjp2.so:${PORTSDIR}/graphics/openjpeg
22
21
23
MAKE_ARGS+=	build=release prefix=${PREFIX} verbose=1 mandir=${PREFIX}/man \
22
MAKE_ARGS+=	build=release prefix=${PREFIX} verbose=1 mandir=${PREFIX}/man \
24
		XCFLAGS=-I${LOCALBASE}/include
23
			HAVE_X11=yes \
25
USES=		pkgconfig gmake zip
24
			XCFLAGS="`pkg-config --cflags freetype2` -I ${LOCALBASE}/include" \
25
			XLIBS="`pkg-config --libs freetype2 libopenjp2 x11 xext` -ljpeg -ljbig2dec"
26
USES=		pkgconfig gmake
26
USE_XORG=	x11 xext
27
USE_XORG=	x11 xext
27
28
28
WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}-source
29
WRKSRC=		${WRKDIR}/${PORTNAME}-${PORTVERSION}-source
Lines 42-48 Link Here
42
.endif
43
.endif
43
44
44
.if ${PORT_OPTIONS:MSCROLL}
45
.if ${PORT_OPTIONS:MSCROLL}
45
EXTRA_PATCHES+=	${FILESDIR}/scroll_hack-apps_pdfapp.c
46
EXTRA_PATCHES+=	${FILESDIR}/scroll_hack-platform__x11__pdfapp.c
46
.endif
47
.endif
47
48
48
.if ${PORT_OPTIONS:MJS}
49
.if ${PORT_OPTIONS:MJS}
Lines 50-66 Link Here
50
MAKE_ARGS+=	V8_PRESENT=1 V8LIBS=-lv8
51
MAKE_ARGS+=	V8_PRESENT=1 V8LIBS=-lv8
51
.endif
52
.endif
52
53
53
post-patch:	.SILENT
54
post-patch:
54
	${REINPLACE_CMD} \
55
		-e '/install:/,/^$$/ { /-d/d; }' \
56
		-e '/install.*bindir)$$/s/install/$$(BSD_INSTALL_PROGRAM)/' \
57
		-e '/install.*libdir)$$/s/install/$$(BSD_INSTALL_DATA)/' \
58
		-e '/install.*incdir)$$/s/install/$$(BSD_INSTALL_DATA)/' \
59
		-e '/install.*man1$$/s/install/$$(BSD_INSTALL_MAN)/' \
60
		${WRKSRC}/Makefile
61
	${REINPLACE_CMD} -e 's/-pipe -O2 //' \
55
	${REINPLACE_CMD} -e 's/-pipe -O2 //' \
62
		-e 's|/usr/local|${LOCALBASE}|' \
56
		-e 's|/usr/local|${LOCALBASE}|' \
63
		${WRKSRC}/Makerules
57
		${WRKSRC}/Makerules
64
	${RM} -r ${WRKSRC}/thirdparty/*
58
	${RM} -r ${WRKSRC}/thirdparty/*
65
59
60
post-install:
61
	${MV} ${STAGEDIR}${PREFIX}/bin/mupdf-x11 ${STAGEDIR}${PREFIX}/bin/mupdf
62
.for binary in mudraw mutool mujstest mupdf
63
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${binary}
64
.endfor
65
66
.include <bsd.port.mk>
66
.include <bsd.port.mk>
(-)mupdf/distinfo (-2 / +2 lines)
Lines 1-2 Link Here
1
SHA256 (mupdf-1.2-source.zip) = 9bc9e31ec27c091dad37f70940bd799e46ab6da4299bc58e803bff3dbb07dc3b
1
SHA256 (mupdf-1.5-source.tar.gz) = e41fa8951de3b44a5ec95052b8897fbcca1eb721e0fd0289862e31e2f03f846a
2
SIZE (mupdf-1.2-source.zip) = 13808821
2
SIZE (mupdf-1.5-source.tar.gz) = 13269193
(-)mupdf/files/patch-Makefile (-59 / +8 lines)
Lines 1-67 Link Here
1
--- Makefile.orig	2013-02-13 09:25:07.000000000 -0500
1
--- ./Makefile.orig	2014-06-10 17:09:28.000000000 +0200
2
+++ Makefile	2013-05-06 13:00:30.619173583 -0400
2
+++ ./Makefile	2014-08-04 18:51:44.000000000 +0200
3
@@ -12,19 +12,13 @@ default: all
3
@@ -18,13 +18,6 @@
4
 # Do not specify CFLAGS or LIBS on the make invocation line - specify
5
 # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
6
 # set a variable that was set on the command line.
7
-CFLAGS += $(XCFLAGS) -Ifitz -Ipdf -Ixps -Icbz -Iscripts
8
-LIBS += $(XLIBS) -lfreetype -ljbig2dec -ljpeg -lopenjpeg -lz -lm
9
+CFLAGS += -Ifitz -Ipdf -Ixps -Icbz -Iscripts $(XCFLAGS)
10
+LIBS += -lfreetype -ljbig2dec -ljpeg -lopenjpeg -lz -lm $(XLIBS)
11
 LIBS_V8 = $(LIBS) $(V8LIBS)
12
 
13
 include Makerules
4
 include Makerules
14
 include Makethird
5
 include Makethird
15
 
6
 
16
-THIRD_LIBS := $(FREETYPE_LIB)
7
-THIRD_LIBS += $(FREETYPE_LIB)
17
-THIRD_LIBS += $(JBIG2DEC_LIB)
8
-THIRD_LIBS += $(JBIG2DEC_LIB)
18
-THIRD_LIBS += $(JPEG_LIB)
9
-THIRD_LIBS += $(JPEG_LIB)
19
-THIRD_LIBS += $(OPENJPEG_LIB)
10
-THIRD_LIBS += $(OPENJPEG_LIB)
11
-THIRD_LIBS += $(OPENSSL_LIB)
20
-THIRD_LIBS += $(ZLIB_LIB)
12
-THIRD_LIBS += $(ZLIB_LIB)
21
-
13
-
22
 ifeq "$(verbose)" ""
14
 LIBS += $(FREETYPE_LIBS)
23
 QUIET_AR = @ echo ' ' ' ' AR $@ ;
15
 LIBS += $(JBIG2DEC_LIBS)
24
 QUIET_CC = @ echo ' ' ' ' CC $@ ;
16
 LIBS += $(JPEG_LIBS)
25
@@ -169,14 +163,15 @@ $(MUTOOL) : $(addprefix $(OUT)/, pdfclea
26
 
27
 ifeq "$(NOX11)" ""
28
 MUVIEW := $(OUT)/mupdf
29
+ifeq "$(V8_PRESENT)" "1"
30
+$(MUVIEW) : $(FITZ_V8_LIB) $(THIRD_LIBS)
31
+$(MUVIEW) : $(addprefix $(OUT)/, x11_main.o x11_image.o pdfapp.o)
32
+	$(LINK_V8_CMD) $(X11_LIBS)
33
+else
34
 $(MUVIEW) : $(FITZ_LIB) $(THIRD_LIBS)
35
 $(MUVIEW) : $(addprefix $(OUT)/, x11_main.o x11_image.o pdfapp.o)
36
 	$(LINK_CMD) $(X11_LIBS)
37
-
38
-MUVIEW_V8 := $(OUT)/mupdf-v8
39
-$(MUVIEW_V8) : $(FITZ_V8_LIB) $(THIRD_LIBS)
40
-$(MUVIEW_V8) : $(addprefix $(OUT)/, x11_main.o x11_image.o pdfapp.o)
41
-	$(LINK_V8_CMD) $(X11_LIBS)
42
+endif
43
 endif
44
 
45
 MUJSTEST_V8 := $(OUT)/mujstest-v8
46
@@ -184,12 +179,6 @@ $(MUJSTEST_V8) : $(FITZ_V8_LIB) $(THIRD_
47
 $(MUJSTEST_V8) : $(addprefix $(OUT)/, jstest_main.o pdfapp.o)
48
 	$(LINK_V8_CMD)
49
 
50
-ifeq "$(V8_PRESENT)" "1"
51
-JSTARGETS := $(MUJSTEST_V8) $(FITZ_V8_LIB) $(MUVIEW_V8)
52
-else
53
-JSTARGETS :=
54
-endif
55
-
56
 # --- Format man pages ---
57
 
58
 %.txt: %.1
59
@@ -212,7 +201,7 @@ install: $(FITZ_LIB) $(MUVIEW) $(MUDRAW)
60
 	install -d $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(incdir) $(DESTDIR)$(mandir)/man1
61
 	install $(FITZ_LIB) $(DESTDIR)$(libdir)
62
 	install fitz/memento.h fitz/fitz.h pdf/mupdf.h xps/muxps.h cbz/mucbz.h $(DESTDIR)$(incdir)
63
-	install $(MUVIEW) $(MUDRAW) $(MUBUSY) $(DESTDIR)$(bindir)
64
+	install $(MUVIEW) $(MUDRAW) $(MUTOOL) $(DESTDIR)$(bindir)
65
 	install $(wildcard apps/man/*.1) $(DESTDIR)$(mandir)/man1
66
 
67
 # --- Clean and Default ---
(-)mupdf/files/patch-apps_x11_main.c (-27 lines)
Lines 1-27 Link Here
1
--- apps/x11_main.c.orig	2012-03-29 05:46:53.000000000 -0500
2
+++ apps/x11_main.c	2012-04-07 14:37:40.754315181 -0500
3
@@ -602,6 +602,24 @@ static void usage(void)
4
 	exit(1);
5
 }
6
 
7
+/* reference:
8
+ * http://stackoverflow.com/questions/2621439/how-to-get-screen-dpi-linux-mac-programatically
9
+ */
10
+int get_dpi(void)
11
+{
12
+	Display *xdpy;
13
+	int xscr;
14
+	int x = 0;
15
+
16
+	if ((xdpy = XOpenDisplay(NULL))) {
17
+		xscr = DefaultScreen(xdpy);
18
+		x = (int) (DisplayWidth(xdpy, xscr) * 25.4 /
19
+				DisplayWidthMM(xdpy, xscr) + 0.5);
20
+		XCloseDisplay(xdpy);
21
+	}
22
+	return x;
23
+}
24
+
25
 int main(int argc, char **argv)
26
 {
27
 	int c;
(-)mupdf/files/patch-platform__x11__x11_main.c (+27 lines)
Line 0 Link Here
1
--- ./platform/x11/x11_main.c.orig	2014-06-10 17:09:28.000000000 +0200
2
+++ ./platform/x11/x11_main.c	2014-08-04 18:51:44.000000000 +0200
3
@@ -794,6 +794,24 @@
4
 	exit(1);
5
 }
6
 
7
+/* reference:
8
+ * http://stackoverflow.com/questions/2621439/how-to-get-screen-dpi-linux-mac-programatically
9
+ */
10
+int get_dpi(void)
11
+{
12
+	Display *xdpy;
13
+	int xscr;
14
+	int x = 0;
15
+
16
+	if ((xdpy = XOpenDisplay(NULL))) {
17
+		xscr = DefaultScreen(xdpy);
18
+		x = (int) (DisplayWidth(xdpy, xscr) * 25.4 /
19
+				DisplayWidthMM(xdpy, xscr) + 0.5);
20
+		XCloseDisplay(xdpy);
21
+	}
22
+	return x;
23
+}
24
+
25
 int main(int argc, char **argv)
26
 {
27
 	int c;
(-)mupdf/files/patch-source__fitz__load-jpx.c (+20 lines)
Line 0 Link Here
1
--- ./source/fitz/load-jpx.c.orig	2014-06-10 17:09:28.000000000 +0200
2
+++ ./source/fitz/load-jpx.c	2014-08-04 18:51:45.000000000 +0200
3
@@ -8,7 +8,7 @@
4
 #define OPJ_HAVE_STDINT_H
5
 #endif
6
 
7
-#include <openjpeg.h>
8
+#include <openjpeg-2.1/openjpeg.h>
9
 
10
 static void fz_opj_error_callback(const char *msg, void *client_data)
11
 {
12
@@ -116,7 +116,7 @@
13
 	opj_stream_set_read_function(stream, fz_opj_stream_read);
14
 	opj_stream_set_skip_function(stream, fz_opj_stream_skip);
15
 	opj_stream_set_seek_function(stream, fz_opj_stream_seek);
16
-	opj_stream_set_user_data(stream, &sb);
17
+	opj_stream_set_user_data(stream, &sb,NULL);
18
 	/* Set the length to avoid an assert */
19
 	opj_stream_set_user_data_length(stream, size);
20
 
(-)mupdf/files/scroll_hack-apps_pdfapp.c (-47 lines)
Lines 1-47 Link Here
1
--- apps/pdfapp.c.orig	2013-02-26 12:07:15.000000000 -0500
2
+++ apps/pdfapp.c	2013-05-06 11:13:27.210765076 -0400
3
@@ -1142,11 +1142,15 @@ void pdfapp_onkey(pdfapp_t *app, int c)
4
 		break;
5
 
6
 	case 'j':
7
+ 		if (app->pany + fz_pixmap_height(app->ctx, app->image) <= app->winh)
8
+ 			goto pagedown;
9
 		app->pany -= fz_pixmap_height(app->ctx, app->image) / 10;
10
 		pdfapp_showpage(app, 0, 0, 1, 0);
11
 		break;
12
 
13
 	case 'k':
14
+ 		if (app->pany >= 0)
15
+ 			goto pageup;
16
 		app->pany += fz_pixmap_height(app->ctx, app->image) / 10;
17
 		pdfapp_showpage(app, 0, 0, 1, 0);
18
 		break;
19
@@ -1214,6 +1218,7 @@ void pdfapp_onkey(pdfapp_t *app, int c)
20
 	 */
21
 
22
 	case ',':
23
+	pageup:
24
 		panto = PAN_TO_BOTTOM;
25
 		if (app->numberlen > 0)
26
 			app->pageno -= atoi(app->number);
27
@@ -1222,6 +1227,7 @@ void pdfapp_onkey(pdfapp_t *app, int c)
28
 		break;
29
 
30
 	case '.':
31
+	pagedown:
32
 		panto = PAN_TO_TOP;
33
 		if (app->numberlen > 0)
34
 			app->pageno += atoi(app->number);
35
@@ -1523,6 +1529,12 @@ void pdfapp_onmouse(pdfapp_t *app, int x
36
 				int isx = (modifiers & (1<<0));
37
 				int xstep = isx ? 20 * dir : 0;
38
 				int ystep = !isx ? 20 * dir : 0;
39
+				if (!isx && dir < 0 && app->pany +
40
+				    fz_pixmap_height(app->ctx, app->image) <= app->winh)
41
+					pdfapp_onkey(app, 'j');
42
+				else if (!isx && dir > 0 && app->pany >= 0)
43
+					pdfapp_onkey(app, 'k');
44
+				else
45
 				pdfapp_panview(app, app->panx + xstep, app->pany + ystep);
46
 			}
47
 		}
(-)mupdf/files/scroll_hack-platform__x11__pdfapp.c (+49 lines)
Line 0 Link Here
1
--- ./platform/x11/pdfapp.c.orig	2014-08-04 19:59:53.000000000 +0200
2
+++ ./platform/x11/pdfapp.c	2014-08-04 20:03:46.000000000 +0200
3
@@ -1166,6 +1166,8 @@
4
 	case 'j':
5
 		{
6
 			int h = fz_pixmap_height(app->ctx, app->image);
7
+                        if ( (app->pany + h) <= app->winh )
8
+                            goto pagedown;
9
 			if (h <= app->winh || app->pany <= app->winh - h)
10
 			{
11
 				panto = PAN_TO_TOP;
12
@@ -1182,6 +1184,8 @@
13
 	case 'k':
14
 		{
15
 			int h = fz_pixmap_height(app->ctx, app->image);
16
+                        if (app->pany >= 0)
17
+                            goto pageup;
18
 			if (h <= app->winh || app->pany == 0)
19
 			{
20
 				panto = PAN_TO_BOTTOM;
21
@@ -1257,6 +1261,7 @@
22
 	 */
23
 
24
 	case ',':
25
+        pageup:
26
 		panto = PAN_TO_BOTTOM;
27
 		if (app->numberlen > 0)
28
 			app->pageno -= atoi(app->number);
29
@@ -1265,6 +1270,7 @@
30
 		break;
31
 
32
 	case '.':
33
+        pagedown:
34
 		panto = PAN_TO_TOP;
35
 		if (app->numberlen > 0)
36
 			app->pageno += atoi(app->number);
37
@@ -1585,6 +1591,12 @@
38
 				int isx = (modifiers & (1<<0));
39
 				int xstep = isx ? 20 * dir : 0;
40
 				int ystep = !isx ? 20 * dir : 0;
41
+				if (!isx && dir < 0 && app->pany +
42
+				    fz_pixmap_height(app->ctx, app->image) <= app->winh)
43
+					pdfapp_onkey(app, 'j');
44
+				else if (!isx && dir > 0 && app->pany >= 0)
45
+					pdfapp_onkey(app, 'k');
46
+				else
47
 				pdfapp_panview(app, app->panx + xstep, app->pany + ystep);
48
 			}
49
 		}

Return to bug 184335