Subject: [alpine-aports] [PATCH 1/2] testing/mupdf: rebuild against openjpeg-2.1.1

From: Daniel Sabogal <[email-masked]>
Date: Sun, 21 Aug 2016 23:23:20 -0400

Patch taken from the FreeBSD ports
---
 testing/mupdf/APKBUILD                 | 10 +++++-----
 testing/mupdf/mupdf-openjpeg-2.1.patch | 11 -----------
 testing/mupdf/openjpeg-2.1.1.patch     | 28 ++++++++++++++++++++++++++++
 3 files changed, 33 insertions(+), 16 deletions(-)
 delete mode 100644 testing/mupdf/mupdf-openjpeg-2.1.patch
 create mode 100644 testing/mupdf/openjpeg-2.1.1.patch

diff --git a/testing/mupdf/APKBUILD b/testing/mupdf/APKBUILD
index 92fee92..a3f0b40 100644
--- a/testing/mupdf/APKBUILD
+++ b/testing/mupdf/APKBUILD
@@ -2,7 +2,7 @@
 # Maintainer: Michael Zhou <[email-masked]>
 pkgname=mupdf
 pkgver=1.9a
-pkgrel=1
+pkgrel=2
 pkgdesc="A lightweight PDF and XPS viewer"
 url="http://mupdf.com"
 arch="all"
@@ -14,7 +14,7 @@ install=""
 subpackages="$pkgname-doc $pkgname-dev"
 source="http://mupdf.com/downloads/archive/$pkgname-$pkgver-source.tar.gz
 	shared-lib.patch
-	mupdf-openjpeg-2.1.patch
+	openjpeg-2.1.1.patch
 	"
 
 builddir="$srcdir/$pkgname-${pkgver}-source"
