diff options
-rw-r--r-- | mail/py-pyspf/Makefile | 35 | ||||
-rw-r--r-- | mail/py-pyspf/files/patch-test_testspf.py | 37 | ||||
-rw-r--r-- | mail/py-pyspf/pkg-descr | 2 |
3 files changed, 65 insertions, 9 deletions
diff --git a/mail/py-pyspf/Makefile b/mail/py-pyspf/Makefile index afff7f8f7092..e7f608bf9731 100644 --- a/mail/py-pyspf/Makefile +++ b/mail/py-pyspf/Makefile @@ -4,29 +4,50 @@ PORTNAME= pyspf PORTVERSION= 2.0.12 DISTVERSIONSUFFIX= t -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= mail python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= sunpoet@FreeBSD.org -COMMENT= Python implementation of the RFC 4408 SPF protocol +COMMENT= SPF (Sender Policy Framework) implemented in Python LICENSE= PSFL -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}py3dns>=0:${PORTSDIR}/dns/py-py3dns +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}authres>=0:${PORTSDIR}/mail/py-authres +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}yaml>=0:${PORTSDIR}/devel/py-yaml -NO_ARCH= yes -USE_PYTHON= autoplist concurrent distutils USES= python shebangfix +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes + WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} PLIST_FILES= bin/spf.py - SHEBANG_FILES= spf.py +.include <bsd.port.pre.mk> + +.if ${PYTHON_REL} <= 3300 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}ipaddr>=0:${PORTSDIR}/devel/py-ipaddr +.endif + +.if ${PYTHON_REL} >= 3000 +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}py3dns>=0:${PORTSDIR}/dns/py-py3dns +.else +RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dns>=0:${PORTSDIR}/dns/py-dns +.endif + +# Make the tests run as a module +post-extract: + @${TOUCH} ${WRKSRC}/test/__init__.py + post-install: ${CHMOD} ${BINMODE} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/spf.py ${LN} -s ${PYTHONPREFIX_SITELIBDIR}/spf.py ${STAGEDIR}${PREFIX}/bin/ -.include <bsd.port.mk> +do-test: + @cd ${WRKSRC} && ${PYTHON_CMD} -m test.testspf + +.include <bsd.port.post.mk> diff --git a/mail/py-pyspf/files/patch-test_testspf.py b/mail/py-pyspf/files/patch-test_testspf.py new file mode 100644 index 000000000000..816b539f0ac4 --- /dev/null +++ b/mail/py-pyspf/files/patch-test_testspf.py @@ -0,0 +1,37 @@ +--- test/testspf.py.orig 2015-01-12 22:47:56 UTC ++++ test/testspf.py +@@ -221,9 +221,9 @@ def makeSuite(filename): + + def suite(): + suite = unittest.makeSuite(SPFTestCases,'test') +- suite.addTest(makeSuite('test.yml')) +- suite.addTest(makeSuite('rfc7208-tests.yml')) +- suite.addTest(makeSuite('rfc4408-tests.yml')) ++ suite.addTest(makeSuite('test/test.yml')) ++ suite.addTest(makeSuite('test/rfc7208-tests.yml')) ++ suite.addTest(makeSuite('test/rfc4408-tests.yml')) + import doctest + suite.addTest(doctest.DocTestSuite(spf)) + return suite +@@ -237,9 +237,9 @@ if __name__ == '__main__': + # a specific test selected by id from YAML files + if not tc: + tc = unittest.TestSuite() +- t0 = loadYAML('rfc7208-tests.yml') +- t1 = loadYAML('rfc4408-tests.yml') +- t2 = loadYAML('test.yml') ++ t0 = loadYAML('test/rfc7208-tests.yml') ++ t1 = loadYAML('test/rfc4408-tests.yml') ++ t2 = loadYAML('test/test.yml') + if i in t0: + tc.addTest(SPFTestCase(t0[i])) + if i in t1: +@@ -248,7 +248,7 @@ if __name__ == '__main__': + tc.addTest(SPFTestCase(t2[i])) + if not tc: + # load zonedata for doctests +- fp = open('doctest.yml','rb') ++ fp = open('test/doctest.yml','rb') + try: + zonedata = loadZone(next(yaml.safe_load_all(fp))) + finally: fp.close() diff --git a/mail/py-pyspf/pkg-descr b/mail/py-pyspf/pkg-descr index 8f437b1d05f5..5578a870848f 100644 --- a/mail/py-pyspf/pkg-descr +++ b/mail/py-pyspf/pkg-descr @@ -3,6 +3,4 @@ was the first SPF implementation to fully conform to RFC 4408. This release has also added IPv6 support. pyspf is the library behind several of the open SPF project's SPF record testing tools. -Currently part of the pymilter project: http://pymilter.sourceforge.net - WWW: https://pypi.python.org/pypi/pyspf |