diff --git a/cpanfile b/cpanfile index 3b5388f..60ae89f 100644 --- a/cpanfile +++ b/cpanfile @@ -1,165 +1,85 @@ -requires 'Sys::Linux::Namespace' => 'v0.13.0'; -requires 'POE'; -requires 'Parse::RecDescent'; -requires 'Config::General'; -requires 'Cache::FastMmap'; -requires 'POE::Component::IRC::Common'; -requires 'POE::Component::IRC'; -requires 'Text::Handlebars'; - -requires 'Geo::IP'; -requires 'XML::RSS::Parser'; -requires 'WWW::Shorten'; -requires 'WWW::Mechanize'; -requires 'URI::Encode'; -requires 'Text::Glob'; - -requires 'DBD::SQLite'; -requires 'DBI'; -requires 'Net::DNS'; -requires 'HTML::TreeBuilder'; -requires 'Net::INET6Glue::INET_is_INET6'; - -requires 'Net::Dict'; -requires 'HTML::TreeBuilder::XPath'; - -requires 'Data::Dumper'; -requires 'Scalar::Util'; #Required by Data::Dumper -requires 'BSD::Resource'; -requires 'File::Glob'; -requires 'POSIX'; -requires 'POSIX::strptime'; - -requires 'List::Util'; -requires 'List::MoreUtils'; -requires 'List::UtilsBy'; -requires 'Data::Munge'; -requires 'Scalar::MoreUtils'; -requires 'Regexp::Common'; -requires 'Encode'; -requires 'Digest::MD5'; -requires 'Digest::SHA'; -requires 'DateTime'; -requires 'DateTimeX::Easy'; -requires 'Date::Parse'; - -requires 'Moose'; -requires 'MooseX::Declare'; - -requires 'Function::Parameters'; - -requires 'Rand::MersenneTwister'; -# requires 'arybase'; # removed in 5.29 -requires 'Errno'; -requires 'JSON'; -requires 'JSON::PP'; -requires 'JSON::XS'; -requires 'JSON::MaybeXS'; -requires 'Cpanel::JSON::XS'; - -requires 'LWP::Protocol::https'; -requires 'Mojo::DOM'; -requires 'Mojo::DOM::CSS'; -requires 'Mojo::Collection'; -requires 'YAPE::Regex::Explain'; -requires 'bigint'; -requires 'Math::BigInt'; -requires 'Math::BigFloat'; -requires 'Math::BigRat'; -requires 'indirect'; -requires 'Moo'; -requires 'autovivification'; - -requires 'Linux::Seccomp'; -requires 'Cwd'; -# requires 'Algorithm::Permute'; -requires 'File::Slurper'; -requires 'Path::Tiny'; -requires 'Time::Moment'; -requires 'Switch::Plain'; -requires 'Quote::Code'; -# requires 'JSON::Tiny'; # broken in the canary - -requires 'List::SomeUtils'; -requires 'IO::Async'; -requires 'Future'; -requires 'Class::Tiny'; -requires 'Capture::Tiny'; - -requires 'Return::MultiLevel'; -requires 'Try::Tiny::ByClass'; -requires 'IPC::Run'; -requires 'Text::Metaphone'; - -requires 'DBD::SQLite::BundledExtensions'; -requires 'Text::Levenshtein'; -requires 'Text::Metaphone'; -requires 'Math::Round'; -requires 'Twitter::API'; -requires 'Types::Standard'; -requires 'Perl::Tidy'; -requires 'File::Temp'; -requires 'Permute::Named::Iter'; -requires 'Marpa::R2'; -requires 'Syntax::Keyword::Try'; -requires 'File::Open'; -requires 'App::EvalServerAdvanced'; -requires 'Dir::ls'; -requires 'Object::Tap'; -requires 'XML::LibXML'; -# requires 'Sereal'; # comment out temporarily - -requires 'Email::Sender::Transport::Test'; -requires 'Task::Kensho::Async'; -requires 'Task::Kensho::Config'; -#requires 'Task::Kensho::Date'; -#requires 'Task::Kensho::DBDev'; -requires 'Task::Kensho::Email'; -requires 'Task::Kensho::Logging'; -requires 'Task::Kensho::ModuleDev'; -requires 'Task::Kensho::OOP'; -#requires 'Task::Kensho::Testing'; -#requires 'Task::Kensho::XML'; -requires 'Text::Unidecode'; -requires 'experimental'; - -requires 'Math::Calc::Parser'; - -requires 'ReadonlyX'; -requires 'Const::Fast'; -requires 'DateTime::Event::Holiday::US'; -requires 'App::EvalServerAdvanced::ConstantCalc'; - -requires 'Crypt::OpenSSL::X509'; - -requires 'Math::Random::Secure'; # undeclared dep of Data::Random::Flexible -requires 'Data::Random::Flexible'; -requires 'Acme::AsciiEmoji'; -requires 'PadWalker'; -requires 'Encode::Simple'; -requires 'PPR'; -requires 'Keyword::Simple'; -requires 'Unicode::UTF8'; -requires 'List::Gather'; -requires 'Lingua::EN::Inflexion'; -requires 'local::lib'; -requires 'Array::Utils'; -requires 'DBD::SQLite'; -requires 'Mojo::SQLite'; -requires 'FFI::Platypus'; -requires 'Perl6::Take'; -requires 'List::AllUtils'; -requires 'IRC::FromANSI::Tiny'; -requires 'Unicode::GCString'; -requires 'Unicode::Util'; -requires 'Unicode::Collate'; -requires 'more'; -requires 'Data::Dumper::Compact'; -requires 'Carp::Always'; -requires 'V'; -requires 'Path::Tiny'; -requires 'CryptX'; -requires 'MIME::Base64'; -requires 'DateTime::Event::Cron'; -requires 'Regexp::Assemble'; -requires 'Regexp::Optimizer'; +requires "App::EvalServerAdvanced::Protocol"; +requires "autodie"; +requires "CGI"; +requires "Config::General"; +requires "Crypt::Mode::CBC"; +requires "CryptX"; +requires "Data::Dumper"; +requires "DateTime::Event::Cron"; +requires "DateTime::Event::Holiday::US"; +requires "DBD::SQLite"; +requires "DBI"; +requires "Encode"; +requires "Encode"; +requires "Encode"; +requires "Encode"; +requires "EvalServer::Sandbox"; +requires "experimental"; +requires "Exporter"; +requires "feature"; +requires "FindBin"; +requires "GeoIP2::Database::Reader"; +requires "HTML::Entities"; +requires "HTML::TreeBuilder"; +requires "HTML::TreeBuilder::XPath"; +requires "HTTP::Status"; +requires "IO::Socket::INET"; +requires "IRC::FromANSI::Tiny"; +requires "IRC::Utils"; +requires "JSON"; +requires "JSON::MaybeXS"; +requires "JSON::MaybeXS"; +requires "JSON::MaybeXS"; +requires "JSON::MaybeXS"; +requires "lib"; +requires "List::Util"; +requires "List::Util"; +requires "LWP::Simple"; +requires "LWP::UserAgent"; +requires "Memoize"; +requires "Memoize"; +requires "MIME::Base64"; +requires "Module::ScanDeps"; +requires "Net::CIDR"; +requires "Net::Dict"; +requires "Net::DNS"; +requires "Net::INET6Glue::INET_is_INET6"; +requires "Parse::RecDescent"; +requires "Path::Tiny"; +requires "Paws"; +requires "Paws::Credential::Explicit"; +requires "POE"; +requires "POE::Component::IRC"; +requires "POE::Component::IRC::Common"; +requires "POE::Component::IRC::Common"; +requires "POE::Component::IRC::Plugin::AutoJoin"; +requires "POE::Component::IRC::Plugin::Connector"; +requires "POE::Component::IRC::Plugin::NickReclaim"; +requires "POE::Component::IRC::State"; +requires "POE::Component::Server::SimpleHTTP"; +requires "POE::Component::Server::TCP"; +requires "POE::Filter::Reference"; +requires "POE::Session"; +requires "POE::Wheel::ReadWrite"; +requires "POE::Wheel::Run"; +requires "POE::Wheel::SocketFactory"; +requires "Regexp::Assemble"; +requires "Regexp::Optimizer"; +requires "Socket"; +requires "strict"; +requires "Template"; +requires "Term::ANSIColor"; +requires "Text::Glob"; +requires "Text::Metaphone"; +requires "Twitter::API"; +requires "Unicode::UCD"; +requires "URI::Encode"; +requires "URI::Escape"; +requires "utf8"; +requires "v5.20.0"; +requires "v5.30"; +requires "warnings"; +requires "WWW::Mechanize"; +requires "WWW::Shorten"; +requires "WWW::Shorten::TinyURL"; +requires "XML::RSS::Parser"; diff --git a/myscandeps.pl b/myscandeps.pl new file mode 100644 index 0000000..7ded9a5 --- /dev/null +++ b/myscandeps.pl @@ -0,0 +1,22 @@ +use Module::ScanDeps; +use Data::Dumper; + +my @files = ('./bin/cpan_fetch.pl', './bin/generate_metaphones.pl', './bin/test_eval.pl', './asndb/mkasn.pl', './plugins/head.pm', './plugins/echo.pm', './plugins/packages.pm', './plugins/translate.pm', './plugins/save_config.pm', './plugins/nick_lookup.pm', './plugins/tell.pm', './plugins/conf.pm', './plugins/oeis.pm', './plugins/reload_plugins.pm', './plugins/seen.pm', './plugins/part.pm', './plugins/utf8.pm', './plugins/cache_check.pm', './plugins/title.pm', './plugins/geoip.pm', './plugins/twitter.pm', './plugins/8ball.pm', './plugins/conf_dump.pm', './plugins/unicode.pm', './plugins/shorten.pm', './plugins/karma.pm', './plugins/join.pm', './plugins/perldoc.pm', './plugins/allowpaste.pm', './plugins/help.pm', './plugins/rss_title.pm', './plugins/get.pm', './plugins/plugins.pm', './plugins/define.pm', './plugins/default.pm', './plugins/host.pm', './plugins/arg.pm', './plugins/quote.pm', './plugins/pastebinadmin.pm', './plugins/null.pm', './plugins/host_lookup.pm', './plugins/zippit.pm', './plugins/talktome.pm', './plugins/factoids.pm', './plugins/karma_modify.pm', './plugins/google.pm', './plugins/compose.pm', './plugins/more.pm', './plugins/core.pm', './plugins/chatbot.pm', './plugins/rss.pm', './plugins/supereval.pm', './plugins/restart.pm', './plugins/karmatop.pm', './package_lists/generate_list_debian.pl', './lib/Bot/BB3.pm', './lib/Bot/BB3/Logger.pm', './lib/Bot/BB3/PluginManager.pm', './lib/Bot/BB3/ConfigParser.pm', './lib/Bot/BB3/DebugCrypt.pm', './lib/Bot/BB3/MacroQuote.pm', './lib/Bot/BB3/Roles/Console.pm', './lib/Bot/BB3/Roles/RestAPI.pm', './lib/Bot/BB3/Roles/Evalpastebin.pm', './lib/Bot/BB3/Roles/SocketMessageIRC.pm', './lib/Bot/BB3/Roles/IRC.pm', './lib/Bot/BB3/Roles/PasteBot.pm', './lib/Bot/BB3/PluginConfigParser.pm', './lib/Bot/BB3/PluginWrapper.pm'); + +my $hash_ref = scan_deps( + # files => \@files, + files => ["plugins/geoip.pm"], + recurse => 0, +); + +my @keys = keys %$hash_ref; + +my @used = sort {$a cmp $b} grep {!m|Bot/BB3|} grep {exists $hash_ref->{$_}{used_by} } @keys; + +my @mods = map {s|/|::|g; s|.pm$||r} @used; + +#print Dumper(\@mods); + +for my $mod (@mods) { + printf "requires '%s';\n", $mod; +}