diff options
author | Eric Wong <e@yhbt.net> | 2020-06-14 00:25:03 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-06-15 06:07:52 +0000 |
commit | 4042599799a3706d1b1c0589675b07cab610505a (patch) | |
tree | ca8cbd49ecbf6dd11ca4fd20e9fa275ec62a3886 /lib | |
parent | fc6c7191daf71b8b1f6b45638ffcb1c6b2057636 (diff) | |
download | public-inbox-4042599799a3706d1b1c0589675b07cab610505a.tar.gz |
IMAP requires either the Email::Address::XS or Mail::Address package (part of perl-MailTools RPM or libmailtools-perl deb); and Email::Address::XS is not officially packaged for some older distros, most notably CentOS 7.x.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/PublicInbox/TestCommon.pm | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm index 5e7dc8b0..a97125e5 100644 --- a/lib/PublicInbox/TestCommon.pm +++ b/lib/PublicInbox/TestCommon.pm @@ -72,7 +72,7 @@ sub require_mods { my @mods = @_; my $maybe = pop @mods if $mods[-1] =~ /\A[0-9]+\z/; my @need; - for my $mod (@mods) { + while (my $mod = shift(@mods)) { if ($mod eq 'Search::Xapian') { if (eval { require PublicInbox::Search } && PublicInbox::Search::load_xapian()) { @@ -83,6 +83,15 @@ sub require_mods { PublicInbox::SearchIdx::load_xapian_writable()){ next; } + } elsif (index($mod, '||') >= 0) { # "Foo||Bar" + my $ok; + for my $m (split(/\Q||\E/, $mod)) { + eval "require $m"; + next if $@; + $ok = $m; + last; + } + next if $ok; } else { eval "require $mod"; } |