@@ -45,10 +45,10 @@ package() {
 
 md5sums="658b90788a57d858dcb069cf326e11c3  mupdf-1.9a-source.tar.gz
 8c4c5ec03c3df7e87a672c79302f6df5  shared-lib.patch
-4a8772b09af5152d9bf58e69834b74bf  mupdf-openjpeg-2.1.patch"
+ba8b6171c4ae38662632259e1c496da1  openjpeg-2.1.1.patch"
 sha256sums="8015c55f4e6dd892d3c50db4f395c1e46660a10b460e2ecd180a497f55bbc4cc  mupdf-1.9a-source.tar.gz
 3ff3c9413c4c1005db7e41a085ce8e72ee1e956e8d1538a615f51f86f8bb1d14  shared-lib.patch
-7b49af879df5eb2c79884a0983635fa335422edc9854bc4fbc44f653892827f2  mupdf-openjpeg-2.1.patch"
+46f91311ce2f2972986d6d2f4a57fec5e1a556de494e52226206781942522894  openjpeg-2.1.1.patch"
 sha512sums="9f804fd65c2dc6b7a3bd73961b1f1a8bf93d52903cccf6302acd6982dfa433125a3b8e77b808984921aee097877280fa21aafb87468cd0a8e4cfa900284a262b  mupdf-1.9a-source.tar.gz
 bc38cc6935ed1c5941773e0671bea25d33897c1018c30f11ff3a1ec1e583276597f521b9e526f9bd38a6f9a1e76aa3e52782995ded72a618d07811abcd7ca734  shared-lib.patch
-0a07dc0a0312ef0b6a20f6a89da7a2010008cf804a1c9b33667b17f263a69e46047a34dcb24e8015a98a61e28e1e302dc302c0fbb7303a61b00d9490146b7b83  mupdf-openjpeg-2.1.patch"
+6eb33da5f05c5e5d8fa2af7223261153769b454d535128056015819c164ff59d068354680ebc135c2221f2ae7a3b6ec99833247bfefa83e9a4bab09f243452f1  openjpeg-2.1.1.patch"
diff --git a/testing/mupdf/mupdf-openjpeg-2.1.patch b/testing/mupdf/mupdf-openjpeg-2.1.patch
deleted file mode 100644
index 7048140..0000000
--- a/testing/mupdf/mupdf-openjpeg-2.1.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- mupdf-1.5/source/fitz/load-jpx.c
-+++ mupdf-1.5/source/fitz/load-jpx.c
-@@ -116,7 +116,7 @@
- 	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);
- 
diff --git a/testing/mupdf/openjpeg-2.1.1.patch b/testing/mupdf/openjpeg-2.1.1.patch
new file mode 100644
index 0000000..80288f5
--- /dev/null
+++ b/testing/mupdf/openjpeg-2.1.1.patch
@@ -0,0 +1,28 @@
+--- mupdf-1.9a-source/source/fitz/load-jpx.c.orig
++++ mupdf-1.9a-source/source/fitz/load-jpx.c
+@@ -1,15 +1,7 @@
+ #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-2.1/openjpeg.h>
+ 
+-#include <openjpeg.h>
+-
+ static void fz_opj_error_callback(const char *msg, void *client_data)
+ {
+ 	fz_context *ctx = (fz_context *)client_data;
+@@ -117,7 +109,7 @@
+ 	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.8.3

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Daniel Sabogal <[email-masked]>
Date: Sun, 21 Aug 2016 23:23:21 -0400

fixes #5921
build mupdf with OpenGL backend
split mupdf-x11, mupdf-gl, and mupdf-tools into subpackages
---
 testing/mupdf/APKBUILD | 48 ++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 38 insertions(+), 10 deletions(-)

diff --git a/testing/mupdf/APKBUILD b/testing/mupdf/APKBUILD
index a3f0b40..7b554aa 100644
--- a/testing/mupdf/APKBUILD
+++ b/testing/mupdf/APKBUILD
@@ -2,22 +2,22 @@
 # Maintainer: Michael Zhou <[email-masked]>
 pkgname=mupdf
 pkgver=1.9a
-pkgrel=2
+pkgrel=3
 pkgdesc="A lightweight PDF and XPS viewer"
 url="http://mupdf.com"
 arch="all"
 license="AGPL3+"
 depends=""
 makedepends="freetype-dev jpeg-dev jbig2dec-dev libx11-dev libxext-dev
-	openjpeg-dev harfbuzz-dev"
-install=""
-subpackages="$pkgname-doc $pkgname-dev"
+	openjpeg-dev harfbuzz-dev glfw-dev"
+subpackages="$pkgname-doc $pkgname-dev $pkgname-x11:_x11
+	$pkgname-gl:_gl $pkgname-tools:_tools"
 source="http://mupdf.com/downloads/archive/$pkgname-$pkgver-source.tar.gz
 	shared-lib.patch
 	openjpeg-2.1.1.patch
 	"
 
-builddir="$srcdir/$pkgname-${pkgver}-source"
+builddir="$srcdir/$pkgname-$pkgver-source"
 prepare() {
 	default_prepare || return 1
 
@@ -31,16 +31,44 @@ prepare() {
 }
 
 build() {
-	cd "$builddir"
-	make prefix=/usr || return 1
+	make HAVE_GLFW=yes SYS_GLFW_LIBS="-lglfw -lGL" \
+		prefix=/usr -C "$builddir" || return 1
 }
 
 package() {
-	cd "$builddir"
-	make prefix=/usr DESTDIR="$pkgdir" install || return 1
+	make HAVE_GLFW=yes \
+		prefix=/usr DESTDIR="$pkgdir" \
+		-C "$builddir" install || return 1
+
 	ln -s libmupdf.so.0 "$pkgdir"/usr/lib/libmupdf.so
 	ln -s libmupdfthird.so.0 "$pkgdir"/usr/lib/libmupdfthird.so
-	ln -s /usr/bin/$pkgname-x11 "$pkgdir"/usr/bin/$pkgname
+}
+
+_x11() {
+	pkgdesc="A lightweight PDF and XPS viewer with X11 backend"
+	depends="!mupdf-gl mupdf"
+	mkdir -p "$subpkgdir"/usr/bin
+	mv "$pkgdir"/usr/bin/mupdf-x11 \
+		"$subpkgdir"/usr/bin/ || return 1
+	ln -s /usr/bin/mupdf-x11 "$subpkgdir"/usr/bin/mupdf
+}
+
+_gl() {
+	pkgdesc="A lightweight PDF and XPS viewer with OpenGL backend"
+	depends="!mupdf-x11 mupdf"
+	mkdir -p "$subpkgdir"/usr/bin
+	mv "$pkgdir"/usr/bin/mupdf-gl \
+		"$subpkgdir"/usr/bin/ || return 1
+	ln -s /usr/bin/mupdf-gl "$subpkgdir"/usr/bin/mupdf
+}
+
+_tools() {
+	pkgdesc="Tools for a lightweight PDF and XPS viewer"
+	depends="mupdf"
+	mkdir -p "$subpkgdir"/usr/bin
+	mv "$pkgdir"/usr/bin/mutool \
+		"$pkgdir"/usr/bin/mujstest \
+		"$subpkgdir"/usr/bin/ || return 1
 }

---