gnu: python-3: Update to python-3.5.2.
* gnu/packages/patches/python-3.4-fix-tests.patch, gnu/packages/patches/python-3.5-fix-tests.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them. * gnu/packages/patches/python-fix-tests.patch: Move python-3.4 specific hunk to 'gnu/packages/patches/python-3.4-fix-tests.patch'. * gnu/packages/python.scm (python-3.5): New variable. (python-3.4): Inherit from python-3.5. [source]: Use 'gnu/packages/patches/python-3.4-fix-tests.patch'. (python-3): Point to python-3.5. Co-authored-by: Diane Trout <diane@ghic.org> Co-authored-by: Christopher Allan Webber <cwebber@dustycloud.org>
This commit is contained in:
		
							parent
							
								
									d0b73960db
								
							
						
					
					
						commit
						72df668061
					
				
					 5 changed files with 82 additions and 19 deletions
				
			
		|  | @ -747,6 +747,8 @@ dist_patch_DATA =						\ | |||
|   %D%/packages/patches/python-2.7-source-date-epoch.patch	\
 | ||||
|   %D%/packages/patches/python-3-deterministic-build-info.patch	\
 | ||||
|   %D%/packages/patches/python-3-search-paths.patch		\
 | ||||
|   %D%/packages/patches/python-3.4-fix-tests.patch		\
 | ||||
|   %D%/packages/patches/python-3.5-fix-tests.patch		\
 | ||||
|   %D%/packages/patches/python-dendropy-exclude-failing-tests.patch \
 | ||||
|   %D%/packages/patches/python-fix-tests.patch			\
 | ||||
|   %D%/packages/patches/python-ipython-inputhook-ctype.patch	\
 | ||||
|  |  | |||
							
								
								
									
										12
									
								
								gnu/packages/patches/python-3.4-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								gnu/packages/patches/python-3.4-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| --- Lib/test/test_posixpath.py  2014-03-01 05:46:56.984311000 +0100
 | ||||
| +++ Lib/test/test_posixpath.py  2014-03-07 00:59:20.888311000 +0100
 | ||||
| @@ -319,7 +319,11 @@
 | ||||
|                  del env['HOME'] | ||||
|                  home = pwd.getpwuid(os.getuid()).pw_dir | ||||
|                  # $HOME can end with a trailing /, so strip it (see #17809) | ||||
| -                self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
 | ||||
| +                # The Guix builders have '/' as a home directory, so
 | ||||
| +                # home.rstrip("/") will be an empty string and the test will
 | ||||
| +                # fail. Let's just disable it since it does not really make
 | ||||
| +                # sense with such a bizarre setup.
 | ||||
| +                # self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
 | ||||
							
								
								
									
										46
									
								
								gnu/packages/patches/python-3.5-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								gnu/packages/patches/python-3.5-fix-tests.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,46 @@ | |||
| Additional test fixes which affect Python 3.5 (and presumably later) but not | ||||
| prior revisions of Python. | ||||
| 
 | ||||
| --- Lib/test/test_pathlib.py     2014-03-01 03:02:36.088311000 +0100
 | ||||
| +++ Lib/test/test_pathlib.py     2014-03-01 04:56:37.768311000 +0100
 | ||||
| @@ -1986,8 +1986,9 @@
 | ||||
|          expect = set() if not support.fs_is_case_insensitive(BASE) else given | ||||
|          self.assertEqual(given, expect) | ||||
|          self.assertEqual(set(p.rglob("FILEd*")), set()) | ||||
|   | ||||
| +    @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests")
 | ||||
|      def test_expanduser(self): | ||||
|          P = self.cls | ||||
|          support.import_module('pwd') | ||||
|          import pwd | ||||
| --- Lib/test/test_tarfile.py        2016-02-24 19:22:52.597208055 +0000
 | ||||
| +++ Lib/test/test_tarfile.py     2016-02-24 20:50:48.941950135 +0000
 | ||||
| @@ -2305,11 +2305,14 @@
 | ||||
|      try: | ||||
|          import pwd, grp | ||||
|      except ImportError: | ||||
|          return False | ||||
| -    if pwd.getpwuid(0)[0] != 'root':
 | ||||
| -        return False
 | ||||
| -    if grp.getgrgid(0)[0] != 'root':
 | ||||
| +    try:
 | ||||
| +        if pwd.getpwuid(0)[0] != 'root':
 | ||||
| +            return False
 | ||||
| +        if grp.getgrgid(0)[0] != 'root':
 | ||||
| +            return False
 | ||||
| +    except KeyError:
 | ||||
|          return False | ||||
|      return True | ||||
| 
 | ||||
| 
 | ||||
| --- Lib/test/test_asyncio/test_base_events.py
 | ||||
