From patchwork Fri Feb 7 09:37:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFwaGHDq2wgTcOpbG90dGU=?= X-Patchwork-Id: 1234822 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=essensium.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=essensium.com header.i=@essensium.com header.a=rsa-sha256 header.s=google header.b=DNEBqgkM; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 48DVZk1v7hz9sRK for ; Fri, 7 Feb 2020 20:37:34 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id B8D8D203A6; Fri, 7 Feb 2020 09:37:32 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WzDQ4oSjoh33; Fri, 7 Feb 2020 09:37:30 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 45D6320373; Fri, 7 Feb 2020 09:37:30 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 6D7AD1BF59D for ; Fri, 7 Feb 2020 09:37:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 65DDC841E3 for ; Fri, 7 Feb 2020 09:37:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8IWuNFyd-B2K for ; Fri, 7 Feb 2020 09:37:26 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by whitealder.osuosl.org (Postfix) with ESMTPS id 973B18602E for ; Fri, 7 Feb 2020 09:37:26 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id w15so1828396wru.4 for ; Fri, 07 Feb 2020 01:37:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=essensium.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rBu5gEfxQRvlwWE0peH0qInBv7pSpgV1U6z9P6qsqxY=; b=DNEBqgkMw0/q1N/roLc/++eA+SKKj8OU6xI1ohLOmRCVS++Bnx3lJlxfVV+qVGcvbl okRBBiBTN2OCOJBw0ro81fDWi2YcD6bIknX4MqiqEgtzV2O5eqYo+t7WToSFu/qPAVjz PLABbPQFkD7bH6ofyKB9ZTzvoP6i7wW9ySPFsQJ0n+47Shf2q7wtiluQB+8IFnvnPt/M GF20DLjZcDsBRBl19qMysFzRUwZaYbFjwxFOpS9c2jA0ZUl3OvxQJ9HomoP0wF8ldNVe ituourvUqBLq17MRsK8pHoPO97vTerejl2NRn6aeRSTHw5w6XqV2AZ0i5o3cZvanow/j uzlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rBu5gEfxQRvlwWE0peH0qInBv7pSpgV1U6z9P6qsqxY=; b=tttyQ8eiZPLNYwYesLnc5afl0xrE3UevW0HkDVneGwuFy3CXpolZzil/mUeuSMX3im EVPWGmoaP4dWJZM7gg8xAV7B2QAbdW+eya3iigvqF+OLCh4R66KOd/FExKdLxahDQtKo QgN88g2AC3nsRphXjTNLTDb284iOKP8k2ckxbSktYFAHyL1+aC2y0vrqlCHsqGvyOMZQ Gc+ZI407GKGvYvUhtV6KXgTUpCNbVy+b+SgB/NmGCgX4KpzG8cOw5vOk7LErVIEKnA1k NLpFMOKLvYnLD9v8EKFcXDs1r0Ml4NUa9YVgEtZGbtdoIZS+KshJWzv1WGDbQQB3juOh idSg== X-Gm-Message-State: APjAAAUGrv71j/sq2G/Hl9K1zhigPBfVax7sNJobMFtyrYUXCD6PT4Cc YEC6xRW2EmgzER/GryqIu43ZAh5SArU= X-Google-Smtp-Source: APXvYqwbo+IlCEdhLcLejTjIHWHDehpuiHUfUNcC3BGahL+T2jwUU0cF+eq+28A9+bvvzs38W+J6pg== X-Received: by 2002:a5d:510f:: with SMTP id s15mr3655115wrt.408.1581068244464; Fri, 07 Feb 2020 01:37:24 -0800 (PST) Received: from debian-hp-1.local.ess-mail.com (ip-188-118-3-185.reverse.destiny.be. [188.118.3.185]) by smtp.gmail.com with ESMTPSA id a26sm2693922wmm.18.2020.02.07.01.37.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Feb 2020 01:37:24 -0800 (PST) From: =?utf-8?b?UmFwaGHDq2wgTcOpbG90dGU=?= To: buildroot@buildroot.org Date: Fri, 7 Feb 2020 10:37:04 +0100 Message-Id: <20200207093705.32687-2-raphael.melotte@essensium.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20200207093705.32687-1-raphael.melotte@essensium.com> References: <20200207093705.32687-1-raphael.melotte@essensium.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH 1/2] package/mupdf: new package. X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?b?UmFwaGHDq2wgTcOpbG90dGU=?= , =?utf-8?b?UmFwaGHDq2wgTcOpbG90dGU=?= Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" 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 Signed-off-by: Raphaël Mélotte --- DEVELOPERS | 1 + package/Config.in | 1 + ...-Makefile-add-an-install_libs-target.patch | 41 ++++++++++++ package/mupdf/Config.in | 15 +++++ package/mupdf/mupdf.hash | 8 +++ package/mupdf/mupdf.mk | 62 +++++++++++++++++++ 6 files changed, 128 insertions(+) create mode 100644 package/mupdf/0001-Makefile-add-an-install_libs-target.patch create mode 100644 package/mupdf/Config.in create mode 100644 package/mupdf/mupdf.hash create mode 100644 package/mupdf/mupdf.mk diff --git a/DEVELOPERS b/DEVELOPERS index 5f1e37a063..9c527c3625 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1930,6 +1930,7 @@ F: package/paho-mqtt-cpp/ N: Raphaël Mélotte F: package/jbig2dec/ +F: package/mupdf/ N: Rémi Rérolle F: package/libfreeimage/ diff --git a/package/Config.in b/package/Config.in index b2f315ae69..df29673221 100644 --- a/package/Config.in +++ b/package/Config.in @@ -351,6 +351,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" diff --git a/package/mupdf/0001-Makefile-add-an-install_libs-target.patch b/package/mupdf/0001-Makefile-add-an-install_libs-target.patch new file mode 100644 index 0000000000..9cb5a2fec9 --- /dev/null +++ b/package/mupdf/0001-Makefile-add-an-install_libs-target.patch @@ -0,0 +1,41 @@ +From 0989f13ecbc2155b05da0cb091801d32d750d2d4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rapha=C3=ABl=20M=C3=A9lotte?= + +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 +--- + 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 + diff --git a/package/mupdf/Config.in b/package/mupdf/Config.in new file mode 100644 index 0000000000..d66cd0edd4 --- /dev/null +++ b/package/mupdf/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_MUPDF + bool "mupdf" + 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 diff --git a/package/mupdf/mupdf.hash b/package/mupdf/mupdf.hash new file mode 100644 index 0000000000..27ae860cdd --- /dev/null +++ b/package/mupdf/mupdf.hash @@ -0,0 +1,8 @@ +# From https://mupdf.com/downloads/index.html: +sha1 18f069b7cc125e53f541163ac305c588c94dea97 mupdf-1.14.0-source.tar.gz + +# Locally computed: +sha256 64d537895641b711737cc58fe762481b07ea71d1506e8bd8a13434e093b0068d mupdf-1.16.0-source.tar.gz + +# Hash for license files: +sha256 57c8ff33c9c0cfc3ef00e650a1cc910d7ee479a8bc509f6c9209a7c2a11399d6 COPYING diff --git a/package/mupdf/mupdf.mk b/package/mupdf/mupdf.mk new file mode 100644 index 0000000000..27cc9e5ed9 --- /dev/null +++ b/package/mupdf/mupdf.mk @@ -0,0 +1,62 @@ +################################################################################ +# +# 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_EXTRACT_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))