From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A032C138334 for ; Tue, 19 Feb 2019 21:02:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 9F91EE0855; Tue, 19 Feb 2019 21:02:37 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5B80BE0855 for ; Tue, 19 Feb 2019 21:02:37 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 69639335CFA for ; Tue, 19 Feb 2019 21:02:35 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id BB1A3520 for ; Tue, 19 Feb 2019 21:02:33 +0000 (UTC) From: "Virgil Dupras" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Virgil Dupras" Message-ID: <1550610062.a5247eb5569e7573eba63db4cf5e6012607e1a6d.vdupras@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/mupdf/, app-text/mupdf/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-text/mupdf/files/mupdf-1.14-libressl.patch app-text/mupdf/files/mupdf-1.14-r3-openssl-curl-x11.patch app-text/mupdf/mupdf-1.14.0-r3.ebuild X-VCS-Directories: app-text/mupdf/files/ app-text/mupdf/ X-VCS-Committer: vdupras X-VCS-Committer-Name: Virgil Dupras X-VCS-Revision: a5247eb5569e7573eba63db4cf5e6012607e1a6d X-VCS-Branch: master Date: Tue, 19 Feb 2019 21:02:33 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 4d1b4a73-4b79-40b3-9886-869c8a1bb63b X-Archives-Hash: 625c38e72012cfa130d0ca5b4b3fcb8b commit: a5247eb5569e7573eba63db4cf5e6012607e1a6d Author: Virgil Dupras gentoo org> AuthorDate: Tue Feb 19 20:22:34 2019 +0000 Commit: Virgil Dupras gentoo org> CommitDate: Tue Feb 19 21:01:02 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a5247eb5 app-text/mupdf: fix libressl and openssl openssl's requirements is actually 1.1+. prior to this change, mupdf compiled with openssl support unless openssl 1.1+ was installed. libressl support requires a patch to work properly. Also, other minor fixes. See closed bugs. Closes: https://bugs.gentoo.org/671062 Closes: https://bugs.gentoo.org/623732 Closes: https://bugs.gentoo.org/669698 Closes: https://bugs.gentoo.org/670832 Signed-off-by: Virgil Dupras gentoo.org> Package-Manager: Portage-2.3.51, Repoman-2.3.11 app-text/mupdf/files/mupdf-1.14-libressl.patch | 45 +++++++ .../files/mupdf-1.14-r3-openssl-curl-x11.patch | 35 ++++++ app-text/mupdf/mupdf-1.14.0-r3.ebuild | 132 +++++++++++++++++++++ 3 files changed, 212 insertions(+) diff --git a/app-text/mupdf/files/mupdf-1.14-libressl.patch b/app-text/mupdf/files/mupdf-1.14-libressl.patch new file mode 100644 index 00000000000..fcc0a7205c1 --- /dev/null +++ b/app-text/mupdf/files/mupdf-1.14-libressl.patch @@ -0,0 +1,45 @@ +From 8561b744ac95ab6145a1163fa1d7c490a3329465 Mon Sep 17 00:00:00 2001 +From: William +Date: Mon, 12 Nov 2018 16:50:07 +0100 +Subject: [PATCH] hardcode missing ssl functions + +--- + source/helpers/pkcs7/pkcs7-openssl.c | 22 ++++++++++++++++++++++ + 1 file changed, 22 insertions(+) + +diff --git a/source/helpers/pkcs7/pkcs7-openssl.c b/source/helpers/pkcs7/pkcs7-openssl.c +index 58dbf65..2b1f9e9 100644 +--- a/source/helpers/pkcs7/pkcs7-openssl.c ++++ b/source/helpers/pkcs7/pkcs7-openssl.c +@@ -511,6 +511,28 @@ static void signer_drop_designated_name(pdf_pkcs7_signer *signer, pdf_pkcs7_desi + fz_free(osigner->ctx, dn); + } + ++int ++PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag) ++{ ++ return OBJ_obj2nid(bag->type); ++} ++ ++const STACK_OF(PKCS12_SAFEBAG) * ++PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag) ++{ ++ if (OBJ_obj2nid(bag->type) != NID_safeContentsBag) ++ return NULL; ++ return bag->value.safes; ++} ++ ++const PKCS8_PRIV_KEY_INFO * ++PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag) ++{ ++ if (PKCS12_SAFEBAG_get_nid(bag) != NID_keyBag) ++ return NULL; ++ return bag->value.keybag; ++} ++ + static void add_from_bags(X509 **pX509, EVP_PKEY **pPkey, const STACK_OF(PKCS12_SAFEBAG) *bags, const char *pw); + + static void add_from_bag(X509 **pX509, EVP_PKEY **pPkey, PKCS12_SAFEBAG *bag, const char *pw) +-- +2.19.1 + diff --git a/app-text/mupdf/files/mupdf-1.14-r3-openssl-curl-x11.patch b/app-text/mupdf/files/mupdf-1.14-r3-openssl-curl-x11.patch new file mode 100644 index 00000000000..79efe32c0e4 --- /dev/null +++ b/app-text/mupdf/files/mupdf-1.14-r3-openssl-curl-x11.patch @@ -0,0 +1,35 @@ +diff --git a/Makerules b/Makerules +index fc9bf998..f1fd93cb 100644 +--- a/Makerules ++++ b/Makerules +@@ -113,10 +113,11 @@ else ifeq ($(OS),Linux) + SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib) + endif + +- HAVE_CURL := $(shell pkg-config --exists libcurl && echo yes) ++ HAVE_CURL ?= not-unless-portage-tells-me + ifeq ($(HAVE_CURL),yes) + SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl) +- SYS_CURL_LIBS := $(shell pkg-config --libs libcurl) ++ # We have to forcibly add -lpthread to avoid linking errors. ++ SYS_CURL_LIBS := $(shell pkg-config --libs libcurl) -lpthread + endif + + HAVE_GLUT := yes +@@ -125,13 +126,14 @@ else ifeq ($(OS),Linux) + SYS_GLUT_LIBS := -lglut -lGL + endif + +- HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes) ++ HAVE_X11 ?= not-unless-portage-tells-me + ifeq ($(HAVE_X11),yes) + X11_CFLAGS := $(shell pkg-config --cflags x11 xext) + X11_LIBS := $(shell pkg-config --libs x11 xext) + endif + +- HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes) ++ ++ HAVE_LIBCRYPTO ?= not-unless-portage-tells-me + ifeq ($(HAVE_LIBCRYPTO),yes) + LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO + LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto) diff --git a/app-text/mupdf/mupdf-1.14.0-r3.ebuild b/app-text/mupdf/mupdf-1.14.0-r3.ebuild new file mode 100644 index 00000000000..1b153620923 --- /dev/null +++ b/app-text/mupdf/mupdf-1.14.0-r3.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit flag-o-matic toolchain-funcs xdg + +DESCRIPTION="a lightweight PDF viewer and toolkit written in portable C" +HOMEPAGE="https://mupdf.com/" +SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.xz" + +LICENSE="AGPL-3" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="X curl +javascript libressl opengl openssl static-libs +vanilla" + +RDEPEND=" + >=dev-lang/mujs-1.0.4 + media-libs/freetype:2=[static-libs?] + media-libs/harfbuzz:=[static-libs?,truetype] + media-libs/jbig2dec:=[static-libs?] + media-libs/libpng:0=[static-libs?] + >=media-libs/openjpeg-2.1:2=[static-libs?] + virtual/jpeg[static-libs?] + curl? ( net-misc/curl[static-libs?] ) + libressl? ( >=dev-libs/libressl-2.8:0=[static-libs?] ) + opengl? ( >=media-libs/freeglut-3.0.0:= ) + openssl? ( >=dev-libs/openssl-1.1:0=[static-libs?] ) + X? ( + x11-libs/libX11[static-libs?] + x11-libs/libXext[static-libs?] + )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +REQUIRED_USE=" + libressl? ( !openssl ) + opengl? ( !static-libs ) + curl? ( X )" + +S=${WORKDIR}/${P}-source + +PATCHES=( + "${FILESDIR}"/${PN}-1.14-CFLAGS.patch + "${FILESDIR}"/${PN}-1.14-Makefile.patch + "${FILESDIR}"/${PN}-1.10a-add-desktop-pc-xpm-files.patch + # See bugs #662352 + "${FILESDIR}"/${PN}-1.14-r3-openssl-curl-x11.patch + # bug #672998 + "${FILESDIR}"/${PN}-1.14-fix-big-endian.patch +) + +src_prepare() { + xdg_src_prepare + use hppa && append-cflags -ffunction-sections + + use javascript || \ + sed -e '/* #define FZ_ENABLE_JS/ a\#define FZ_ENABLE_JS 0' \ + -i include/mupdf/fitz/config.h + + use vanilla || eapply \ + "${FILESDIR}"/${PN}-1.3-zoom-2.patch + + # See bug #670832 + use libressl && eapply "${FILESDIR}"/${PN}-1.14-libressl.patch + + sed -e "1iOS = Linux" \ + -e "1iCC = $(tc-getCC)" \ + -e "1iLD = $(tc-getLD)" \ + -e "1iAR = $(tc-getAR)" \ + -e "1iverbose = yes" \ + -e "1ibuild = debug" \ + -e "1iprefix = ${ED}usr" \ + -e "1ilibdir = ${ED}usr/$(get_libdir)" \ + -e "1idocdir = ${ED}usr/share/doc/${PF}" \ + -i Makerules || die +} + +_emake() { + # When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings. + local have_libcrypto=no + if use openssl || use libressl ; then + have_libcrypto=yes + fi + emake \ + GENTOO_PV=${PV} \ + HAVE_GLUT=$(usex opengl) \ + HAVE_CURL=$(usex curl) \ + HAVE_LIBCRYPTO=$have_libcrypto \ + HAVE_X11=$(usex X) \ + USE_SYSTEM_LIBS=yes \ + USE_SYSTEM_MUJS=yes \ + HAVE_OBJCOPY=no \ + "$@" +} + +src_compile() { + _emake XCFLAGS="-fpic" + + use curl && _emake extra-apps + + use static-libs && \ + _emake build/debug/lib${PN}.a +} + +src_install() { + if use X || use opengl ; then + domenu platform/debian/${PN}.desktop + doicon platform/debian/${PN}.xpm + else + rm docs/man/${PN}.1 + fi + + _emake install + + dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so + + use static-libs && \ + dolib.a build/debug/lib${PN}.a + if use opengl ; then + einfo "mupdf symlink points to mupdf-gl (bug 616654)" + dosym ${PN}-gl /usr/bin/${PN} + elif use X ; then + einfo "mupdf symlink points to mupdf-x11 (bug 616654)" + dosym ${PN}-x11 /usr/bin/${PN} + fi + use curl && dobin build/debug/${PN}-x11-curl + insinto /usr/$(get_libdir)/pkgconfig + doins platform/debian/${PN}.pc + + dodoc README CHANGES CONTRIBUTORS +}