lang/python{27,33,34,35,36}: Make Python curses module work with Unicode Use readline from ports (USES= readline:port) and patch setup.py to ignore readline from base. The patch is necessary for FreeBSD < 1100000, as after this the readline library became an INTERNALLIB, see base r268461 [1] Link devel/readline against termcapw instead of termcap is part of this change, see ports r444463 [2] Note that this is the **ports** approach for getting Python curses module working with Unicode. The other way is splitting libncurses into separate libncurses and libtinfo in base, for which an open issue exists [3]. Apart from Python language ports, at least www/rtv and sysutils/py-ranger ports have been tested to work correctly (display Unicode) after this change. [1] https://svnweb.freebsd.org/changeset/base/268461 [2] https://svnweb.freebsd.org/changeset/ports/444463 [3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197317 PR: 171246, 197317 Reviewed by: miwi, koobs Reported by: Vitaly Magerya <vmagerya gmail com> Approved by: garga (mentor), ??? (python, with hat) Differential Revision: D11127
Details
- Reviewers
garga sunpoet koobs - Group Reviewers
Python - Commits
- rP444534: lang/python{27,33,34,35,36}: Make Python curses module work with Unicode
poudriere testport: lang/python27
10.3-RELEASE-p19 amd64
10.3-RELEASE-p19 i386
11.0-RELEASE-p10 amd64
11.0-RELEASE-p10 i386
12.0-CURRENT 1200031 amd64
12.0-CURRENT 1200031 i386
poudriere testport: lang/python33
10.3-RELEASE-p19 amd64
10.3-RELEASE-p19 i386
11.0-RELEASE-p10 amd64
11.0-RELEASE-p10 i386
12.0-CURRENT 1200031 amd64
12.0-CURRENT 1200031 i386
poudriere testport: lang/python34
10.3-RELEASE-p19 amd64
10.3-RELEASE-p19 i386
11.0-RELEASE-p10 amd64
11.0-RELEASE-p10 i386
12.0-CURRENT 1200031 amd64
12.0-CURRENT 1200031 i386
poudriere testport: lang/python35
10.3-RELEASE-p19 amd64
10.3-RELEASE-p19 i386
11.0-RELEASE-p10 amd64
11.0-RELEASE-p10 i386
12.0-CURRENT 1200031 amd64
12.0-CURRENT 1200031 i386
poudriere testport: lang/python36
10.3-RELEASE-p19 amd64
10.3-RELEASE-p19 i386
11.0-RELEASE-p10 amd64
11.0-RELEASE-p10 i386
12.0-CURRENT 1200031 amd64
12.0-CURRENT 1200031 i386
linking (ldd output): https://reviews.freebsd.org/P123
make test:
2.7 | 3.3 | 3.4 | 3.5 | 3.6 | |
---|---|---|---|---|---|
FreeBSD 11 (Default) | 364 | 3878 | 3939 | 4272 | 4901 |
FreeBSD 11 (Patches) | 365 | 3879 | 3939 | 4272 | 4999 |
Metric: $ egrep 'ok$|passed' file.log | wc -l
Logs are here
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Please add changes for lang/python33.
While python33 has been DEPRECATED it has not expired. All changes to python ports should be made consistently across all ports unless they are not affected by the fix/issue to both minimise diffs, but also ensure consistent behaviour.
Also, I would:
- Separate commits (commit for readline (as it affects other ports), then then consumers (lang/python*) separately referncing the original commit revision
You will also probably have to bump PORTREVISION of all devel/readline consumers as you change what it links with.
I'm OK with readline part. But I would like to add it as part of the readline 7.0 update to reduce unnecessary PORTREVISION bump on 250+ ports. I plan to submit readline 7.0 update for exp-run tomorrow.
@dbaio I've updated the commit log message to include comments that were added to the TEST PLAN section, and added some QA entries that should be confirmed. Let me know if you have any questions about what each of them are or consist of.
@koobs, could you take a look at the make test logs?
I get similar results with and without this change... any advices?
Regards.
@dbaio Satisfied if the test failure/success delta is zero before and after this change. Please confirm that that is the case
Commit log message nit:
Multiple PR: lines should be combined into one (i believe both space or comma separated can be processed by the post-commit hook scripts)