mupdf: 1.13.0 -> 1.14.0

Changelog: https://mupdf.com/release_history.html

+72 -101
+27 -44
pkgs/applications/misc/mupdf/darwin.patch
··· 1 - diff --git a/Makerules b/Makerules 2 - --- a/Makerules 3 - +++ b/Makerules 4 - @@ -81,22 +81,10 @@ HAVE_GLUT ?= yes 5 - SYS_GLUT_CFLAGS := -Wno-deprecated-declarations 6 - SYS_GLUT_LIBS := -framework GLUT -framework OpenGL 7 - 8 - -CC = xcrun cc 9 - -AR = xcrun ar 10 - -LD = xcrun ld 11 - -RANLIB_CMD = xcrun ranlib $@ 12 - - 13 - -# Linux uses pkg-config for system libraries. 14 - -else ifeq "$(OS)" "Linux" 1 + diff -ruN mupdf-1.14.0-source.orig/Makerules mupdf-1.14.0-source/Makerules 2 + --- mupdf-1.14.0-source.orig/Makerules 2018-11-02 06:57:12.114012496 +0100 3 + +++ mupdf-1.14.0-source/Makerules 2018-11-02 10:11:56.717232992 +0100 4 + @@ -80,13 +80,6 @@ 5 + HAVE_GLUT := yes 6 + SYS_GLUT_CFLAGS := -Wno-deprecated-declarations 7 + SYS_GLUT_LIBS := -framework GLUT -framework OpenGL 8 + - CC = xcrun cc 9 + - AR = xcrun ar 10 + - LD = xcrun ld 11 + - RANLIB = xcrun ranlib 15 12 - 16 - HAVE_PTHREAD := yes 17 - SYS_PTHREAD_CFLAGS := 18 - SYS_PTHREAD_LIBS := -lpthread 13 + -else ifeq ($(OS),Linux) 14 + - HAVE_OBJCOPY := yes 15 + 16 + ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes) 17 + SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2) 18 + @@ -119,12 +112,6 @@ 19 + SYS_CURL_LIBS := $(shell pkg-config --libs libcurl) 20 + endif 19 21 20 - -HAVE_GLUT := yes 21 - -SYS_GLUT_CFLAGS := 22 - -SYS_GLUT_LIBS := -lglut -lGL 22 + - HAVE_GLUT := yes 23 + - ifeq ($(HAVE_GLUT),yes) 24 + - SYS_GLUT_CFLAGS := 25 + - SYS_GLUT_LIBS := -lglut -lGL 26 + - endif 23 27 - 24 - ifeq "$(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)" "yes" 25 - HAVE_LIBCRYPTO := yes 26 - SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto) 27 - @@ -113,7 +101,7 @@ SYS_CURL_CFLAGS += $(shell pkg-config --cflags openssl) 28 - SYS_CURL_DEPS += $(shell pkg-config --libs openssl) 29 - endif 30 - endif 31 - -SYS_CURL_DEPS += -lpthread -lrt 32 - +SYS_CURL_DEPS += -lpthread 33 - 34 - ifeq "$(shell pkg-config --exists x11 xext && echo yes)" "yes" 35 - HAVE_X11 := yes 36 - diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c 37 - index d58f7ba..808af18 100644 38 - --- a/platform/gl/gl-main.c 39 - +++ b/platform/gl/gl-main.c 40 - @@ -16,6 +16,7 @@ void glutExit(void) {} 41 - void glutMouseWheelFunc(void *fn) {} 42 - void glutInitErrorFunc(void *fn) {} 43 - void glutInitWarningFunc(void *fn) {} 44 - +#define glutSetOption(X,Y) 45 - #endif 46 - 47 - enum 28 + HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes) 29 + ifeq ($(HAVE_X11),yes) 30 + X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+6 -12
pkgs/applications/misc/mupdf/default.nix
··· 1 - { stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg 1 + { stdenv, lib, fetchurl, pkgconfig, freetype, harfbuzz, openjpeg 2 2 , jbig2dec, libjpeg , darwin 3 3 , enableX11 ? true, libX11, libXext, libXi, libXrandr 4 4 , enableCurl ? true, curl, openssl ··· 14 14 15 15 16 16 in stdenv.mkDerivation rec { 17 - version = "1.13.0"; 17 + version = "1.14.0"; 18 18 name = "mupdf-${version}"; 19 19 20 20 src = fetchurl { 21 21 url = "https://mupdf.com/downloads/archive/${name}-source.tar.gz"; 22 - sha256 = "02faww5bnjw76k6igrjzwf0lnw4xd9ckc8d6ilc3c4gfrdi6j707"; 22 + sha256 = "093p7lv6pgyymagn28n58fs0np928r0i5p2az9cc4gwccwx4hhy4"; 23 23 }; 24 24 25 - patches = [ 26 - (fetchpatch { 27 - name = "CVE-2018-10289.patch"; 28 - url = "https://bugs.ghostscript.com/attachment.cgi?id=15230"; 29 - sha256 = "0jmpacxd9930g6k57kda9jrcrbk75whdlv8xwmqg5jwn848qvy4q"; 30 - }) 31 - ] 25 + patches = 32 26 # Use shared libraries to decrease size 33 - ++ stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.13-shared_libs-1.patch 27 + stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch 34 28 ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch 35 29 ; 36 30 ··· 38 32 sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c 39 33 ''; 40 34 41 - makeFlags = [ "prefix=$(out)" ]; 35 + makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ]; 42 36 nativeBuildInputs = [ pkgconfig ]; 43 37 buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU ] 44 38 ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
-45
pkgs/applications/misc/mupdf/mupdf-1.13-shared_libs-1.patch
··· 1 - --- mupdf-1.12.0-source.orig/Makefile 2017-12-13 15:00:30.000000000 +0100 2 - +++ mupdf-1.12.0-source/Makefile 2017-12-31 00:05:23.003277481 +0100 3 - @@ -14,7 +14,7 @@ 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) -Iinclude 8 - +CFLAGS += $(XCFLAGS) -Iinclude -fPIC 9 - LIBS += $(XLIBS) -lm 10 - 11 - LIBS += $(FREETYPE_LIBS) 12 - @@ -312,10 +312,10 @@ 13 - 14 - # --- Library --- 15 - 16 - -MUPDF_LIB = $(OUT)/libmupdf.a 17 - -THIRD_LIB = $(OUT)/libmupdfthird.a 18 - -THREAD_LIB = $(OUT)/libmuthreads.a 19 - -PKCS7_LIB = $(OUT)/libmupkcs7.a 20 - +MUPDF_LIB = $(OUT)/libmupdf.so 21 - +THIRD_LIB = $(OUT)/libmupdfthird.so 22 - +THREAD_LIB = $(OUT)/libmuthreads.so 23 - +PKCS7_LIB = $(OUT)/libmupkcs7.so 24 - 25 - MUPDF_OBJ := \ 26 - $(FITZ_OBJ) \ 27 - @@ -343,13 +343,17 @@ 28 - $(ZLIB_OBJ) \ 29 - $(LCMS2_OBJ) 30 - 31 - -$(MUPDF_LIB) : $(MUPDF_OBJ) 32 - +$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB) 33 - + $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined 34 - $(THIRD_LIB) : $(THIRD_OBJ) 35 - + $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdfthird.so -Wl,--no-undefined 36 - $(THREAD_LIB) : $(THREAD_OBJ) 37 - + $(LINK_CMD) -shared -Wl,-soname -Wl,libmuthreads.so -Wl,--no-undefined -lpthread 38 - $(PKCS7_LIB) : $(PKCS7_OBJ) 39 - + $(LINK_CMD) -shared -Wl,-soname -Wl,libmupkcs7.so 40 - 41 - -INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) 42 - +INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB) 43 - 44 - # --- Tools and Apps --- 45 -
+39
pkgs/applications/misc/mupdf/mupdf-1.14-shared_libs.patch
··· 1 + --- mupdf-1.14.0-source.orig/Makefile 2018-11-02 06:57:12.114012496 +0100 2 + +++ mupdf-1.14.0-source/Makefile 2018-11-02 09:57:10.067945307 +0100 3 + @@ -20,7 +20,7 @@ 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) -Iinclude 8 + +CFLAGS += $(XCFLAGS) -Iinclude -fPIC 9 + LIBS += $(XLIBS) -lm 10 + 11 + ifneq ($(threading),no) 12 + @@ -190,17 +190,21 @@ 13 + 14 + # --- Library --- 15 + 16 + -MUPDF_LIB = $(OUT)/libmupdf.a 17 + -THIRD_LIB = $(OUT)/libmupdf-third.a 18 + -THREAD_LIB = $(OUT)/libmupdf-threads.a 19 + -PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a 20 + +MUPDF_LIB = $(OUT)/libmupdf.so 21 + +THIRD_LIB = $(OUT)/libmupdf-third.so 22 + +THREAD_LIB = $(OUT)/libmupdf-threads.so 23 + +PKCS7_LIB = $(OUT)/libmupdf-pkcs7.so 24 + 25 + -$(MUPDF_LIB) : $(MUPDF_OBJ) 26 + +$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_LIB) $(THREAD_LIB) 27 + + $(LINK_CMD) $(THIRD_LIBS) -shared -Wl,-soname -Wl,libmupdf.so -Wl,--no-undefined 28 + $(THIRD_LIB) : $(THIRD_OBJ) 29 + + $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-third.so -Wl,--no-undefined 30 + $(THREAD_LIB) : $(THREAD_OBJ) 31 + + $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-threads.so -Wl,--no-undefined -lpthread 32 + $(PKCS7_LIB) : $(PKCS7_OBJ) 33 + + $(LINK_CMD) -shared -Wl,-soname -Wl,libmupdf-pkcs7.so 34 + 35 + -INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) 36 + +INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) $(THREAD_LIB) $(PKCS7_LIB) 37 + 38 + # --- Main tools and viewers --- 39 +