Bug 17898: Automagically convert SQL reports
[koha.git] / C4 / Installer / PerlDependencies.pm
blobc4f5409009053f859c09e324242f0b7becf04e8b
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 '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' => {
256 'usage' => 'Caching',
257 'required' => '0',
258 'min_ver' => '1.30'
260 'Cache::Memcached::Fast' => {
261 'usage' => 'Caching',
262 'required' => '0',
263 'min_ver' => '0.17'
265 'Cache::FastMmap' => {
266 'usage' => 'Caching',
267 'required' => '0',
268 'min_ver' => '1.34'
270 'Cache::Memory' => {
271 'usage' => 'Caching',
272 'required' => '0',
273 'min_ver' => '2.04'
275 'Net::LDAP::Filter' => {
276 'usage' => 'LDAP Interface Feature',
277 'required' => '0',
278 'min_ver' => '0.14'
280 'Text::CSV' => {
281 'usage' => 'Core',
282 'required' => '1',
283 'min_ver' => '0.01'
285 'PDF::Table' => {
286 'usage' => 'Core',
287 'required' => '1',
288 'min_ver' => '0.9.3'
290 'CGI' => {
291 'usage' => 'Core',
292 'required' => '1',
293 'min_ver' => '3.15'
295 'Class::Factory::Util' => {
296 'usage' => 'Core',
297 'required' => '1',
298 'min_ver' => '1.6'
300 'List::Util' => {
301 'usage' => 'Core',
302 'required' => '1',
303 'min_ver' => '1.18'
305 'Lingua::Stem::Snowball' => {
306 'usage' => 'Core',
307 'required' => '1',
308 'min_ver' => '0.952'
310 'Time::localtime' => {
311 'usage' => 'Core',
312 'required' => '1',
313 'min_ver' => '1.02'
315 'Digest::SHA' => {
316 'usage' => 'Core',
317 'required' => '1',
318 'min_ver' => '5.43'
320 'CGI::Session::Serialize::yaml' => {
321 'usage' => 'Core',
322 'required' => '1',
323 'min_ver' => '4.2'
325 'CGI::Carp' => {
326 'usage' => 'Core',
327 'required' => '1',
328 'min_ver' => '1.29'
330 'Getopt::Long' => {
331 'usage' => 'Core',
332 'required' => '1',
333 'min_ver' => '2.35'
335 'Term::ANSIColor' => {
336 'usage' => 'Core',
337 'required' => '1',
338 'min_ver' => '1.1'
340 'Getopt::Std' => {
341 'usage' => 'Core',
342 'required' => '1',
343 'min_ver' => '1.05'
345 'Data::Dumper' => {
346 'usage' => 'Core',
347 'required' => '1',
348 'min_ver' => '2.121'
350 'Lingua::Stem' => {
351 'usage' => 'Core',
352 'required' => '1',
353 'min_ver' => '0.82'
355 'MIME::QuotedPrint' => {
356 'usage' => 'Core',
357 'required' => '1',
358 'min_ver' => '3.07'
360 'IPC::Cmd' => {
361 'usage' => 'Core',
362 'required' => '1',
363 'min_ver' => '0.46'
365 'HTTP::Cookies' => {
366 'usage' => 'Core',
367 'required' => '1',
368 'min_ver' => '1.39'
370 'HTTP::Request::Common' => {
371 'usage' => 'Core',
372 'required' => '1',
373 'min_ver' => '1.26'
375 'PDF::Reuse::Barcode' => {
376 'usage' => 'Core',
377 'required' => '1',
378 'min_ver' => '0.05'
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 'Business::ISSN' => {
516 'usage' => 'Core',
517 'required' => '1',
518 'min_ver' => '0.91',
520 'Template' => {
521 'usage' => 'Core',
522 'required' => '1',
523 'min_ver' => '2.22',
525 'Template::Plugin::Stash' => {
526 'usage' => 'Debugging',
527 'required' => '0',
528 'min_ver' => '1.006',
530 'Gravatar::URL' => {
531 'usage' => 'Photos in OPAC reviews',
532 'required' => '0',
533 'min_ver' => '1.03',
535 'Modern::Perl' => {
536 'usage' => 'Core',
537 'required' => '1',
538 'min_ver' => '1.03',
540 'DateTime::Format::ICal' => {
541 'usage' => 'Core',
542 'required' => '1',
543 'min_ver' => '0.09',
545 'Template::Plugin::HtmlToText' => {
546 'usage' => 'Core',
547 'required' => '1',
548 'min_ver' => '0.03',
550 'Template::Plugin::JSON::Escape' => {
551 'usage' => 'Core',
552 'required' => '1',
553 'min_ver' => '0.02',
555 'DBD::Mock' => {
556 'usage' => 'Core',
557 'required' => '1',
558 'min_ver' => '1.39'
560 'Text::Bidi' => {
561 'usage' => 'Label batch PDF',
562 'required' => '1',
563 'min_ver' => '0.03',
565 'Test::DBIx::Class' => {
566 'usage' => 'Testing modules utilising DBIx::Class',
567 'required' => '0',
568 'min_ver' => '0.42',
570 'Test::Deep' => {
571 'usage' => 'Core',
572 'required' => '0',
573 'min_ver' => '0.106',
575 'Test::Exception' => {
576 'usage' => 'Core',
577 'required' => '0',
578 'min_ver' => '0.35',
580 'Test::Harness' => {
581 'usage' => 'Core',
582 'required' => '1',
583 'min_ver' => '2.56'
585 'Test::MockModule' => {
586 'usage' => 'Core',
587 'required' => '1',
588 'min_ver' => '0.05',
590 'Test::MockObject' => {
591 'usage' => 'Core',
592 'required' => '0',
593 'min_ver' => '1.09',
595 'Test::More' => {
596 'usage' => 'Core',
597 'required' => '1',
598 'min_ver' => '0.8'
600 'Test::Strict' => {
601 'usage' => 'Core',
602 'required' => '0',
603 'min_ver' => '0.14',
605 'Test::Warn' => {
606 'usage' => 'Core',
607 'required' => '0',
608 'min_ver' => '0.21',
610 'Test::YAML::Valid' => {
611 'usage' => 'Core',
612 'required' => '0',
613 'min_ver' => '0.04',
615 'Text::Unaccent' => {
616 'usage' => 'Core',
617 'required' => '1',
618 'min_ver' => '1.08',
620 'Test::WWW::Mechanize' => {
621 'usage' => 'Testing suite',
622 'required' => '0',
623 'min_ver' => '1.42',
625 'HTML::FormatText' => {
626 'usage' => 'Core',
627 'required' => '1',
628 'min_ver' => '1.23',
630 'AnyEvent' => {
631 'usage' => 'Command line scripts',
632 'required' => '0',
633 'min_ver' => '5.0',
635 'AnyEvent::HTTP' => {
636 'usage' => 'Command line scripts',
637 'required' => '0',
638 'min_ver' => '2.13',
640 'Moo' => {
641 'usage' => 'Core',
642 'required' => '0',
643 'min_ver' => '1',
645 'String::Random' => {
646 'usage' => 'OpacSelfRegistration',
647 'required' => '1',
648 'min_ver' => '0.22',
650 'File::Temp' => {
651 'usage' => 'Plugins',
652 'required' => '0',
653 'min_ver' => '0.22',
655 'File::Copy' => {
656 'usage' => 'Plugins',
657 'required' => '0',
658 'min_ver' => '2.08',
660 'File::Path' => {
661 'usage' => 'Plugins',
662 'required' => '0',
663 'min_ver' => '2.07',
665 'Archive::Extract' => {
666 'usage' => 'Plugins',
667 'required' => '0',
668 'min_ver' => '0.60',
670 'Archive::Zip' => {
671 'usage' => 'Plugins',
672 'required' => '0',
673 'min_ver' => '1.30',
675 'Module::Load::Conditional' => {
676 'usage' => 'Plugins',
677 'required' => '0',
678 'min_ver' => '0.38',
680 'Module::Bundled::Files' => {
681 'usage' => 'Plugins',
682 'required' => '0',
683 'min_ver' => '0.03',
685 'Module::Pluggable' => {
686 'usage' => 'Plugins',
687 'required' => '0',
688 'min_ver' => '3.9',
690 'File::Slurp' => {
691 'usage' => 'Core',
692 'required' => '1',
693 'min_ver' => '9999.13',
695 'Library::CallNumber::LC' => {
696 'usage' => 'Core',
697 'required' => '1',
698 'min_ver' => '0.22',
700 'Crypt::Eksblowfish::Bcrypt' => {
701 'usage' => 'Password storage',
702 'required' => '1',
703 'min_ver' => '0.008',
705 'HTTPD::Bench::ApacheBench' => {
706 'usage' => 'Load testing',
707 'required' => '0',
708 'min_ver' => '0.73',
710 'Email::Valid' => {
711 'usage' => 'Core',
712 'required' => '1',
713 'min_ver' => '0.190',
715 'OpenOffice::OODoc' => {
716 usage => 'Export',
717 required => 1,
718 min_ver => '2.125',
720 'Locale::Maketext' => {
721 'usage' => 'Core',
722 'required' => '1',
723 'min_ver' => '1.19',
725 'Locale::Maketext::Lexicon' => {
726 'usage' => 'Core',
727 'required' => '1',
728 'min_ver' => '0.91',
730 'LWP::Protocol::https' => {
731 'usage' => 'OverDrive integration',
732 'required' => '0',
733 'min_ver' => '5.836',
735 'SOAP::Lite' => {
736 'usage' => 'Norwegian national library card',
737 'required' => '0',
738 'min_ver' => '0.712',
740 'Crypt::GCrypt' => {
741 'usage' => 'Norwegian national library card',
742 'required' => '0',
743 'min_ver' => '1.24',
745 'Convert::BaseN' => {
746 'usage' => 'Norwegian national library card',
747 'required' => '0',
748 'min_ver' => '0.01',
750 'Digest::SHA' => {
751 'usage' => 'Norwegian national library card',
752 'required' => '0',
753 'min_ver' => '5.61',
755 'PDF::FromHTML' => {
756 'usage' => 'Discharge generation',
757 'required' => '0',
758 'min_ver' => '0.31',
760 'Devel::Cover' => {
761 'usage' => 'Test code coverage',
762 'required' => '0',
763 'min_ver' => '0.89',
765 'Log::Log4perl' => {
766 'usage' => 'Core',
767 'required' => '1',
768 'min_ver' => '1.29',
770 'XML::Writer' => {
771 'usage' => 'Command line scripts',
772 'required' => '0',
773 'min_ver' => '0.614',
775 'UUID' => {
776 'usage' => 'Professional cataloging interface',
777 'required' => '1',
778 'min_ver' => '0.05',
780 'Mojolicious' => {
781 'usage' => 'REST API',
782 'required' => '1',
783 'min_ver' => '6.0',
785 'Swagger2' => {
786 'usage' => 'REST API',
787 'required' => '1',
788 'min_ver' => '0.59',
790 'UNIVERSAL::can' => {
791 'usage' => 'SIP',
792 'required' => '1',
793 'min_ver' => '1.10',
795 'WWW::YouTube::Download' => {
796 'usage' => 'HTML5Media streaming from YouTube',
797 'required' => '0',
798 'min_ver' => '0.56',
800 'Net::SFTP::Foreign' => {
801 'usage' => 'Edifact',
802 'required' => '0',
803 'min_ver' => '1.73',
805 'Text::Unidecode' => {
806 'usage' => 'Edifact',
807 'required' => '0',
808 'min_ver' => '0.04',
810 'Time::Fake' => {
811 'usage' => 'Test code coverage',
812 'required' => '0',
813 'min_ver' => '0.11',
815 'DBIx::RunSQL' => {
816 'usage' => 'Load SQL files',
817 'required' => '1',
818 'min_ver' => '0.14',
820 'Lingua::Ispell' => {
821 'usage' => 'Enhanced Content - Tagging',
822 'required' => '0',
823 'min_ver' => '0.07'
825 'WWW::CSRF' => {
826 usage => 'Core',
827 required => 1,
828 min_ver => '1.00',
830 'Sereal::Encoder' => {
831 'usage' => 'Caching',
832 'required' => '1',
833 'min_ver' => '3.0',
835 'Sereal::Decoder' => {
836 'usage' => 'Caching',
837 'required' => '1',
838 'min_ver' => '3.0',
840 'HTML::Entities' => {
841 usage => 'Core',
842 required => 1,
843 min_ver => '3.69', # same for Wheezy/Jessie
845 'Readonly' => {
846 'usage' => 'Make script happy',
847 'required' => '0',
848 'min_ver' => '0.01'
850 'Readonly::XS' => {
851 'usage' => 'Make script happy',
852 'required' => '0',
853 'min_ver' => '0.01'
855 'Bytes::Random::Secure' => {
856 usage => 'Core',
857 required => 1,
858 min_ver => '0.28',
860 'WebService::ILS' => {
861 'usage' => 'Interface third party systems',
862 'required' => '0',
863 'min_ver' => '0.07',
869 __END__
871 =head1 NAME
873 C4::Installer::PerlDependencies
875 =head1 ABSTRACT
877 A module for cataloging Koha Perl dependencies.
879 =head1 SYNOPSIS
881 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
882 end of the outer hash and follow the key/value pattern used in the other dependencies.
884 =head2 Debian
886 If you change the list of dependencies, and you use Debian, please also
887 run the debian/update-control script and commit the modified version of
888 debian/control into git as well. If you're not running Debian, don't
889 worry about it.
891 =head1 AUTHOR
893 Chris Nighswonger <cnighswonger AT foundations DOT edu>
895 =head1 COPYRIGHT
897 Copyright 2010 Foundations Bible College.
899 =head1 LICENSE
901 This file is part of Koha.
903 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
904 Foundation; either version 2 of the License, or (at your option) any later version.
906 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,
907 Fifth Floor, Boston, MA 02110-1301 USA.
909 =head1 DISCLAIMER OF WARRANTY
911 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
912 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
914 =cut