summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-04-02 13:31:47 -0500
committerEric Bavier <bavier@member.fsf.org>2015-04-04 00:46:03 -0500
commitf7ee7a9b06a386863d7752ba028a79bb98d3504d (patch)
tree260956ab3f1d2c441326419fd3278643629c76ee
parent4ec48644c3b3760bcc8a72eb6956c678b57182a1 (diff)
downloadguix-f7ee7a9b06a386863d7752ba028a79bb98d3504d.tar.gz
gnu: Add Perl GD.
* gnu/packages/gd.scm (perl-gd): New variable.
-rw-r--r--gnu/packages/gd.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index e27103778c..fcca592ff7 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,8 +21,10 @@
 (define-module (gnu packages gd)
   #:use-module (guix packages)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system perl)
   #:use-module (guix download)
   #:use-module (gnu packages)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages image)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages compression)
@@ -66,3 +69,51 @@ most anything else, on the fly.  While not restricted to use on the web, the
 most common applications of GD involve website development.")
     (license (non-copyleft "file://COPYING"
                         "See COPYING file in the distribution."))))
+
+(define-public perl-gd
+  (package
+    (name "perl-gd")
+    (version "2.56")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/L/LD/LDS/"
+                           "GD-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1ya8f9hpiax8j29vwaiwlvvgah0vkyvpzva28r8231nyk0f3s40z"))
+       (patches
+        (list
+         (search-patch "perl-gd-options-passthrough-and-fontconfig.patch")))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-build" ,perl-module-build))) ;needs Module::Build >= 0.42
+    (inputs
+     `(("gd" ,gd)
+       ("zlib" ,zlib)
+       ("png" ,libpng)
+       ("ft" ,freetype)
+       ("jpeg" ,libjpeg)
+       ("fontconfig" ,fontconfig)))
+    (arguments
+     ;; We must use Build.PL for building because Makefile.PL fails to build
+     ;; the XS source.
+     `(#:module-build-flags (map (lambda (i)
+                                   (string-append "--lib_" i "_path="
+                                                  (assoc-ref %build-inputs i)))
+                                 '("zlib" "png" "ft" "jpeg" "fontconfig"))
+       #:phases (alist-cons-after
+                 'configure 'clear-autogenerated-files
+                 (lambda _
+                   ;; This file is autogenerated by its .PLS script at build
+                   ;; time, but file creation fails because that file already
+                   ;; exists in the distribution with non-writable
+                   ;; permissions, so delete it first.
+                   (delete-file "bdf_scripts/bdf2gdfont.pl"))
+                 %standard-phases)))
+    (home-page "http://search.cpan.org/dist/GD")
+    (synopsis "Perl interface to the GD graphics library")
+    (description "GD.pm is an autoloadable interface module for libgd, a
+popular library for creating and manipulating PNG files.  With this library
+you can create PNG images on the fly or modify existing files.")
+    (license (package-license perl))))