#!/usr/bin/perl -w
-$| = 1;
+BEGIN {
+ unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML).
+ push @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version.
+}
-my @required_modules = (
- { "name" => "Class::Accessor", "url" => "http://search.cpan.org/~kasei/" },
- { "name" => "CGI", "url" => "http://search.cpan.org/~lds/" },
- { "name" => "CGI::Ajax", "url" => "http://search.cpan.org/~bct/" },
- { "name" => "DBI", "url" => "http://search.cpan.org/~timb/" },
- { "name" => "DBD::Pg", "url" => "http://search.cpan.org/~dbdpg/" },
- { "name" => "HTML::Template", "url" => "http://search.cpan.org/~samtregar/" },
- { "name" => "Archive::Zip", "url" => "http://search.cpan.org/~adamk/" },
- { "name" => "Text::Iconv", "url" => "http://search.cpan.org/~mpiotr/" },
- );
+use SL::InstallationCheck;
-sub module_available {
- my ($module) = @_;
+$| = 1;
- if (!defined(eval("require $module;"))) {
- return 0;
+foreach my $module (@SL::InstallationCheck::required_modules) {
+ print("Looking for $module->{name}...");
+ if (!SL::InstallationCheck::module_available($module->{"name"})) {
+ print(" NOT found\n" .
+ " The module '$module->{name}' is not available on your system.\n" .
+ " Please install it with the CPAN shell, e.g.\n" .
+ " perl -MCPAN -e \"install $module->{name}\"\n" .
+ " or download it from this URL and install it manually:\n" .
+ " $module->{url}\n\n");
} else {
- return 1;
+ print(" ok\n");
}
}
-foreach my $module (@required_modules) {
- print("Looking for $module->{name}...");
- if (!module_available($module->{"name"})) {
+foreach my $module (@SL::InstallationCheck::optional_modules) {
+ print("Looking for $module->{name} (optional)...");
+ if (!SL::InstallationCheck::module_available($module->{"name"})) {
print(" NOT found\n" .
" The module '$module->{name}' is not available on your system.\n" .
- " Please install it with the CPAN shell, e.g.\n" .
- " perl -MCPAN -e install \"install $module->{name}\"\n" .
+ " While it is not strictly needed it provides extra functionality\n" .
+ " and should be installed.\n" .
+ " You can install it with the CPAN shell, e.g.\n" .
+ " perl -MCPAN -e \"install $module->{name}\"\n" .
" or download it from this URL and install it manually:\n" .
" $module->{url}\n\n");
} else {