Files
haikuports/app-text/mupdf/patches/mupdf-1.8.patchset
Gerasim Troeglazov 2284673490 mupdf: gcc2 fixes
2017-04-10 04:42:06 +00:00

204 lines
5.7 KiB
Plaintext

From c4398d806ff00d119fdc91faa7601dc9904145a5 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 9 Apr 2017 23:23:17 +0000
Subject: applying patch mupdf-1.8.patch
diff --git a/Makefile b/Makefile
index f6558cb..307b3b0 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,7 @@ include Makethird
# XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that
# set a variable that was set on the command line.
CFLAGS += $(XCFLAGS) -Iinclude -I$(GEN)
-LIBS += $(XLIBS) -lm
+LIBS += $(XLIBS)
THIRD_LIBS += $(FREETYPE_LIB)
THIRD_LIBS += $(JBIG2DEC_LIB)
@@ -342,7 +342,17 @@ extra: $(CURL_LIB) $(GLFW_LIB)
libs: $(INSTALL_LIBS)
apps: $(INSTALL_APPS)
-install: libs apps
+install: install-libs apps
+ install -d $(DESTDIR)$(bindir)
+ install $(INSTALL_APPS) $(DESTDIR)$(bindir)
+
+ install -d $(DESTDIR)$(mandir)/man1
+ install docs/man/*.1 $(DESTDIR)$(mandir)/man1
+
+ install -d $(DESTDIR)$(docdir)
+ install README COPYING CHANGES docs/*.txt $(DESTDIR)$(docdir)
+
+install-libs: libs
install -d $(DESTDIR)$(incdir)/mupdf
install -d $(DESTDIR)$(incdir)/mupdf/fitz
install -d $(DESTDIR)$(incdir)/mupdf/pdf
@@ -353,14 +363,6 @@ install: libs apps
install -d $(DESTDIR)$(libdir)
install $(INSTALL_LIBS) $(DESTDIR)$(libdir)
- install -d $(DESTDIR)$(bindir)
- install $(INSTALL_APPS) $(DESTDIR)$(bindir)
-
- install -d $(DESTDIR)$(mandir)/man1
- install docs/man/*.1 $(DESTDIR)$(mandir)/man1
-
- install -d $(DESTDIR)$(docdir)
- install README COPYING CHANGES docs/*.txt $(DESTDIR)$(docdir)
tarball:
bash scripts/archive.sh
diff --git a/Makerules b/Makerules
index bb066dc..9082949 100644
--- a/Makerules
+++ b/Makerules
@@ -66,6 +66,27 @@ AR = xcrun ar
LD = xcrun ld
RANLIB_CMD = xcrun ranlib $@
+else ifeq "$(OS)" "Haiku"
+
+ifeq "$(shell pkg-config --exists libcrypto && echo yes)" "yes"
+SYS_OPENSSL_CFLAGS = -DHAVE_OPENSSL $(shell pkg-config --cflags libcrypto)
+SYS_OPENSSL_LIBS = $(shell pkg-config --libs libcrypto)
+endif
+
+ifeq "$(shell pkg-config --exists libcurl && echo yes)" "yes"
+HAVE_CURL = yes
+SYS_CURL_CFLAGS = $(shell pkg-config --cflags libcurl)
+SYS_CURL_LIBS = $(shell pkg-config --libs libcurl)
+endif
+
+SYS_FREETYPE_CFLAGS = $(shell pkg-config --cflags freetype2)
+SYS_FREETYPE_LIBS = $(shell pkg-config --libs freetype2)
+SYS_OPENJPEG_CFLAGS = $(shell pkg-config --cflags libopenjp2)
+SYS_OPENJPEG_LIBS = $(shell pkg-config --libs libopenjp2)
+SYS_JBIG2DEC_LIBS = -ljbig2dec
+SYS_JPEG_LIBS = -ljpeg
+SYS_ZLIB_LIBS = -lz
+
# Linux uses pkg-config for system libraries.
else ifeq "$(OS)" "Linux"
diff --git a/include/mupdf/fitz/system.h b/include/mupdf/fitz/system.h
index ca7c8dc..477d915 100644
--- a/include/mupdf/fitz/system.h
+++ b/include/mupdf/fitz/system.h
@@ -70,6 +70,12 @@
#define fz_jmp_buf jmp_buf
#endif
+#ifdef __HAIKU__
+#if __GNUC__ < 3
+#define va_copy __va_copy
+#endif
+#endif
+
#ifdef _MSC_VER /* Microsoft Visual C */
/* MSVC up to VS2012 */
diff --git a/scripts/cmapdump.c b/scripts/cmapdump.c
index ed4a411..317762c 100644
--- a/scripts/cmapdump.c
+++ b/scripts/cmapdump.c
@@ -22,6 +22,24 @@
#include "../source/fitz/ftoa.c"
#include "../source/fitz/printf.c"
+#ifdef __HAIKU__
+#if __GNUC__ < 3
+#include "../source/fitz/output.c"
+
+unsigned int
+fz_pixmap_size(fz_context *ctx, fz_pixmap * pix)
+{
+ if (pix == NULL)
+ return 0;
+ return sizeof(*pix) + pix->n * pix->w * pix->h;
+}
+int pdf_objcmp_resolve(fz_context *ctx, pdf_obj *a, pdf_obj *b)
+{
+ return 0;
+}
+#endif
+#endif
+
#include "../source/pdf/pdf-lex.c"
#include "../source/pdf/pdf-cmap.c"
#include "../source/pdf/pdf-cmap-parse.c"
--
2.7.0
From 110fc6940815dcef2a77376d1960a2be4ecf65f2 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 9 Apr 2017 23:23:17 +0000
Subject: applying patch mupdf-1.6-openjpeg21-1.patch
diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c
index 6b92e5c..72dea50 100644
--- a/source/fitz/load-jpx.c
+++ b/source/fitz/load-jpx.c
@@ -1,13 +1,5 @@
#include "mupdf/fitz.h"
-/* Without the definition of OPJ_STATIC, compilation fails on windows
- * due to the use of __stdcall. We believe it is required on some
- * linux toolchains too. */
-#define OPJ_STATIC
-#ifndef _MSC_VER
-#define OPJ_HAVE_STDINT_H
-#endif
-
#include <openjpeg.h>
static void fz_opj_error_callback(const char *msg, void *client_data)
@@ -117,7 +109,7 @@ fz_load_jpx(fz_context *ctx, unsigned char *data, int size, fz_colorspace *defcs
opj_stream_set_read_function(stream, fz_opj_stream_read);
opj_stream_set_skip_function(stream, fz_opj_stream_skip);
opj_stream_set_seek_function(stream, fz_opj_stream_seek);
- opj_stream_set_user_data(stream, &sb);
+ opj_stream_set_user_data(stream, &sb, NULL);
/* Set the length to avoid an assert */
opj_stream_set_user_data_length(stream, size);
--
2.7.0
From e7f428a65f21943a497a74fcba01d45bcf26fb23 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 10 Apr 2017 03:07:51 +0000
Subject: Fix gcc2 detection
diff --git a/include/mupdf/fitz/system.h b/include/mupdf/fitz/system.h
index 477d915..05781a4 100644
--- a/include/mupdf/fitz/system.h
+++ b/include/mupdf/fitz/system.h
@@ -207,7 +207,7 @@ typedef int fz_off_t;
#endif
/* Flag unused parameters, for use with 'static inline' functions in headers. */
-#if __GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 7
+#if __GNUC__ > 2
#define FZ_UNUSED __attribute__((__unused__))
#else
#define FZ_UNUSED
@@ -215,7 +215,7 @@ typedef int fz_off_t;
/* GCC can do type checking of printf strings */
#ifndef __printflike
-#if __GNUC__ > 2 || __GNUC__ == 2 && __GNUC_MINOR__ >= 7
+#if __GNUC__ > 2
#define __printflike(fmtarg, firstvararg) \
__attribute__((__format__ (__printf__, fmtarg, firstvararg)))
#else
--
2.7.0