From 6973a7d31dc59398e2b54bf2ef7a8b8cd8c50122 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 17 Jan 2023 03:23:51 -0500 Subject: office/mupdf: Updated for version 1.21.1. Signed-off-by: B. Watson Signed-off-by: Willy Sudiarto Raharjo --- office/mupdf/README | 10 +-- office/mupdf/mupdf.SlackBuild | 137 +++++++++++++++++++++++++----------------- office/mupdf/mupdf.info | 8 +-- office/mupdf/mupdf.pc | 1 - office/mupdf/slack-desc | 2 +- 5 files changed, 92 insertions(+), 66 deletions(-) diff --git a/office/mupdf/README b/office/mupdf/README index 4f9b5b1a81..82512e4acd 100644 --- a/office/mupdf/README +++ b/office/mupdf/README @@ -1,7 +1,7 @@ mupdf is a lightweight PDF, CBZ, and XPS viewer and toolkit. The renderer in MuPDF is tailored for high quality anti-aliased -graphics. MuPDF renders text with metrics and spacing accurate to +graphics. MuPDF renders text with metrics and spacing accurate to within fractions of a pixel for the highest fidelity in reproducing the look of a printed page on screen. @@ -11,6 +11,10 @@ and more. It also reads XPS and OpenXPS documents. MuPDF is written modularly, so features can be added on by integrators if they so desire. +Optional dependency: tesseract. If this is installed, mupdf will be +built with OCR support. If it's installed but you don't want to build +mupdf with it, export TESSERACT=no in the environment. + Notes: 1. It's no longer possible to build mupdf without JavaScript support. @@ -19,7 +23,3 @@ Notes: regular PDF viewer, and mupdf-x11-curl has support for fetching remote resources from the network (which may be considered a security risk). mupdf-gl uses OpenGL for rendering (and doesn't support curl). - -3. mupdf's PDF digital signature verification and signing support is -disabled in this build, because Slackware 14.2's openssl is too old. -For most users, this is a rarely- or never-used feature anyway. diff --git a/office/mupdf/mupdf.SlackBuild b/office/mupdf/mupdf.SlackBuild index 9db2285904..ea13d0a461 100644 --- a/office/mupdf/mupdf.SlackBuild +++ b/office/mupdf/mupdf.SlackBuild @@ -7,6 +7,13 @@ # Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details. +# 20230117 bkw: update for 1.21.1. +# - Again, this script can't build older versions. +# - There's a gumbo-parser SlackBuild now, so build with it instead of +# upstream's bundled version. +# - tesseract builds work, so make that an option. +# - Include pre-scaled PNG icons. + # 20201020 bkw: update for 1.18.0. See notes, below. # 20200217 bkw: update for 1.16.1. # 20180623 bkw: BUILD=2, add patch for dynamic linking. Thanks @@ -54,7 +61,7 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=mupdf -VERSION=${VERSION:-1.18.0} +VERSION=${VERSION:-1.21.1} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -91,27 +98,32 @@ else fi set -e -# Tesseract code left here for future reference. At some point upstream -# (or maybe I) will fix it. -if [ "${TESSERACT:-no}" = "yes" ]; then - TESSARGS="USE_SYSTEM_LEPTONICA=yes USE_SYSTEM_TESSERACT=yes" - cat <&2 < PCLIBS='$PCLIBS'" + + # 20230117 bkw: the library is versioned, but the filename isn't... + chmod 755 libmupdf.so + mv libmupdf.so libmupdf.so.$SOVER + ln -s libmupdf.so.$SOVER libmupdf.so + ln -s libmupdf.so.$SOVER libmupdf.so.$SOMAJOR + + # .pc file taken from debian and parameterized. + mkdir -p pkgconfig/ + sed -e "s,@LIB@,lib$LIBDIRSUFFIX,g" \ + -e "s,@VERSION@,$VERSION,g" \ + -e "s,@PCLIBS@,$PCLIBS,g" \ + $CWD/$PRGNAM.pc > pkgconfig/$PRGNAM.pc + + # Historically, mupdf has included two libraries: libmupdf itself, + # and libmupdf-third, containing all the bundled third party code + # included with the source. In version >=1.18.0, when building a + # shared lib, no libmupdf-third gets created (all the code ends up in + # libmupdf.so). However, most projects that link with libmupdf expect + # this library to exist. This will probably change in the future as + # those projects get updated for the changes in mupdf, but for now, + # to be compatible with older mupdf versions, we include an empty + # libmupdf-third for stuff to link with. + ar crs libmupdf-third.a +cd - # Compatibility symlinks. Older versions, the binary is just "mupdf". -# Separate -curl binary exists in 1.5 but not 1.4. ln -s $PRGNAM-x11 $PKG/usr/bin/$PRGNAM for i in x11 x11-curl gl; do [ -e $PKG/usr/bin/$PRGNAM-$i ] && \ @@ -189,27 +219,24 @@ done mkdir -p $PKG/usr/share/applications cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop -# Use shipped PNG and SVG icons. +# Use shipped SVG icon, make PNGs at various sizes. mkdir -p $PKG/usr/share/pixmaps $PKG/usr/share/icons/hicolor/scalable/apps -cat docs/logo/mupdf-icon.png > $PKG/usr/share/pixmaps/$PRGNAM.png -cat docs/logo/mupdf-logo.svg > $PKG/usr/share/icons/hicolor/scalable/apps/$PRGNAM.svg - -# .pc file taken from debian and parameterized. -# -lcrypto used to be in this list, will be again someday. -PCLIBS="-l$PRGNAM -lfreetype -lharfbuzz -ljbig2dec -ljpeg -lopenjp2 -lz -lm" - -mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/pkgconfig/ -sed -e "s,@LIB@,lib$LIBDIRSUFFIX,g" \ - -e "s,@VERSION@,$VERSION,g" \ - -e "s,@PCLIBS@,$PCLIBS,g" \ - $CWD/$PRGNAM.pc > $PKG/usr/lib$LIBDIRSUFFIX/pkgconfig/$PRGNAM.pc +svg=docs/logo/mupdf-logo.svg +for i in 16 22 32 48 64 128; do + px=${i}x${i} + dir=$PKG/usr/share/icons/hicolor/$px/apps + mkdir -p $dir + rsvg-convert --width=$i --height=$i -o $dir/$PRGNAM.png $svg +done +cat $svg > $PKG/usr/share/icons/hicolor/scalable/apps/$PRGNAM.svg +ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png # 'make install' already installed most of the docs. cp -a CONTRIBUTORS docs/api $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc +sed "s,@WITHTESS@,$WITHTESS," < $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG diff --git a/office/mupdf/mupdf.info b/office/mupdf/mupdf.info index 2d5edae7a5..5ded702d0d 100644 --- a/office/mupdf/mupdf.info +++ b/office/mupdf/mupdf.info @@ -1,10 +1,10 @@ PRGNAM="mupdf" -VERSION="1.18.0" +VERSION="1.21.1" HOMEPAGE="https://www.mupdf.com/" -DOWNLOAD="https://www.mupdf.com/downloads/archive/mupdf-1.18.0-source.tar.xz" -MD5SUM="3135391b027cdbedf915db1787b4ea05" +DOWNLOAD="https://www.mupdf.com/downloads/archive/mupdf-1.21.1-source.tar.lz" +MD5SUM="476ac6c3e71f85378a056844fa2daa8a" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="jbig2dec" +REQUIRES="jbig2dec gumbo-parser" MAINTAINER="B. Watson" EMAIL="urchlay@slackware.uk" diff --git a/office/mupdf/mupdf.pc b/office/mupdf/mupdf.pc index 50cb195d72..2f8aa9afcf 100644 --- a/office/mupdf/mupdf.pc +++ b/office/mupdf/mupdf.pc @@ -5,7 +5,6 @@ includedir=${prefix}/include Name: mupdf Description: Library for rendering PDF documents -Requires.private: freetype2 Version: @VERSION@ Libs: -L${libdir} @PCLIBS@ Cflags: -I${includedir} diff --git a/office/mupdf/slack-desc b/office/mupdf/slack-desc index b2765401f2..8110a7fe4f 100644 --- a/office/mupdf/slack-desc +++ b/office/mupdf/slack-desc @@ -15,5 +15,5 @@ mupdf: the look of a printed page on screen. mupdf: mupdf: https://www.mupdf.com/ mupdf: -mupdf: +mupdf: This package was built @WITHTESS@ tesseract support. mupdf: -- cgit v1.2.3-65-gdbad