* Python 3.5 start of update @ 2016-02-27 5:19 Diane Trout 2016-03-04 3:15 ` Leo Famulari 0 siblings, 1 reply; 11+ messages in thread From: Diane Trout @ 2016-02-27 5:19 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 968 bytes --] Hi, Attached is the patch I used for trying to update python 3 to 3.5. I disabled a test and added an exception handler for some code calling pwd.getpwuid(0) and the group equivalent. It builds outside of the python.scm module but if I change the version in python.scm python-minimal ends up with a link error. *** WARNING: renaming "_ctypes" since importing it failed: build/lib.linux- x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory error: [Errno 2] No such file or directory: 'build/lib.linux- x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu.so' -> 'build/lib.linux- x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu_failed.so' Makefile:608: recipe for target 'sharedmods' failed I'm currently pretty baffled by the link error as if I do --keep-failed I can get it to build with: cd /tmp/nix-builc-python-minimal-3.5.1.drv chown -R me . guix environment python-minimal cd Python-3.5.1 make Diane [-- Attachment #2: 0001-Update-python-3-to-3.5.1.-Disabling-a-test-that-depe.patch --] [-- Type: text/x-patch, Size: 3323 bytes --] From 834e5073580c9584b8daf533da6735d9402049b8 Mon Sep 17 00:00:00 2001 From: Diane Trout <diane@ghic.org> Date: Fri, 26 Feb 2016 16:12:31 -0800 Subject: [PATCH] Update python 3 to 3.5.1. Disabling a test that depended on home and adding exception handling for get{pwu,grg}id(0) --- gnu/packages/patches/python-fix-tests.patch | 33 +++++++++++++++++++++++++++++ gnu/packages/python.scm | 4 ++-- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/gnu/packages/patches/python-fix-tests.patch b/gnu/packages/patches/python-fix-tests.patch index 82c1998..1762531 100644 --- a/gnu/packages/patches/python-fix-tests.patch +++ b/gnu/packages/patches/python-fix-tests.patch @@ -1,6 +1,18 @@ See the discussion about the issues fixed here at: http://bugs.python.org/issue20868 . +--- 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_shutil.py 2014-03-01 03:02:36.088311000 +0100 +++ Lib/test/test_shutil.py 2014-03-01 04:56:37.768311000 +0100 @@ -1053,6 +1053,7 @@ @@ -64,6 +76,27 @@ http://bugs.python.org/issue20868 . @unittest.skipUnless(support.is_resource_enabled('network'), 'network is not enabled') def test_idna(self): + +--- 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_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 @@ diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b67aed0..03cc549 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -260,7 +260,7 @@ data types.") (define-public python (package (inherit python-2) - (version "3.4.3") + (version "3.5.1") (source (origin (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" @@ -274,7 +274,7 @@ data types.") (patch-flags '("-p0")) (sha256 (base32 - "1f4nm4z08sy0kqwisvv95l02crv6dyysdmx44p1mz3bn6csrdcxm")))) + "1j95yx32ggqx8jf13h3c8qfp34ixpyg8ipqcdjmn143d6q67rmf6")))) (arguments (substitute-keyword-arguments (package-arguments python-2) ((#:tests? _) #t))) (native-search-paths -- 2.6.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-02-27 5:19 Python 3.5 start of update Diane Trout @ 2016-03-04 3:15 ` Leo Famulari 2016-03-05 6:51 ` Diane Trout 0 siblings, 1 reply; 11+ messages in thread From: Leo Famulari @ 2016-03-04 3:15 UTC (permalink / raw) To: Diane Trout; +Cc: guix-devel On Fri, Feb 26, 2016 at 09:19:40PM -0800, Diane Trout wrote: > Hi, > > Attached is the patch I used for trying to update python 3 to 3.5. I disabled > a test and added an exception handler for some code calling pwd.getpwuid(0) > and the group equivalent. > > It builds outside of the python.scm module but if I change the version in > python.scm python-minimal ends up with a link error. > > *** WARNING: renaming "_ctypes" since importing it failed: build/lib.linux- > x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu.so: cannot open shared object > file: No such file or directory > error: [Errno 2] No such file or directory: 'build/lib.linux- > x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu.so' -> 'build/lib.linux- > x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu_failed.so' > Makefile:608: recipe for target 'sharedmods' failed > > I'm currently pretty baffled by the link error as if I do --keep-failed I can > get it to build with: > cd /tmp/nix-builc-python-minimal-3.5.1.drv > chown -R me . > guix environment python-minimal > cd Python-3.5.1 > make Thanks for attempting this major upgrade! I think that using `guix environment python-minimal` will not get you the exact environment that exists while building with the daemon. Without the '--pure' or '--container' options, `guix environment` augments your existing environment rather than replacing it. Also, the 'python-minimal' offered by `guix environment python-minimal` is likely the one that lives on the master branch, deployed by `guix pull`, unless you symlinked your git checkout to '~/.config/guix/latest'. Could you try something like this, having checked out the branch where you are attempting this upgrade: `~/src/guix/pre-inst-env guix environment --pure python-minimal` I would suggest '--container' but you'd have to make some changes to your system if you are on Debian. You could also try to source the 'environment-variables' file in the failed build directory, although you will again want to unset your pre-existing environment first (I'm not sure how to do that). Sorry if I've misunderstood your dilemma. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-03-04 3:15 ` Leo Famulari @ 2016-03-05 6:51 ` Diane Trout 2016-03-08 6:52 ` Diane Trout 0 siblings, 1 reply; 11+ messages in thread From: Diane Trout @ 2016-03-05 6:51 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel Hello, Thank you for getting back to me. > Also, the 'python-minimal' offered by `guix environment python- > minimal` > is likely the one that lives on the master branch, deployed by `guix > pull`, unless you symlinked your git checkout to > '~/.config/guix/latest'. > I remembered --pure, but I keep forgetting the .config/guix/latest symlink gets updated fairly frequently. > Could you try something like this, having checked out the branch > where > you are attempting this upgrade: > > `~/src/guix/pre-inst-env guix environment --pure python-minimal` > > I would suggest '--container' but you'd have to make some changes to > your system if you are on Debian. I switched to trying to do this on a GuixSD VM. With pre-inst-env guix environment --pure python-minimal I managed to get an environment, and figured out some of the config flags from a run of guix build python-minimal Whats output in the build log looks like: (environment variables setting path to bash that I didn't copy) --prefix=/gnu/store/wj1b0simlx4s9vdksc297043cg7ah9gf-python-minimal-3.5.1 --enable-shared LDFLAGS=-Wl,-rpath=/gnu/store/wj1b0simlx4s9vdksc297043cg7ah9gf-python-minimal-3.5.1/lib --without-system-ffi Does guix sort the config flags somehow? I wasn't sure if the LDFLAGS could be defined between --arguments. I had a list of several things I tried that didn't work but then I asked why is python-minimal using --without-system-ffi? It occurred to me to try building it with libffi and --with-system-ffi, and that wonderfully did build. I hope this stream of consciousness made some sense. If --without- system-ffi isn't actually important I can clean up the patch and submit it after I've gotten some sleep. (Mostly my previous patch plus commented out the current python-minimal (arguments...) and adding ("libffi" ,libffi) to the inputs) Diane ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-03-05 6:51 ` Diane Trout @ 2016-03-08 6:52 ` Diane Trout 2016-03-08 8:24 ` Ricardo Wurmus 2016-06-21 15:44 ` Christopher Allan Webber 0 siblings, 2 replies; 11+ messages in thread From: Diane Trout @ 2016-03-08 6:52 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1114 bytes --] Hello, I've gotten further with my Python 3.5 update. Attached are two patches. One to update Python to 3.5.1 and one to update pytest as I couldn't get that to run with pytest 2.6.1. My test was to install jupyter, which pulled in already packaged for guix packages numpy, pandas, six, requests, pyyaml, dateutil, jinja2, flask, pyzmq, tornado, traitlets, pygments, nose, pexpect, sphinx, terminado, pexpect I only had trouble building cython. There was one unit test failure. (hand copied from a graphical VM console so some of the python stack trace text is missing). FAIL: runTest (__main__.EndToEndTest) End-to-end asyncio_generators Traceback File runtests.py line 1417 in runTest self.assertEqual(0, res, "nonzero exit status assertion error 0 != 1 non zero exit status I have a vague memory of trying to build cython with python 3.4.3 and having the unit test fail, but it was late and I may have forgotten to stash all my changes. (If you're curious about my progress with jupyter, that's over here: https://github.com/detrout/guix-detrout/blob/master/detrout/packages/py data.scm ) [-- Attachment #2: 0001-Build-python-3.5.1.patch --] [-- Type: text/x-patch, Size: 4404 bytes --] From ecd68c7702fc06a947eb8b550938dd00107b2e33 Mon Sep 17 00:00:00 2001 From: Diane Trout <diane@ghic.org> Date: Mon, 7 Mar 2016 21:07:21 -0800 Subject: [PATCH 1/2] Build python 3.5.1 This changes python-minimal to also use the system-ffi as without-system-ffi caused the build to fail trying to when trying to import _ctypes. --- gnu/packages/patches/python-fix-tests.patch | 33 +++++++++++++++++++++++++++++ gnu/packages/python.scm | 12 ++++------- 2 files changed, 37 insertions(+), 8 deletions(-) diff --git a/gnu/packages/patches/python-fix-tests.patch b/gnu/packages/patches/python-fix-tests.patch index 82c1998..1762531 100644 --- a/gnu/packages/patches/python-fix-tests.patch +++ b/gnu/packages/patches/python-fix-tests.patch @@ -1,6 +1,18 @@ See the discussion about the issues fixed here at: http://bugs.python.org/issue20868 . +--- 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_shutil.py 2014-03-01 03:02:36.088311000 +0100 +++ Lib/test/test_shutil.py 2014-03-01 04:56:37.768311000 +0100 @@ -1053,6 +1053,7 @@ @@ -64,6 +76,27 @@ http://bugs.python.org/issue20868 . @unittest.skipUnless(support.is_resource_enabled('network'), 'network is not enabled') def test_idna(self): + +--- 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_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 @@ diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 050f9e6..d8610a4 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -260,7 +260,7 @@ data types.") (define-public python (package (inherit python-2) - (version "3.4.3") + (version "3.5.1") (source (origin (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" @@ -268,13 +268,13 @@ data types.") (patches (map search-patch '("python-fix-tests.patch" ;; XXX Try removing this patch for python > 3.4.3 - "python-disable-ssl-test.patch" + ;; "python-disable-ssl-test.patch" "python-3-deterministic-build-info.patch" "python-3-search-paths.patch"))) (patch-flags '("-p0")) (sha256 (base32 - "1f4nm4z08sy0kqwisvv95l02crv6dyysdmx44p1mz3bn6csrdcxm")))) + "1j95yx32ggqx8jf13h3c8qfp34ixpyg8ipqcdjmn143d6q67rmf6")))) (arguments (substitute-keyword-arguments (package-arguments python-2) ((#:tests? _) #t))) (native-search-paths @@ -301,14 +301,10 @@ data types.") (package (inherit python) (name "python-minimal") (outputs '("out")) - (arguments - (substitute-keyword-arguments (package-arguments python) - ((#:configure-flags cf) - `(append ,cf '("--without-system-ffi"))))) - ;; OpenSSL is a mandatory dependency of Python 3.x, for urllib; ;; zlib is required by 'zipimport', used by pip. (inputs `(("openssl" ,openssl) + ("libffi" ,libffi) ; for ctypes ("zlib" ,zlib))))) (define* (wrap-python3 python -- 2.6.3 [-- Attachment #3: 0002-Update-pytest-to-2.9.0.patch --] [-- Type: text/x-patch, Size: 1121 bytes --] From 9c452ae5e62b4e8af8004d72a69dbb62cefda968 Mon Sep 17 00:00:00 2001 From: Diane Trout <diane@ghic.org> Date: Mon, 7 Mar 2016 22:19:43 -0800 Subject: [PATCH 2/2] Update pytest to 2.9.0 The previous version 2.6.1 had problems running under python 3.5.1. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d8610a4..1631646 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1523,7 +1523,7 @@ code introspection, and logging.") (define-public python-pytest (package (name "python-pytest") - (version "2.6.1") + (version "2.9.0") (source (origin (method url-fetch) @@ -1532,7 +1532,7 @@ code introspection, and logging.") version ".tar.gz")) (sha256 (base32 - "0g2w4p0n42wvz8rq4k6gnzpkakgz3g8sfanxk8jrsra9675snkcr")) + "03p4spzzvibv82ldhzjrqw38p090ylyvhrrxp6fwc0q9pz657bbg")) (modules '((guix build utils))) (snippet ;; One of the tests involves the /usr directory, so it fails. -- 2.6.3 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-03-08 6:52 ` Diane Trout @ 2016-03-08 8:24 ` Ricardo Wurmus 2016-06-21 15:44 ` Christopher Allan Webber 1 sibling, 0 replies; 11+ messages in thread From: Ricardo Wurmus @ 2016-03-08 8:24 UTC (permalink / raw) To: Diane Trout; +Cc: guix-devel Diane Trout <diane@ghic.org> writes: > (If you're curious about my progress with jupyter, that's over here: > https://github.com/detrout/guix-detrout/blob/master/detrout/packages/py > data.scm) Oh, nice. I also have a couple of jupyter-related patches, but they are already a little older. I also stumbled into dependency loops which made it difficult to make progress. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-03-08 6:52 ` Diane Trout 2016-03-08 8:24 ` Ricardo Wurmus @ 2016-06-21 15:44 ` Christopher Allan Webber 2016-06-21 21:29 ` Ludovic Courtès 1 sibling, 1 reply; 11+ messages in thread From: Christopher Allan Webber @ 2016-06-21 15:44 UTC (permalink / raw) To: Diane Trout; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 440 bytes --] Building on both the work that Diane did and my recent patch for python 3.4.4, here's two patches which do both consecutively: the first patch updates python-3.4 to 3.4.4, and the second patch adds python-3.5 and sets this to be the default python. I'm interested in packaging Pulsar, but this requires Python 3.5 or higher, so these patches are a step towards it. Most of the work is Diane's. Thank you Diane! Great work :) - Chris [-- Attachment #2: 0001-gnu-Add-geiser-next.patch --] [-- Type: text/x-patch, Size: 2243 bytes --] From bbc1f68204318d79ece3fa46ed71d7c21d6ec8a2 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber <cwebber@dustycloud.org> Date: Fri, 29 Apr 2016 17:53:50 -0500 Subject: [PATCH] gnu: Add geiser-next. Also, I previously committed to this repository in 2015; add self to copyright headers for that year too. * gnu/packages/emacs.scm (geiser-next): New variable. --- gnu/packages/emacs.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 11010b2..7f904c0 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> +;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -260,6 +261,33 @@ implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.") (license license:bsd-3))) +(define-public geiser-next + ;; Geiser's upcoming version supports guile-next, and 0.8.1 does not. + ;; When the next Geiser release comes out, we can remove this. + (package (inherit geiser) + (name "geiser-next") + (version "20160428.4c8b3de") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jaor/geiser.git") + (commit "4c8b3dee30ce7258602bef356337def95fcccd7e"))) + (sha256 + (base32 + "1nr183438z52v62amq38ngd83nwgkxzgssya19f7v6f47im0b95j")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo) + ,@(package-native-inputs geiser))) + (arguments + (substitute-keyword-arguments (package-arguments geiser) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'autogen + (lambda _ + (zero? (system* "sh" "autogen.sh")))))))))) + (define-public paredit (package (name "paredit") -- 2.7.4 [-- Attachment #3: 0002-gnu-Add-python-3.5.patch --] [-- Type: text/x-patch, Size: 5767 bytes --] From ec0797ceaed8f20b4dbbfb8fb96b2c4752e93f2e Mon Sep 17 00:00:00 2001 From: Diane Trout <diane@ghic.org> Date: Tue, 21 Jun 2016 09:22:43 -0500 Subject: [PATCH 2/2] gnu: Add python-3.5. * gnu/packages/python.scm (python-3.5): New variable. (python-3.4): Inherit from python-3.5. (python-3): Switched alias to point to python-3.5. (python-minimal): Use the system-ffi as without-system-ffi caused the build to fail when trying to import _ctypes. * gnu/packages/patches/python-fix-tests-py3.5.patch: New file. Patch Lib/test/test_pathlib.py to skip test_expanduser. Patch Lib/test/test_tarfile.py to ignore pwd.getpwuid and grp.getgrgid tests for user root being of id 0. --- gnu/packages/patches/python-fix-tests-py3.5.patch | 35 +++++++++++++++++++++++ gnu/packages/python.scm | 31 ++++++++++++++------ 2 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/python-fix-tests-py3.5.patch diff --git a/gnu/packages/patches/python-fix-tests-py3.5.patch b/gnu/packages/patches/python-fix-tests-py3.5.patch new file mode 100644 index 0000000..47dded4 --- /dev/null +++ b/gnu/packages/patches/python-fix-tests-py3.5.patch @@ -0,0 +1,35 @@ +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 + + \ No newline at end of file diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 92535cb..0cb08ed 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2016 Diane Trout <diane@ghic.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -269,21 +270,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.4") + (version "3.5.1") (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-fix-tests-py3.5.patch" "python-3-deterministic-build-info.patch" "python-3-search-paths.patch")) (patch-flags '("-p0")) (sha256 (base32 - "18kb5c29w04rj4gyz3jngm72sy8izfnbjlm6ajv6rv2m061d75x7")))) + "1j95yx32ggqx8jf13h3c8qfp34ixpyg8ipqcdjmn143d6q67rmf6")))) (arguments (substitute-keyword-arguments (package-arguments python-2) ((#:tests? _) #t))) (native-search-paths @@ -293,8 +295,24 @@ data types.") (version-major+minor version) "/site-packages")))))))) +(define-public python-3.4 + (package (inherit python-3.5) + (version "3.4.4") + (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-deterministic-build-info.patch" + "python-3-search-paths.patch")) + (patch-flags '("-p0")) + (sha256 + (base32 + "18kb5c29w04rj4gyz3jngm72sy8izfnbjlm6ajv6rv2m061d75x7")))))) + ;; 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) @@ -316,14 +334,11 @@ data types.") (package (inherit python) (name "python-minimal") (outputs '("out")) - (arguments - (substitute-keyword-arguments (package-arguments python) - ((#:configure-flags cf) - `(append ,cf '("--without-system-ffi"))))) ;; OpenSSL is a mandatory dependency of Python 3.x, for urllib; ;; zlib is required by 'zipimport', used by pip. (inputs `(("openssl" ,openssl) + ("libffi" ,libffi) ; for ctypes ("zlib" ,zlib))))) (define* (wrap-python3 python -- 2.8.4 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-06-21 15:44 ` Christopher Allan Webber @ 2016-06-21 21:29 ` Ludovic Courtès 2016-06-22 13:15 ` Christopher Allan Webber 0 siblings, 1 reply; 11+ messages in thread From: Ludovic Courtès @ 2016-06-21 21:29 UTC (permalink / raw) To: Christopher Allan Webber; +Cc: guix-devel Christopher Allan Webber <cwebber@dustycloud.org> skribis: > Building on both the work that Diane did and my recent patch for python > 3.4.4, here's two patches which do both consecutively: the first patch > updates python-3.4 to 3.4.4, and the second patch adds python-3.5 and > sets this to be the default python. > > I'm interested in packaging Pulsar, but this requires Python 3.5 or > higher, so these patches are a step towards it. > > Most of the work is Diane's. Thank you Diane! Great work :) Nice! > From bbc1f68204318d79ece3fa46ed71d7c21d6ec8a2 Mon Sep 17 00:00:00 2001 > From: Christopher Allan Webber <cwebber@dustycloud.org> > Date: Fri, 29 Apr 2016 17:53:50 -0500 > Subject: [PATCH] gnu: Add geiser-next. Oops. ;-) > From ec0797ceaed8f20b4dbbfb8fb96b2c4752e93f2e Mon Sep 17 00:00:00 2001 > From: Diane Trout <diane@ghic.org> > Date: Tue, 21 Jun 2016 09:22:43 -0500 > Subject: [PATCH 2/2] gnu: Add python-3.5. > > * gnu/packages/python.scm (python-3.5): New variable. > (python-3.4): Inherit from python-3.5. > (python-3): Switched alias to point to python-3.5. > (python-minimal): Use the system-ffi as without-system-ffi caused the build > to fail when trying to import _ctypes. > * gnu/packages/patches/python-fix-tests-py3.5.patch: > New file. Patch Lib/test/test_pathlib.py to skip test_expanduser. > Patch Lib/test/test_tarfile.py to ignore pwd.getpwuid and grp.getgrgid tests > for user root being of id 0. Feel free to add a “Co-authored-by” tag if you think it’s relevant. > diff --git a/gnu/packages/patches/python-fix-tests-py3.5.patch b/gnu/packages/patches/python-fix-tests-py3.5.patch > new file mode 100644 > index 0000000..47dded4 > --- /dev/null > +++ b/gnu/packages/patches/python-fix-tests-py3.5.patch > @@ -0,0 +1,35 @@ > +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") Could it be that adding a phase that does (setenv "HOME" (getcwd)) would help? > +--- 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 (I was skeptical about this bit so I tried this: --8<---------------cut here---------------start------------->8--- store-monad@(guile-user) [1]> (gexp->derivation "foo" #~(call-with-output-file #$output (lambda (port) (write (list (false-if-exception (getpwuid 0)) (false-if-exception (getgrgid 0))) port)))) $6 = #<derivation /gnu/store/zxlirg8wbl8r5pkkhsc89gxvx6lzmwd7-foo.drv => /gnu/store/fr9klqdkfqz8ayiq1fjq5i468qjx39mc-foo 42843c0> store-monad@(guile-user) [1]> (built-derivations (list $6)) substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% building path(s) `/gnu/store/fr9klqdkfqz8ayiq1fjq5i468qjx39mc-foo' $7 = #t --8<---------------cut here---------------end--------------->8--- … and indeed, we get (#f #f). No wonder because libstore/build.cc does not add any entry for “root” in /etc/passwd. Probably worth fixing someday.) Other than that, LGTM! The big frustration is that we’ll have to open a ‘python-updates’ branch, where we can also add Hartmut’s changes, but we’ll have to wait until ‘core-updates’ is merged before we can start building it, which could take another week or so. Thank you! Ludo’. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-06-21 21:29 ` Ludovic Courtès @ 2016-06-22 13:15 ` Christopher Allan Webber 2016-08-21 17:58 ` Leo Famulari 0 siblings, 1 reply; 11+ messages in thread From: Christopher Allan Webber @ 2016-06-22 13:15 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel Ludovic Courtès writes: >> From bbc1f68204318d79ece3fa46ed71d7c21d6ec8a2 Mon Sep 17 00:00:00 2001 >> From: Christopher Allan Webber <cwebber@dustycloud.org> >> Date: Fri, 29 Apr 2016 17:53:50 -0500 >> Subject: [PATCH] gnu: Add geiser-next. > > Oops. ;-) Oops indeed... I'll attach the right first of 2 patches when I get the next commit in. >> From ec0797ceaed8f20b4dbbfb8fb96b2c4752e93f2e Mon Sep 17 00:00:00 2001 >> From: Diane Trout <diane@ghic.org> >> Date: Tue, 21 Jun 2016 09:22:43 -0500 >> Subject: [PATCH 2/2] gnu: Add python-3.5. >> >> * gnu/packages/python.scm (python-3.5): New variable. >> (python-3.4): Inherit from python-3.5. >> (python-3): Switched alias to point to python-3.5. >> (python-minimal): Use the system-ffi as without-system-ffi caused the build >> to fail when trying to import _ctypes. >> * gnu/packages/patches/python-fix-tests-py3.5.patch: >> New file. Patch Lib/test/test_pathlib.py to skip test_expanduser. >> Patch Lib/test/test_tarfile.py to ignore pwd.getpwuid and grp.getgrgid tests >> for user root being of id 0. > > Feel free to add a “Co-authored-by” tag if you think it’s relevant. Oh I didn't know about that... will do. >> diff --git a/gnu/packages/patches/python-fix-tests-py3.5.patch b/gnu/packages/patches/python-fix-tests-py3.5.patch >> new file mode 100644 >> index 0000000..47dded4 >> --- /dev/null >> +++ b/gnu/packages/patches/python-fix-tests-py3.5.patch >> @@ -0,0 +1,35 @@ >> +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") > > Could it be that adding a phase that does (setenv "HOME" (getcwd)) would > help? A good idea, will give it a try! >> +--- 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 > > (I was skeptical about this bit so I tried this: > > --8<---------------cut here---------------start------------->8--- > store-monad@(guile-user) [1]> (gexp->derivation "foo" > #~(call-with-output-file #$output > (lambda (port) > (write (list (false-if-exception (getpwuid 0)) > (false-if-exception (getgrgid 0))) > port)))) > $6 = #<derivation /gnu/store/zxlirg8wbl8r5pkkhsc89gxvx6lzmwd7-foo.drv => /gnu/store/fr9klqdkfqz8ayiq1fjq5i468qjx39mc-foo 42843c0> > store-monad@(guile-user) [1]> (built-derivations (list $6)) > substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% > building path(s) `/gnu/store/fr9klqdkfqz8ayiq1fjq5i468qjx39mc-foo' > $7 = #t > --8<---------------cut here---------------end--------------->8--- > > … and indeed, we get (#f #f). No wonder because libstore/build.cc > does not add any entry for “root” in /etc/passwd. Probably worth fixing > someday.) Heh :) Is it worth filing a bug? > Other than that, LGTM! > > The big frustration is that we’ll have to open a ‘python-updates’ > branch, where we can also add Hartmut’s changes, but we’ll have to wait > until ‘core-updates’ is merged before we can start building it, which > could take another week or so. Makes sense. It'll be worth it! I'll try to get the rest of this done this afternoon, but it might happen sometime later this week. - Chris ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-06-22 13:15 ` Christopher Allan Webber @ 2016-08-21 17:58 ` Leo Famulari 2016-08-30 1:48 ` Leo Famulari 0 siblings, 1 reply; 11+ messages in thread From: Leo Famulari @ 2016-08-21 17:58 UTC (permalink / raw) To: Christopher Allan Webber; +Cc: guix-devel [-- Attachment #1.1: Type: text/plain, Size: 2141 bytes --] On Wed, Jun 22, 2016 at 08:15:02AM -0500, Christopher Allan Webber wrote: > Ludovic Courtès writes: > >> From bbc1f68204318d79ece3fa46ed71d7c21d6ec8a2 Mon Sep 17 00:00:00 2001 > >> From: Christopher Allan Webber <cwebber@dustycloud.org> > > >> diff --git a/gnu/packages/patches/python-fix-tests-py3.5.patch b/gnu/packages/patches/python-fix-tests-py3.5.patch > >> new file mode 100644 > >> index 0000000..47dded4 > >> --- /dev/null > >> +++ b/gnu/packages/patches/python-fix-tests-py3.5.patch > >> @@ -0,0 +1,35 @@ > >> +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") > > > > Could it be that adding a phase that does (setenv "HOME" (getcwd)) would > > help? IIUC, we already do that in python-2, and python-3 inherits from python-2. So, it seems that it's not enough. > I'll try to get the rest of this done this afternoon, but it might > happen sometime later this week. ;) I picked this up. I've attached two patches. They upgrade python-3.4 to 3.4.5, and then upgrade python-3 to 3.5.2 while preserving a python-3.4. These are the latest releases in their respective series. I had to split part of the python-fix-tests.patch into 3.4 and 3.5 specific patches, since those packages' codebases have diverged. python@3.4.5 and python@3.5.2 both build on master and wip-python. python-setuptools builds with python@3.5.2 on master. I'd like to put these on core-updates. The wip-python branch will take a while to get ready. I found this saga about what Nix had to do to upgrade setuptools: https://github.com/NixOS/nixpkgs/pull/12552 [-- Attachment #1.2: 0001-gnu-python-3.4-Update-to-3.4.5.patch --] [-- Type: text/plain, Size: 4185 bytes --] From 34f52581bed88368396490d6e42fd1cb50e0a3f1 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber <cwebber@dustycloud.org> Date: Mon, 20 Jun 2016 14:05:20 -0500 Subject: [PATCH 1/2] gnu: python-3.4: Update to 3.4.5. * gnu/packages/patches/python-disable-ssl-test.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. * gnu/packages/python.scm (python-3.4): Update to 3.4.5. [source]: Remove patch. [arguments]: Remove field. (python-minimal)[inputs]: Add libffi. --- gnu/local.mk | 1 - gnu/packages/patches/python-disable-ssl-test.patch | 12 ------------ gnu/packages/python.scm | 14 +++++--------- 3 files changed, 5 insertions(+), 22 deletions(-) delete mode 100644 gnu/packages/patches/python-disable-ssl-test.patch diff --git a/gnu/local.mk b/gnu/local.mk index 3444c20..f201232 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -734,7 +734,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-deterministic-build-info.patch \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-dendropy-exclude-failing-tests.patch \ - %D%/packages/patches/python-disable-ssl-test.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-ipython-inputhook-ctype.patch \ %D%/packages/patches/python-rarfile-fix-tests.patch \ diff --git a/gnu/packages/patches/python-disable-ssl-test.patch b/gnu/packages/patches/python-disable-ssl-test.patch deleted file mode 100644 index e351c77..0000000 --- a/gnu/packages/patches/python-disable-ssl-test.patch +++ /dev/null @@ -1,12 +0,0 @@ -Disable a test that fails with openssl-1.0.2b. - ---- Lib/test/test_ssl.py.orig 2015-02-25 06:27:45.000000000 -0500 -+++ Lib/test/test_ssl.py 2015-06-12 03:14:09.395212502 -0400 -@@ -2718,6 +2718,7 @@ - chatty=True, connectionchatty=True) - self.assertIs(stats['compression'], None) - -+ @unittest.skipIf(True, "openssl 1.0.2b complains: dh key too small") - def test_dh_params(self): - # Check we can get a connection with ephemeral Diffie-Hellman - context = ssl.SSLContext(ssl.PROTOCOL_TLSv1) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a83e4ee..5d529b0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -301,21 +301,19 @@ data types.") (define-public python-3.4 (package (inherit python-2) - (version "3.4.3") + (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" - ;; XXX Try removing this patch for python > 3.4.3 - "python-disable-ssl-test.patch" "python-3-deterministic-build-info.patch" "python-3-search-paths.patch")) (patch-flags '("-p0")) (sha256 (base32 - "1f4nm4z08sy0kqwisvv95l02crv6dyysdmx44p1mz3bn6csrdcxm")))) + "12l9klp778wklxmckhghniy5hklss8r26995pyd00qbllk4b2r7f")))) (arguments (substitute-keyword-arguments (package-arguments python-2) ((#:tests? _) #t))) (native-search-paths @@ -348,14 +346,12 @@ data types.") (package (inherit python) (name "python-minimal") (outputs '("out")) - (arguments - (substitute-keyword-arguments (package-arguments python) - ((#:configure-flags cf) - `(append ,cf '("--without-system-ffi"))))) + ;; Build fails due to missing ctypes without libffi. ;; OpenSSL is a mandatory dependency of Python 3.x, for urllib; ;; zlib is required by 'zipimport', used by pip. - (inputs `(("openssl" ,openssl) + (inputs `(("libffi" ,libffi) + ("openssl" ,openssl) ("zlib" ,zlib))))) (define* (wrap-python3 python -- 2.9.3 [-- Attachment #1.3: 0002-gnu-python-3-Update-to-python-3.5.2.patch --] [-- Type: text/plain, Size: 8863 bytes --] From d4b9e30eae7c230a93d9510d5680e7ef4ae6b9d6 Mon Sep 17 00:00:00 2001 From: Leo Famulari <leo@famulari.name> Date: Sun, 21 Aug 2016 00:51:38 -0400 Subject: [PATCH 2/2] 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> --- gnu/local.mk | 2 ++ gnu/packages/patches/python-3.4-fix-tests.patch | 12 +++++++ gnu/packages/patches/python-3.5-fix-tests.patch | 46 +++++++++++++++++++++++++ gnu/packages/patches/python-fix-tests.patch | 15 -------- gnu/packages/python.scm | 26 +++++++++++--- 5 files changed, 82 insertions(+), 19 deletions(-) create mode 100644 gnu/packages/patches/python-3.4-fix-tests.patch create mode 100644 gnu/packages/patches/python-3.5-fix-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index f201232..2b129a6 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -733,6 +733,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 \ diff --git a/gnu/packages/patches/python-3.4-fix-tests.patch b/gnu/packages/patches/python-3.4-fix-tests.patch new file mode 100644 index 0000000..d1f8138 --- /dev/null +++ b/gnu/packages/patches/python-3.4-fix-tests.patch @@ -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("/")) diff --git a/gnu/packages/patches/python-3.5-fix-tests.patch b/gnu/packages/patches/python-3.5-fix-tests.patch new file mode 100644 index 0000000..46d2a84 --- /dev/null +++ b/gnu/packages/patches/python-3.5-fix-tests.patch @@ -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 diff --git a/gnu/packages/patches/python-fix-tests.patch b/gnu/packages/patches/python-fix-tests.patch index 82c1998..e093307 100644 --- a/gnu/packages/patches/python-fix-tests.patch +++ b/gnu/packages/patches/python-fix-tests.patch @@ -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 @@ diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 5d529b0..975459e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -299,21 +299,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 @@ -323,8 +324,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) -- 2.9.3 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-08-21 17:58 ` Leo Famulari @ 2016-08-30 1:48 ` Leo Famulari 2016-08-30 14:03 ` Christopher Allan Webber 0 siblings, 1 reply; 11+ messages in thread From: Leo Famulari @ 2016-08-30 1:48 UTC (permalink / raw) To: Christopher Allan Webber; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 846 bytes --] On Sun, Aug 21, 2016 at 01:58:51PM -0400, Leo Famulari wrote: > I picked this up. I've attached two patches. They upgrade python-3.4 to > 3.4.5, and then upgrade python-3 to 3.5.2 while preserving a python-3.4. > These are the latest releases in their respective series. > > I had to split part of the python-fix-tests.patch into 3.4 and 3.5 > specific patches, since those packages' codebases have diverged. > > python@3.4.5 and python@3.5.2 both build on master and wip-python. > python-setuptools builds with python@3.5.2 on master. > > I'd like to put these on core-updates. The wip-python branch will take a > while to get ready. I found this saga about what Nix had to do to > upgrade setuptools: > https://github.com/NixOS/nixpkgs/pull/12552 I went ahead and pushed to core-updates, bringing the branch to 72df66806. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Python 3.5 start of update 2016-08-30 1:48 ` Leo Famulari @ 2016-08-30 14:03 ` Christopher Allan Webber 0 siblings, 0 replies; 11+ messages in thread From: Christopher Allan Webber @ 2016-08-30 14:03 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel Leo Famulari writes: > On Sun, Aug 21, 2016 at 01:58:51PM -0400, Leo Famulari wrote: >> I picked this up. I've attached two patches. They upgrade python-3.4 to >> 3.4.5, and then upgrade python-3 to 3.5.2 while preserving a python-3.4. >> These are the latest releases in their respective series. >> >> I had to split part of the python-fix-tests.patch into 3.4 and 3.5 >> specific patches, since those packages' codebases have diverged. >> >> python@3.4.5 and python@3.5.2 both build on master and wip-python. >> python-setuptools builds with python@3.5.2 on master. >> >> I'd like to put these on core-updates. The wip-python branch will take a >> while to get ready. I found this saga about what Nix had to do to >> upgrade setuptools: >> https://github.com/NixOS/nixpkgs/pull/12552 > > I went ahead and pushed to core-updates, bringing the branch to > 72df66806. Horray! Thanks for pushing it the rest of the way. :) ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2016-08-30 14:04 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-02-27 5:19 Python 3.5 start of update Diane Trout 2016-03-04 3:15 ` Leo Famulari 2016-03-05 6:51 ` Diane Trout 2016-03-08 6:52 ` Diane Trout 2016-03-08 8:24 ` Ricardo Wurmus 2016-06-21 15:44 ` Christopher Allan Webber 2016-06-21 21:29 ` Ludovic Courtès 2016-06-22 13:15 ` Christopher Allan Webber 2016-08-21 17:58 ` Leo Famulari 2016-08-30 1:48 ` Leo Famulari 2016-08-30 14:03 ` Christopher Allan Webber
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).