diff options
author | Christopher Baines <mail@cbaines.net> | 2021-02-03 09:14:43 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2021-02-03 09:57:35 +0000 |
commit | e740cc614096e768813280c718f9e96343ba41b3 (patch) | |
tree | 25ade70a5d408be80f62f19c6511172aab7dcce5 /gnu/packages/pdf.scm | |
parent | 1b9186828867e77af1f2ee6741063424f8256398 (diff) | |
parent | 63cf277bfacf282d2b19f00553745b2a9370eca0 (diff) |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/pdf.scm')
-rw-r--r-- | gnu/packages/pdf.scm | 101 |
1 files changed, 87 insertions, 14 deletions
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 224bd792bd..66e920a7bb 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -13,11 +13,11 @@ ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> -;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au> ;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> @@ -92,6 +92,8 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tex) + #:use-module (gnu packages time) + #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) @@ -99,6 +101,52 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public extractpdfmark + (package + (name "extractpdfmark") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trueroad/extractpdfmark") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "14aa6zly53j8gx5d32caiabk2j4b102xha0v9149yahz6kbn5b80")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'start-xorg-server + ;; The test suite wants to write to /homeless-shelter + (lambda _ (setenv "HOME" (getcwd))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("ghostscript" ,ghostscript) + ("pkg-config" ,pkg-config) + ("texlive" ,texlive-tiny))) + (inputs + `(("poppler" ,poppler))) + (home-page "https://github.com/trueroad/extractpdfmark") + (synopsis "Extract page mode and named destinations as PDFmark from PDF") + (description + "PDFmarks is a technique that accompanies PDF, and that is used to store +metadata such as author or title, but also structural information such as +bookmarks or hyperlinks. + +When Ghostscript reads the main PDF generated by the TeX system with embedded +PDF files and outputs the final PDF, the PDF page mode and name targets +etc. are not preserved. Therefore, when you open the final PDF, it is not +displayed correctly. Also, remote PDF links do not work correctly. + +This program is able to extract the page mode and named targets as PDFmark +from PDF. In this way, you can obtain embedded PDF files that have kept this +information.") + (license license:gpl3))) + (define-public flyer-composer (package (name "flyer-composer") @@ -648,15 +696,14 @@ interaction.") (define-public podofo (package (name "podofo") - (version "0.9.6") + (version "0.9.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/podofo/podofo/" version "/podofo-" version ".tar.gz")) (sha256 (base32 - "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9")) - (patches (search-patches "podofo-cmake-3.12.patch")))) + "1f0yvkx6nf99fp741w2y706d8bs9824x1z2gqm3rdy5fv8bfgwkw")))) (build-system cmake-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -671,8 +718,8 @@ interaction.") ("openssl" ,openssl) ("zlib" ,zlib))) (arguments - `(#:configure-flags '("-DPODOFO_BUILD_SHARED=ON" - "-DPODOFO_BUILD_STATIC=ON") + `(#:configure-flags + (list "-DPODOFO_BUILD_SHARED=ON") #:phases (modify-phases %standard-phases (add-before 'configure 'patch @@ -1082,6 +1129,29 @@ such as zooming, highlighting an area of the screen, and a tool to navigate the PDF pages.") (license license:gpl2))) +(define-public img2pdf + (package + (name "img2pdf") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "img2pdf" version)) + (sha256 + (base32 "1jdhmpzgj8815bhargb3xp3ydlqxwkz0mcadrflx2ga0p056kvpa")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pikepdf" ,python-pikepdf) + ("python-pillow" ,python-pillow) + ("python-tkinter" ,python "tk"))) + (home-page "https://gitlab.mister-muffin.de/josch/img2pdf") + (synopsis "Convert images to PDF via direct JPEG inclusion") + (description + "img2pdf converts images to PDF via direct JPEG inclusion. That +conversion is lossless: the image embedded in the PDF has the exact same color +information for every pixel as the input.") + (license license:lgpl3))) + (define-public fbida (package (name "fbida") @@ -1230,7 +1300,7 @@ python-pypdf2 instead.") (define-public pdfarranger (package (name "pdfarranger") - (version "1.3.1") + (version "1.7.0") (source (origin (method git-fetch) @@ -1239,10 +1309,10 @@ python-pypdf2 instead.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx")))) + (base32 "0dmgmvpghsm938iznalbg8h8k17a5h3q466yfc67mcll428n4nx3")))) (build-system python-build-system) (arguments - '(#:tests? #f ;no tests + '(#:tests? #f ;no tests #:phases (modify-phases %standard-phases (add-after 'install 'wrap-for-typelib (lambda* (#:key inputs outputs #:allow-other-keys) @@ -1255,12 +1325,15 @@ python-pypdf2 instead.") (native-inputs `(("intltool" ,intltool) ("python-distutils-extra" ,python-distutils-extra))) - (propagated-inputs + (inputs `(("gtk+" ,gtk+) - ("poppler" ,poppler) + ("poppler" ,poppler))) + (propagated-inputs + `(("img2pdf" ,img2pdf) + ("python-dateutil" ,python-dateutil) + ("python-pikepdf" ,python-pikepdf) ("python-pycairo" ,python-pycairo) - ("python-pygobject" ,python-pygobject) - ("python-pypdf2" ,python-pypdf2))) + ("python-pygobject" ,python-pygobject))) (home-page "https://github.com/jeromerobert/pdfarranger") (synopsis "Merge, split and re-arrange pages from PDF documents") (description |