bf8599162b15275e183752851b857a4588d04329
[koha.git] / C4 / Installer / PerlDependencies.pm
1 package C4::Installer::PerlDependencies;
2
3 use warnings;
4 use strict;
5
6 our $PERL_DEPS = {
7     'Try::Tiny' => {
8         'usage'    => 'Core',
9         'required' => '1',
10         'min_ver'  => '0.22'
11     },
12     'Plack::Middleware::ReverseProxy' => {
13         'usage'    => 'Plack',
14         'required' => '1',
15         'min_ver'  => '0.14'
16     },
17     'XML::LibXSLT' => {
18         'usage'    => 'Core',
19         'required' => '1',
20         'min_ver'  => '1.59'
21     },
22     'Text::CSV::Encoded' => {
23         'usage'    => 'Core',
24         'required' => '1',
25         'min_ver'  => '0.09'
26     },
27     'Storable' => {
28         'usage'    => 'Core',
29         'required' => '1',
30         'min_ver'  => '2.20'
31     },
32     'PDF::API2' => {
33         'usage'    => 'Core',
34         'required' => '1',
35         'min_ver'  => '2'
36     },
37     'Text::CSV_XS' => {
38         'usage'    => 'Core',
39         'required' => '1',
40         'min_ver'  => '0.32'
41     },
42     'Schedule::At' => {
43         'usage'    => 'Core',
44         'required' => '1',
45         'min_ver'  => '1.06'
46     },
47     'MIME::Lite' => {
48         'usage'    => 'Core',
49         'required' => '1',
50         'min_ver'  => '3'
51     },
52     'GD' => {
53         'usage'    => 'Patron Images Feature',
54         'required' => '0',
55         'min_ver'  => '2.39'
56     },
57     'List::MoreUtils' => {
58         'usage'    => 'Core',
59         'required' => '1',
60         'min_ver'  => '0.21'
61     },
62     'DBI' => {
63         'usage'    => 'Core',
64         'required' => '1',
65         'min_ver'  => '1.53'
66     },
67     'DBIx::Class::Schema::Loader' => {
68         'usage'    => 'Core',
69         'required' => '1',
70         'min_ver'  => '0.07039'
71     },
72     'Net::Z3950::ZOOM' => {
73         'usage'    => 'Core',
74         'required' => '1',
75         'min_ver'  => '1.16'
76     },
77     'Biblio::EndnoteStyle' => {
78         'usage'    => 'Core',
79         'required' => '1',
80         'min_ver'  => '0.05'
81     },
82     'Date::Calc' => {
83         'usage'    => 'Core',
84         'required' => '1',
85         'min_ver'  => '5.4'
86     },
87     'Mail::Sendmail' => {
88         'usage'    => 'Core',
89         'required' => '1',
90         'min_ver'  => '0.79'
91     },
92     'DBD::mysql' => {
93         'usage'    => 'Core',
94         'required' => '1',
95         'min_ver'  => '4.004'
96     },
97     'XML::LibXML' => {
98         'usage'    => 'Core',
99         'required' => '1',
100         'min_ver'  => '1.59'
101     },
102     'Email::Date' => {
103         'usage'    => 'Core',
104         'required' => '1',
105         'min_ver'  => '1.103'
106     },
107     'Exception::Class' => {
108         'usage'    => 'Core',
109         'required' => '1.38',
110         'min_ver'  => '1.38'
111     },
112     'HTML::Scrubber' => {
113         'usage'    => 'Core',
114         'required' => '1',
115         'min_ver'  => '0.08'
116     },
117     'XML::Dumper' => {
118         'usage'    => 'Core',
119         'required' => '1',
120         'min_ver'  => '0.81'
121     },
122     'URI::Escape' => {
123         'usage'    => 'Core',
124         'required' => '1',
125         'min_ver'  => '3.31'
126     },
127     'Unicode::Normalize' => {
128         'usage'    => 'Core',
129         'required' => '1',
130         'min_ver'  => '0.32'
131     },
132     'Text::Wrap' => {
133         'usage'    => 'Core',
134         'required' => '1',
135         'min_ver'  => '2005.082401'
136     },
137     'Test' => {
138         'usage'    => 'Core',
139         'required' => '1',
140         'min_ver'  => '1.25'
141     },
142     'Locale::PO' => {
143         'usage'    => 'Core',
144         'required' => '1',
145         'min_ver'  => '0.17'
146     },
147     'LWP::Simple' => {
148         'usage'    => 'Core',
149         'required' => '1',
150         'min_ver'  => '1.41'
151     },
152     'DBD::SQLite2' => {
153         'usage'    => 'Offline Circulation Feature',
154         'required' => '0',
155         'min_ver'  => '0.33'
156     },
157     'SMS::Send' => {
158         'usage'    => 'SMS Messaging Feature',
159         'required' => '0',
160         'min_ver'  => '0.05'
161     },
162     'XML::SAX::ParserFactory' => {
163         'usage'    => 'Core',
164         'required' => '1',
165         'min_ver'  => '1.01'
166     },
167     'PDF::API2::Util' => {
168         'usage'    => 'Core',
169         'required' => '1',
170         'min_ver'  => '2'
171     },
172     'Class::Accessor' => {
173         'usage'    => 'Core',
174         'required' => '1',
175         'min_ver'  => '0.3'
176     },
177     'HTTP::OAI' => {
178         'usage'    => 'Core',
179         'required' => '1',
180         'min_ver'  => '3.2'
181     },
182     'LWP::UserAgent' => {
183         'usage'    => 'Core',
184         'required' => '1',
185         'min_ver'  => '2.033'
186     },
187     'MIME::Base64' => {
188         'usage'    => 'Core',
189         'required' => '1',
190         'min_ver'  => '3.07'
191     },
192     'Algorithm::CheckDigits' => {
193         'usage'    => 'Core',
194         'required' => '1',
195         'min_ver'  => '0.5'
196     },
197     'Net::LDAP' => {
198         'usage'    => 'LDAP Interface Feature',
199         'required' => '0',
200         'min_ver'  => '0.33'
201     },
202     'PDF::Reuse' => {
203         'usage'    => 'Core',
204         'required' => '1',
205         'min_ver'  => '0.36'
206     },
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.
213     },
214     'Font::TTF' => {
215         'usage'    => 'Core',
216         'required' => '1',
217         'min_ver'  => '0.45',
218         # Also needed for our use of PDF::Reuse
219     },
220     'DateTime' => {
221         'usage'    => 'Core',
222         'required' => '1',
223         'min_ver'  => '0.58'
224     },
225     'DateTime::TimeZone' => {
226         'usage'    => 'Core',
227         'required' => '1',
228         'min_ver'  => '1.20'
229     },
230     'DateTime::Format::MySQL' => {
231         'usage'    => 'Core',
232         'required' => '1',
233         'min_ver'  => '0.04'
234     },
235     'DateTime::Set' => {
236         'usage'    => 'Core',
237         'required' => '1',
238         'min_ver'  => '0.28'
239     },
240     'DateTime::Event::ICal' => {
241         'usage'    => 'Core',
242         'required' => '1',
243         'min_ver'  => '0.08'
244     },
245     'Graphics::Magick' => {
246         'usage'    => 'Patron Card Creator Feature',
247         'required' => '0',
248         'min_ver'  => '1.3.05'
249     },
250     'MARC::Charset' => {
251         'usage'    => 'Core',
252         'required' => '1',
253         'min_ver'  => '0.98'
254     },
255     'Cache::Memcached' => {
256         'usage'    => 'Caching',
257         'required' => '1',
258         'min_ver'  => '1.30'
259     },
260     'Cache::Memcached::Fast' => {
261         'usage'    => 'Caching',
262         'required' => '0',
263         'min_ver'  => '0.17'
264     },
265     'Cache::FastMmap' => {
266         'usage'    => 'Caching',
267         'required' => '0',
268         'min_ver'  => '1.34'
269     },
270     'Cache::Memory' => {
271         'usage'    => 'Caching',
272         'required' => '0',
273         'min_ver'  => '2.04'
274     },
275     'Net::LDAP::Filter' => {
276         'usage'    => 'LDAP Interface Feature',
277         'required' => '0',
278         'min_ver'  => '0.14'
279     },
280     'Text::CSV' => {
281         'usage'    => 'Core',
282         'required' => '1',
283         'min_ver'  => '0.01'
284     },
285     'PDF::Table' => {
286         'usage'    => 'Core',
287         'required' => '1',
288         'min_ver'  => '0.9.3'
289     },
290     'CGI' => {
291         'usage'    => 'Core',
292         'required' => '1',
293         'min_ver'  => '3.15'
294     },
295     'Class::Factory::Util' => {
296         'usage'    => 'Core',
297         'required' => '1',
298         'min_ver'  => '1.6'
299     },
300     'List::Util' => {
301         'usage'    => 'Core',
302         'required' => '1',
303         'min_ver'  => '1.18'
304     },
305     'Lingua::Stem::Snowball' => {
306         'usage'    => 'Core',
307         'required' => '1',
308         'min_ver'  => '0.952'
309     },
310     'Time::localtime' => {
311         'usage'    => 'Core',
312         'required' => '1',
313         'min_ver'  => '1.02'
314     },
315     'Digest::SHA' => {
316         'usage'    => 'Core',
317         'required' => '1',
318         'min_ver'  => '5.43'
319     },
320     'CGI::Session::Serialize::yaml' => {
321         'usage'    => 'Core',
322         'required' => '1',
323         'min_ver'  => '4.2'
324     },
325     'CGI::Carp' => {
326         'usage'    => 'Core',
327         'required' => '1',
328         'min_ver'  => '1.29'
329     },
330     'Getopt::Long' => {
331         'usage'    => 'Core',
332         'required' => '1',
333         'min_ver'  => '2.35'
334     },
335     'Term::ANSIColor' => {
336         'usage'    => 'Core',
337         'required' => '1',
338         'min_ver'  => '1.1'
339     },
340     'Getopt::Std' => {
341         'usage'    => 'Core',
342         'required' => '1',
343         'min_ver'  => '1.05'
344     },
345     'Data::Dumper' => {
346         'usage'    => 'Core',
347         'required' => '1',
348         'min_ver'  => '2.121'
349     },
350     'Lingua::Stem' => {
351         'usage'    => 'Core',
352         'required' => '1',
353         'min_ver'  => '0.82'
354     },
355     'MIME::QuotedPrint' => {
356         'usage'    => 'Core',
357         'required' => '1',
358         'min_ver'  => '3.07'
359     },
360     'IPC::Cmd' => {
361         'usage'    => 'Core',
362         'required' => '1',
363         'min_ver'  => '0.46'
364     },
365     'HTTP::Cookies' => {
366         'usage'    => 'Core',
367         'required' => '1',
368         'min_ver'  => '1.39'
369     },
370     'HTTP::Request::Common' => {
371         'usage'    => 'Core',
372         'required' => '1',
373         'min_ver'  => '1.26'
374     },
375     'PDF::Reuse::Barcode' => {
376         'usage'    => 'Core',
377         'required' => '1',
378         'min_ver'  => '0.05'
379     },
380     'GD::Barcode::UPCE' => {
381         'usage'    => 'Core',
382         'required' => '1',
383         'min_ver'  => '1.1'
384     },
385     'Text::Iconv' => {
386         'usage'    => 'Core',
387         'required' => '1',
388         'min_ver'  => '1.7'
389     },
390     'File::Temp' => {
391         'usage'    => 'Core',
392         'required' => '1',
393         'min_ver'  => '0.16'
394     },
395     'Date::Manip' => {
396         'usage'    => 'Core',
397         'required' => '1',
398         'min_ver'  => '5.44'
399     },
400     'Locale::Language' => {
401         'usage'    => 'Core',
402         'required' => '1',
403         'min_ver'  => '2.07'
404     },
405     'PDF::API2::Simple' => {
406         'usage'    => 'Core',
407         'required' => '1',
408         'min_ver'  => '1'
409     },
410     'XML::RSS' => {
411         'usage'    => 'Core',
412         'required' => '1',
413         'min_ver'  => '1.31'
414     },
415     'XML::Simple' => {
416         'usage'    => 'Core',
417         'required' => '1',
418         'min_ver'  => '2.14'
419     },
420     'PDF::API2::Page' => {
421         'usage'    => 'Core',
422         'required' => '1',
423         'min_ver'  => '2'
424     },
425     'CGI::Session' => {
426         'usage'    => 'Core',
427         'required' => '1',
428         'min_ver'  => '4.2'
429     },
430     'CGI::Session::Driver::memcached' => {
431         'usage'    => 'Memcached Feature (Experimental)',
432         'required' => '0',
433         'min_ver'  => '0.04',
434     },
435     'POSIX' => {
436         'usage'    => 'Core',
437         'required' => '1',
438         'min_ver'  => '1.09'
439     },
440     'Digest::MD5' => {
441         'usage'    => 'Core',
442         'required' => '1',
443         'min_ver'  => '2.36'
444     },
445     'Authen::CAS::Client' => {
446         'usage'    => 'Core',
447         'required' => '1',
448         'min_ver'  => '0.05'
449     },
450     'Data::ICal' => {
451         'usage'    => 'Core',
452         'required' => '1',
453         'min_ver'  => '0.13'
454     },
455     'MARC::Record' => {
456         'usage'    => 'Core',
457         'required' => '1',
458         'min_ver'  => '2.0.6'
459     },
460     'Locale::Currency::Format' => {
461         'usage'    => 'Core',
462         'required' => '1',
463         'min_ver'  => '1.28'
464     },
465     'Number::Format' => {
466         'usage'    => 'Core',
467         'required' => '1',
468         'min_ver'  => '1.52'
469     },
470     'YAML::Syck' => {
471         'usage'    => 'Core',
472         'required' => '1',
473         'min_ver'  => '0.71'
474     },
475     'Time::HiRes' => {
476         'usage'    => 'Core',
477         'required' => '1',
478         'min_ver'  => '1.86'
479     },
480     'MARC::File::XML' => {
481         'usage'    => 'Core',
482         'required' => '1',
483         'min_ver'  => '1.0.1'
484     },
485     'XML::SAX::Writer' => {
486         'usage'    => 'Core',
487         'required' => '1',
488         'min_ver'  => '0.44'
489     },
490     'JSON' => {
491         'usage'    => 'Core',
492         'required' => '1',
493         'min_ver'  => '2.07'
494     },
495     'YAML' => {
496         'usage'    => 'Core',
497         'required' => '1',
498         'min_ver'  => '0.71'
499     },
500     'UNIVERSAL::require' => {
501         'usage'    => 'SipServer',
502         'required' => '0',
503         'min_ver'  => '0.13',
504     },
505     'Net::Server' => {
506         'usage'    => 'SipServer',
507         'required' => '0',
508         'min_ver'  => '0.97',
509     },
510     'Business::ISBN' => {
511         'usage'    => 'Core',
512         'required' => '1',
513         'min_ver'  => '2.05',
514     },
515     'Business::ISSN' => {
516         'usage'    => 'Core',
517         'required' => '1',
518         'min_ver'  => '0.91',
519     },
520     'Template' => {
521         'usage'    => 'Core',
522         'required' => '1',
523         'min_ver'  => '2.22',
524       },
525     'Template::Plugin::Stash' => {
526         'usage'    => 'Debugging',
527         'required' => '0',
528         'min_ver'  => '1.006',
529       },
530     'Gravatar::URL' => {
531         'usage'    => 'Photos in OPAC reviews',
532         'required' => '0',
533         'min_ver'  => '1.03',
534     },
535     'Modern::Perl' => {
536         'usage'    => 'Core',
537         'required' => '1',
538         'min_ver'  => '1.03',
539     },
540     'DateTime::Format::ICal' => {
541         'usage'    => 'Core',
542         'required' => '1',
543         'min_ver'  => '0.09',
544     },
545     'Template::Plugin::HtmlToText' => {
546         'usage'    => 'Core',
547         'required' => '1',
548         'min_ver'  => '0.03',
549     },
550     'Template::Plugin::JSON::Escape' => {
551         'usage'    => 'Core',
552         'required' => '1',
553         'min_ver'  => '0.02',
554     },
555     'DBD::Mock' => {
556         'usage'    => 'Core',
557         'required' => '1',
558         'min_ver'  => '1.39'
559     },
560     'Text::Bidi'   => {
561         'usage'    => 'Label batch PDF',
562         'required' => '1',
563         'min_ver'  => '0.03',
564     },
565     'Test::DBIx::Class' => {
566         'usage'    => 'Testing modules utilising DBIx::Class',
567         'required' => '0',
568         'min_ver'  => '0.42',
569     },
570     'Test::Deep' => {
571         'usage'    => 'Core',
572         'required' => '0',
573         'min_ver'  => '0.106',
574     },
575     'Test::Exception' => {
576         'usage'    => 'Core',
577         'required' => '0',
578         'min_ver'  => '0.35',
579     },
580     'Test::Harness' => {
581         'usage'    => 'Core',
582         'required' => '1',
583         'min_ver'  => '2.56'
584     },
585     'Test::MockModule' => {
586         'usage'    => 'Core',
587         'required' => '1',
588         'min_ver'  => '0.05',
589     },
590     'Test::MockObject' => {
591         'usage'    => 'Core',
592         'required' => '0',
593         'min_ver'  => '1.09',
594     },
595     'Test::MockTime' => {
596         usage      => 'Testing suite',
597         required   => 0,
598         min_ver    => '0.13',
599     },
600     'Test::More' => {
601         'usage'    => 'Core',
602         'required' => '1',
603         'min_ver'  => '1.302073'
604     },
605     'Test::Strict' => {
606         'usage'    => 'Core',
607         'required' => '0',
608         'min_ver'  => '0.14',
609     },
610     'Test::Warn' => {
611         'usage'    => 'Core',
612         'required' => '0',
613         'min_ver'  => '0.21',
614     },
615     'Test::YAML::Valid' => {
616         'usage'    => 'Core',
617         'required' => '0',
618         'min_ver'  => '0.04',
619     },
620     'Text::CSV::Unicode' => {
621         usage      => 'Testing suite',
622         required   => 0,
623         min_ver    => '0.40'
624     },
625     'Text::Unaccent' => {
626         'usage'    => 'Core',
627         'required' => '1',
628         'min_ver'  => '1.08',
629     },
630     'Test::WWW::Mechanize' => {
631         'usage'    => 'Testing suite',
632         'required' => '0',
633         'min_ver'  => '1.42',
634     },
635     'HTML::FormatText' => {
636         'usage'    => 'Core',
637         'required' => '1',
638         'min_ver'  => '1.23',
639     },
640     'AnyEvent' => {
641         'usage'    => 'Command line scripts',
642         'required' => '0',
643         'min_ver'  => '5.0',
644     },
645     'AnyEvent::HTTP' => {
646         'usage'    => 'Command line scripts',
647         'required' => '0',
648         'min_ver'  => '2.13',
649     },
650     'Moo' => {
651         'usage'    => 'Core',
652         'required' => '0',
653         'min_ver'  => '1',
654     },
655     'String::Random' => {
656         'usage'    => 'OpacSelfRegistration',
657         'required' => '1',
658         'min_ver'  => '0.22',
659     },
660     'File::Temp' => {
661         'usage'    => 'Plugins',
662         'required' => '0',
663         'min_ver'  => '0.22',
664     },
665     'File::Copy' => {
666         'usage'    => 'Plugins',
667         'required' => '0',
668         'min_ver'  => '2.08',
669     },
670     'File::Path' => {
671         'usage'    => 'Plugins',
672         'required' => '0',
673         'min_ver'  => '2.07',
674     },
675     'Archive::Extract' => {
676         'usage'    => 'Plugins',
677         'required' => '0',
678         'min_ver'  => '0.60',
679     },
680     'Archive::Zip' => {
681         'usage'    => 'Plugins',
682         'required' => '0',
683         'min_ver'  => '1.30',
684     },
685     'Module::Load::Conditional' => {
686         'usage'    => 'Plugins',
687         'required' => '0',
688         'min_ver'  => '0.38',
689     },
690     'Module::Bundled::Files' => {
691         'usage'    => 'Plugins',
692         'required' => '0',
693         'min_ver'  => '0.03',
694     },
695     'Module::Pluggable' => {
696         'usage'    => 'Plugins',
697         'required' => '0',
698         'min_ver'  => '3.9',
699     },
700     'File::Slurp' => {
701         'usage'    => 'Core',
702         'required' => '1',
703         'min_ver'  => '9999.13',
704     },
705     'Library::CallNumber::LC' => {
706         'usage'    => 'Core',
707         'required' => '1',
708         'min_ver'  => '0.22',
709     },
710     'Crypt::Eksblowfish::Bcrypt' => {
711         'usage'    => 'Password storage',
712         'required' => '1',
713         'min_ver'  => '0.008',
714     },
715     'HTTPD::Bench::ApacheBench' => {
716         'usage'    => 'Load testing',
717         'required' => '0',
718         'min_ver'  => '0.73',
719     },
720     'Email::Valid' => {
721         'usage'    => 'Core',
722         'required' => '1',
723         'min_ver'  => '0.190',
724     },
725     'OpenOffice::OODoc' => {
726         usage      => 'Export',
727         required   => 1,
728         min_ver    => '2.125',
729     },
730     'Locale::Maketext' => {
731         'usage'    => 'Core',
732         'required' => '1',
733         'min_ver'  => '1.19',
734     },
735     'Locale::Maketext::Lexicon' => {
736         'usage'    => 'Core',
737         'required' => '1',
738         'min_ver'  => '0.91',
739     },
740     'LWP::Protocol::https' => {
741         'usage'    => 'OverDrive integration',
742         'required' => '0',
743         'min_ver'  => '5.836',
744     },
745     'PDF::FromHTML' => {
746         'usage'    => 'Discharge generation',
747         'required' => '0',
748         'min_ver'  => '0.31',
749     },
750     'Devel::Cover' => {
751         'usage'    => 'Test code coverage',
752         'required' => '0',
753         'min_ver'  => '0.89',
754     },
755     'Log::Log4perl' => {
756         'usage'    => 'Core',
757         'required' => '1',
758         'min_ver'  => '1.29',
759     },
760     'XML::Writer' => {
761         'usage'    => 'Command line scripts',
762         'required' => '0',
763         'min_ver'  => '0.614',
764     },
765     'UUID' => {
766         'usage'    => 'Professional cataloging interface',
767         'required' => '1',
768         'min_ver'  => '0.05',
769     },
770     'Mojolicious' => {
771         'usage'    => 'REST API',
772         'required' => '1',
773         'min_ver'  => '7.21',
774     },
775     'Mojolicious::Plugin::OpenAPI' => {
776         'usage'    => 'REST API',
777         'required' => '1',
778         'min_ver'  => '1.15',
779     },
780     'JSON::Validator' => {
781         'usage'    => 'REST API',
782         'required' => '1',
783         'min_ver'  => '0.97',
784     },
785     'UNIVERSAL::can' => {
786         'usage'    => 'SIP',
787         'required' => '1',
788         'min_ver'  => '1.10',
789     },
790     'WWW::YouTube::Download' => {
791         'usage'    => 'HTML5Media streaming from YouTube',
792         'required' => '0',
793         'min_ver'  => '0.56',
794     },
795     'Net::SFTP::Foreign' => {
796         'usage'    => 'Edifact',
797         'required' => '0',
798         'min_ver'  => '1.73',
799     },
800     'Text::Unidecode' => {
801         'usage'    => 'Edifact',
802         'required' => '0',
803         'min_ver'  => '0.04',
804     },
805     'Time::Fake'   => {
806         'usage'    => 'Test code coverage',
807         'required' => '0',
808         'min_ver'  => '0.11',
809     },
810     'DBIx::RunSQL' => {
811         'usage'    => 'Load SQL files',
812         'required' => '1',
813         'min_ver'  => '0.14',
814     },
815     'Lingua::Ispell' => {
816         'usage'    => 'Enhanced Content - Tagging',
817         'required' => '0',
818         'min_ver'  => '0.07'
819     },
820     'WWW::CSRF' => {
821         usage => 'Core',
822         required => 1,
823         min_ver => '1.00',
824     },
825     'Selenium::Remote::Driver' => {
826         usage    => 'Testing suite',
827         required => 0,
828         min_ver  => '1.27'
829     },
830     'Sereal::Encoder' => {
831         'usage'    => 'Caching',
832         'required' => '1',
833         'min_ver'  => '3.0',
834     },
835     'Sereal::Decoder' => {
836         'usage'    => 'Caching',
837         'required' => '1',
838         'min_ver'  => '3.0',
839     },
840     'HTML::Entities' => {
841         usage => 'Core',
842         required => 1,
843         min_ver => '3.69', # same for Wheezy/Jessie
844     },
845     'Readonly' => {
846         'usage'    => 'Make script happy',
847         'required' => '0',
848         'min_ver'  => '0.01'
849     },
850     'Readonly::XS' => {
851         'usage'    => 'Make script happy',
852         'required' => '0',
853         'min_ver'  => '0.01'
854     },
855     'Bytes::Random::Secure' => {
856         usage => 'Core',
857         required => 1,
858         min_ver => '0.28',
859     },
860     'WebService::ILS' => {
861         'usage'    => 'Interface third party systems',
862         'required' => '0',
863         'min_ver'  => '0.17',
864     },
865     'Search::Elasticsearch' => {
866         'usage'    => 'Elasticsearch integration',
867         'required' => '1',
868         'min_ver'  => '5.01',
869         # also required for Zebra installs: about page: bug 20061
870     },
871     'Parallel::ForkManager' => {
872         usage      => 'Testing suite',
873         required   => 0,
874         min_ver    => '0.75',
875     },
876     'Sys::CPU' => {
877         usage      => 'Testing suite',
878         required   => 0,
879         min_ver    => '0.52',
880     },
881     'Net::OAuth2::AuthorizationServer' => {
882         usage    => 'REST API',
883         required => '0',
884         min_ver  => '0.16',
885     },
886     'CGI::Emulate::PSGI' => {
887         usage    => 'Plack',
888         required => '1',
889         min_ver  => '0.20',
890     },
891     'CGI::Compile' => {
892        usage    => 'Plack',
893        required => '1',
894        min_ver  => '0.17'
895     },
896     'Clone' => {
897         usage    => 'ILL, Test suite',
898         required => '1',
899         min_ver  => '0.37',
900     },
901 };
902
903 1;
904
905 __END__
906
907 =head1 NAME
908
909 C4::Installer::PerlDependencies
910
911 =head1 ABSTRACT
912
913 A module for cataloging Koha Perl dependencies.
914
915 =head1 SYNOPSIS
916
917 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
918 end of the outer hash and follow the key/value pattern used in the other dependencies.
919
920 =head2 Debian
921
922 If you change the list of dependencies, and you use Debian, please also
923 run the debian/update-control script and commit the modified version of
924 debian/control into git as well. If you're not running Debian, don't
925 worry about it.
926
927 =head1 AUTHOR
928
929 Chris Nighswonger <cnighswonger AT foundations DOT edu>
930
931 =head1 COPYRIGHT
932
933 Copyright 2010 Foundations Bible College.
934
935 =head1 LICENSE
936
937 This file is part of Koha.
938
939 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
940 Foundation; either version 2 of the License, or (at your option) any later version.
941
942 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,
943 Fifth Floor, Boston, MA 02110-1301 USA.
944
945 =head1 DISCLAIMER OF WARRANTY
946
947 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
948 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
949
950 =cut