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