summary refs log tree commit diff
path: root/gnu/packages/gd.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/gd.scm')
-rw-r--r--gnu/packages/gd.scm79
1 files changed, 79 insertions, 0 deletions
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index e27103778c..725a8e7e9e 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,9 +21,12 @@
 (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 imagemagick)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages pkg-config)
@@ -66,3 +70,78 @@ 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))))
+
+(define-public perl-gd-securityimage
+  (package
+    (name "perl-gd-securityimage")
+    (version "1.73")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://cpan/authors/id/B/BU/BURAK/"
+                           "GD-SecurityImage-" version ".tar.gz"))
+       (sha256
+        (base32
+         "1kaxs67rfd4w46lxgcg3pa05a596l0h1k8n4zk2gwrrar4022wpx"))))
+    (build-system perl-build-system)
+    (native-inputs
+     `(("perl-module-build" ,perl-module-build)))
+    (propagated-inputs
+     `(("perl-gd" ,perl-gd)
+       ("perl-image-magick" ,perl-image-magick)))
+    (home-page "http://search.cpan.org/dist/GD-SecurityImage")
+    (synopsis "Security image generator.")
+    (description "This module provides a basic interface to create
+security (captcha) images.  The final output is the actual graphic data, the
+mime type of the graphic, and the created random string.  The module also has
+some \"styles\" that are used to create the background (or foreground) of the
+image.")
+    (license (package-license perl))))