classification
Title: Make curses compiling on NetBSD 7.1 and tests passing
Type: compile error Stage: resolved
Components: Extension Modules Versions: Python 3.7, Python 3.6, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: serhiy.storchaka Nosy List: serhiy.storchaka, twouters
Priority: normal Keywords: patch

Created on 2017-10-29 09:21 by serhiy.storchaka, last changed 2017-10-31 20:04 by serhiy.storchaka. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 4165 merged serhiy.storchaka, 2017-10-29 09:25
PR 4189 merged python-dev, 2017-10-31 11:57
PR 4194 merged serhiy.storchaka, 2017-10-31 12:42
Messages (4)
msg305180 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-29 09:21
NetBSD perhaps is the last open OS that don't use ncurses. For now the _curses module is not compiled on NetBSD. Its curses implementation doesn't contain several ncurses functions. <term.h> included for non-ncurses implementations defines a couple of macros that conflict with local variable names. The hardcoded signature of setupterm differs from the signature in <term.h>. The fallback implementation of has_key() depends on KEY_* constants that are absent in NetBSD curses too. It seems to me that curses is broken on NetBSD for very long time.

The proposed PR fixes building of the _curses module and makes curses tests passing. This of course doesn't guaranties that curses works correctly on NetBSD, our curses tests are rudimentary.

There were other NetBSD specific guards in the code. They are no longer needed because the guarded functions already are supported in NetBSD for long time. There are issue9667 and issue21457 for removing unneeded conditional compilation.
msg305289 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-31 11:56
New changeset baac01e629d90f63dfde6b5cc433f4bc65c5feeb by Serhiy Storchaka in branch 'master':
bpo-31891: Fix building the curses module on NetBSD. (#4165)
https://github.com/python/cpython/commit/baac01e629d90f63dfde6b5cc433f4bc65c5feeb
msg305293 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-31 12:33
New changeset 5db32085e7e4d6be9a34d0a64ecf477eca224f15 by Serhiy Storchaka (Miss Islington (bot)) in branch '3.6':
bpo-31891: Fix building the curses module on NetBSD. (GH-4165) (#4189)
https://github.com/python/cpython/commit/5db32085e7e4d6be9a34d0a64ecf477eca224f15
msg305299 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2017-10-31 14:12
New changeset e0fc1af67acb5684ae780128fbdb3c5419af51db by Serhiy Storchaka in branch '2.7':
[2.7] bpo-31891: Fix building the curses module on NetBSD. (GH-4165). (#4194)
https://github.com/python/cpython/commit/e0fc1af67acb5684ae780128fbdb3c5419af51db
History
Date User Action Args
2017-11-04 08:54:41serhiy.storchakalinkissue21457 superseder
2017-11-01 18:16:08serhiy.storchakalinkissue9667 superseder
2017-10-31 20:04:32serhiy.storchakasetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2017-10-31 14:12:38serhiy.storchakasetmessages: + msg305299
2017-10-31 12:42:50serhiy.storchakasetpull_requests: + pull_request4164
2017-10-31 12:33:11serhiy.storchakasetmessages: + msg305293
2017-10-31 11:57:54python-devsetpull_requests: + pull_request4159
2017-10-31 11:56:46serhiy.storchakasetmessages: + msg305289
2017-10-29 09:39:47serhiy.storchakalinkissue25720 dependencies
2017-10-29 09:26:31serhiy.storchakasetnosy: + twouters
2017-10-29 09:25:18serhiy.storchakasetkeywords: + patch
stage: patch review
pull_requests: + pull_request4134
2017-10-29 09:21:28serhiy.storchakacreate