notmuch with USE=mutt is missing dependency to dev-perl/Devel-GlobalDestruction ~ $ /usr/bin/notmuch-mutt Can't locate Devel/GlobalDestruction.pm in @INC (@INC contains: /etc/perl /usr/local/lib64/perl5/5.16.3/x86_64-linux /usr/local/lib64/perl5/5.16.3 /usr/lib64/perl5/vendor_perl/5.16.3/x86_64-linux /usr/lib64/perl5/vendor_perl/5.16.3 /usr/local/lib64/perl5 /usr/lib64/perl5/vendor_perl/5.16.2/x86_64-linux /usr/lib64/perl5/vendor_perl/5.16.2 /usr/lib64/perl5/vendor_perl/5.16.1/x86_64-linux /usr/lib64/perl5/vendor_perl/5.16.1 /usr/lib64/perl5/vendor_perl/5.16.0/x86_64-linux /usr/lib64/perl5/vendor_perl/5.16.0 /usr/lib64/perl5/vendor_perl /usr/lib64/perl5/5.16.3/x86_64-linux /usr/lib64/perl5/5.16.3 .) at /usr/lib64/perl5/vendor_perl/5.16.3/Mail/Message.pm line 24. BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.16.3/Mail/Message.pm line 24. Compilation failed in require at (eval 8) line 2. ...propagated at /usr/lib64/perl5/5.16.3/base.pm line 84. BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.16.3/Mail/Box/Message.pm line 13. Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.16.3/Mail/Box.pm line 15. BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.16.3/Mail/Box.pm line 15. Compilation failed in require at (eval 4) line 2. ...propagated at /usr/lib64/perl5/5.16.3/base.pm line 84. BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.16.3/Mail/Box/Dir.pm line 10. Compilation failed in require at (eval 3) line 2. ...propagated at /usr/lib64/perl5/5.16.3/base.pm line 84. BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.16.3/Mail/Box/Maildir.pm line 10. Compilation failed in require at /usr/bin/notmuch-mutt line 17. BEGIN failed--compilation aborted at /usr/bin/notmuch-mutt line 17.
This seems to solve bug #483068. Thank you!
But I've got a question. I don't see anything suggesting Devel-GlobalDestruction in notmuch-mutt script. How could I know the script directly requires it? Note that it runs with dev-perl/Mail-Box prior to 2.108.
No. notmuch should depend on Mail-Box, which it already does ( USE=mutt required ) And Mail-Box should depend on Devel-GlobalDestruction ... but it does. please report: equery list dev-perl/Mail-Box equery list dev-perl/Devel-GlobalDestruction equery files dev-perl/Devel-GlobalDestruction
Note: Devel-GlobalDestruction dependency was added in Mail-Box-2.108, so downgrading to 2.107 gives you a version of Mail-Box-2.107 gives you a Mail-Box that doesn't need Devel-GloblDestruction. It would seem the error is that Mail-Box-2.108 and 2.109 foolishly only add Devel-GlobalDestruction under USE=test, where it should be a dependency even without USE=test https://metacpan.org/source/MARKOV/Mail-Box-2.108/META.json Clearly states Devel::GlobalDestruction is a runtime dependency, and nothing in Makefile.PL states it is a testing dependency, so I guess the committer dropped the ball when communicating dependencies.
Patrick, see comment #4.
I've committed it myself, eventually. Kent, thanks for explanation! + 14 Dec 2013; Amadeusz Żołnowski <aidecoe@gentoo.org> Mail-Box-2.108.ebuild, + Mail-Box-2.109.0.ebuild: + dev-perl/Devel-GlobalDestruction is always required, not only for tests. + Fixes bug #488326. +