gnu: Add groff.
[jackhill/guix/guix.git] / gnu / packages / perl.scm
CommitLineData
233e7676 1;;; GNU Guix --- Functional package management for GNU
4050e5d6 2;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
c44899a2 3;;;
233e7676 4;;; This file is part of GNU Guix.
c44899a2 5;;;
233e7676 6;;; GNU Guix is free software; you can redistribute it and/or modify it
c44899a2
LC
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
233e7676 11;;; GNU Guix is distributed in the hope that it will be useful, but
c44899a2
LC
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
233e7676 17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
c44899a2 18
1ffa7090 19(define-module (gnu packages perl)
4a44e743 20 #:use-module (guix licenses)
59a43334 21 #:use-module (gnu packages)
c44899a2 22 #:use-module (guix packages)
87f5d366 23 #:use-module (guix download)
c44899a2
LC
24 #:use-module (guix utils)
25 #:use-module (guix build-system gnu))
26
27(define-public perl
28 ;; Yeah, Perl... It is required early in the bootstrap process by Linux.
29 (package
30 (name "perl")
31 (version "5.16.1")
32 (source (origin
87f5d366 33 (method url-fetch)
c44899a2
LC
34 (uri (string-append "http://www.cpan.org/src/5.0/perl-"
35 version ".tar.gz"))
36 (sha256
37 (base32
38 "15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km"))))
39 (build-system gnu-build-system)
40 (arguments
41 (lambda (system)
42 `(#:tests? #f
43 #:patches (list (assoc-ref %build-inputs "patch/no-sys-dirs"))
44 #:phases
45 (alist-replace
46 'configure
47 (lambda* (#:key inputs outputs #:allow-other-keys)
48 (let ((out (assoc-ref outputs "out"))
7584f822 49 (libc (assoc-ref inputs "libc")))
c44899a2
LC
50 ;; Use the right path for `pwd'.
51 (substitute* "dist/Cwd/Cwd.pm"
7584f822
LC
52 (("/bin/pwd")
53 (which "pwd")))
c44899a2
LC
54
55 (zero?
d0084152 56 (system* "./Configure"
c44899a2
LC
57 (string-append "-Dprefix=" out)
58 (string-append "-Dman1dir=" out "/share/man/man1")
59 (string-append "-Dman3dir=" out "/share/man/man3")
60 "-de" "-Dcc=gcc"
61 "-Uinstallusrbinperl"
62 "-Dinstallstyle=lib/perl5"
63 "-Duseshrplib"
64 (string-append "-Dlocincpth=" libc "/include")
65 (string-append "-Dloclibpth=" libc "/lib")))))
66 %standard-phases))))
67 (inputs `(("patch/no-sys-dirs" ,(search-patch "perl-no-sys-dirs.patch"))))
68 (synopsis "Implementation of the Perl programming language")
69 (description
70 "Perl 5 is a highly capable, feature-rich programming language with over
7124 years of development.")
72 (home-page "http://www.perl.org/")
4a44e743 73 (license gpl1+))) ; or "Artistic"