pypolicyd-spf since version 1.1 supports python 3.2, yet the ebuild restricts 3.* (it could be due to stable dependencies do not support python 3.* yet though, did not test it). Upstream claims 1.0 and 1.1 is the same program except with 1.1 supporting python3, so bumping stable to 1.1 was kinda futile without the ebuild supporting python3.
CC'ing python@ as you may want to look at this wrt -r1.eclass migration.
I removed pyspf from *DEPEND, version 1.1.2 has absorbed the needed lines and no longer imports pyspf. (pyspf-2.0.7 in portage does not support python3).
+*pypolicyd-spf-1.1.2 (15 May 2013)
+ 15 May 2013; Michael Weber <email@example.com> +pypolicyd-spf-1.1.2.ebuild:
+ Version bump (bug 469862, thanks Andreis Vinogradovs), Add python3
+ support/migrate to distutils-r1 (bug 466894, thanks Zoltán Halassy)
So, the thing is not that easy.
First I upgraded to 1.1.2, removed pyspf, pydns, python2. pypolicyd-spf actually tries to import spf, and the development site also says it needs that.
I checked the pyspf-2.0.7 version. Upstream claims this version is tested with python 3.2, while it's clearly not the case, as spf.py contains syntax (!) not compatible with python3, and uses decode() on strings which are already decoded (python2->python3 change). Fixing the code doesn't seem to be hard though, I could make it work on 3.2, and I'm not a python programmer. I will file a bug to upstream, let's see what happens.
pyspf depends on pydns:0 or pydns:2. Upstream claims it supports pydns:3. I installed pydns:3, and it seem to work with it now.
To sum it up:
pypolicyd-spf needs pyspf.
pyspf should work on 3.2 (but it doesn't due upstream error).
pyspf works with pydns:3.
+ 20 May 2013; Mike Gilbert <firstname.lastname@example.org> pypolicyd-spf-1.1.2.ebuild:
+ Revert python3 support and restore pyspf dependency, bug 466894.
pyspf 2.0.8 is out now
would be nice to see it in portage, dont know if this works on python3 or not, but its anyway a update
and more important, it seems its fixed with python3 now
I have taken over as maintainer of pypolicyd-spf, and bumped it to the latest version (which should support python-3.x). I'm waiting on a bump to the pyspf ebuild, and then I plan on adding the 3.x support to the latest pypolicyd-spf.
Please see bug #503270 for progress on the issue. I'm going to close this as CANTFIX because the requested version of pypolicyd is not compatible with the version of pyspf that we need. The new one, v1.2, is.