[PATCH] gnu: Add pdfarranger.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ben Sturmfels
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ben Sturmfels
Severity
normal
B
B
Ben Sturmfels wrote on 21 Oct 2019 00:54
(address . guix-patches@gnu.org)(name . Ben Sturmfels)(address . ben@sturm.com.au)
20191020225444.20935-1-ben@sturm.com.au
* gnu/packages/pdf.scm (pdfarranger): New public variable.
---
gnu/packages/pdf.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 003b5a9548..e3d0645f49 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
+;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -978,6 +979,41 @@ Note: This module isn't maintained anymore. For new projects please use
python-pypdf2 instead.")
(license license:bsd-3)))
+(define-public pdfarranger
+ (package
+ (name "pdfarranger")
+ (version "1.3.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jeromerobert/pdfarranger.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1f8m8r81322i97wkqpmf7a4kiwnq244n6cnbldh03jc49vwq2kxx"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f)) ; no tests
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("python-distutils-extra" ,python-distutils-extra)))
+ (propagated-inputs
+ `(("gtk+" ,gtk+)
+ ("poppler" ,poppler)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pypdf2" ,python-pypdf2)))
+ (home-page "https://github.com/jeromerobert/pdfarranger")
+ (synopsis "Merge, split and re-arrange pages from PDF documents")
+ (description
+ "PDF Arranger is a small application which allows one to merge or split
+PDF documents and rotate, crop and rearrange their pages using an interactive
+and intuitive graphical interface.
+
+PDF Arranger was formerly known as PDF-Shuffler.")
+ (license license:gpl3+)))
+
(define-public pdfposter
(package
(name "pdfposter")
--
2.23.0
L
L
Ludovic Courtès wrote on 21 Oct 2019 23:25
(name . Ben Sturmfels)(address . ben@sturm.com.au)(address . 37839-done@debbugs.gnu.org)
87v9shyen0.fsf@gnu.org
Hi Ben,

Ben Sturmfels <ben@sturm.com.au> skribis:

Toggle quote (2 lines)
> * gnu/packages/pdf.scm (pdfarranger): New public variable.

Applied!

I’ve followed up with a patch that sets ‘GI_TYPELIB_PATH’ to address
this error:

Toggle snippet (19 lines)
$ /gnu/store/9r9yzb15rpxl1nzzrm9a96assrffqyij-pdfarranger-1.3.1/bin/pdfarranger --help
Traceback (most recent call last):
File "/gnu/store/9r9yzb15rpxl1nzzrm9a96assrffqyij-pdfarranger-1.3.1/bin/.pdfarranger-real", line 11, in <module>
load_entry_point('pdfarranger==1.3.1', 'console_scripts', 'pdfarranger')()
File "/gnu/store/608bvypsh90c58apvd2cgg3m9l2pwjqn-python-3.7.4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/gnu/store/608bvypsh90c58apvd2cgg3m9l2pwjqn-python-3.7.4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2793, in load_entry_point
return ep.load()
File "/gnu/store/608bvypsh90c58apvd2cgg3m9l2pwjqn-python-3.7.4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2411, in load
return self.resolve()
File "/gnu/store/608bvypsh90c58apvd2cgg3m9l2pwjqn-python-3.7.4/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2417, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/gnu/store/9r9yzb15rpxl1nzzrm9a96assrffqyij-pdfarranger-1.3.1/lib/python3.7/site-packages/pdfarranger/pdfarranger.py", line 74, in <module>
gi.require_version('Gtk', '3.0')
File "/gnu/store/z5fdc5aa9hs4c3p79ajzgxhazv7702y8-python-pygobject-3.28.3/lib/python3.7/site-packages/gi/__init__.py", line 130, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available

Thanks,
Ludo’.
Closed
?