gnu: python@2: Update to 2.7.14.
* gnu/packages/python.scm (python-2.7): Update to 2.7.14. [source]: Add patch to skip two new tests. Delete upstreamed patch. * gnu/packages/patches/python-2.7-adjust-tests.patch: New file. * gnu/packages/patches/python-2.7-getentropy-on-old-kernels.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly.
This commit is contained in:
		
							parent
							
								
									9d8796a516
								
							
						
					
					
						commit
						603a64920f
					
				
					 4 changed files with 26 additions and 58 deletions
				
			
		|  | @ -965,7 +965,7 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/pygpgme-disable-problematic-tests.patch  \
 | ||||
|   %D%/packages/patches/pyqt-configure.patch			\
 | ||||
|   %D%/packages/patches/python-2-deterministic-build-info.patch	\
 | ||||
|   %D%/packages/patches/python-2.7-getentropy-on-old-kernels.patch	\
 | ||||
|   %D%/packages/patches/python-2.7-adjust-tests.patch		\
 | ||||
|   %D%/packages/patches/python-2.7-search-paths.patch		\
 | ||||
|   %D%/packages/patches/python-2.7-site-prefixes.patch		\
 | ||||
|   %D%/packages/patches/python-2.7-source-date-epoch.patch	\
 | ||||
|  |  | |||
							
								
								
									
										22
									
								
								gnu/packages/patches/python-2.7-adjust-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								gnu/packages/patches/python-2.7-adjust-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,22 @@ | |||
| SIGINT is ignored in the Guix build environment. | ||||
| 
 | ||||
| --- a/Lib/test/test_regrtest.py
 | ||||
| +++ b/Lib/test/test_regrtest.py
 | ||||
| @@ -399,6 +399,8 @@
 | ||||
|          output = self.run_tests('--fromfile', filename) | ||||
|          self.check_executed_tests(output, tests) | ||||
|   | ||||
| +    @unittest.skipIf(True,
 | ||||
| +        "KeyboardInterrupts do not work in the build environment")
 | ||||
|      def test_interrupted(self): | ||||
|          code = TEST_INTERRUPTED | ||||
|          test = self.create_test('sigint', code=code) | ||||
| @@ -416,6 +418,8 @@
 | ||||
|                   % (self.TESTNAME_REGEX, len(tests))) | ||||
|          self.check_line(output, regex) | ||||
|   | ||||
| +    @unittest.skipIf(True,
 | ||||
| +        "KeyboardInterrupts do not work in the build environment")
 | ||||
|      def test_slow_interrupted(self): | ||||
|          # Issue #25373: test --slowest with an interrupted test | ||||
|          code = TEST_INTERRUPTED | ||||
|  | @ -1,54 +0,0 @@ | |||
| This patch resolves a compatibility issue when compiled against glibc | ||||
| 2.25 | ||||
| and run runder kernels < 3.17: | ||||
| 
 | ||||
| https://bugzilla.redhat.com/show_bug.cgi?id=1410175 | ||||
| 
 | ||||
| Upstream bug URLs: | ||||
| 
 | ||||
| https://bugs.python.org/issue29157 | ||||
| https://bugs.python.org/issue29188 | ||||
| 
 | ||||
| Patch adapted from upstream source repository: | ||||
| 
 | ||||
| https://github.com/python/cpython/commit/01bdbad3e951014c58581635b94b22868537901c | ||||
| 
 | ||||
| From 01bdbad3e951014c58581635b94b22868537901c Mon Sep 17 00:00:00 2001 | ||||
| From: Victor Stinner <victor.stinner@gmail.com> | ||||
| Date: Mon, 9 Jan 2017 11:10:41 +0100 | ||||
| Subject: [PATCH] Don't use getentropy() on Linux | ||||
| 
 | ||||
| Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function but | ||||
| read from /dev/urandom to get random bytes, for example in os.urandom().  On | ||||
| Linux, getentropy() is implemented which getrandom() is blocking mode, whereas | ||||
| os.urandom() should not block. | ||||
| ---
 | ||||
|  Misc/NEWS       |  5 +++++ | ||||
|  Python/random.c | 11 +++++++++-- | ||||
|  2 files changed, 14 insertions(+), 2 deletions(-) | ||||
| 
 | ||||
| diff --git a/Python/random.c b/Python/random.c
 | ||||
| index 57c41ffcd6..000cb36938 100644
 | ||||
| --- a/Python/random.c
 | ||||
| +++ b/Python/random.c
 | ||||
| @@ -97,8 +97,15 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise)
 | ||||
|  } | ||||
|   | ||||
|  /* Issue #25003: Don't use getentropy() on Solaris (available since | ||||
| - * Solaris 11.3), it is blocking whereas os.urandom() should not block. */
 | ||||
| -#elif defined(HAVE_GETENTROPY) && !defined(sun)
 | ||||
| +   Solaris 11.3), it is blocking whereas os.urandom() should not block.
 | ||||
| +
 | ||||
| +   Issue #29188: Don't use getentropy() on Linux since the glibc 2.24
 | ||||
| +   implements it with the getrandom() syscall which can fail with ENOSYS,
 | ||||
| +   and this error is not supported in py_getentropy() and getrandom() is called
 | ||||
| +   with flags=0 which blocks until system urandom is initialized, which is not
 | ||||
| +   the desired behaviour to seed the Python hash secret nor for os.urandom():
 | ||||
| +   see the PEP 524 which was only implemented in Python 3.6. */
 | ||||
| +#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux)
 | ||||
|  #define PY_GETENTROPY 1 | ||||
|   | ||||
|  /* Fill buffer with size pseudo-random bytes generated by getentropy(). | ||||
| -- 
 | ||||
| 2.12.0 | ||||
| 
 | ||||
|  | @ -132,7 +132,7 @@ | |||
| (define-public python-2.7 | ||||
|   (package | ||||
|     (name "python") | ||||
|     (version "2.7.13") | ||||
|     (version "2.7.14") | ||||
|     (source | ||||
|      (origin | ||||
|       (method url-fetch) | ||||
|  | @ -140,12 +140,12 @@ | |||
|                           version "/Python-" version ".tar.xz")) | ||||
|       (sha256 | ||||
|        (base32 | ||||
|         "0cgpk3zk0fgpji59pb4zy9nzljr70qzgv1vpz5hq5xw2d2c47m9m")) | ||||
|         "0rka541ys16jwzcnnvjp2v12m4cwgd2jp6wj4kj511p715pb5zvi")) | ||||
|       (patches (search-patches "python-2.7-search-paths.patch" | ||||
|                                "python-2-deterministic-build-info.patch" | ||||
|                                "python-2.7-site-prefixes.patch" | ||||
|                                "python-2.7-source-date-epoch.patch" | ||||
|                                "python-2.7-getentropy-on-old-kernels.patch")) | ||||
|                                "python-2.7-adjust-tests.patch")) | ||||
|       (modules '((guix build utils))) | ||||
|       ;; suboptimal to delete failing tests here, but if we delete them in the | ||||
|       ;; arguments then we need to make sure to strip out that phase when it | ||||
|  |  | |||
		Reference in a new issue