summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-text/mupdf/Manifest2
-rw-r--r--app-text/mupdf/files/mupdf-1.15-openssl-x11.patch18
-rw-r--r--app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch130
-rw-r--r--app-text/mupdf/files/mupdf-1.19.0-darwin.patch39
-rw-r--r--app-text/mupdf/files/mupdf-1.21.1-no-drm.patch18
-rw-r--r--app-text/mupdf/mupdf-1.22.0-r1.ebuild164
-rw-r--r--app-text/mupdf/mupdf-1.23.3-r1.ebuild164
7 files changed, 0 insertions, 535 deletions
diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest
index e50372953f7c..2d8887e05469 100644
--- a/app-text/mupdf/Manifest
+++ b/app-text/mupdf/Manifest
@@ -1,4 +1,2 @@
-DIST mupdf-1.22.0-source.tar.gz 55043552 BLAKE2B 745a2fd1d0406acf4fa696585bcd21a4ff36e7539c1d45f886dfe5c9bbf966169e5183e89940d81e88db3014f1ebb0446ae1732b6c2fa25a135251853b71f1f7 SHA512 ba073b977306420343c969e6fec37cca4559031ad06cfdee2356edfdfa013ebe7654175aff931684fa48a935bf87f68537754b5e83f767517bc428ac07709a59
-DIST mupdf-1.23.3-source.tar.gz 55144800 BLAKE2B 816e2bf46c2431df9726976efeaa0d7ebd8809cbdd9331a747cca32088aaf21b70e9522614d1dc20c856cc597003be6285f866eae8bbde3098e702acfdea8465 SHA512 37fbebd07680d79a38d289264a4028396ee58fad52c541efa37463e63a45ed8bab71188d6c05eb15e602964d89ee6633575dceb972f7bd8b0b5efdde5af9b737
DIST mupdf-1.23.7-source.tar.gz 55312697 BLAKE2B 7ceb7c1871d33b77d4a3d52ed2d1af514c09349df019a189fa7df8ad09648fae313d63de4c1ce6b0666d17f9a897d5ac788d0be2d8896d9b7e4e6ecf679bad7c SHA512 581a4a5a16041bb405fbd7c1b9fba47da5745f00cbdf30e0e0468bfe67ac542884193b5957b293a4cdfc52f043b4f19612086f294b93dbd242d34735a1088777
DIST mupdf-1.24.1-source.tar.gz 55310618 BLAKE2B 33396b0cca6e2beb1b2bc70c606917c8d9b30b6a277645849ef7ba1e7efbf909c21196acdd5d94d964dd20d3ba746c45cab3c899dfbee1b2138de12e32375a4e SHA512 9d6fbd3388173f06c5db4a27753e69afd21ed32d93f263d4448c3be60a3be747b61102edd5430459f0dbe7ae4df2019689a2f3a582acec77ff322b6d41066fba
diff --git a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch b/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
deleted file mode 100644
index 3f3aac4c933a..000000000000
--- a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -119,13 +119,13 @@ 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/files/mupdf-1.19.0-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
deleted file mode 100644
index 643b6d2c8b1e..000000000000
--- a/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-Refreshed patches based on:
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
---- a/Makefile
-+++ b/Makefile
-@@ -147,6 +147,9 @@ PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o)
-
- HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe
-
-+$(HEXDUMP_EXE): scripts/hexdump.c
-+ $(QUIET_CC) $(MKTGTDIR) ; $(CC_FOR_BUILD) $(CFLAGS) -o $@ $<
-+
- FONT_BIN := $(sort $(wildcard resources/fonts/urw/*.cff))
- FONT_BIN += $(sort $(wildcard resources/fonts/han/*.ttc))
- FONT_BIN += $(sort $(wildcard resources/fonts/droid/*.ttf))
---- a/Makerules
-+++ b/Makerules
-@@ -6,6 +6,9 @@ OS := $(OS:MSYS%=MINGW)
- OS := $(OS:Windows_NT=MINGW)
- OS := $(OS:Darwin=MACOS)
-
-+PKG_CONFIG ?= pkg-config
-+CC_FOR_BUILD ?= $(CC)
-+
- WARNING_CFLAGS := -Wall -Wsign-compare
-
- # Feature configuration options
-@@ -156,51 +159,51 @@ else ifeq ($(OS),MACOS)
- endif
- endif
-
-- ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
-- SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
-- SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
-+ ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
-+ SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
-+ SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
- endif
-- ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
-- SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
-- SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
-+ ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
-+ SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
-+ SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
- endif
-- ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
-- SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
-- SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
-+ ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
-+ SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
-+ SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
- endif
-- ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
-- SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
-- SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
-+ ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
-+ SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
-+ SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
- endif
-- ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
-- SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
-- SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
-+ ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
-+ SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
-+ SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
- endif
-- ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
-- SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
-- SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
-+ ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
-+ SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
-+ SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
- endif
-- ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
-- SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
-- SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
-+ ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
-+ SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
-+ SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
- endif
-
-- HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
-+ HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
- ifeq ($(HAVE_SYS_LEPTONICA),yes)
-- SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
-- SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
-+ SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
-+ SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
- endif
-
-- HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
-+ HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
- ifeq ($(HAVE_SYS_TESSERACT),yes)
-- SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
-- SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
-+ SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
-+ SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
- endif
-
-- HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
-+ HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
- ifeq ($(HAVE_SYS_CURL),yes)
-- SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
-- SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
-+ SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
-+ SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
- endif
-
- HAVE_GLUT := yes
-@@ -209,16 +212,16 @@ endif
- SYS_GLUT_LIBS := -lglut -lGL
- endif
-
- 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)
-+ X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
-+ X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
- endif
-
- 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)
-+ LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
-+ LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
- endif
-
- HAVE_PTHREAD := yes
diff --git a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch b/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
deleted file mode 100644
index a81c7a008e44..000000000000
--- a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -139,11 +139,11 @@ ifeq ($(OS),MINGW)
- else ifeq ($(OS),MACOS)
- HAVE_GLUT := yes
- SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
-- SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
-- CC = xcrun cc
-- AR = xcrun ar
-- LD = xcrun ld
-- RANLIB = xcrun ranlib
-+ SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
-+ CC ?= xcrun cc
-+ AR ?= xcrun ar
-+ LD ?= xcrun ld
-+ RANLIB ?= xcrun ranlib
-
- ifeq (, $(shell which pkg-config))
- $(warning "No pkg-config found, install it for proper integration of libcrypto")
-@@ -154,9 +154,7 @@ else ifeq ($(OS),MACOS)
- LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
- endif
- endif
--
--else ifeq ($(OS),Linux)
-- HAVE_OBJCOPY := yes
-+endif
-
- ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
- SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
-@@ -229,8 +227,6 @@ else ifeq ($(OS),Linux)
- PTHREAD_LIBS := -lpthread
- endif
-
--endif
--
- # The following section has various cross compilation configurations.
- #
- # Invoke these as:
diff --git a/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch b/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch
deleted file mode 100644
index 9f2b9d692f4e..000000000000
--- a/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/source/html/epub-doc.c b/source/html/epub-doc.c
-index f764242..83888dc 100644
---- a/source/html/epub-doc.c
-+++ b/source/html/epub-doc.c
-@@ -692,10 +692,12 @@ epub_parse_header(fz_context *ctx, epub_document *doc)
- epub_chapter **tailp;
- int i;
-
-+ #ifdef GENTOO_MUPDF_DRM
- if (fz_has_archive_entry(ctx, zip, "META-INF/rights.xml"))
- fz_throw(ctx, FZ_ERROR_GENERIC, "EPUB is locked by DRM");
- if (fz_has_archive_entry(ctx, zip, "META-INF/encryption.xml"))
- fz_throw(ctx, FZ_ERROR_GENERIC, "EPUB is locked by DRM");
-+ #endif
-
- fz_var(buf);
- fz_var(container_xml);
-
diff --git a/app-text/mupdf/mupdf-1.22.0-r1.ebuild b/app-text/mupdf/mupdf-1.22.0-r1.ebuild
deleted file mode 100644
index fc8bbe571872..000000000000
--- a/app-text/mupdf/mupdf-1.22.0-r1.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please check upstream git regularly for relevant security-related commits
-# to backport.
-
-inherit desktop flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
-HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
-SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
-S="${WORKDIR}"/${P}-source
-
-LICENSE="AGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+drm +javascript opengl ssl X"
-REQUIRED_USE="opengl? ( javascript )"
-
-# Although we use the bundled, patched version of freeglut in mupdf (because of
-# bug #653298), the best way to ensure that its dependencies are present is to
-# install system's freeglut.
-RDEPEND="
- dev-libs/gumbo:=
- media-libs/freetype:2
- media-libs/harfbuzz:=[truetype]
- media-libs/jbig2dec:=
- media-libs/libpng:0=
- >=media-libs/openjpeg-2.1:2=
- >=media-libs/libjpeg-turbo-1.5.3-r2:0=
- javascript? ( >=dev-lang/mujs-1.2.0:= )
- opengl? ( >=media-libs/freeglut-3.0.0 )
- ssl? ( >=dev-libs/openssl-1.1:0= )
- sys-libs/zlib
- X? (
- x11-libs/libX11
- x11-libs/libXext
- )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="X? ( x11-base/xorg-proto )
- virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.15-CFLAGS.patch
- "${FILESDIR}"/${PN}-1.19.0-Makefile.patch
- "${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
- "${FILESDIR}"/${PN}-1.19.0-darwin.patch
- # See bugs #662352
- "${FILESDIR}"/${PN}-1.15-openssl-x11.patch
- # General cross fixes from Debian (refreshed)
- "${FILESDIR}"/${PN}-1.19.0-cross-fixes.patch
- "${FILESDIR}"/${PN}-1.21.1-no-drm.patch
- "${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
-)
-
-src_prepare() {
- default
-
- use hppa && append-cflags -ffunction-sections
-
- use drm && append-cflags -DGENTOO_MUPDF_DRM
-
- append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
-
- sed -e "1iOS = Linux" \
- -e "1iCC = $(tc-getCC)" \
- -e "1iCXX = $(tc-getCXX)" \
- -e "1iLD = $(tc-getLD)" \
- -e "1iAR = $(tc-getAR)" \
- -e "1iverbose = yes" \
- -e "1ibuild = debug" \
- -i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
-
- # Adjust MuPDF version in .pc file created by the
- # mupdf-1.10a-add-desktop-pc-xpm-files.patch file
- sed -e "s/Version: \(.*\)/Version: ${PV}/" \
- -i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
-}
-
-_emake() {
- # When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
- #
- # Bundled libs
- # * General
- # Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
- # recommendations. It does not mean "always use system libs".
- # See [0] below for what it means in a specific version.
- #
- # * freeglut
- # We don't use system's freeglut because upstream has a special modified
- # version of it that gives mupdf clipboard support. See bug #653298
- #
- # * mujs
- # As of v1.15.0, mupdf started using symbols in mujs that were not part
- # of any release. We then went back to using the bundled version of it.
- # But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
- # when bumping and check!
- # See bug #685244
- #
- # * lmms2
- # mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
- # It is therefore not appropriate for us to unbundle it at this time.
- #
- # [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
- # [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
- local myemakeargs=(
- GENTOO_PV=${PV}
- HAVE_GLUT=$(usex opengl)
- HAVE_LIBCRYPTO=$(usex ssl)
- HAVE_X11=$(usex X)
- USE_SYSTEM_LIBS=yes
- USE_SYSTEM_MUJS=$(usex javascript)
- USE_SYSTEM_GLUT=no
- HAVE_OBJCOPY=no
- "$@"
- )
-
- emake "${myemakeargs[@]}"
-}
-
-src_compile() {
- tc-export PKG_CONFIG
-
- _emake XCFLAGS="-fPIC"
-}
-
-src_install() {
- if use opengl || use X ; then
- domenu platform/debian/${PN}.desktop
- doicon -s scalable docs/logo/new-${PN}-icon.svg
- else
- rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
- fi
-
- sed -i \
- -e "1iprefix = ${ED}/usr" \
- -e "1ilibdir = ${ED}/usr/$(get_libdir)" \
- -e "1idocdir = ${ED}/usr/share/doc/${PF}" \
- -i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
-
- _emake install
-
- dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
-
- 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
-
- # Respect libdir (bug #734898)
- sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc \
- || die "Failed to sed pkgconfig file to respect libdir in src_install()"
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins platform/debian/${PN}.pc
-
- dodoc README CHANGES CONTRIBUTORS
-}
diff --git a/app-text/mupdf/mupdf-1.23.3-r1.ebuild b/app-text/mupdf/mupdf-1.23.3-r1.ebuild
deleted file mode 100644
index 7c7e19d9e75c..000000000000
--- a/app-text/mupdf/mupdf-1.23.3-r1.ebuild
+++ /dev/null
@@ -1,164 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please check upstream git regularly for relevant security-related commits
-# to backport.
-
-inherit desktop flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
-HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
-SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
-S="${WORKDIR}"/${P}-source
-
-LICENSE="AGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+javascript opengl ssl X"
-REQUIRED_USE="opengl? ( javascript )"
-
-# Although we use the bundled, patched version of freeglut in mupdf (because of
-# bug #653298), the best way to ensure that its dependencies are present is to
-# install system's freeglut.
-RDEPEND="
- dev-libs/gumbo:=
- media-libs/freetype:2
- media-libs/harfbuzz:=[truetype]
- media-libs/jbig2dec:=
- media-libs/libpng:0=
- >=media-libs/openjpeg-2.1:2=
- >=media-libs/libjpeg-turbo-1.5.3-r2:0=
- net-misc/curl
- javascript? ( >=dev-lang/mujs-1.2.0:= )
- opengl? ( >=media-libs/freeglut-3.0.0 )
- ssl? ( >=dev-libs/openssl-1.1:0= )
- sys-libs/zlib
- X? (
- media-libs/libglvnd[X]
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXrandr
- )
-"
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.15-CFLAGS.patch
- "${FILESDIR}"/${PN}-1.19.0-Makefile.patch
- "${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
- "${FILESDIR}"/${P}-darwin.patch
- # See bugs #662352
- "${FILESDIR}"/${P}-openssl-x11.patch
- # General cross fixes from Debian (refreshed)
- "${FILESDIR}"/${P}-cross-fixes.patch
- "${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
-)
-
-src_prepare() {
- default
-
- use hppa && append-cflags -ffunction-sections
-
- append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
-
- sed -e "1iOS = Linux" \
- -e "1iCC = $(tc-getCC)" \
- -e "1iCXX = $(tc-getCXX)" \
- -e "1iLD = $(tc-getLD)" \
- -e "1iAR = $(tc-getAR)" \
- -e "1iverbose = yes" \
- -e "1ibuild = debug" \
- -i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
-
- # Adjust MuPDF version in .pc file created by the
- # mupdf-1.10a-add-desktop-pc-xpm-files.patch file
- sed -e "s/Version: \(.*\)/Version: ${PV}/" \
- -i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
-}
-
-_emake() {
- # When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
- #
- # Bundled libs
- # * General
- # Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
- # recommendations. It does not mean "always use system libs".
- # See [0] below for what it means in a specific version.
- #
- # * freeglut
- # We don't use system's freeglut because upstream has a special modified
- # version of it that gives mupdf clipboard support. See bug #653298
- #
- # * mujs
- # As of v1.15.0, mupdf started using symbols in mujs that were not part
- # of any release. We then went back to using the bundled version of it.
- # But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
- # when bumping and check!
- # See bug #685244
- #
- # * lmms2
- # mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
- # It is therefore not appropriate for us to unbundle it at this time.
- #
- # [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
- # [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
- local myemakeargs=(
- GENTOO_PV=${PV}
- HAVE_GLUT=$(usex opengl)
- HAVE_LIBCRYPTO=$(usex ssl)
- HAVE_X11=$(usex X)
- USE_SYSTEM_LIBS=yes
- USE_SYSTEM_MUJS=$(usex javascript)
- USE_SYSTEM_GLUT=no
- HAVE_OBJCOPY=no
- "$@"
- )
-
- emake "${myemakeargs[@]}"
-}
-
-src_compile() {
- tc-export PKG_CONFIG
-
- _emake XCFLAGS="-fPIC"
-}
-
-src_install() {
- if use opengl || use X ; then
- domenu platform/debian/${PN}.desktop
- doicon -s scalable docs/logo/new-${PN}-icon.svg
- else
- rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
- fi
-
- sed -i \
- -e "1iprefix = ${ED}/usr" \
- -e "1ilibdir = ${ED}/usr/$(get_libdir)" \
- -e "1idocdir = ${ED}/usr/share/doc/${PF}" \
- -i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
-
- _emake install
-
- dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
-
- 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
-
- # Respect libdir (bug #734898)
- sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc \
- || die "Failed to sed pkgconfig file to respect libdir in src_install()"
-
- insinto /usr/$(get_libdir)/pkgconfig
- doins platform/debian/${PN}.pc
-
- dodoc README CHANGES CONTRIBUTORS
-}