Subject: [bug#39405] [PATCH] gnu: Add fntsample.

From: Roel Janssen <[email-masked]>
Date: Fri, 07 Feb 2020 16:35:13 +0100

On Tue, 2020-02-04 at 19:39 -0500, Leo Famulari wrote:
> On Mon, Feb 03, 2020 at 12:45:44PM +0100, Roel Janssen wrote:
> > Dear Guix,
> > 
> > I'd like to add "fntsample".  The following two patches do that.
> > 
> > Kind regards,
> > Roel Janssen
> > 
> > From 55ee95f843424cb9f65e4ff3514739b6238a9e14 Mon Sep 17 00:00:00
> > 2001
> > From: Roel Janssen <[email-masked]>
> > Date: Mon, 3 Feb 2020 12:28:18 +0100
> > Subject: [PATCH 1/2] gnu: Add perl-pdf-api2.
> > 
> > * gnu/packages/perl.scm (perl-pdf-api2): New variable.
> 
> LGTM, thanks!
> 
> > From 17df554661c71e8724bf3e241021345b9b9cefef Mon Sep 17 00:00:00
> > 2001
> > From: Roel Janssen <[email-masked]>
> > Date: Mon, 3 Feb 2020 12:29:33 +0100
> > Subject: [PATCH 2/2] gnu: Add fntsample.
> > 
> > * gnu/packages/fontutils.scm (fntsample): New variable.
> > +           (uri "http://unicode.org/Public/UNIDATA/Blocks.txt")
> 
> Can it go over HTTPS?

It seems so!  I updated the patch(es) and attached them again.

Thanks!

Kind regards,
Roel Janssen

From 271773d02e23b233bf39712d6c63aac8ed79f872 Mon Sep 17 00:00:00 2001
From: Roel Janssen <[email-masked]>
Date: Mon, 3 Feb 2020 12:29:33 +0100
Subject: [PATCH 2/2] gnu: Add fntsample.

* gnu/packages/fontutils.scm (fntsample): New variable.
---
 gnu/packages/fontutils.scm | 62 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index aba6f07537..fe4da8d75b 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2018 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2018, 2019 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2019 Marius Bakke <[email-masked]>
+;;; Copyright © 2020 Roel Janssen <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -774,3 +775,64 @@ tools or editing configuration files by hand.
 While designed primarily with the GNOME Desktop Environment in mind, it should
 work well with other GTK+ desktop environments.")
    (license license:gpl3+)))
+
+(define-public fntsample
+  (package
+    (name "fntsample")
+    (version "5.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/eugmes/fntsample/archive/release/"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0awp4dh1g40ivzvm5xqlvcpcdw1vplrx3drjmbylr62y185vbs74"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:tests? #f ; There are no tests.
+       #:configure-flags
+       (list (string-append
+              "-DUNICODE_BLOCKS=" (assoc-ref %build-inputs "unicode-blocks")))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'set-library-path
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out      (assoc-ref outputs "out"))
+                    (pdf-api2 (assoc-ref inputs "perl-pdf-api2"))
+                    (intl     (assoc-ref inputs "perl-libintl-perl"))
+                    (perllib  (string-append pdf-api2
+                                             "/lib/perl5/site_perl/"
+                                             ,(package-version perl)
+                                             ":" intl
+                                             "/lib/perl5/site_perl/"
+                                             ,(package-version perl))))
+               (wrap-program (string-append out "/bin/pdfoutline")
+                 `("PERL5LIB" ":" prefix (,perllib)))
+               #t))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("gettext" ,gettext-minimal)))
+    (inputs
+     `(("cairo" ,cairo)
+       ("fontconfig" ,fontconfig)
+       ("freetype" ,freetype)
+       ("glib" ,glib)
+       ("pango" ,pango)
+       ("perl-pdf-api2" ,perl-pdf-api2)
+       ("perl-libintl-perl" ,perl-libintl-perl)
+       ("unicode-blocks"
+        ,(origin
+           (method url-fetch)
+           (uri "https://unicode.org/Public/UNIDATA/Blocks.txt")
+           (file-name "unicode-blocks.txt")
+           (sha256
+            (base32
+             "1xs8fnhh48gs41wg004r7m4r2azh9khmyjjlnvyzy9c6zrd212x2"))))))
+    (home-page "https://github.com/eugmes/fntsample")
+    (synopsis "PDF and PostScript font samples generator")
+    (description "This package provides a tool that can be used to make font
+samples that show coverage of the font and are similar in appearance to
+Unicode Charts.  It was developed for use with DejaVu Fonts project.")
+    (license license:gpl3+)))
-- 
2.17.1

From b88d7d217595050aad6b74a0b4a8394f7a3213ce Mon Sep 17 00:00:00 2001
From: Roel Janssen <[email-masked]>
Date: Mon, 3 Feb 2020 12:28:18 +0100
Subject: [PATCH 1/2] gnu: Add perl-pdf-api2.

* gnu/packages/perl.scm (perl-pdf-api2): New variable.
---
 gnu/packages/perl.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index 9fc3493a5d..c226f7a996 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -7226,6 +7226,30 @@ file names.")
 with file paths.")
     (license asl2.0)))
 
+(define-public perl-pdf-api2
+  (package
+    (name "perl-pdf-api2")
+    (version "2.036")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0x0pa75wpb87pcshl92y5nh8pzikjp46ljlr2pqvdgpqzvll8107"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-test-exception" ,perl-test-exception)
+       ("perl-test-memory-cycle" ,perl-test-memory-cycle)))
+    (propagated-inputs
+     `(("perl-font-ttf" ,perl-font-ttf)))
+    (home-page "https://metacpan.org/release/PDF-API2")
+    (synopsis "Facilitates the creation and modification of PDF files")
+    (description "This Perl module facilitates the creation and modification
+of PDF files.")
+    (license lgpl2.1)))
+
 (define-public perl-perlio-utf8_strict
   (package
     (name "perl-perlio-utf8-strict")
-- 
2.17.1