mupdf: build shared library and apps

* don't use builtin libs
* create devel package
This commit is contained in:
Sergei Reznikov
2015-04-02 14:10:31 +03:00
parent 34bb552088
commit c781aed645
3 changed files with 71 additions and 9 deletions

View File

@@ -9,7 +9,7 @@ transparency, encryption, hyperlinks, annotations, searching and more. It also \
reads XPS and OpenXPS documents. MuPDF is written modularly, so features can \ reads XPS and OpenXPS documents. MuPDF is written modularly, so features can \
be added on by integrators if they so desire. be added on by integrators if they so desire.
" "
HOMEPAGE="http://www.mupdf.com/" HOMEPAGE="http://www.mupdf.com"
LICENSE="AGPL-3.0" LICENSE="AGPL-3.0"
COPYRIGHT="2006-2013 Artifex Software, Inc" COPYRIGHT="2006-2013 Artifex Software, Inc"
SRC_URI="http://www.mupdf.com/downloads/mupdf-$portVersion-source.tar.gz" SRC_URI="http://www.mupdf.com/downloads/mupdf-$portVersion-source.tar.gz"
@@ -17,13 +17,16 @@ SOURCE_DIR="mupdf-$portVersion-source"
CHECKSUM_SHA256="9813ee330950a641364181649ebd369c947adbcea9d41ed953ec5365640ea563" CHECKSUM_SHA256="9813ee330950a641364181649ebd369c947adbcea9d41ed953ec5365640ea563"
PATCHES="mupdf-1.6.patchset" PATCHES="mupdf-1.6.patchset"
REVISION="3" REVISION="4"
ARCHITECTURES="x86_gcc2 x86 x86_64" ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86" SECONDARY_ARCHITECTURES="x86"
PROVIDES=" PROVIDES="
mupdf$secondaryArchSuffix = $portVersion compat >= 1.1 mupdf$secondaryArchSuffix = $portVersion compat >= 1.1
devel:libmupdf$secondaryArchSuffix = $portVersion compat >= 1.1 lib:libmupdf$secondaryArchSuffix = $portVersion compat >= 1.1
cmd:mudraw$secondaryArchSuffix
cmd:mujstest$secondaryArchSuffix
cmd:mutool$secondaryArchSuffix
" "
REQUIRES=" REQUIRES="
haiku$secondaryArchSuffix haiku$secondaryArchSuffix
@@ -35,9 +38,9 @@ REQUIRES="
" "
BUILD_REQUIRES=" BUILD_REQUIRES="
devel:libfreetype$secondaryArchSuffix devel:libfreetype$secondaryArchSuffix
devel:libopenjp2$secondaryArchSuffix
devel:libjbig2dec$secondaryArchSuffix devel:libjbig2dec$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix devel:libjpeg$secondaryArchSuffix
devel:libopenjp2$secondaryArchSuffix
devel:libz$secondaryArchSuffix devel:libz$secondaryArchSuffix
" "
BUILD_PREREQUIRES=" BUILD_PREREQUIRES="
@@ -48,22 +51,55 @@ BUILD_PREREQUIRES="
cmd:make cmd:make
cmd:pkg_config$secondaryArchSuffix cmd:pkg_config$secondaryArchSuffix
" "
PATCHES="
mupdf-1.6.patchset
mupdf-1.6-openjpeg21-1.patch
"
BUILD() BUILD()
{ {
# don't use builtin libjpeg # don't use builtin libs
rm -rf thirdparty/jpeg scripts/jpeg rm -rf thirdparty
make build=release $jobArgs libs
# static lib
my_soname=libmupdf.so.$portVersion
my_soname_js_none=libmupdf-js-none.so.$portVersion
sed -e "\$a\$(MUPDF_LIB): \$(MUPDF_JS_NONE_LIB)" \
-e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname} -Wl,--no-undefined -o \$@ \$^ \$(MUPDF_JS_NONE_LIB) \$(LIBS)" \
-e "/^MUPDF_LIB :=/s:=.*:= \$(OUT)/${my_soname}:" \
-e "\$a\$(MUPDF_JS_NONE_LIB):" \
-e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname_js_none} -Wl,--no-undefined -o \$@ \$^ \$(LIBS)" \
-e "/install/s: COPYING : :" \
-i Makefile || die
make XCFLAGS=-fpic build=release $jobArgs
} }
INSTALL() INSTALL()
{ {
make install-libs \ make build=release install \
prefix=$prefix \ prefix=$prefix \
bindir=$binDir \ bindir=$binDir \
docdir=$docDir \
libdir=$libDir \ libdir=$libDir \
incdir=$includeDir \ incdir=$includeDir \
mandir=$manDir mandir=$manDir
ln -s libmupdf.so.$portVersion $libDir/libmupdf.so
prepareInstalledDevelLibs libmupdf prepareInstalledDevelLibs libmupdf
# devel package
packageEntries devel \
$developDir
} }
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
mupdf${secondaryArchSuffix}_devel = $portVersion
devel:libmupdf$secondaryArchSuffix = $portVersion compat >= 1
"
REQUIRES_devel="
mupdf$secondaryArchSuffix == $portVersion
"

View File

@@ -0,0 +1,26 @@
diff -Naur mupdf-1.6-source.orig/source/fitz/load-jpx.c mupdf-1.6-source/source/fitz/load-jpx.c
--- mupdf-1.6-source.orig/source/fitz/load-jpx.c 2014-09-30 13:25:12.000000000 +0200
+++ mupdf-1.6-source/source/fitz/load-jpx.c 2014-11-17 18:45:27.202705119 +0100
@@ -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 @@
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);

View File

@@ -98,7 +98,7 @@ index 75573da..c6588be 100644
From 9a1e2d416be441c199f83239ec3fa0e336c4e0b6 Mon Sep 17 00:00:00 2001 From 9a1e2d416be441c199f83239ec3fa0e336c4e0b6 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net> From: Gerasim Troeglazov <3deyes@gmail.com>
Date: Tue, 31 Mar 2015 16:21:27 +0300 Date: Tue, 31 Mar 2015 16:21:27 +0300
Subject: gcc2 fixes Subject: gcc2 fixes