I was just messing around with the SA ebuild again, and noticed that a lot of the build-time dependencies (DEPEND) are perl modules that should probably be runtime dependencies (RDEPEND) instead. For example, dev-perl/Geo-IP is probably not used at build-time unless SpamAssassin's build system checks for it. One day it would be nice to go through all of the DEPEND entries and see which ones can be moved to RDEPEND. The usual way to figure out what's needed at build time is to download the upstream tarball on a cleanish machine and try to build it. Everything that you have to install to get it to build is a DEPEND, everything else is an RDEPEND.
(Most things needed to build the package are *also* runtime dependencies)
Packages needed to build SA are: dev-perl/HTML-Parser dev-perl/Net-DNS dev-perl/NetAddr-IP Sa throws information about missing other packages but builds.
Awesome, thanks. I did some refactoring for the deps and wound up re-enabling the test suite, too. commit a3fce5aa83016c4bd16d56a82b4ef00433225423 Author: Michael Orlitzky <mjo@gentoo.org> Date: Mon Sep 5 13:47:53 2016 -0400 mail-filter/spamassassin: new revision with correct build dependencies. The existing dependencies for spamassassin were all thrown into DEPEND and then propagated to RDEPEND -- even the ones that were obviously only needed at runtime. Marcin Mirosław helped track down the correct value of DEPEND, and the rest of the optional dependencies were moved to RDEPEND. The required and optional dependencies are now stored in REQDEPEND/OPTDEPEND variables to eliminate duplication. This is primarily useful with USE=test, which makes DEPEND a superset of RDEPEND, since the other inclusion alreads holds normally. Once the test suite had the correct dependencies, the RESTRICT=test was removed, and problematic spamc/spamd tests were disabled. The test suite should pass now. Gentoo-Bug: 592682 Package-Manager: portage-2.2.28