summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authortugdilgoldhand2016-09-04 11:01:21 +0200
committertugdilgoldhand2016-09-04 11:01:21 +0200
commit96ad9ad56666984bda928ea3fccad897fb49d979 (patch)
tree42a13fe89bd70dc6679b8afa6a3de00d49fc4d92
parentc93566e0862f0d8a5b8739636cb1546169c9e249 (diff)
downloadaur-96ad9ad56666984bda928ea3fccad897fb49d979.tar.gz
Update to 1.9a
-rw-r--r--.SRCINFO76
-rw-r--r--0001-mupdf-openjpeg.patch38
-rw-r--r--PKGBUILD142
-rw-r--r--mupdf-1.5-openjpeg-2.1.0.patch13
4 files changed, 205 insertions, 64 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 582c1f61753f..bfbf7a7d1f83 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,36 +1,72 @@
-pkgbase = mupdf-nojs
+pkgbase = mupdf
pkgdesc = Lightweight PDF and XPS viewer
- pkgver = 1.8
- pkgrel = 2
+ pkgver = 1.9_a
+ pkgrel = 1
url = http://mupdf.com
- install = mupdf.install
arch = i686
arch = x86_64
license = AGPL3
+ makedepends = curl
+ makedepends = desktop-file-utils
+ makedepends = freetype2
+ makedepends = glfw
+ makedepends = harfbuzz
+ makedepends = jbig2dec
+ makedepends = libjpeg
makedepends = mesa-libgl
+ makedepends = openjpeg2
+ makedepends = openssl
+ conflicts = libmupdf
+ conflicts = mupdf
+ conflicts = mupdf-gl
+ conflicts = mupdf-tools
+ options = staticlibs
+ source = http://mupdf.com/downloads/mupdf-1.9a-source.tar.gz
+ source = 0001-mupdf-openjpeg.patch
+ source = mupdf-0001-bug-696941-fix-use-after-free.patch::http://git.ghostscript.com/?p=mupdf.git;a=patch;h=fa1936405b6a84e5c9bb440912c23d532772f958
+ source = mupdf-0002-make-sure-that-number-of-colors-in-mesh-params-is-valid.patch::http://git.ghostscript.com/?p=mupdf.git;a=patch;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e
+ source = mupdf.desktop
+ source = mupdf.xpm
+ sha256sums = 8015c55f4e6dd892d3c50db4f395c1e46660a10b460e2ecd180a497f55bbc4cc
+ sha256sums = 3bad2ab6dfd11d7f715c9ea5618856ac386a0841d0ee14a33f0eec55b60bda67
+ sha256sums = a8b72e0368f19349fe434d2fe7febc1e6623abf61d043dfa794a002aed8fef4c
+ sha256sums = e0b53f0999a2c91f7906a9c6d61f7494716507e535e9f2c4dccc8ea490fb1402
+ sha256sums = 70f632e22902ad4224b1d88696702b3ba4eb3c28eb7acf735f06d16e6884a078
+ sha256sums = a435f44425f5432c074dee745d8fbaeb879038ec1f1ec64f037c74662f09aca8
+
+pkgname = libmupdf-nojs
+ pkgdesc = Library for Lightweight PDF and XPS viewer
+
+pkgname = mupdf-nojs
+ pkgdesc = Lightweight PDF and XPS viewer
depends = curl
depends = desktop-file-utils
depends = freetype2
+ depends = harfbuzz
depends = jbig2dec
depends = libjpeg
- depends = libxext
+ depends = openjpeg2
depends = openssl
+
+pkgname = mupdf-gl-nojs
+ pkgdesc = Lightweight PDF and XPS viewer with OpenGL backend
+ depends = desktop-file-utils
+ depends = freetype2
+ depends = glfw
+ depends = harfbuzz
+ depends = jbig2dec
+ depends = libjpeg
depends = openjpeg2
- depends = mesa
- depends = libgl
- depends = libxcursor
- depends = libxrandr
- depends = libxinerama
+ depends = openssl
+ provides = mupdf
conflicts = mupdf
- options = staticlibs
- source = http://mupdf.com/downloads/mupdf-1.8-source.tar.gz
- source = mupdf.desktop
- source = mupdf.xpm
- source = mupdf-1.5-openjpeg-2.1.0.patch
- sha256sums = a2a3c64d8b24920f87cf4ea9339a25abf7388496440f13b37482d1403c33c206
- sha256sums = 70f632e22902ad4224b1d88696702b3ba4eb3c28eb7acf735f06d16e6884a078
- sha256sums = a435f44425f5432c074dee745d8fbaeb879038ec1f1ec64f037c74662f09aca8
- sha256sums = 6ea44355ac1309cbd6605a8478e7245f2c0f17f61b30bb72d8ec79f65732452d
-pkgname = mupdf-nojs
+pkgname = mupdf-tools-nojs
+ pkgdesc = Tools for Lightweight PDF and XPS viewer
+ depends = freetype2
+ depends = jbig2dec
+ depends = libjpeg
+ depends = openssl
+ depends = openjpeg2
+ depends = harfbuzz
diff --git a/0001-mupdf-openjpeg.patch b/0001-mupdf-openjpeg.patch
new file mode 100644
index 000000000000..562b7488052d
--- /dev/null
+++ b/0001-mupdf-openjpeg.patch
@@ -0,0 +1,38 @@
+--- a/source/fitz/load-jpx.c
++++ b/source/fitz/load-jpx.c
+@@ -3,12 +3,17 @@
+ /* 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. */
++
++#ifdef __cplusplus
++extern "C"
++{
+ #define OPJ_STATIC
+ #ifndef _MSC_VER
+ #define OPJ_HAVE_STDINT_H
+ #endif
++#endif
+
+-#include <openjpeg.h>
++#include <openjpeg-2.1/openjpeg.h>
+
+ static void fz_opj_error_callback(const char *msg, void *client_data)
+ {
+@@ -117,7 +122,7 @@ fz_load_jpx(fz_context *ctx, unsigned ch
+ 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);
+
+@@ -247,3 +252,6 @@ fz_load_jpx(fz_context *ctx, unsigned ch
+
+ return img;
+ }
++#ifdef __cplusplus
++}
++#endif
+
diff --git a/PKGBUILD b/PKGBUILD
index f26cd46d04d3..651da1148b3a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,35 +6,53 @@
# Contributor: Pierre-Paul Paquin <pierrepaulpaquin@gmail.com>
# Contributor: xduugu
-_pkgname=mupdf
-pkgname=${_pkgname}-nojs
-pkgver=1.8
-pkgrel=2
+pkgbase=mupdf
+pkgname=(libmupdf-nojs mupdf-nojs mupdf-gl-nojs mupdf-tools-nojs)
+pkgver=1.9_a
+pkgrel=1
pkgdesc='Lightweight PDF and XPS viewer'
arch=('i686' 'x86_64')
url='http://mupdf.com'
license=('AGPL3')
-conflicts=('mupdf')
-depends=('curl' 'desktop-file-utils' 'freetype2' 'jbig2dec' 'libjpeg' 'libxext'
- 'openssl' 'openjpeg2' 'mesa' 'libgl' 'libxcursor' 'libxrandr'
- 'libxinerama')
-makedepends=('mesa-libgl')
-install=mupdf.install
+conflicts=(libmupdf mupdf mupdf-gl mupdf-tools)
+makedepends=('curl' 'desktop-file-utils' 'freetype2' 'glfw' 'harfbuzz'
+ 'jbig2dec' 'libjpeg' 'mesa-libgl' 'openjpeg2' 'openssl')
+# we need static libs for zathura-pdf-mupdf
options=('staticlibs')
-source=(http://mupdf.com/downloads/mupdf-${pkgver/_/}-source.tar.gz
- mupdf.desktop
- mupdf.xpm
- mupdf-1.5-openjpeg-2.1.0.patch)
-sha256sums=('a2a3c64d8b24920f87cf4ea9339a25abf7388496440f13b37482d1403c33c206'
- '70f632e22902ad4224b1d88696702b3ba4eb3c28eb7acf735f06d16e6884a078'
- 'a435f44425f5432c074dee745d8fbaeb879038ec1f1ec64f037c74662f09aca8'
- '6ea44355ac1309cbd6605a8478e7245f2c0f17f61b30bb72d8ec79f65732452d')
+source=("http://mupdf.com/downloads/mupdf-${pkgver/_/}-source.tar.gz"
+ '0001-mupdf-openjpeg.patch'
+ 'mupdf-0001-bug-696941-fix-use-after-free.patch::http://git.ghostscript.com/?p=mupdf.git;a=patch;h=fa1936405b6a84e5c9bb440912c23d532772f958'
+ 'mupdf-0002-make-sure-that-number-of-colors-in-mesh-params-is-valid.patch::http://git.ghostscript.com/?p=mupdf.git;a=patch;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e'
+ 'mupdf.desktop'
+ 'mupdf.xpm')
+sha256sums=('8015c55f4e6dd892d3c50db4f395c1e46660a10b460e2ecd180a497f55bbc4cc'
+'3bad2ab6dfd11d7f715c9ea5618856ac386a0841d0ee14a33f0eec55b60bda67'
+'a8b72e0368f19349fe434d2fe7febc1e6623abf61d043dfa794a002aed8fef4c'
+'e0b53f0999a2c91f7906a9c6d61f7494716507e535e9f2c4dccc8ea490fb1402'
+'70f632e22902ad4224b1d88696702b3ba4eb3c28eb7acf735f06d16e6884a078'
+'a435f44425f5432c074dee745d8fbaeb879038ec1f1ec64f037c74662f09aca8'
+)
prepare() {
- cd $_pkgname-${pkgver/_/}-source
- rm -rf thirdparty/{curl,freetype,mujs,jpeg,zlib,jbig2dec,openjpeg}
- patch -p1 -i ../mupdf-1.5-openjpeg-2.1.0.patch
+ cd $pkgbase-${pkgver/_/}-source
+ # remove bundled packages, we want our system libraries
+ rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,jpeg,openjpeg,zlib}
+
+ # Bug 696941: Fix use after free.
+ # CVE-2016-6265
+ # https://security-tracker.debian.org/tracker/CVE-2016-6265
+ patch -Np1 < "${srcdir}/mupdf-0001-bug-696941-fix-use-after-free.patch"
+
+ # Make sure that number of colors in mesh params is valid.
+ # CVE-2016-6525
+ # https://security-tracker.debian.org/tracker/CVE-2016-6525
+ patch -Np1 < "${srcdir}/mupdf-0002-make-sure-that-number-of-colors-in-mesh-params-is-valid.patch"
+
+ # fix function for openjpeg 2.1.x
+ patch -Np1 < "${srcdir}/0001-mupdf-openjpeg.patch"
+
+ # fix includes for jbig2dec
sed '/^JBIG2DEC_CFLAGS :=/s|$| -I./include/mupdf|' -i Makethird
}
@@ -42,21 +60,83 @@ build() {
CFLAGS+=' -fPIC -fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2'
CXXFLAGS+=' -fPIC -fPIE -fstack-protector-all -D_FORTIFY_SOURCE=2'
LDFLAGS+=' -pie'
+ export CFLAGS CXXFLAGS LDFLAGS
- cd $_pkgname-${pkgver/_/}-source
- make build=release CURL_LIBS='-lcurl -lpthread'
+ HAVE_GLFW='yes'
+ SYS_GLFW_CFLAGS="$(pkg-config --cflags glfw3)"
+ SYS_GLFW_LIBS="$(pkg-config --libs glfw3) -lGL"
+ export HAVE_GLFW SYS_GLFW_CFLAGS SYS_GLFW_LIBS
+
+ cd $pkgbase-${pkgver/_/}-source
+ HAVE_MUJS="no" make build=release
}
-package() {
- cd $_pkgname-${pkgver/_/}-source
- make build=release prefix="$pkgdir"/usr install
+package_libmupdf-nojs() {
+ pkgdesc='Library for Lightweight PDF and XPS viewer'
+
+ cd $pkgbase-${pkgver/_/}-source
- mv "$pkgdir"/usr/bin/mupdf-x11-curl "$pkgdir"/usr/bin/mupdf
- rm "$pkgdir"/usr/bin/mupdf-x11
+ HAVE_MUJS="no" make build=release prefix="$pkgdir"/usr install
- install -Dm644 ../mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
- install -Dm644 ../mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
+ rm -rf "$pkgdir"/usr/{bin,share/man}
+ mv "$pkgdir"/usr/share/doc/mupdf "$pkgdir"/usr/share/doc/libmupdf
find "$pkgdir"/usr/include "$pkgdir"/usr/share "$pkgdir"/usr/lib \
- -type f -exec chmod -v 0644 {} +
+ -type f -exec chmod 0644 {} +
+}
+
+package_mupdf-nojs() {
+ pkgdesc='Lightweight PDF and XPS viewer'
+ depends=('curl' 'desktop-file-utils' 'freetype2' 'harfbuzz' 'jbig2dec'
+ 'libjpeg' 'openjpeg2' 'openssl')
+
+ cd $pkgbase-${pkgver/_/}-source
+
+ install -D -m0755 build/release/mupdf-x11-curl "$pkgdir"/usr/bin/mupdf
+
+ install -D -m0644 docs/man/mupdf.1 "$pkgdir"/usr/share/man/man1/mupdf.1
+
+ install -d "$pkgdir"/usr/share/doc/mupdf
+ install -m0644 README COPYING CHANGES "$pkgdir"/usr/share/doc/mupdf
+
+ install -D -m0644 ../mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
+ install -D -m0644 ../mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
}
+
+package_mupdf-gl-nojs() {
+ pkgdesc='Lightweight PDF and XPS viewer with OpenGL backend'
+ conflicts=('mupdf')
+ provides=('mupdf')
+ depends=('desktop-file-utils' 'freetype2' 'glfw' 'harfbuzz' 'jbig2dec'
+ 'libjpeg' 'openjpeg2' 'openssl')
+
+ cd $pkgbase-${pkgver/_/}-source
+
+ install -D -m0755 build/release/mupdf-gl "$pkgdir"/usr/bin/mupdf
+
+ install -D -m0644 docs/man/mupdf.1 "$pkgdir"/usr/share/man/man1/mupdf.1
+
+ install -d "$pkgdir"/usr/share/doc/mupdf
+ install -m0644 README COPYING CHANGES "$pkgdir"/usr/share/doc/mupdf
+
+ install -D -m0644 ../mupdf.desktop "$pkgdir"/usr/share/applications/mupdf.desktop
+ install -D -m0644 ../mupdf.xpm "$pkgdir"/usr/share/pixmaps/mupdf.xpm
+}
+
+package_mupdf-tools-nojs() {
+ pkgdesc='Tools for Lightweight PDF and XPS viewer'
+ depends=('mupdf')
+ depends=('freetype2' 'jbig2dec' 'libjpeg'
+ 'openssl' 'openjpeg2' 'harfbuzz')
+
+ cd $pkgbase-${pkgver/_/}-source
+
+ install -D -m0755 build/release/mutool "$pkgdir"/usr/bin/mutool
+ install -D -m0755 build/release/mujstest "$pkgdir"/usr/bin/mujstest
+
+ install -D -m0644 docs/man/mutool.1 "$pkgdir"/usr/share/man/man1/mutool.1
+
+ install -d "$pkgdir"/usr/share/doc/mupdf-tools
+ install -m0644 README COPYING CHANGES "$pkgdir"/usr/share/doc/mupdf-tools
+}
+
diff --git a/mupdf-1.5-openjpeg-2.1.0.patch b/mupdf-1.5-openjpeg-2.1.0.patch
deleted file mode 100644
index 889edcdea34c..000000000000
--- a/mupdf-1.5-openjpeg-2.1.0.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c
-index dd7bf9e..b7c8680 100644
---- a/source/fitz/load-jpx.c
-+++ b/source/fitz/load-jpx.c
-@@ -116,7 +116,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);
-