From 6790e3e18a2402406c4d1beee87d629d11ab4529 Mon Sep 17 00:00:00 2001 From: Makoto Sasaki Date: Sun, 5 Oct 2014 02:07:12 +0900 Subject: [PATCH] Add CPython 3.2.6rc1 and CPython 3.3.6rc1 (fixes #248) --- .../python-build/share/python-build/3.2.6rc1 | 3 + .../python-build/share/python-build/3.3.6rc1 | 3 + .../Python-3.2.6rc1/002_readline63.patch | 70 +++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 plugins/python-build/share/python-build/3.2.6rc1 create mode 100644 plugins/python-build/share/python-build/3.3.6rc1 create mode 100644 plugins/python-build/share/python-build/patches/3.2.6rc1/Python-3.2.6rc1/002_readline63.patch diff --git a/plugins/python-build/share/python-build/3.2.6rc1 b/plugins/python-build/share/python-build/3.2.6rc1 new file mode 100644 index 00000000..12ad7e68 --- /dev/null +++ b/plugins/python-build/share/python-build/3.2.6rc1 @@ -0,0 +1,3 @@ +require_cc +install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline +install_package "Python-3.2.6rc1" "https://www.python.org/ftp/python/3.2.6/Python-3.2.6rc1.tgz#b10c473f205793319e41e2855abcf7f46f0f845e6e8e5077183dbc1271c19743" ldflags_dirs standard verify_py32 ensurepip diff --git a/plugins/python-build/share/python-build/3.3.6rc1 b/plugins/python-build/share/python-build/3.3.6rc1 new file mode 100644 index 00000000..d4dc7a22 --- /dev/null +++ b/plugins/python-build/share/python-build/3.3.6rc1 @@ -0,0 +1,3 @@ +require_cc +install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline +install_package "Python-3.3.6rc1" "https://www.python.org/ftp/python/3.3.6/Python-3.3.6rc1.tgz#1729a43107be4e13b8b4407926557242f2a28a93b97d2d861f8b002257467169" ldflags_dirs standard verify_py33 ensurepip diff --git a/plugins/python-build/share/python-build/patches/3.2.6rc1/Python-3.2.6rc1/002_readline63.patch b/plugins/python-build/share/python-build/patches/3.2.6rc1/Python-3.2.6rc1/002_readline63.patch new file mode 100644 index 00000000..ed296265 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/3.2.6rc1/Python-3.2.6rc1/002_readline63.patch @@ -0,0 +1,70 @@ +diff -r -u ../Python-3.3.3.orig/Modules/readline.c ./Modules/readline.c +--- ../Python-3.3.3.orig/Modules/readline.c 2013-11-17 16:23:01.000000000 +0900 ++++ ./Modules/readline.c 2014-03-29 16:22:10.219305878 +0900 +@@ -231,8 +231,7 @@ + if (!PyArg_ParseTuple(args, buf, &function)) + return NULL; + if (function == Py_None) { +- Py_XDECREF(*hook_var); +- *hook_var = NULL; ++ Py_CLEAR(*hook_var); + } + else if (PyCallable_Check(function)) { + PyObject *tmp = *hook_var; +@@ -774,14 +773,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); + } +@@ -819,7 +826,7 @@ + (r != Py_None && PyLong_AsLong(r) == -1 && PyErr_Occurred())) { + goto error; + } +- Py_XDECREF(r); r=NULL; ++ Py_CLEAR(r); + + if (0) { + error: +@@ -877,7 +884,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'; +@@ -936,12 +943,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 */ + completer_word_break_characters = + rl_completer_word_break_characters =