summaryrefslogtreecommitdiff
path: root/lang/python27
diff options
context:
space:
mode:
authorroy <roy@pkgsrc.org>2017-01-02 20:52:46 +0000
committerroy <roy@pkgsrc.org>2017-01-02 20:52:46 +0000
commitd9dcf4787280e0db40f39a3e4878be3ab30f05e7 (patch)
tree8543e7a0f4b2b953a7d0f5e36c44634d23096cd3 /lang/python27
parent4ae7831e056ce65e24ef4409fcc4604fe8c8d078 (diff)
downloadpkgsrc-d9dcf4787280e0db40f39a3e4878be3ab30f05e7.tar.gz
se ncurses is_keypad function rather than directly looking at the
WINDOW structure. Include <term.h> when needed and rename lines and columns vars to avoid conflicts. Builds and works with NetBSD-8 curses, so use mk/curses.buildlink3.mk and test for getsyx(3) in curses rather than indescriminately linking to ncurses.
Diffstat (limited to 'lang/python27')
-rw-r--r--lang/python27/distinfo4
-rw-r--r--lang/python27/patches/patch-ah113
2 files changed, 106 insertions, 11 deletions
diff --git a/lang/python27/distinfo b/lang/python27/distinfo
index b7c29a4a425..20ef45a17ba 100644
--- a/lang/python27/distinfo
+++ b/lang/python27/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.59 2016/12/30 10:53:21 adam Exp $
+$NetBSD: distinfo,v 1.60 2017/01/02 20:52:46 roy Exp $
SHA1 (Python-2.7.13.tar.xz) = 18a8f30a0356c751b8d0ea6f76e764cab13ee046
RMD160 (Python-2.7.13.tar.xz) = be09518cdc335314de1c5ebe181690082ce780d7
@@ -18,7 +18,7 @@ SHA1 (patch-aa) = d9626c1648d7ff2a7da7352665bcb05f4ab0412a
SHA1 (patch-ab) = ea4feba4e93dbcff07050c82a00d591bb650e934
SHA1 (patch-ad) = 96ae702995d434e2d7ec0ac62e37427a90b61d13
SHA1 (patch-ae) = d836d77854a2b3d79fa34a06a8e2493bf0a503e6
-SHA1 (patch-ah) = 90b19239d8a7c8abc3bbc05d49408a2c5da6174d
+SHA1 (patch-ah) = f6e7ad94501bfee30dc7bb8336dbb4284e5ee84e
SHA1 (patch-al) = 541936b79f281db06761f4fa6a65a04e852b02b4
SHA1 (patch-am) = cf82bd1996aea8a8536bd37a74563bb85817c968
SHA1 (patch-an) = 9aad78714c4fe1a21cf66a6627d97d164ecea196
diff --git a/lang/python27/patches/patch-ah b/lang/python27/patches/patch-ah
index e0136241c8a..a38f9d74c56 100644
--- a/lang/python27/patches/patch-ah
+++ b/lang/python27/patches/patch-ah
@@ -1,8 +1,24 @@
-$NetBSD: patch-ah,v 1.4 2015/04/24 03:01:36 rodent Exp $
+$NetBSD: patch-ah,v 1.5 2017/01/02 20:52:46 roy Exp $
---- Modules/_cursesmodule.c.orig 2014-12-10 15:59:53.000000000 +0000
+Allow py-curses to use NetBSD curses as well as ncurses
+http://bugs.python.org/issue21457
+
+--- Modules/_cursesmodule.c.orig 2016-06-25 21:49:31.000000000 +0000
+++ Modules/_cursesmodule.c
-@@ -322,17 +322,9 @@ Window_NoArg2TupleReturnFunction(getpary
+@@ -117,9 +117,10 @@ char *PyCursesVersion = "2.2";
+ #defines many common symbols (such as "lines") which breaks the
+ curses module in other ways. So the code will just specify
+ explicit prototypes here. */
+-extern int setupterm(char *,int,int *);
+-#ifdef __sgi
++#if defined(__NetBSD__) || defined(__sgi)
+ #include <term.h>
++#else
++extern int setupterm(char *, int, int *);
+ #endif
+
+ #if !defined(HAVE_NCURSES_H) && (defined(sgi) || defined(__sun) || defined(SCO5))
+@@ -322,17 +323,9 @@ Window_NoArg2TupleReturnFunction(getpary
Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)")
@@ -20,7 +36,43 @@ $NetBSD: patch-ah,v 1.4 2015/04/24 03:01:36 rodent Exp $
Window_OneArgNoReturnFunction(notimeout, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(scrollok, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(winsdelln, int, "i;nlines")
-@@ -2110,7 +2102,6 @@ PyCurses_Is_Term_Resized(PyObject *self,
+@@ -807,7 +800,7 @@ PyCursesWindow_EchoChar(PyCursesWindowOb
+ }
+
+ #ifdef WINDOW_HAS_FLAGS
+- if (self->win->_flags & _ISPAD)
++ if (is_keypad(self->win))
+ return PyCursesCheckERR(pechochar(self->win, ch | attr),
+ "echochar");
+ else
+@@ -1237,7 +1230,7 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
+ #ifndef WINDOW_HAS_FLAGS
+ if (0)
+ #else
+- if (self->win->_flags & _ISPAD)
++ if (is_keypad(self->win))
+ #endif
+ {
+ switch(PyTuple_Size(args)) {
+@@ -1380,7 +1373,7 @@ PyCursesWindow_Refresh(PyCursesWindowObj
+ #ifndef WINDOW_HAS_FLAGS
+ if (0)
+ #else
+- if (self->win->_flags & _ISPAD)
++ if (is_keypad(self->win))
+ #endif
+ {
+ switch(PyTuple_Size(args)) {
+@@ -1447,7 +1440,7 @@ PyCursesWindow_SubWin(PyCursesWindowObje
+
+ /* printf("Subwin: %i %i %i %i \n", nlines, ncols, begin_y, begin_x); */
+ #ifdef WINDOW_HAS_FLAGS
+- if (self->win->_flags & _ISPAD)
++ if (is_keypad(self->win))
+ win = subpad(self->win, nlines, ncols, begin_y, begin_x);
+ else
+ #endif
+@@ -2110,7 +2103,6 @@ PyCurses_Is_Term_Resized(PyObject *self,
}
#endif /* HAVE_CURSES_IS_TERM_RESIZED */
@@ -28,7 +80,7 @@ $NetBSD: patch-ah,v 1.4 2015/04/24 03:01:36 rodent Exp $
static PyObject *
PyCurses_KeyName(PyObject *self, PyObject *args)
{
-@@ -2129,7 +2120,6 @@ PyCurses_KeyName(PyObject *self, PyObjec
+@@ -2129,7 +2121,6 @@ PyCurses_KeyName(PyObject *self, PyObjec
return PyString_FromString((knp == NULL) ? "" : (char *)knp);
}
@@ -36,7 +88,50 @@ $NetBSD: patch-ah,v 1.4 2015/04/24 03:01:36 rodent Exp $
static PyObject *
PyCurses_KillChar(PyObject *self)
-@@ -2674,9 +2664,7 @@ static PyMethodDef PyCurses_methods[] =
+@@ -2383,16 +2374,16 @@ update_lines_cols(void)
+ static PyObject *
+ PyCurses_ResizeTerm(PyObject *self, PyObject *args)
+ {
+- int lines;
+- int columns;
++ int nlines;
++ int ncolumns;
+ PyObject *result;
+
+ PyCursesInitialised;
+
+- if (!PyArg_ParseTuple(args,"ii:resizeterm", &lines, &columns))
++ if (!PyArg_ParseTuple(args,"ii:resizeterm", &nlines, &ncolumns))
+ return NULL;
+
+- result = PyCursesCheckERR(resizeterm(lines, columns), "resizeterm");
++ result = PyCursesCheckERR(resizeterm(nlines, ncolumns), "resizeterm");
+ if (!result)
+ return NULL;
+ if (!update_lines_cols())
+@@ -2406,17 +2397,17 @@ PyCurses_ResizeTerm(PyObject *self, PyOb
+ static PyObject *
+ PyCurses_Resize_Term(PyObject *self, PyObject *args)
+ {
+- int lines;
+- int columns;
++ int nlines;
++ int ncolumns;
+
+ PyObject *result;
+
+ PyCursesInitialised;
+
+- if (!PyArg_ParseTuple(args,"ii:resize_term", &lines, &columns))
++ if (!PyArg_ParseTuple(args,"ii:resize_term", &nline, &ncolumns))
+ return NULL;
+
+- result = PyCursesCheckERR(resize_term(lines, columns), "resize_term");
++ result = PyCursesCheckERR(resize_term(nlines, ncolumns), "resize_term");
+ if (!result)
+ return NULL;
+ if (!update_lines_cols())
+@@ -2674,9 +2665,7 @@ static PyMethodDef PyCurses_methods[] =
#ifdef HAVE_CURSES_IS_TERM_RESIZED
{"is_term_resized", (PyCFunction)PyCurses_Is_Term_Resized, METH_VARARGS},
#endif
@@ -46,7 +141,7 @@ $NetBSD: patch-ah,v 1.4 2015/04/24 03:01:36 rodent Exp $
{"killchar", (PyCFunction)PyCurses_KillChar, METH_NOARGS},
{"longname", (PyCFunction)PyCurses_longname, METH_NOARGS},
{"meta", (PyCFunction)PyCurses_Meta, METH_VARARGS},
-@@ -2785,9 +2773,7 @@ init_curses(void)
+@@ -2785,9 +2774,7 @@ init_curses(void)
SetDictInt("A_DIM", A_DIM);
SetDictInt("A_BOLD", A_BOLD);
SetDictInt("A_ALTCHARSET", A_ALTCHARSET);
@@ -56,7 +151,7 @@ $NetBSD: patch-ah,v 1.4 2015/04/24 03:01:36 rodent Exp $
SetDictInt("A_PROTECT", A_PROTECT);
SetDictInt("A_CHARTEXT", A_CHARTEXT);
SetDictInt("A_COLOR", A_COLOR);
-@@ -2859,7 +2845,6 @@ init_curses(void)
+@@ -2859,7 +2846,6 @@ init_curses(void)
int key;
char *key_n;
char *key_n2;
@@ -64,7 +159,7 @@ $NetBSD: patch-ah,v 1.4 2015/04/24 03:01:36 rodent Exp $
for (key=KEY_MIN;key < KEY_MAX; key++) {
key_n = (char *)keyname(key);
if (key_n == NULL || strcmp(key_n,"UNKNOWN KEY")==0)
-@@ -2887,7 +2872,6 @@ init_curses(void)
+@@ -2887,7 +2873,6 @@ init_curses(void)
if (key_n2 != key_n)
free(key_n2);
}