package/mupdf: new package.
MuPDF is a lightweight PDF, XPS, and E-book viewer. Note: some packages, like PyMuPDF, depend on mupdf's libraries, hence the patch. Signed-off-by: Raphaël Mélotte <raphael.melotte@essensium.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Arnout: - propagate harfbuzz dependencies; - correct version number in hash file; - patch on post-patch hook instead of post-extract; - nicer line splitting]
This commit is contained in:
parent
ebc1ded191
commit
9806302851
@ -2250,6 +2250,7 @@ F: package/bitwise/
|
||||
|
||||
N: Raphaël Mélotte <raphael.melotte@essensium.com>
|
||||
F: package/jbig2dec/
|
||||
F: package/mupdf/
|
||||
F: package/python-boto3/
|
||||
F: package/python-botocore/
|
||||
F: package/python-jmespath/
|
||||
|
@ -375,6 +375,7 @@ comment "X applications"
|
||||
source "package/gtkperf/Config.in"
|
||||
source "package/leafpad/Config.in"
|
||||
source "package/midori/Config.in"
|
||||
source "package/mupdf/Config.in"
|
||||
source "package/nodm/Config.in"
|
||||
source "package/pcmanfm/Config.in"
|
||||
source "package/qt-webkit-kiosk/Config.in"
|
||||
|
41
package/mupdf/0001-Makefile-add-an-install_libs-target.patch
Normal file
41
package/mupdf/0001-Makefile-add-an-install_libs-target.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From 0989f13ecbc2155b05da0cb091801d32d750d2d4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?=
|
||||
<raphael.melotte@essensium.com>
|
||||
Date: Thu, 29 Aug 2019 09:51:02 +0200
|
||||
Subject: [PATCH] Makefile: add an install_libs target.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This allows to install only the library files (if you need pymupdf but
|
||||
not mupdf binaries for example).
|
||||
|
||||
Signed-off-by: Raphaël Mélotte <raphael.melotte@essensium.com>
|
||||
---
|
||||
Makefile | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index c5bc541ac..e14f88526 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -322,7 +322,7 @@ libs: $(INSTALL_LIBS)
|
||||
tools: $(TOOL_APPS)
|
||||
apps: $(TOOL_APPS) $(VIEW_APPS)
|
||||
|
||||
-install: libs apps
|
||||
+install_libs:
|
||||
install -d $(DESTDIR)$(incdir)/mupdf
|
||||
install -d $(DESTDIR)$(incdir)/mupdf/fitz
|
||||
install -d $(DESTDIR)$(incdir)/mupdf/pdf
|
||||
@@ -333,6 +333,7 @@ install: libs apps
|
||||
install -d $(DESTDIR)$(libdir)
|
||||
install -m 644 $(INSTALL_LIBS) $(DESTDIR)$(libdir)
|
||||
|
||||
+install: libs apps install_libs
|
||||
install -d $(DESTDIR)$(bindir)
|
||||
install -m 755 $(TOOL_APPS) $(VIEW_APPS) $(DESTDIR)$(bindir)
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
23
package/mupdf/Config.in
Normal file
23
package/mupdf/Config.in
Normal file
@ -0,0 +1,23 @@
|
||||
config BR2_PACKAGE_MUPDF
|
||||
bool "mupdf"
|
||||
depends on BR2_INSTALL_LIBSTDCPP # harfbuzz
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # harfbuzz
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # harfbuzz
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_FREETYPE
|
||||
select BR2_PACKAGE_HARFBUZZ
|
||||
select BR2_PACKAGE_JBIG2DEC
|
||||
select BR2_PACKAGE_JPEG
|
||||
select BR2_PACKAGE_LCMS2
|
||||
select BR2_PACKAGE_OPENJPEG
|
||||
select BR2_PACKAGE_XLIB_LIBX11
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
MuPDF is a lightweight PDF, XPS, and E-book viewer.
|
||||
|
||||
https://www.mupdf.com/index.html
|
||||
|
||||
comment "mupdf needs a toolchain w/ C++, gcc >= 4.8"
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
8
package/mupdf/mupdf.hash
Normal file
8
package/mupdf/mupdf.hash
Normal file
@ -0,0 +1,8 @@
|
||||
# From https://mupdf.com/downloads/index.html:
|
||||
sha1 18f069b7cc125e53f541163ac305c588c94dea97 mupdf-1.16.0-source.tar.gz
|
||||
|
||||
# Locally computed:
|
||||
sha256 64d537895641b711737cc58fe762481b07ea71d1506e8bd8a13434e093b0068d mupdf-1.16.0-source.tar.gz
|
||||
|
||||
# Hash for license files:
|
||||
sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 COPYING
|
64
package/mupdf/mupdf.mk
Normal file
64
package/mupdf/mupdf.mk
Normal file
@ -0,0 +1,64 @@
|
||||
################################################################################
|
||||
#
|
||||
# mudpf
|
||||
#
|
||||
################################################################################
|
||||
|
||||
MUPDF_VERSION = 1.16.0
|
||||
MUPDF_SOURCE = mupdf-$(MUPDF_VERSION)-source.tar.gz
|
||||
MUPDF_SITE = https://mupdf.com/downloads/archive
|
||||
MUPDF_LICENSE = AGPL-3.0+
|
||||
MUPDF_LICENSE_FILES = COPYING
|
||||
MUPDF_INSTALL_STAGING = YES
|
||||
MUPDF_DEPENDENCIES = \
|
||||
freetype \
|
||||
harfbuzz \
|
||||
host-pkgconf \
|
||||
jbig2dec jpeg \
|
||||
lcms2 openjpeg \
|
||||
xlib_libX11 \
|
||||
zlib
|
||||
|
||||
MUPDF_PKG_CONFIG_PACKAGES = \
|
||||
freetype2 \
|
||||
harfbuzz \
|
||||
libjpeg \
|
||||
zlib
|
||||
|
||||
MUPDF_CFLAGS = \
|
||||
$(TARGET_CFLAGS) \
|
||||
`$(PKG_CONFIG_HOST_BINARY) --cflags $(MUPDF_PKG_CONFIG_PACKAGES)` \
|
||||
-fPIC # -fPIC is needed because the Makefile doesn't append it.
|
||||
|
||||
MUPDF_LDFLAGS = \
|
||||
$(TARGET_LDFLAGS) \
|
||||
`$(PKG_CONFIG_HOST_BINARY) --libs $(MUPDF_PKG_CONFIG_PACKAGES)`
|
||||
|
||||
# mupdf doesn't use CFLAGS and LIBS but XCFLAGS and XLIBS instead.
|
||||
# with USE_SYSTEM_LIBS it will try to use system libraries instead of the bundled ones.
|
||||
MUPDF_MAKE_ENV = $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) \
|
||||
XCFLAGS="$(MUPDF_CFLAGS)" \
|
||||
XLIBS="$(MUPDF_LDFLAGS)" \
|
||||
USE_SYSTEM_LIBS=yes
|
||||
|
||||
# Modern versions of mupdf depend on OpenGL,
|
||||
# we disable it because it may not be available:
|
||||
define MUPDF_DISABLE_OPENGL
|
||||
sed -i 's/HAVE_GLUT := yes/HAVE_GLUT := no/g' $(@D)/Makerules
|
||||
endef
|
||||
|
||||
MUPDF_POST_PATCH_HOOKS = MUPDF_DISABLE_OPENGL
|
||||
|
||||
define MUPDF_BUILD_CMDS
|
||||
$(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) all
|
||||
endef
|
||||
|
||||
define MUPDF_INSTALL_STAGING_CMDS
|
||||
$(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(STAGING_DIR)" prefix="/usr" install_libs
|
||||
endef
|
||||
|
||||
define MUPDF_INSTALL_TARGET_CMDS
|
||||
$(MUPDF_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR="$(TARGET_DIR)" prefix="/usr" install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
Loading…
Reference in New Issue
Block a user