From 2a13bbe17c4810e0db56d438be39a0e03c615482 Mon Sep 17 00:00:00 2001 From: Antoine Brodin Date: Sat, 1 Mar 2014 15:19:43 +0000 Subject: [PATCH] - Fix build with readline 6.3 from ports the patch was backported from upstream (issue #20374) - Add missing USES=readline Obtained from: python --- lang/python32/Makefile | 1 + lang/python32/files/patch-issue20374 | 54 ++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 lang/python32/files/patch-issue20374 diff --git a/lang/python32/Makefile b/lang/python32/Makefile index f4c3fe11c4dd..958f2900d676 100644 --- a/lang/python32/Makefile +++ b/lang/python32/Makefile @@ -21,6 +21,7 @@ MAKE_ENV= VPATH="${PYTHON_WRKSRC}" INSTALL_TARGET= altinstall +USES= readline USE_LDCONFIG= yes USE_PYTHON= yes USE_XZ= yes diff --git a/lang/python32/files/patch-issue20374 b/lang/python32/files/patch-issue20374 new file mode 100644 index 000000000000..3725264e8c06 --- /dev/null +++ b/lang/python32/files/patch-issue20374 @@ -0,0 +1,54 @@ +# Description: fix readline.so build with readline 6.3 +# Patch obtained from upstream, issue #20374 +# http://bugs.python.org/issue20374 + +--- ./Modules/readline.c.orig 2013-05-15 16:33:54.000000000 +0000 ++++ ./Modules/readline.c 2014-03-01 14:58:46.000000000 +0000 +@@ -761,14 +761,22 @@ + } + + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_startup_hook(void) ++#else ++on_startup_hook() ++#endif + { + return on_hook(startup_hook); + } + + #ifdef HAVE_RL_PRE_INPUT_HOOK + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_pre_input_hook(void) ++#else ++on_pre_input_hook() ++#endif + { + return on_hook(pre_input_hook); + } +@@ -864,7 +872,7 @@ + * before calling the normal completer */ + + static char ** +-flex_complete(char *text, int start, int end) ++flex_complete(const char *text, int start, int end) + { + #ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER + rl_completion_append_character ='\0'; +@@ -912,12 +920,12 @@ + rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap); + rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap); + /* Set our hook functions */ +- rl_startup_hook = (Function *)on_startup_hook; ++ rl_startup_hook = on_startup_hook; + #ifdef HAVE_RL_PRE_INPUT_HOOK +- rl_pre_input_hook = (Function *)on_pre_input_hook; ++ rl_pre_input_hook = on_pre_input_hook; + #endif + /* Set our completion function */ +- rl_attempted_completion_function = (CPPFunction *)flex_complete; ++ rl_attempted_completion_function = flex_complete; + /* Set Python word break characters */ + rl_completer_word_break_characters = + strdup(" \t\n`~!@#$%^&*()-=+[{]}\\|;:'\",<>/?");