MFH: r418240

lang/python3*: Backport upstream issue 24557

  - Add backport of patch for EGD issue [1]
  - Change USE_OPENSSL to USES= ssl
  - Don't set CPE_VERSION to the default PORTVERSION

PR:		205960 [1], 199050 [1]
Reviewed by:	koobs (python)
Approved by:	python (koobs)
Obtained from:	https://hg.python.org/cpython/rev/7c0432cf1f2e [1]

Approved by:	ports-secteam (feld)
This commit is contained in:
Bernard Spil 2016-07-08 20:08:47 +00:00
parent a886c5862f
commit 9faa146c1c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2016Q3/; revision=418241
5 changed files with 77 additions and 8 deletions

View file

@ -16,14 +16,12 @@ LICENSE= PSFL
DEPRECATED= No longer receives bug fixes, only security updates. Please update to Python 3.5
EXPIRATION_DATE= 2017-09-01
USES= cpe ncurses pkgconfig readline tar:xz
USE_OPENSSL= yes
USES= cpe ncurses pkgconfig readline ssl tar:xz
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CPE_VENDOR= python
CPE_PRODUCT= ${CPE_VENDOR}
CPE_VERSION= ${PORTVERSION}
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ENV+= OPT="" # Null out OPT to respect user CFLAGS and remove optimizations

View file

@ -13,14 +13,12 @@ COMMENT= Interpreted object-oriented programming language
LICENSE= PSFL
USES= cpe ncurses pkgconfig readline tar:xz
USE_OPENSSL= yes
USES= cpe ncurses pkgconfig readline ssl tar:xz
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CPE_VENDOR= python
CPE_PRODUCT= ${CPE_VENDOR}
CPE_VERSION= ${PORTVERSION}
DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm
CONFIGURE_ARGS+= --enable-shared --without-ensurepip

View file

@ -0,0 +1,23 @@
http://bugs.python.org/issue24557
assume egd unless OPENSSL_NO_EGD is defined-remove configure check
--- Modules/_ssl.c.orig 2016-06-25 21:52:32 UTC
+++ Modules/_ssl.c
@@ -3325,7 +3325,7 @@ Returns 1 if the OpenSSL PRNG has been s
It is necessary to seed the PRNG with RAND_add() on some platforms before\n\
using the ssl() function.");
-#ifdef HAVE_RAND_EGD
+#ifndef OPENSSL_NO_EGD
static PyObject *
PySSL_RAND_egd(PyObject *self, PyObject *args)
{
@@ -3753,7 +3753,7 @@ static PyMethodDef PySSL_methods[] = {
PySSL_RAND_bytes_doc},
{"RAND_pseudo_bytes", PySSL_RAND_pseudo_bytes, METH_VARARGS,
PySSL_RAND_pseudo_bytes_doc},
-#ifdef HAVE_RAND_EGD
+#ifndef OPENSSL_NO_EGD
{"RAND_egd", PySSL_RAND_egd, METH_VARARGS,
PySSL_RAND_egd_doc},
#endif

View file

@ -14,8 +14,7 @@ COMMENT= Interpreted object-oriented programming language
LICENSE= PSFL
USES= cpe ncurses pkgconfig readline tar:xz
USE_OPENSSL= yes
USES= cpe ncurses pkgconfig readline ssl tar:xz
USE_LDCONFIG= yes
GNU_CONFIGURE= yes

View file

@ -0,0 +1,51 @@
http://bugs.python.org/issue24557
https://hg.python.org/cpython/rev/fe168c2b5e95
assume egd unless OPENSSL_NO_EGD is defined-remove configure check
--- Modules/_ssl.c.orig 2015-12-07 01:39:10 UTC
+++ Modules/_ssl.c
@@ -3916,7 +3916,7 @@ _ssl_RAND_status_impl(PyModuleDef *modul
return PyLong_FromLong(RAND_status());
}
-#ifdef HAVE_RAND_EGD
+#ifndef OPENSSL_NO_EGD
/*[clinic input]
_ssl.RAND_egd
path: object(converter="PyUnicode_FSConverter")
@@ -3942,7 +3942,7 @@ _ssl_RAND_egd_impl(PyModuleDef *module,
}
return PyLong_FromLong(bytes);
}
-#endif /* HAVE_RAND_EGD */
+#endif /* OPENSSL_NO_EGD */
--- Modules/clinic/_ssl.c.h.orig 2015-12-07 01:39:10 UTC
+++ Modules/clinic/_ssl.c.h
@@ -893,7 +893,7 @@ _ssl_RAND_status(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
return _ssl_RAND_status_impl(module);
}
-#if defined(HAVE_RAND_EGD)
+#if !defined(OPENSSL_NO_EGD)
PyDoc_STRVAR(_ssl_RAND_egd__doc__,
"RAND_egd($module, path, /)\n"
@@ -924,7 +924,7 @@ _ssl_RAND_egd(PyModuleDef *module, PyObject *arg)
return return_value;
}
-#endif /* defined(HAVE_RAND_EGD) */
+#endif /* !defined(OPENSSL_NO_EGD) */
PyDoc_STRVAR(_ssl_get_default_verify_paths__doc__,
"get_default_verify_paths($module, /)\n"
@@ -1102,4 +1102,4 @@ _ssl_enum_crls(PyModuleDef *module, PyObject *args, PyObject *kwargs)
#ifndef _SSL_ENUM_CRLS_METHODDEF
#define _SSL_ENUM_CRLS_METHODDEF
#endif /* !defined(_SSL_ENUM_CRLS_METHODDEF) */
-/*[clinic end generated code: output=a14999cb565a69a2 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=abe795f14cb63b6a input=a9049054013a1b77]*/