The current version (0.7.19_1) is 2 versions behind the latest version (0.8.0).
The single change that the new version seems to require is importlib-resources for versions of python <3.7.
NB: going to 0.8.0 changes the requirements, such that the port will no longer be available for 2.7. Not sure if that's an item of concern or not.
Upstream has not removed 2.7 from setup.py or added a python_requires precluding 2.7 at present, though I do see mention of these versions (2.7,3.5) to be considered unsupported.
 Python 2 versions older than 2.7 and Python 3 versions older than 3.5 should be considered unsupported. No incompatible code has been introduced to the best of our knowledge but there’s no CI infrastructure in place to verify this and if there are any issues with those versions they won’t be fixed.
Consequently, Python 2.7 and 3.5 support should be considered deprecated as 2.7 has reached its end-of-life already and 3.5 will hit it soon
As such I don't consider 0.8.x to be a hard removal of support, and will wait for explicit removal of support via python_requires or similar.
(In reply to Kubilay Kocak from comment #1)
The problem is that py-import-resources is incorrectly listed as only supporting python 3 in our port Makefile, despite the fact that it supposedly supports 2.7.
(In reply to Enji Cooper from comment #2)
The reason for this is that importlib-metadata depends on py-zipp which only supports 3.x, and if you don't mark importlib-metadata as only for python >3.x, you get other issues. Is a py27-netaddr really needed enough to require holding it back? Would creating a py-netaddr07 for the old version be OK?
With Pyhton 2.7 dependent ports being removed in the tree already it would make sense to move to 0.8 directly and remove 2.7 support?
(In reply to Franco Fichtner from comment #4)
0.8.0 is ok, but definitely mark the port broken for 2.7.
Turns out 0.7.20 is also implicitly reliant on py-import-resources, as I discovered with an ImportError today when executing the code on 2.7 >_>.
Should I submit a patch to move this along or does anyone have it stashed somewhere already?
No longer depends on Python 2.7 since r559531
Created attachment 221255 [details]
Here's a patch for the 0.8.0 release.
- poudriere -> OK (11.4-RELEASE amd64 for py36, py37, py38, py39 flavors)
- Bulk run against all consumers -> OK
Results of "make test" (all Python flavors):
- 263 passed, 9 skipped in N.NN seconds
When running the CLI scripts "netaddr" following message is emitted:
> IPython (http://ipython.scipy.org/) not found!
This is already the case with the current version (= 0.7.19_1) in the Ports tree.
Overview of the consumers:
Everything looks good here too:
> Port Source Remarks
> --------------------------------------- --------------- -----------------------------------------------------
> devel/py-os-vif >=0.7.18 requirements.txt
> devel/py-oslo.config >=0.7.18 requirements.txt
> devel/py-oslo.config7 >=0.7.18 requirements.txt
> devel/py-oslo.utils >=0.7.18 requirements.txt
> devel/py-oslo.utils3 >=0.7.18 requirements.txt
> devel/py-oslo.versionedobjects >=0.7.18 requirements.txt
> devel/py-oslo.versionedobjects1 >=0.7.18 requirements.txt
> devel/py-oslo.vmware >=0.7.18 requirements.txt
> devel/py-oslo.vmware2 >=0.7.18 requirements.txt
> devel/py-osprofiler >=0.7.18 requirements.txt
> devel/py-ovsdbapp >=0.7.18 requirements.txt
> devel/py-wsme >=0.7.12 requirements.txt
> dns/dnsrecon N/A Noted as 'netaddr' in requirements.txt
> net-im/py-matrix-synapse >=0.7.18 synapse/config/python_dependencies.py
> net-mgmt/netbox ==0.8.0 requirements.txt (Only used for installation via pip)
> net-mgmt/py-junos-eznc N/A Noted as 'netaddr' in requirements.txt
> net-mgmt/py-napalm N/A Noted as 'netaddr' in requirements.txt
> net-mgmt/py-pyeapi N/A Noted as 'netaddr' in setup.py
> net/py-python-neutronclient >=0.7.18 requirements.txt
> net/ryu N/A Noted as 'netaddr' in tools/pip-requires
> sysutils/ansible N/A Noted as 'netaddr' in several files
> sysutils/py-google-compute-engine N/A Noted as 'netaddr' in several files
> www/py-django-netfields N/A Noted as 'netaddr' in setup.py
> www/py-horizon >=0.7.18 requirements.txt
Comment on attachment 221255 [details]
^ Triage: Set maintainer-approval to '+' due maintainer's timeout.
A commit references this bug:
Date: Fri Jan 22 08:24:57 UTC 2021
New revision: 562280
net/py-netaddr: Update to 0.8.0
* Modernize the "do-test" target and pet portclippy while I'm here.
Changelog since 0.7.19:
Reported by: ngie
Approved by: maintainer timeout (14+ days)
Thank you <3