~ruther/guix-local

d5d7d26df7c424a9cffee27f1210b59ef8682d5c — Tobias Geerinckx-Rice 8 years ago 2504fd3
gnu: perl-gd: Update to 2.68.

* gnu/packages/gd.scm (perl-gd): Update to 2.68.
[source]: Remove obsolete patch.
[native-inputs]: Remove perl-module-build.
[inputs]: Use canonical package names and order alphabetically.
[arguments]: Replace #:module-build-flags with fewer #:make-maker-flags,
enable #:tests?, and remove ‘clear-autogenerated-files’ phase.
* gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 13 insertions(+), 84 deletions(-)

M gnu/local.mk
M gnu/packages/gd.scm
D gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 972,7 972,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/perl-dbd-mysql-CVE-2017-10788.patch	\
  %D%/packages/patches/perl-deterministic-ordering.patch	\
  %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
  %D%/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
  %D%/packages/patches/perl-io-socket-ssl-openssl-1.0.2f-fix.patch \
  %D%/packages/patches/perl-net-amazon-s3-moose-warning.patch	\
  %D%/packages/patches/perl-net-dns-resolver-programmable-fix.patch	\

M gnu/packages/gd.scm => gnu/packages/gd.scm +13 -30
@@ 5,6 5,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 93,45 94,27 @@ most common applications of GD involve website development.")
(define-public perl-gd
  (package
    (name "perl-gd")
    (version "2.56")
    (version "2.68")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://cpan/authors/id/L/LD/LDS/"
       (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
                           "GD-" version ".tar.gz"))
       (sha256
        (base32
         "1ya8f9hpiax8j29vwaiwlvvgah0vkyvpzva28r8231nyk0f3s40z"))
       (patches (search-patches
                 "perl-gd-options-passthrough-and-fontconfig.patch"))))
         "0p2ya641nl5cvcqgw829xgabh835qijfd6vq2ba12862946xx8va"))))
    (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)))
     `(("fontconfig" ,fontconfig)
       ("freetype" ,freetype)
       ("gd" ,gd)
       ("libpng" ,libpng)
       ("libjpeg" ,libjpeg)
       ("zlib" ,zlib)))
    (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"))
       #:tests? #f ;; Failed 1/2 test programs. 1/12 subtests failed.
       #:phases
       (modify-phases %standard-phases
         (add-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")
             #t)))))
     `(#:make-maker-flags
       (list (string-append "--lib_jpeg_path="
                            (assoc-ref %build-inputs "libjpeg")))))
    (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

D gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch => gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch +0 -53
@@ 1,53 0,0 @@
This patch (adapted from nixpkgs for Build.PL) configures Getopt::Long to pass
options so they will be available at the second GetOptions call.

Also an option to specify the search path for libfontconfig is added.

--- GD-2.56/Build.PL	2014-10-27 20:34:54.000000000 -0500
+++ GD-2.56/Build.PL	2015-02-22 10:08:12.569973657 -0600
@@ -2,14 +2,14 @@
 
 use strict;
 use Module::Build;
-use Getopt::Long;
+use Getopt::Long qw(:config pass_through);
 use Config;
 
 # =====> PATHS: CHECK AND ADJUST <=====
 my (@INC,@LIBPATH,@LIBS);
 my $AUTOCONFIG = 0;      # global set by try_to_autoconfigure() below
 
-my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path);
+my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$lib_fontconfig_path);
 
 unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS)) {
     die <<END;
@@ -38,6 +38,7 @@
 			"lib_jpeg_path=s" => \$lib_jpeg_path,
 			"lib_xpm_path=s"  => \$lib_xpm_path,
 			"lib_zlib_path=s" => \$lib_zlib_path,
+			"lib_fontconfig_path=s" => \$lib_fontconfig_path,
 		       );
 unless ($result) {
   die <<END;
@@ -53,6 +54,7 @@
      -lib_jpeg_path path            path to libjpeg
      -lib_xpm_path  path            path to libxpm
      -lib_zlib_path path            path to libpng
+     -lib_fontconfig_path path      path to fontconfig
      -ignore_missing_gd             Ignore missing or old libgd installations and try to compile anyway
 
 If no options are passed on the command line.  The program will
@@ -100,6 +102,12 @@
     @INC     = ("-I$lib_zlib_path/include", @INC);
     @LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH); 
 }
+if( defined($lib_fontconfig_path) ) 
+{
+    print "Fontconfig library used from:     $lib_fontconfig_path\n";
+    @INC     = ("-I$lib_fontconfig_path/include", @INC);
+    @LIBPATH = ("-L$lib_fontconfig_path/lib", @LIBPATH); 
+}
 #############################################################################################
 
 if ($^O eq 'VMS'){