From e34b06b758f6f160494ac530a6f2e96f23719c47 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 5 Mar 2020 15:37:20 +0100 Subject: gnu: Add flyer-composer. * gnu/packages/pdf.scm (flyer-composer): New variable. --- gnu/packages/pdf.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'gnu/packages/pdf.scm') diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 5a536141f5..abad204f75 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Ben Sturmfels -;;; Copyright © 2019 Hartmut Goebel +;;; Copyright © 2019,2020 Hartmut Goebel ;;; Copyright © 2020 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. @@ -93,6 +93,51 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public flyer-composer + (package + (name "flyer-composer") + (version "1.0rc2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flyer-composer" version)) + (sha256 + (base32 "17igqb5dlcgcq4nimjw6cf9qgz6a728zdx1d0rr90r2z0llcchsv")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;; TODO + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (qtbase (assoc-ref inputs "qtbase")) + (qml "/lib/qt5/qml")) + (wrap-program (string-append out "/bin/flyer-composer-gui") + `("QT_PLUGIN_PATH" ":" = + (,(string-append qtbase "/lib/qt5/plugins"))) + `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = + (,(string-append qtbase "/lib/qt5/plugins/platforms")))) + #t)))))) + (inputs + `(("python-pypdf2" ,python-pypdf2) + ("python-pyqt" ,python-pyqt) + ("python-poppler-qt5" ,python-poppler-qt5) + ("qtbase" ,qtbase))) + (home-page "http://crazy-compilers.com/flyer-composer") + (synopsis "Rearrange PDF pages to print as flyers on one sheet") + (description "@command{flyer-composer} can be used to prepare one- or +two-sided flyers for printing on one sheet of paper. + +Imagine you have designed a flyer in A6 format and want to print it using your +A4 printer. Of course, you want to print four flyers on each sheet. This is +where Flyer Composer steps in, creating a PDF which holds your flyer four +times. If you have a second page, Flyer Composer can arrange it the same way +- even if the second page is in a separate PDF file. + +This package contains both the commnd line tool and the gui too.") + (license license:agpl3+))) + (define-public poppler (package (name "poppler") -- cgit v1.2.3 From 8f83699ba00743d258b497e0e5285989996ee559 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Thu, 5 Mar 2020 15:37:58 +0100 Subject: gnu: Add flyer-composer-cli. * gnu/packages/pdf.scm (flyer-composer-cli): New variable. --- gnu/packages/pdf.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu/packages/pdf.scm') diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index abad204f75..e9a9b619e7 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -138,6 +138,33 @@ times. If you have a second page, Flyer Composer can arrange it the same way This package contains both the commnd line tool and the gui too.") (license license:agpl3+))) +(define-public flyer-composer-cli + (package/inherit flyer-composer + (name "flyer-composer-cli") + (arguments + `(#:tests? #f ;; TODO + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-gui + (lambda _ + (delete-file-recursively "flyer_composer/gui") + (substitute* "setup.cfg" + (("^\\s+flyer-composer-gui\\s*=.*") "")) + #t))))) + (inputs + `(("python-pypdf2" ,python-pypdf2))) + (description "@command{flyer-composer} can be used to prepare one- or +two-sided flyers for printing on one sheet of paper. + +Imagine you have designed a flyer in A6 format and want to print it using your +A4 printer. Of course, you want to print four flyers on each sheet. This is +where Flyer Composer steps in, creating a PDF which holds your flyer four +times. If you have a second page, Flyer Composer can arrange it the same way +- even if the second page is in a separate PDF file. + +This package contains only the commnd line tool. If you like to use the gui, +please install the @code{flyer-composer-gui} package."))) + (define-public poppler (package (name "poppler") -- cgit v1.2.3