diff options
Diffstat (limited to 'gnu/packages/pdf.scm')
-rw-r--r-- | gnu/packages/pdf.scm | 60 |
1 files changed, 44 insertions, 16 deletions
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 36ff314193..ea19897ae4 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2014, 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Nikita <nikita@n0.is> @@ -21,6 +21,7 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -79,6 +80,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages man) + #:use-module (gnu packages markup) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages photo) @@ -97,6 +99,7 @@ #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages web) + #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -223,14 +226,14 @@ please install the @code{flyer-composer-gui} package."))) (define-public poppler (package (name "poppler") - (version "0.86.1") + (version "21.07.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "0v3z4mk1rr8i0c4cfkab7pnxdbil30j4cm4w6cqlq6cfghkhlqxg")))) + "1m54hsi8z6c13jdbjwz55flkra1mahmkw2igavbf8p86d2gv4sp2")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no @@ -256,14 +259,22 @@ please install the @code{flyer-composer-gui} package."))) ("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection))) (arguments - `(#:tests? #f ; no test data provided with the tarball + `(#:tests? #f ;no test data provided with the tarball #:configure-flags (let* ((out (assoc-ref %outputs "out")) (lib (string-append out "/lib"))) (list "-DENABLE_UNSTABLE_API_ABI_HEADERS=ON" ;to install header files "-DENABLE_ZLIB=ON" + "-DENABLE_BOOST=OFF" ;disable Boost to save size (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) - (string-append "-DCMAKE_INSTALL_RPATH=" lib))))) + (string-append "-DCMAKE_INSTALL_RPATH=" lib))) + ,@(if (%current-target-system) + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-PKG_CONFIG + (lambda _ + (setenv "PKG_CONFIG" ,(pkg-config-for-target)))))) + '()))) (synopsis "PDF rendering library") (description "Poppler is a PDF rendering library based on the xpdf-3.0 code base.") @@ -317,7 +328,8 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.") (uri (pypi-uri "python-poppler-qt5" version)) (sha256 (base32 - "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd")))) + "0b82gm4i75q5v19kfbq0h4y0b2vcwr2213zkhxh6l0h45kdndmxd")) + (patches (search-patches "python-poppler-qt5-fix-build.patch")))) (build-system python-build-system) (arguments `(;; There are no tests. The check phase just causes a rebuild. @@ -854,9 +866,9 @@ program capable of converting PDF into other formats.") #:phases (modify-phases %standard-phases (replace 'configure - (lambda _ + (lambda* (#:key outputs #:allow-other-keys) (substitute* "qpdfview.pri" - (("/usr") (assoc-ref %outputs "out"))) + (("/usr") (assoc-ref outputs "out"))) (invoke "qmake" "qpdfview.pro")))))) (home-page "https://launchpad.net/qpdfview") (synopsis "Tabbed document viewer") @@ -1134,10 +1146,14 @@ information for every pixel as the input.") (substitute* "mk/Autoconf.mk" (("/bin/echo") "echo") (("/sbin/ldconfig -p") "echo lib")) #t)) + (add-before 'build 'set-fcommon + (lambda _ + (setenv "CFLAGS" "-fcommon"))) (delete 'configure)) #:tests? #f - #:make-flags (list ,(string-append "CC=" (cc-for-target)) - (string-append "prefix=" (assoc-ref %outputs "out"))))) + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" (assoc-ref %outputs "out"))))) (inputs `(("libjpeg" ,libjpeg-turbo) ("curl" ,curl) ("libtiff" ,libtiff) @@ -1159,7 +1175,6 @@ information for every pixel as the input.") (description "fbida contains a few applications for viewing and editing images on the framebuffer.") - (license license:gpl2+))) (define-public pdf2svg @@ -1364,7 +1379,7 @@ multiple files.") (define-public pdfpc (package (name "pdfpc") - (version "4.4.1") + (version "4.5.0") (source (origin (method git-fetch) @@ -1373,18 +1388,31 @@ multiple files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "11n925c5jj3yfwnqkgxzqrmsrpqh8ls1g4idmqqzpsanpam1xvna")))) + (base32 "0bmy51w6ypz927hxwp5g7wapqvzqmsi3w32rch6i3f94kg1152ck")))) (build-system cmake-build-system) - (arguments '(#:tests? #f)) ; no test target + (arguments + '(#:tests? #f ; no test target + #:phases + (modify-phases %standard-phases + ;; This is really a bug in Vala. + ;; https://github.com/pdfpc/pdfpc/issues/594 + (add-after 'unpack 'fix-vala-API-conflict + (lambda _ + (substitute* "src/classes/action/movie.vala" + (("info.from_caps\\(caps\\)") + "Gst.Video.info_from_caps(out info, caps)"))))))) (inputs `(("cairo" ,cairo) + ("discount" ,discount) ; libmarkdown ("gtk+" ,gtk+) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) + ("json-glib" ,json-glib) ("libgee" ,libgee) ("poppler" ,poppler) ("pango" ,pango) - ("vala" ,vala))) + ("vala" ,vala) + ("webkitgtk" ,webkitgtk-with-libsoup2))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://pdfpc.github.io/") @@ -1396,7 +1424,7 @@ is able to show a normal presentation window on one screen, while showing a more sophisticated overview on the other one providing information like a picture of the next slide, as well as the left over time till the end of the presentation. The input files processed by pdfpc are PDF documents.") - (license license:gpl2+))) + (license license:gpl3+))) (define-public paps (package |