guix-devel/gnu/packages/perl.scm

189 lines
7.3 KiB
Scheme
Raw Normal View History

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages perl)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl))
(define-public perl
;; Yeah, Perl... It is required early in the bootstrap process by Linux.
(package
(name "perl")
(version "5.16.1")
(source (origin
(method url-fetch)
(uri (string-append "http://www.cpan.org/src/5.0/perl-"
version ".tar.gz"))
(sha256
(base32
"15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km"))
(patches (list (search-patch "perl-no-sys-dirs.patch")))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:phases
(alist-replace
'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(libc (assoc-ref inputs "libc")))
;; Use the right path for `pwd'.
(substitute* "dist/Cwd/Cwd.pm"
(("/bin/pwd")
(which "pwd")))
(zero?
(system* "./Configure"
(string-append "-Dprefix=" out)
(string-append "-Dman1dir=" out "/share/man/man1")
(string-append "-Dman3dir=" out "/share/man/man3")
"-de" "-Dcc=gcc"
"-Uinstallusrbinperl"
"-Dinstallstyle=lib/perl5"
"-Duseshrplib"
(string-append "-Dlocincpth=" libc "/include")
(string-append "-Dloclibpth=" libc "/lib")))))
%standard-phases)))
(native-search-paths (list (search-path-specification
(variable "PERL5LIB")
(directories '("lib/perl5/site_perl")))))
(synopsis "Implementation of the Perl programming language")
(description
"Perl 5 is a highly capable, feature-rich programming language with over
24 years of development.")
(home-page "http://www.perl.org/")
(license gpl1+))) ; or "Artistic"
(define-public perl-file-list
(package
(name "perl-file-list")
(version "0.3.1")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/D/DO/DOPACKI/File-List-"
version ".tar.gz"))
(sha256
(base32
"00m5ax4aq59hdvav6yc4g63vhx3a57006rglyypagvrzfxjvm8s8"))))
(build-system perl-build-system)
(arguments
`(#:phases
(alist-cons-after
'unpack 'cd
(lambda* _
(chdir "List"))
%standard-phases)))
(license (package-license perl))
(synopsis "Perl extension for crawling directory trees and compiling
lists of files")
(description
"The File::List module crawls the directory tree starting at the
provided base directory and can return files (and/or directories if desired)
matching a regular expression.")
(home-page "http://search.cpan.org/~dopacki/File-List/")))
(define-public perl-io-tty
(package
(name "perl-io-tty")
(version "1.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-"
version ".tar.gz"))
(sha256
(base32
"0lgd9xcbi4gf4gw1ka6fj94my3w1f3k1zamb4pfln0qxz45zlxx4"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/~toddr/IO-Tty/")
(synopsis "Perl interface to pseudo ttys")
(description
"This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to
pseudo ttys.")
(license (package-license perl))))
(define-public perl-archive-zip
(package
(name "perl-archive-zip")
(version "1.30")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/A/AD/ADAMK/Archive-Zip-"
version ".tar.gz"))
(sha256
(base32
"0633zah5z9njiqnvy3vh42fjymncmil1jdfb7d18w8xpfzzp5d7q"))))
(build-system perl-build-system)
(synopsis "Perl API to zip files")
(description "The Archive::Zip module allows a Perl program to create,
manipulate, read, and write Zip archive files.")
(home-page "http://search.cpan.org/~phred/Archive-Zip-1.37/lib/Archive/Zip.pm")
(license (package-license perl))))
(define-public perl-digest-sha1
(package
(name "perl-digest-sha1")
(version "2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/G/GA/GAAS/"
"Digest-SHA1-" version ".tar.gz"))
(sha256
(base32
"1k23p5pjk42vvzg8xcn4iwdii47i0qm4awdzgbmz08bl331dmhb8"))))
(build-system perl-build-system)
(synopsis "Perl implementation of the SHA-1 message digest algorithm")
(description
"This package provides 'Digest::SHA1', an implementation of the NIST
SHA-1 message digest algorithm for use by Perl programs.")
(home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-"
version "/SHA1.pm"))
(license (package-license perl))))
(define-public perl-benchmark-timer
(package
(name "perl-benchmark-timer")
(version "0.7102")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/"
"Benchmark-Timer-" version ".tar.gz"))
(sha256
(base32
"1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01"))))
(build-system perl-build-system)
;; The optional input module Statistics::PointEstimation (from
;; Statistics-TTest) lists no license.
(synopsis "Benchmarking with statistical confidence")
(description
"The Benchmark::Timer class allows you to time portions of code
conveniently, as well as benchmark code by allowing timings of repeated
trials. It is perfect for when you need more precise information about the
running time of portions of your code than the Benchmark module will give you,
but don't want to go all out and profile your code.")
(home-page (string-append "http://search.cpan.org/~dcoppit/"
"Benchmark-Timer-" version))
(license gpl2)))