~ruther/guix-local

08c045091e8d8da3b4c677540ed577e8f2448b0d — Cyril Roelandt 11 years ago 2bfe743
python: Update to 3.4.3

* gnu/packages/python.scm (python): Update from 3.3.5 to 3.4.3.
* gnu/packages/patches/python-fix-tests.patch: Update the required test fixes.
* gnu/packages/patches/python-libffi-mips-n32-fix.patch: Remove it...
* gnu-system.am (dist_patch_DATA): ... and do not reference it here.
4 files changed, 54 insertions(+), 29 deletions(-)

M gnu-system.am
M gnu/packages/patches/python-fix-tests.patch
D gnu/packages/patches/python-libffi-mips-n32-fix.patch
M gnu/packages/python.scm
M gnu-system.am => gnu-system.am +0 -1
@@ 510,7 510,6 @@ dist_patch_DATA =						\
  gnu/packages/patches/pybugz-stty.patch			\
  gnu/packages/patches/pyqt-configure.patch			\
  gnu/packages/patches/python-fix-tests.patch			\
  gnu/packages/patches/python-libffi-mips-n32-fix.patch		\
  gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch	\
  gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch	\
  gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch	\

M gnu/packages/patches/python-fix-tests.patch => gnu/packages/patches/python-fix-tests.patch +51 -2
@@ 64,8 64,8 @@ http://bugs.python.org/issue20868 .
     @unittest.skipUnless(support.is_resource_enabled('network'),
                          'network is not enabled')
     def test_idna(self):
--- Lib/test/test_multiprocessing.py	2014-04-06 23:12:27.575235000 +0200
+++ Lib/test/test_multiprocessing.py	2014-04-06 23:13:04.827235000 +0200
--- Lib/test/_test_multiprocessing.py	2014-04-06 23:12:27.575235000 +0200
+++ Lib/test/_test_multiprocessing.py	2014-04-06 23:13:04.827235000 +0200
@@ -1016,6 +1016,7 @@
         if pid is not None:
             os.kill(pid, signal.SIGINT)


@@ 112,3 112,52 @@ http://bugs.python.org/issue20868 .
     def test_issue_8959_a(self):
         from ctypes.util import find_library
         libc_path = find_library("c")
--- Tools/scripts/run_tests.py.orig	2015-04-06 03:52:17.484000000 +0200
+++ Tools/scripts/run_tests.py	2015-04-06 03:52:25.880000000 +0200
@@ -47,7 +47,7 @@
     if threading and not any(is_multiprocess_flag(arg) for arg in regrtest_args):
         args.extend(['-j', '0'])  # Use all CPU cores
     if not any(is_resource_use_flag(arg) for arg in regrtest_args):
-        args.extend(['-u', 'all,-largefile,-audio,-gui'])
+        args.extend(['-u', 'all,-largefile,-audio,-gui,-network'])
     args.extend(regrtest_args)
     print(' '.join(args))
     os.execv(sys.executable, args)
--- Lib/distutils/tests/test_archive_util.py.orig	2015-04-06 04:08:49.288000000 +0200
+++ Lib/distutils/tests/test_archive_util.py	2015-04-06 04:09:34.396000000 +0200
@@ -282,6 +282,7 @@
         finally:
             del ARCHIVE_FORMATS['xxx']

+    @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
     def test_make_archive_owner_group(self):
         # testing make_archive with owner and group, with various combinations
         # this works even if there's not gid/uid support
@@ -310,6 +311,7 @@

     @unittest.skipUnless(ZLIB_SUPPORT, "Requires zlib")
     @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
+    @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
     def test_tarfile_root_owner(self):
         tmpdir, tmpdir2, base_name =  self._create_files()
         old_dir = os.getcwd()
--- Lib/distutils/tests/test_sdist.py.orig	2015-04-06 04:10:05.264000000 +0200
+++ Lib/distutils/tests/test_sdist.py	2015-04-06 04:10:21.448000000 +0200
@@ -435,6 +435,7 @@
                      "The tar command is not found")
     @unittest.skipIf(find_executable('gzip') is None,
                      "The gzip command is not found")
+    @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
     def test_make_distribution_owner_group(self):
         # now building a sdist
         dist, cmd = self.get_cmd()
--- Lib/test/test_resource.py.orig	2015-04-06 21:30:24.708000000 +0200
+++ Lib/test/test_resource.py	2015-04-06 23:07:27.220000000 +0200
@@ -146,6 +146,7 @@

     @unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit')
     @support.requires_linux_version(2, 6, 36)
+    @unittest.skipIf(True, "Bug: the PermissionError is not raised")
     def test_prlimit(self):
         self.assertRaises(TypeError, resource.prlimit)
         if os.geteuid() != 0:

D gnu/packages/patches/python-libffi-mips-n32-fix.patch => gnu/packages/patches/python-libffi-mips-n32-fix.patch +0 -21
@@ 1,21 0,0 @@
Fix handling of uint32_t arguments on the MIPS N32 ABI.

Patch by Mark H Weaver <mhw@netris.org>.

--- Modules/_ctypes/libffi/src/mips/ffi.c.orig	2013-03-16 07:19:39.000000000 -0400
+++ Modules/_ctypes/libffi/src/mips/ffi.c	2013-10-22 01:11:03.111985247 -0400
@@ -170,7 +170,14 @@
 		break;
 		  
 	      case FFI_TYPE_UINT32:
+#ifdef FFI_MIPS_N32
+		/* The N32 ABI requires that 32-bit integers
+		   be sign-extended to 64-bits, regardless of
+		   whether they are signed or unsigned. */
+		*(ffi_arg *)argp = *(SINT32 *)(* p_argv);
+#else
 		*(ffi_arg *)argp = *(UINT32 *)(* p_argv);
+#endif
 		break;
 
 	      /* This can only happen with 64bit slots.  */

M gnu/packages/python.scm => gnu/packages/python.scm +3 -5
@@ 201,18 201,16 @@ data types.")

(define-public python
  (package (inherit python-2)
    (version "3.3.5")
    (version "3.4.3")
    (source (origin
              (method url-fetch)
              (uri (string-append "https://www.python.org/ftp/python/"
                                  version "/Python-" version ".tar.xz"))
              (patches (list (search-patch "python-fix-tests.patch")
                             (search-patch "python-sqlite-3.8.4-test-fix.patch")
                             (search-patch "python-libffi-mips-n32-fix.patch")))
              (patches (list (search-patch "python-fix-tests.patch")))
              (patch-flags '("-p0"))
              (sha256
               (base32
                "1rdncc7g8g6f3lfdg33rli1yffbiq8z283xy4f5ksl1l8i49psdb"))))
                "1f4nm4z08sy0kqwisvv95l02crv6dyysdmx44p1mz3bn6csrdcxm"))))
    (arguments (substitute-keyword-arguments (package-arguments python-2)
                 ((#:tests? _) #t)))
    (native-search-paths