py27-django-mezzanine, REL-10.1 binary or source, has dependency problems; specifically: django >= 1.4.10, != 1.6.0, < 1.7 tzlocal == 1.0 beautifulsoup4 == 4.1.3 future == 0.9.0 all mismatch with binary or source ports.
The differences between versions declared in install_requires and the FreeBSD port (and thus packages) is known. I'm not sure what this issue proposes as an improvement or fix. In ports (as of todays date) py-future is 0.14.3 py-beautifulsoup is 4.3.2 tzlocal is 1.1.1 django, we have ports for versions 1.4.x (1.4.20), 1.6.x (1.6.11) 1.7.x (1.7.8) The first three versions (in ports) have already surpassed the exact (pinned) version requirements declared in Mezzanines setup.py, and the dependencies declared in RUN and BUILD DEPENDS are as close as we can make them to those in setup.py. Note: We don't support multiple operators (AND, NOT) in version expressions. There is not much we can do about this without carrying a port/package for every single python package version. There's also not much we can do about upstreams pinning their version dependencies (using ==) in release versions, when >= version specifications is much more reasonable. The best I can do is to patch out those dependencies declared in setup.py so that pkg_resources doesn't bail out with errors. If you had something else in mind please clarify and elaborate
I'm not certain what the appropriate fix is - but clearly a package that does not work is broken. I'd vote for patching the requires.txt file. The package appears to be overly restrictive, as you mentioned.
*** Bug 201889 has been marked as a duplicate of this bug. ***
A commit references this bug: Author: koobs Date: Thu Oct 29 06:38:43 UTC 2015 New revision: 400443 URL: https://svnweb.freebsd.org/changeset/ports/400443 Log: www/py-django-mezzanine: Fix run dependency versions Loosen the dependencies listed in setup.py:install_requires so that port dependencies can satisfy them. This fixes run-time errors such as: pkg_resources.DistributionNotFound: The 'future==0.9.0' distribution was not found and is required by Mezzanine - Update and sort RUN_DEPENDS, remove chardet - Add TEST_DEPENDS - Rename test target now that framework supports TEST_DEPENDS et al. - Update test target to set some environment variables that if not set can cause test failures in particular environments. PR: 200994 MFH: 2015Q4 Changes: head/www/py-django-mezzanine/Makefile head/www/py-django-mezzanine/files/ head/www/py-django-mezzanine/files/patch-setup.py
Apologies for the delay. Committed to HEAD, pending MFH to latest quarterly branch
A commit references this bug: Author: koobs Date: Thu Oct 29 08:04:51 UTC 2015 New revision: 400444 URL: https://svnweb.freebsd.org/changeset/ports/400444 Log: MFH: r400443 www/py-django-mezzanine: Fix run dependency versions Loosen the dependencies listed in setup.py:install_requires so that port dependencies can satisfy them. This fixes run-time errors such as: pkg_resources.DistributionNotFound: The 'future==0.9.0' distribution was not found and is required by Mezzanine - Update and sort RUN_DEPENDS, remove chardet - Add TEST_DEPENDS - Rename test target now that framework supports TEST_DEPENDS et al. - Update test target to set some environment variables that if not set can cause test failures in particular environments. PR: 200994 Approved by: portmgr (delphij) Changes: _U branches/2015Q4/ branches/2015Q4/www/py-django-mezzanine/Makefile branches/2015Q4/www/py-django-mezzanine/files/