| +++ Lib/test/test_asyncio/test_base_events.py
 | ||||
| @@ -142,6 +142,8 @@ class BaseEventTests(test_utils.TestCase):
 | ||||
|              (INET, STREAM, TCP, '', ('1.2.3.4', 1)), | ||||
|              base_events._ipaddr_info('1.2.3.4', b'1', INET, STREAM, TCP)) | ||||
|   | ||||
| +    @unittest.skipUnless(support.is_resource_enabled('network'),
 | ||||
| +                         'network is not enabled')
 | ||||
|      def test_getaddrinfo_servname(self): | ||||
|          INET = socket.AF_INET | ||||
|          STREAM = socket.SOCK_STREAM | ||||
|  | @ -20,21 +20,6 @@ http://bugs.python.org/issue20868 . | |||
|      def test_tarfile_root_owner(self): | ||||
|          tmpdir, tmpdir2, base_name =  self._create_files() | ||||
| 
 | ||||
| --- Lib/test/test_posixpath.py	2014-03-01 05:46:56.984311000 +0100
 | ||||
| +++ Lib/test/test_posixpath.py	2014-03-07 00:59:20.888311000 +0100
 | ||||
| @@ -319,7 +319,11 @@
 | ||||
|                  del env['HOME'] | ||||
|                  home = pwd.getpwuid(os.getuid()).pw_dir | ||||
|                  # $HOME can end with a trailing /, so strip it (see #17809) | ||||
| -                self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
 | ||||
| +                # The Guix builders have '/' as a home directory, so
 | ||||
| +                # home.rstrip("/") will be an empty string and the test will
 | ||||
| +                # fail. Let's just disable it since it does not really make
 | ||||
| +                # sense with such a bizarre setup.
 | ||||
| +                # self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
 | ||||
|   | ||||
|      def test_normpath(self): | ||||
|          self.assertEqual(posixpath.normpath(""), ".") | ||||
| --- Lib/test/test_socket.py.orig	2014-03-02 22:14:12.264311000 +0100
 | ||||
| +++ Lib/test/test_socket.py	2014-03-21 03:50:45.660311000 +0100
 | ||||
| @@ -819,6 +819,8 @@
 | ||||
|  |  | |||
|  | @ -293,21 +293,22 @@ data types.") | |||
| ;; Current 2.x version. | ||||
| (define-public python-2 python-2.7) | ||||
| 
 | ||||
| (define-public python-3.4 | ||||
| (define-public python-3.5 | ||||
|   (package (inherit python-2) | ||||
|     (version "3.4.5") | ||||
|     (version "3.5.2") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://www.python.org/ftp/python/" | ||||
|                                   version "/Python-" version ".tar.xz")) | ||||
|               (patches (search-patches | ||||
|                         "python-fix-tests.patch" | ||||
|                         "python-3.5-fix-tests.patch" | ||||
|                         "python-3-deterministic-build-info.patch" | ||||
|                         "python-3-search-paths.patch")) | ||||
|               (patch-flags '("-p0")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "12l9klp778wklxmckhghniy5hklss8r26995pyd00qbllk4b2r7f")))) | ||||
|                 "0h6a5fr7ram2s483lh0pnmc4ncijb8llnpfdxdcl5dxr01hza400")))) | ||||
|     (arguments (substitute-keyword-arguments (package-arguments python-2) | ||||
|                  ((#:tests? _) #t))) | ||||
|     (native-search-paths | ||||
|  | @ -317,8 +318,25 @@ data types.") | |||
|                                         (version-major+minor version) | ||||
|                                         "/site-packages")))))))) | ||||
| 
 | ||||
| (define-public python-3.4 | ||||
|   (package (inherit python-3.5) | ||||
|     (version "3.4.5") | ||||
|     (source (origin | ||||
|               (method url-fetch) | ||||
|               (uri (string-append "https://www.python.org/ftp/python/" | ||||
|                                   version "/Python-" version ".tar.xz")) | ||||
|               (patches (search-patches | ||||
|                         "python-fix-tests.patch" | ||||
|                         "python-3.4-fix-tests.patch" | ||||
|                         "python-3-deterministic-build-info.patch" | ||||
|                         "python-3-search-paths.patch")) | ||||
|               (patch-flags '("-p0")) | ||||
|               (sha256 | ||||
|                (base32 | ||||
|                 "12l9klp778wklxmckhghniy5hklss8r26995pyd00qbllk4b2r7f")))))) | ||||
| 
 | ||||
| ;; Current 3.x version. | ||||
| (define-public python-3 python-3.4) | ||||
| (define-public python-3 python-3.5) | ||||
| 
 | ||||
| ;; Current major version. | ||||
| (define-public python python-3) | ||||
|  |  | |||
		Reference in a new issue