gnu: Add external-program.
[jackhill/guix/guix.git] / gnu / packages / perl-compression.scm
CommitLineData
21b41a79
RW
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2014 John Darrington <jmd@gnu.org>
3;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
a1395018 4;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
21b41a79
RW
5;;; Copyright © 2017 Petter <petter@mykolab.ch>
6;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
7;;;
8;;; This file is part of GNU Guix.
9;;;
10;;; GNU Guix is free software; you can redistribute it and/or modify it
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
15;;; GNU Guix is distributed in the hope that it will be useful, but
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
22
23(define-module (gnu packages perl-compression)
24 #:use-module ((guix licenses) #:prefix license:)
25 #:use-module (guix utils)
26 #:use-module (guix packages)
27 #:use-module (guix download)
28 #:use-module (guix build-system perl)
29 #:use-module (gnu packages)
30 #:use-module (gnu packages compression)
31 #:use-module (gnu packages perl)
32 #:use-module (gnu packages perl-check))
33
34(define-public perl-compress-raw-bzip2
35 (package
36 (name "perl-compress-raw-bzip2")
2d594952 37 (version "2.091")
21b41a79
RW
38 (source
39 (origin
40 (method url-fetch)
41 (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
42 "Compress-Raw-Bzip2-" version ".tar.gz"))
43 (sha256
2d594952 44 (base32 "0c5lwaynkcprjd18d3c82m8cniyq3c8mc4jk42gb32lp7cyyzmr7"))))
21b41a79
RW
45 (build-system perl-build-system)
46 ;; TODO: Use our bzip2 package.
47 (home-page "https://metacpan.org/release/Compress-Raw-Bzip2")
48 (synopsis "Low-level interface to bzip2 compression library")
49 (description "This module provides a Perl interface to the bzip2
50compression library.")
51 (license license:perl-license)))
52
53(define-public perl-compress-raw-zlib
54 (package
55 (name "perl-compress-raw-zlib")
7b8ab1fe 56 (version "2.091")
21b41a79
RW
57 (source
58 (origin
59 (method url-fetch)
60 (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
61 "Compress-Raw-Zlib-" version ".tar.gz"))
62 (sha256
7b8ab1fe 63 (base32 "0vrzk1jzw2kwrsvnd190m7jl925cbd4skp6ipv5pndkn4y8gnzxn"))))
21b41a79
RW
64 (build-system perl-build-system)
65 (inputs
66 `(("zlib" ,zlib)))
67 (arguments
68 `(#:phases (modify-phases %standard-phases
69 (add-before
70 'configure 'configure-zlib
71 (lambda* (#:key inputs #:allow-other-keys)
72 (call-with-output-file "config.in"
73 (lambda (port)
74 (format port "
75BUILD_ZLIB = False
76INCLUDE = ~a/include
77LIB = ~:*~a/lib
78OLD_ZLIB = False
79GZIP_OS_CODE = AUTO_DETECT"
80 (assoc-ref inputs "zlib"))))
81 #t)))))
82 (home-page "https://metacpan.org/release/Compress-Raw-Zlib")
83 (synopsis "Low-level interface to zlib compression library")
84 (description "This module provides a Perl interface to the zlib
85compression library.")
86 (license license:perl-license)))
87
88(define-public perl-io-compress
89 (package
90 (name "perl-io-compress")
676cb250 91 (version "2.091")
21b41a79
RW
92 (source
93 (origin
94 (method url-fetch)
95 (uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/"
96 "IO-Compress-" version ".tar.gz"))
97 (sha256
676cb250 98 (base32 "15ayljvmxszkd5bvzd52l7gv71ldj8bhdqdnj9f48dipn681238z"))))
21b41a79
RW
99 (build-system perl-build-system)
100 (propagated-inputs
53ab26f7
TGR
101 ;; These two packages should be updated to this one's version first.
102 `(("perl-compress-raw-zlib" ,perl-compress-raw-zlib)
103 ("perl-compress-raw-bzip2" ,perl-compress-raw-bzip2)))
21b41a79
RW
104 (home-page "https://metacpan.org/release/IO-Compress")
105 (synopsis "IO Interface to compressed files/buffers")
106 (description "IO-Compress provides a Perl interface to allow reading and
107writing of compressed data created with the zlib and bzip2 libraries.")
108 (license license:perl-license)))
109
110(define-public perl-archive-extract
111 (package
112 (name "perl-archive-extract")
1230a07f 113 (version "0.82")
21b41a79
RW
114 (source
115 (origin
116 (method url-fetch)
117 (uri (string-append "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-"
118 version ".tar.gz"))
119 (sha256
1230a07f 120 (base32 "00zq2ishxk70192sjl1wciq14vhb9isz8rcafcy1j89va1srpvrn"))))
21b41a79
RW
121 (build-system perl-build-system)
122 (home-page "https://metacpan.org/release/Archive-Extract")
123 (synopsis "Generic archive extracting mechanism")
124 (description "It allows you to extract any archive file of the type .tar,
125.tar.gz, .gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma
126without having to worry how it does so, or use different interfaces for each
127type by using either Perl modules, or command-line tools on your system.")
128 (license license:perl-license)))
129
130(define-public perl-archive-zip
131 (package
132 (name "perl-archive-zip")
c5ce759e 133 (version "1.67")
21b41a79
RW
134 (source
135 (origin
136 (method url-fetch)
137 (uri (string-append
138 "mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-"
139 version ".tar.gz"))
140 (sha256
c5ce759e 141 (base32 "0x17b7s5c3bqy9gx7psdqxbzkilylnwwd3c3i68vynbn9hs788my"))))
21b41a79
RW
142 (build-system perl-build-system)
143 (native-inputs
144 ;; For tests.
145 `(("perl-test-mockmodule" ,perl-test-mockmodule)))
146 (synopsis "Provides an interface to Zip archive files")
147 (description "The @code{Archive::Zip} module allows a Perl program to
148create, manipulate, read, and write Zip archive files.")
149 (home-page "https://metacpan.org/release/Archive-Zip")
150 (license license:perl-license)))