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