Hi, Finally here's the diff to add a py3 flavor to net/py-ripe.atlas.tools. You'll need the patches (sent to ports@) to add the py3 flavor to the ports it depends on, that doesn't have a py3 flavor yet: - net/py-IP - net/py-ripe.atlas.cousteau - net/py-ripe.atlas.sagan - textproc/py-yaml
I tested it quickly with the command given in the README, works well. Cheers, Daniel Index: Makefile =================================================================== RCS file: /cvs/ports/net/py-ripe.atlas.tools/Makefile,v retrieving revision 1.2 diff -u -p -r1.2 Makefile --- Makefile 25 Nov 2015 15:55:32 -0000 1.2 +++ Makefile 4 Dec 2015 20:26:44 -0000 @@ -5,6 +5,7 @@ COMMENT = official command-line client MODPY_EGG_VERSION = 1.1.1 DISTNAME = ripe.atlas.tools-${MODPY_EGG_VERSION} PKGNAME = py-${DISTNAME} +REVISION = 0 CATEGORIES = net @@ -20,13 +21,16 @@ MODPY_SETUPTOOLS = Yes MODULES = lang/python -RUN_DEPENDS = devel/py-dateutil \ - devel/py-tzlocal \ - net/py-ripe.atlas.cousteau \ - net/py-ripe.atlas.sagan \ - security/py-openssl \ - textproc/py-yaml \ - www/py-requests +FLAVORS = python3 +FLAVOR ?= + +RUN_DEPENDS = devel/py-dateutil${MODPY_FLAVOR} \ + devel/py-tzlocal${MODPY_FLAVOR} \ + net/py-ripe.atlas.cousteau${MODPY_FLAVOR} \ + net/py-ripe.atlas.sagan${MODPY_FLAVOR} \ + security/py-openssl${MODPY_FLAVOR} \ + textproc/py-yaml${MODPY_FLAVOR} \ + www/py-requests${MODPY_FLAVOR} TEST_DEPENDS = ${RUN_DEPENDS} # runs into some problem with namespace, at least on py2.7 Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/py-ripe.atlas.tools/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 PLIST --- pkg/PLIST 17 Nov 2015 20:57:41 -0000 1.1.1.1 +++ pkg/PLIST 4 Dec 2015 20:26:44 -0000 @@ -16,93 +16,107 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/ripe.atlas.tools-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}cache.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}filters.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}ipdetails.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}streaming.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/base.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/aggregators/base.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/cache.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/cache.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}configure.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}go.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}measurement.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}measurements.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}probe.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}probes.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}render.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}report.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}shibboleet.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/${MODPY_PYCACHE}stream.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/base.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/base.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/configure.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/configure.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/go.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/go.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}dns.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}http.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}ntp.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}ping.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}sslcert.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/${MODPY_PYCACHE}traceroute.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/base.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/base.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/dns.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/dns.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/http.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/http.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/ntp.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/ntp.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/ping.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/ping.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/sslcert.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/sslcert.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/traceroute.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measure/traceroute.pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measurement.py lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measurements.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/measurements.pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/probe.py lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/probes.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/probes.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/render.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/render.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/report.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/report.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/shibboleet.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/shibboleet.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/stream.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/commands/stream.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/exceptions.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/exceptions.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/filters.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/filters.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/${MODPY_PYCACHE}colours.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/${MODPY_PYCACHE}rendering.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/${MODPY_PYCACHE}validators.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/colours.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/colours.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/rendering.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/rendering.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/validators.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/helpers/validators.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/ipdetails.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/ipdetails.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/probes/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/probes/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/probes/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/probes/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/probes/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}aggregate_ping.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}dns.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}http.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}ntp.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}ping.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}raw.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}ssl_consistency.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}sslcert.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}traceroute.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/${MODPY_PYCACHE}traceroute_aspath.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/aggregate_ping.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/aggregate_ping.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/base.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/base.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/dns.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/dns.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/dst_asn.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/dst_asn.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/http.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/http.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/ntp.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/ntp.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/ping.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/ping.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/raw.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/raw.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/ssl_consistency.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/ssl_consistency.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/sslcert.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/sslcert.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/templates/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/templates/reports/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/templates/reports/aggregate_ping.txt @@ -110,16 +124,13 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/templates/reports/ssl_consistency.txt lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/templates/reports/sslcert.txt lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/traceroute.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/traceroute.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/traceroute_aspath.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/renderers/traceroute_aspath.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/settings/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/settings/__init__.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/settings/__init__.pyc +${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/settings/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/settings/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/settings/templates/ lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/settings/templates/base.yaml lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/streaming.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/streaming.pyc lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/version.py -lib/python${MODPY_VERSION}/site-packages/ripe/atlas/tools/version.pyc share/doc/pkg-readmes/${FULLPKGNAME}