Bug 235585

Summary: textproc/py-pyhamcrest: Update incompletely specified Python version support
Product: Ports & Packages Reporter: Sascha Biberhofer <ports>
Component: Individual Port(s)Assignee: Richard Gallamore <ultima>
Status: Closed FIXED    
Severity: Affects Some People CC: python, wenheping2000
Priority: --- Keywords: easy
Version: LatestFlags: bugzilla: maintainer-feedback? (ultima)
koobs: maintainer-feedback+
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 235586    
Attachments:
Description Flags
patch to remove the version limitation from the py-pyhamcrest port none

Description Sascha Biberhofer 2019-02-07 21:03:13 UTC
Created attachment 201824 [details]
patch to remove the version limitation from the py-pyhamcrest port

The version of pyhamcrest currently in ports limits the python version to 2.7-3.4. Newer versions of twisted than the one currently in ports however rely on this package. Many  GNU/Linux distributions also ship this for more recent versions of python3, so I think it's safe to remove this restriction.

Cheers,
Sascha
Comment 1 Richard Gallamore freebsd_committer freebsd_triage 2019-02-12 23:59:03 UTC
Hello Sascha,

Thanks for the patch. Removing the python restriction looks safe enough to me, however want some feedback from python@ before we move forward with this change.
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2019-02-13 02:13:38 UTC
Python ports should declare the python versions that package *supports*, as accurately and precisely as possible without being incorrect, within the current limitations of the USES=python:<version-spec> specification syntax.

Generally speaking, if there is a package A (eg: Twisted), that supports Python version X.Y (3.6), that depends on a package B (pyhamcrest, which is unclear or does not explicitly state X.Y (3.6) support), either:

 1) Package A's (twisted) dependencies are incorrectly specified/qualified, OR
 2) Package B's (pyhamcrest) version support is incompletely specified.

Package A couldn't possibly support X.Y (3.6) if a dependency B didn't/doesn't also. 

Some upstream data points:

* pyhamcrest upstream appears to be testing up to 3.6 [1][2]

In this case it appears that (2) is more likely. Twisted is very well tested, and they include optional dependencies in their CI builds, which would be publicly failing for 3.4+ python versions if one of their dependencies didn't support that version.

Test suits are by far the most valuable thing QA tool for us as packagers, so add TEST_DEPENDS [3] and a (do-)test: target [4] to test pyhamcrest on 3.5/3.6.

[1] https://github.com/hamcrest/PyHamcrest/blob/master/.travis.yml#L14
[2] https://github.com/hamcrest/PyHamcrest/blob/master/tox.ini#L2
[3] setup.py:test_dependencies = ['hypothesis>=1.11', 'pytest>=2.8',
[4] setup.py:cmdclass={'test': PyTest} (PYTHON_CMD PYDISTUTILS_SETUP test)

P.S: Please send PR's upstream to add update docs and classifiers (setup.py) to include later python versions if they are confirmed to pass tests
Comment 3 commit-hook freebsd_committer freebsd_triage 2019-02-14 19:46:37 UTC
A commit references this bug:

Author: ultima
Date: Thu Feb 14 19:45:34 UTC 2019
New revision: 492931
URL: https://svnweb.freebsd.org/changeset/ports/492931

Log:
  * Revision bump for distfile change
  * Changed MASTER_SITES to GitHub, GitHub includes test suite
  * Added test target and depends, added for testing newer versions of python

  PR:		235585

Changes:
  head/textproc/py-pyhamcrest/Makefile
  head/textproc/py-pyhamcrest/distinfo
Comment 4 Richard Gallamore freebsd_committer freebsd_triage 2019-02-14 19:56:55 UTC
Tested all current versions of python (2.7-3.7) and all have passed successfully. Leaving ticket open to remind me to open a bug upstream.


Thanks koobs for all the information provided.
Comment 5 wen 2019-03-22 00:41:51 UTC
(In reply to Richard Gallamore from comment #4)
Would you close this PR ?
Comment 6 Richard Gallamore freebsd_committer freebsd_triage 2019-03-22 02:30:20 UTC
Created issue upstream.

https://github.com/hamcrest/PyHamcrest/issues/99
Comment 7 wen 2019-03-22 02:46:14 UTC
(In reply to Richard Gallamore from comment #6)
Thank you.
Comment 8 Richard Gallamore freebsd_committer freebsd_triage 2019-03-22 03:12:07 UTC
(In reply to wen from comment #7)
np, it should have been completed sometime ago but I keep getting distracted. >.<