Bug 16715: Proposed followup to use Sereal for serialization
[koha.git] / C4 / Installer / PerlDependencies.pm
blobdb9cd7c4427150d404e917d8a9c84aed940e8619
1 package C4::Installer::PerlDependencies;
3 use warnings;
4 use strict;
6 our $PERL_DEPS = {
7 'Plack::Middleware::ReverseProxy' => {
8 'usage' => 'Plack',
9 'required' => '1',
10 'min_ver' => '0.14'
12 'XML::LibXSLT' => {
13 'usage' => 'Core',
14 'required' => '1',
15 'min_ver' => '1.59'
17 'Text::CSV::Encoded' => {
18 'usage' => 'Core',
19 'required' => '1',
20 'min_ver' => '0.09'
22 'Storable' => {
23 'usage' => 'Core',
24 'required' => '1',
25 'min_ver' => '2.20'
27 'PDF::API2' => {
28 'usage' => 'Core',
29 'required' => '1',
30 'min_ver' => '2'
32 'Text::CSV_XS' => {
33 'usage' => 'Core',
34 'required' => '1',
35 'min_ver' => '0.32'
37 'Schedule::At' => {
38 'usage' => 'Core',
39 'required' => '1',
40 'min_ver' => '1.06'
42 'MIME::Lite' => {
43 'usage' => 'Core',
44 'required' => '1',
45 'min_ver' => '3'
47 'GD' => {
48 'usage' => 'Patron Images Feature',
49 'required' => '0',
50 'min_ver' => '2.39'
52 'List::MoreUtils' => {
53 'usage' => 'Core',
54 'required' => '1',
55 'min_ver' => '0.21'
57 'DBI' => {
58 'usage' => 'Core',
59 'required' => '1',
60 'min_ver' => '1.53'
62 'DBIx::Class::Schema::Loader' => {
63 'usage' => 'Core',
64 'required' => '1',
65 'min_ver' => '0.07039'
67 'Net::Z3950::ZOOM' => {
68 'usage' => 'Core',
69 'required' => '1',
70 'min_ver' => '1.16'
72 'Biblio::EndnoteStyle' => {
73 'usage' => 'Core',
74 'required' => '1',
75 'min_ver' => '0.05'
77 'Date::Calc' => {
78 'usage' => 'Core',
79 'required' => '1',
80 'min_ver' => '5.4'
82 'Mail::Sendmail' => {
83 'usage' => 'Core',
84 'required' => '1',
85 'min_ver' => '0.79'
87 'DBD::mysql' => {
88 'usage' => 'Core',
89 'required' => '1',
90 'min_ver' => '4.004'
92 'XML::LibXML' => {
93 'usage' => 'Core',
94 'required' => '1',
95 'min_ver' => '1.59'
97 'Email::Date' => {
98 'usage' => 'Core',
99 'required' => '1',
100 'min_ver' => '1.103'
102 'Exception::Class' => {
103 'usage' => 'Core',
104 'required' => '1.38',
105 'min_ver' => '1.38'
107 'HTML::Scrubber' => {
108 'usage' => 'Core',
109 'required' => '1',
110 'min_ver' => '0.08'
112 'XML::Dumper' => {
113 'usage' => 'Core',
114 'required' => '1',
115 'min_ver' => '0.81'
117 'URI::Escape' => {
118 'usage' => 'Core',
119 'required' => '1',
120 'min_ver' => '3.31'
122 'Unicode::Normalize' => {
123 'usage' => 'Core',
124 'required' => '1',
125 'min_ver' => '0.32'
127 'Text::Wrap' => {
128 'usage' => 'Core',
129 'required' => '1',
130 'min_ver' => '2005.082401'
132 'Test' => {
133 'usage' => 'Core',
134 'required' => '1',
135 'min_ver' => '1.25'
137 'Locale::PO' => {
138 'usage' => 'Core',
139 'required' => '1',
140 'min_ver' => '0.17'
142 'LWP::Simple' => {
143 'usage' => 'Core',
144 'required' => '1',
145 'min_ver' => '1.41'
147 'DBD::SQLite2' => {
148 'usage' => 'Offline Circulation Feature',
149 'required' => '0',
150 'min_ver' => '0.33'
152 'SMS::Send' => {
153 'usage' => 'SMS Messaging Feature',
154 'required' => '0',
155 'min_ver' => '0.05'
157 'XML::SAX::ParserFactory' => {
158 'usage' => 'Core',
159 'required' => '1',
160 'min_ver' => '1.01'
162 'Test::Harness' => {
163 'usage' => 'Core',
164 'required' => '1',
165 'min_ver' => '2.56'
167 'PDF::API2::Util' => {
168 'usage' => 'Core',
169 'required' => '1',
170 'min_ver' => '2'
172 'Class::Accessor' => {
173 'usage' => 'Core',
174 'required' => '1',
175 'min_ver' => '0.3'
177 'HTTP::OAI' => {
178 'usage' => 'Core',
179 'required' => '1',
180 'min_ver' => '3.2'
182 'LWP::UserAgent' => {
183 'usage' => 'Core',
184 'required' => '1',
185 'min_ver' => '2.033'
187 'MIME::Base64' => {
188 'usage' => 'Core',
189 'required' => '1',
190 'min_ver' => '3.07'
192 'Algorithm::CheckDigits' => {
193 'usage' => 'Core',
194 'required' => '1',
195 'min_ver' => '0.5'
197 'Net::LDAP' => {
198 'usage' => 'LDAP Interface Feature',
199 'required' => '0',
200 'min_ver' => '0.33'
202 'PDF::Reuse' => {
203 'usage' => 'Core',
204 'required' => '1',
205 'min_ver' => '0.36'
207 'Text::PDF' => {
208 'usage' => 'Core',
209 'required' => '1',
210 'min_ver' => '0.29',
211 # We don't use this directly, but it's not a required dependency for
212 # PDF::Reuse however we need it via that or tests fail.
214 'Font::TTF' => {
215 'usage' => 'Core',
216 'required' => '1',
217 'min_ver' => '0.45',
218 # Also needed for our use of PDF::Reuse
220 'DateTime' => {
221 'usage' => 'Core',
222 'required' => '1',
223 'min_ver' => '0.58'
225 'DateTime::TimeZone' => {
226 'usage' => 'Core',
227 'required' => '1',
228 'min_ver' => '1.20'
230 'DateTime::Format::MySQL' => {
231 'usage' => 'Core',
232 'required' => '1',
233 'min_ver' => '0.04'
235 'DateTime::Set' => {
236 'usage' => 'Core',
237 'required' => '1',
238 'min_ver' => '0.28'
240 'DateTime::Event::ICal' => {
241 'usage' => 'Core',
242 'required' => '1',
243 'min_ver' => '0.08'
245 'Graphics::Magick' => {
246 'usage' => 'Patron Card Creator Feature',
247 'required' => '0',
248 'min_ver' => '1.3.05'
250 'MARC::Charset' => {
251 'usage' => 'Core',
252 'required' => '1',
253 'min_ver' => '0.98'
255 'Cache::Memcached::Fast' => {
256 'usage' => 'Caching',
257 'required' => '0',
258 'min_ver' => '0.17'
260 'Cache::FastMmap' => {
261 'usage' => 'Caching',
262 'required' => '0',
263 'min_ver' => '1.34'
265 'Cache::Memory' => {
266 'usage' => 'Caching',
267 'required' => '0',
268 'min_ver' => '2.04'
270 'Net::LDAP::Filter' => {
271 'usage' => 'LDAP Interface Feature',
272 'required' => '0',
273 'min_ver' => '0.14'
275 'Text::CSV' => {
276 'usage' => 'Core',
277 'required' => '1',
278 'min_ver' => '0.01'
280 'PDF::Table' => {
281 'usage' => 'Core',
282 'required' => '1',
283 'min_ver' => '0.9.3'
285 'CGI' => {
286 'usage' => 'Core',
287 'required' => '1',
288 'min_ver' => '3.15'
290 'Class::Factory::Util' => {
291 'usage' => 'Core',
292 'required' => '1',
293 'min_ver' => '1.6'
295 'List::Util' => {
296 'usage' => 'Core',
297 'required' => '1',
298 'min_ver' => '1.18'
300 'Lingua::Stem::Snowball' => {
301 'usage' => 'Core',
302 'required' => '1',
303 'min_ver' => '0.952'
305 'Time::localtime' => {
306 'usage' => 'Core',
307 'required' => '1',
308 'min_ver' => '1.02'
310 'Digest::SHA' => {
311 'usage' => 'Core',
312 'required' => '1',
313 'min_ver' => '5.43'
315 'CGI::Session::Serialize::yaml' => {
316 'usage' => 'Core',
317 'required' => '1',
318 'min_ver' => '4.2'
320 'CGI::Carp' => {
321 'usage' => 'Core',
322 'required' => '1',
323 'min_ver' => '1.29'
325 'Getopt::Long' => {
326 'usage' => 'Core',
327 'required' => '1',
328 'min_ver' => '2.35'
330 'Term::ANSIColor' => {
331 'usage' => 'Core',
332 'required' => '1',
333 'min_ver' => '1.1'
335 'Getopt::Std' => {
336 'usage' => 'Core',
337 'required' => '1',
338 'min_ver' => '1.05'
340 'Data::Dumper' => {
341 'usage' => 'Core',
342 'required' => '1',
343 'min_ver' => '2.121'
345 'Lingua::Stem' => {
346 'usage' => 'Core',
347 'required' => '1',
348 'min_ver' => '0.82'
350 'MIME::QuotedPrint' => {
351 'usage' => 'Core',
352 'required' => '1',
353 'min_ver' => '3.07'
355 'IPC::Cmd' => {
356 'usage' => 'Core',
357 'required' => '1',
358 'min_ver' => '0.46'
360 'HTTP::Cookies' => {
361 'usage' => 'Core',
362 'required' => '1',
363 'min_ver' => '1.39'
365 'HTTP::Request::Common' => {
366 'usage' => 'Core',
367 'required' => '1',
368 'min_ver' => '1.26'
370 'PDF::Reuse::Barcode' => {
371 'usage' => 'Core',
372 'required' => '1',
373 'min_ver' => '0.05'
375 'Test::More' => {
376 'usage' => 'Core',
377 'required' => '1',
378 'min_ver' => '0.8'
380 'GD::Barcode::UPCE' => {
381 'usage' => 'Core',
382 'required' => '1',
383 'min_ver' => '1.1'
385 'Text::Iconv' => {
386 'usage' => 'Core',
387 'required' => '1',
388 'min_ver' => '1.7'
390 'File::Temp' => {
391 'usage' => 'Core',
392 'required' => '1',
393 'min_ver' => '0.16'
395 'Date::Manip' => {
396 'usage' => 'Core',
397 'required' => '1',
398 'min_ver' => '5.44'
400 'Locale::Language' => {
401 'usage' => 'Core',
402 'required' => '1',
403 'min_ver' => '2.07'
405 'PDF::API2::Simple' => {
406 'usage' => 'Core',
407 'required' => '1',
408 'min_ver' => '1'
410 'XML::RSS' => {
411 'usage' => 'Core',
412 'required' => '1',
413 'min_ver' => '1.31'
415 'XML::Simple' => {
416 'usage' => 'Core',
417 'required' => '1',
418 'min_ver' => '2.14'
420 'PDF::API2::Page' => {
421 'usage' => 'Core',
422 'required' => '1',
423 'min_ver' => '2'
425 'CGI::Session' => {
426 'usage' => 'Core',
427 'required' => '1',
428 'min_ver' => '4.2'
430 'CGI::Session::Driver::memcached' => {
431 'usage' => 'Memcached Feature (Experimental)',
432 'required' => '0',
433 'min_ver' => '0.04',
435 'POSIX' => {
436 'usage' => 'Core',
437 'required' => '1',
438 'min_ver' => '1.09'
440 'Digest::MD5' => {
441 'usage' => 'Core',
442 'required' => '1',
443 'min_ver' => '2.36'
445 'Authen::CAS::Client' => {
446 'usage' => 'Core',
447 'required' => '1',
448 'min_ver' => '0.05'
450 'Data::ICal' => {
451 'usage' => 'Core',
452 'required' => '1',
453 'min_ver' => '0.13'
455 'MARC::Record' => {
456 'usage' => 'Core',
457 'required' => '1',
458 'min_ver' => '2.0.6'
460 'Locale::Currency::Format' => {
461 'usage' => 'Core',
462 'required' => '1',
463 'min_ver' => '1.28'
465 'Number::Format' => {
466 'usage' => 'Core',
467 'required' => '1',
468 'min_ver' => '1.52'
470 'YAML::Syck' => {
471 'usage' => 'Core',
472 'required' => '1',
473 'min_ver' => '0.71'
475 'Time::HiRes' => {
476 'usage' => 'Core',
477 'required' => '1',
478 'min_ver' => '1.86'
480 'MARC::File::XML' => {
481 'usage' => 'Core',
482 'required' => '1',
483 'min_ver' => '1.0.1'
485 'XML::SAX::Writer' => {
486 'usage' => 'Core',
487 'required' => '1',
488 'min_ver' => '0.44'
490 'JSON' => {
491 'usage' => 'Core',
492 'required' => '1',
493 'min_ver' => '2.07'
495 'YAML' => {
496 'usage' => 'Core',
497 'required' => '1',
498 'min_ver' => '0.71'
500 'UNIVERSAL::require' => {
501 'usage' => 'SipServer',
502 'required' => '0',
503 'min_ver' => '0.13',
505 'Net::Server' => {
506 'usage' => 'SipServer',
507 'required' => '0',
508 'min_ver' => '0.97',
510 'Business::ISBN' => {
511 'usage' => 'Core',
512 'required' => '1',
513 'min_ver' => '2.05',
515 'Template' => {
516 'usage' => 'Core',
517 'required' => '1',
518 'min_ver' => '2.22',
520 'Template::Plugin::Stash' => {
521 'usage' => 'Debugging',
522 'required' => '0',
523 'min_ver' => '1.006',
525 'Gravatar::URL' => {
526 'usage' => 'Photos in OPAC reviews',
527 'required' => '0',
528 'min_ver' => '1.03',
530 'Modern::Perl' => {
531 'usage' => 'Core',
532 'required' => '1',
533 'min_ver' => '1.03',
535 'DateTime::Format::ICal' => {
536 'usage' => 'Core',
537 'required' => '1',
538 'min_ver' => '0.09',
540 'Template::Plugin::HtmlToText' => {
541 'usage' => 'Core',
542 'required' => '1',
543 'min_ver' => '0.03',
545 'Template::Plugin::JSON::Escape' => {
546 'usage' => 'Core',
547 'required' => '1',
548 'min_ver' => '0.02',
550 'DBD::Mock' => {
551 'usage' => 'Core',
552 'required' => '1',
553 'min_ver' => '1.39'
555 'Test::MockObject' => {
556 'usage' => 'Core',
557 'required' => '0',
558 'min_ver' => '1.09',
560 'Test::MockModule' => {
561 'usage' => 'Core',
562 'required' => '1',
563 'min_ver' => '0.05',
565 'Test::Warn' => {
566 'usage' => 'Core',
567 'required' => '0',
568 'min_ver' => '0.21',
570 'Test::Strict' => {
571 'usage' => 'Core',
572 'required' => '0',
573 'min_ver' => '0.14',
575 'Test::Deep' => {
576 'usage' => 'Core',
577 'required' => '0',
578 'min_ver' => '0.106',
580 'Test::YAML::Valid' => {
581 'usage' => 'Core',
582 'required' => '0',
583 'min_ver' => '0.04',
585 'Text::Unaccent' => {
586 'usage' => 'Core',
587 'required' => '1',
588 'min_ver' => '1.08',
590 'HTML::FormatText' => {
591 'usage' => 'Core',
592 'required' => '1',
593 'min_ver' => '1.23',
595 'AnyEvent' => {
596 'usage' => 'Command line scripts',
597 'required' => '0',
598 'min_ver' => '5.0',
600 'AnyEvent::HTTP' => {
601 'usage' => 'Command line scripts',
602 'required' => '0',
603 'min_ver' => '2.13',
605 'Moo' => {
606 'usage' => 'Core',
607 'required' => '0',
608 'min_ver' => '1',
610 'String::Random' => {
611 'usage' => 'OpacSelfRegistration',
612 'required' => '1',
613 'min_ver' => '0.22',
615 'File::Temp' => {
616 'usage' => 'Plugins',
617 'required' => '0',
618 'min_ver' => '0.22',
620 'File::Copy' => {
621 'usage' => 'Plugins',
622 'required' => '0',
623 'min_ver' => '2.08',
625 'File::Path' => {
626 'usage' => 'Plugins',
627 'required' => '0',
628 'min_ver' => '2.07',
630 'Archive::Extract' => {
631 'usage' => 'Plugins',
632 'required' => '0',
633 'min_ver' => '0.60',
635 'Archive::Zip' => {
636 'usage' => 'Plugins',
637 'required' => '0',
638 'min_ver' => '1.30',
640 'Module::Load::Conditional' => {
641 'usage' => 'Plugins',
642 'required' => '0',
643 'min_ver' => '0.38',
645 'Module::Bundled::Files' => {
646 'usage' => 'Plugins',
647 'required' => '0',
648 'min_ver' => '0.03',
650 'Module::Pluggable' => {
651 'usage' => 'Plugins',
652 'required' => '0',
653 'min_ver' => '3.9',
655 'File::Slurp' => {
656 'usage' => 'Command line scripts',
657 'required' => '0',
658 'min_ver' => '9999.13',
660 'Test::WWW::Mechanize' => {
661 'usage' => 'Testing suite',
662 'required' => '0',
663 'min_ver' => '1.44',
665 'Library::CallNumber::LC' => {
666 'usage' => 'Core',
667 'required' => '1',
668 'min_ver' => '0.22',
670 'Crypt::Eksblowfish::Bcrypt' => {
671 'usage' => 'Password storage',
672 'required' => '1',
673 'min_ver' => '0.008',
675 'HTTPD::Bench::ApacheBench' => {
676 'usage' => 'Load testing',
677 'required' => '0',
678 'min_ver' => '0.73',
680 'Email::Valid' => {
681 'usage' => 'Core',
682 'required' => '1',
683 'min_ver' => '0.190',
685 'OpenOffice::OODoc' => {
686 usage => 'Export',
687 required => 1,
688 min_ver => '2.125',
690 'Locale::Maketext' => {
691 'usage' => 'Core',
692 'required' => '1',
693 'min_ver' => '1.19',
695 'Locale::Maketext::Lexicon' => {
696 'usage' => 'Core',
697 'required' => '1',
698 'min_ver' => '0.91',
700 'LWP::Protocol::https' => {
701 'usage' => 'OverDrive integration',
702 'required' => '0',
703 'min_ver' => '5.836',
705 'Test::DBIx::Class' => {
706 'usage' => 'Testing modules utilising DBIx::Class',
707 'required' => '0',
708 'min_ver' => '0.42',
710 'Text::Bidi' => {
711 'usage' => 'Label batch PDF',
712 'required' => '1',
713 'min_ver' => '0.03',
715 'SOAP::Lite' => {
716 'usage' => 'Norwegian national library card',
717 'required' => '0',
718 'min_ver' => '0.712',
720 'Crypt::GCrypt' => {
721 'usage' => 'Norwegian national library card',
722 'required' => '0',
723 'min_ver' => '1.24',
725 'Convert::BaseN' => {
726 'usage' => 'Norwegian national library card',
727 'required' => '0',
728 'min_ver' => '0.01',
730 'Digest::SHA' => {
731 'usage' => 'Norwegian national library card',
732 'required' => '0',
733 'min_ver' => '5.61',
735 'PDF::FromHTML' => {
736 'usage' => 'Discharge generation',
737 'required' => '0',
738 'min_ver' => '0.31',
740 'Devel::Cover' => {
741 'usage' => 'Test code coverage',
742 'required' => '0',
743 'min_ver' => '0.89',
745 'Log::Log4perl' => {
746 'usage' => 'Core',
747 'required' => '1',
748 'min_ver' => '1.29',
750 'XML::Writer' => {
751 'usage' => 'Command line scripts',
752 'required' => '0',
753 'min_ver' => '0.614',
755 'UUID' => {
756 'usage' => 'Professional cataloging interface',
757 'required' => '1',
758 'min_ver' => '0.05',
760 'Mojolicious' => {
761 'usage' => 'REST API',
762 'required' => '0',
763 'min_ver' => '6.0',
765 'Swagger2' => {
766 'usage' => 'REST API',
767 'required' => '0',
768 'min_ver' => '0.59',
770 'UNIVERSAL::can' => {
771 'usage' => 'SIP',
772 'required' => '1',
773 'min_ver' => '1.10',
775 'WWW::YouTube::Download' => {
776 'usage' => 'HTML5Media streaming from YouTube',
777 'required' => '0',
778 'min_ver' => '0.56',
780 'Net::SFTP::Foreign' => {
781 'usage' => 'Edifact',
782 'required' => '0',
783 'min_ver' => '1.73',
785 'Text::Unidecode' => {
786 'usage' => 'Edifact',
787 'required' => '0',
788 'min_ver' => '0.04',
790 'Time::Fake' => {
791 'usage' => 'Test code coverage',
792 'required' => '0',
793 'min_ver' => '0.11',
795 'DBIx::RunSQL' => {
796 'usage' => 'Load SQL files',
797 'required' => '1',
798 'min_ver' => '0.14',
800 'Lingua::Ispell' => {
801 'usage' => 'Enhanced Content - Tagging',
802 'required' => '0',
803 'min_ver' => '0.07'
805 'WWW::CSRF' => {
806 usage => 'Core',
807 required => 1,
808 min_ver => '1.00',
810 'Sereal' => {
811 'usage' => 'Caching',
812 'required' => '1',
813 'min_ver' => '3.0',
819 __END__
821 =head1 NAME
823 C4::Installer::PerlDependencies
825 =head1 ABSTRACT
827 A module for cataloging Koha Perl dependencies.
829 =head1 SYNOPSIS
831 This module's sole purpose for existence is to provide a single location to catalog all Koha Perl dependencies. New dependencies should be added to the
832 end of the outer hash and follow the key/value pattern used in the other dependencies.
834 =head2 Debian
836 If you change the list of dependencies, and you use Debian, please also
837 run the debian/update-control script and commit the modified version of
838 debian/control into git as well. If you're not running Debian, don't
839 worry about it.
841 =head1 AUTHOR
843 Chris Nighswonger <cnighswonger AT foundations DOT edu>
845 =head1 COPYRIGHT
847 Copyright 2010 Foundations Bible College.
849 =head1 LICENSE
851 This file is part of Koha.
853 Koha 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
854 Foundation; either version 2 of the License, or (at your option) any later version.
856 You should have received a copy of the GNU General Public License along with Koha; if not, write to the Free Software Foundation, Inc., 51 Franklin Street,
857 Fifth Floor, Boston, MA 02110-1301 USA.
859 =head1 DISCLAIMER OF WARRANTY
861 Koha is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
862 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
864 =cut