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>
master
Leo Famulari 2016-08-21 00:51:38 -04:00
parent d0b73960db
commit 72df668061
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
5 changed files with 82 additions and 19 deletions

View File

@ -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 \

View 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("/"))

View 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

View File

@ -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 @@

View File

@ -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)