[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Python 3.5 start of update
From: |
Christopher Allan Webber |
Subject: |
Re: Python 3.5 start of update |
Date: |
Tue, 21 Jun 2016 10:44:44 -0500 |
User-agent: |
mu4e 0.9.16; emacs 24.5.1 |
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
>From bbc1f68204318d79ece3fa46ed71d7c21d6ec8a2 Mon Sep 17 00:00:00 2001
From: Christopher Allan Webber <address@hidden>
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 <address@hidden>
;;; Copyright © 2016 Nils Gillmann <address@hidden>
;;; Copyright © 2016 Chris Marusich <address@hidden>
+;;; Copyright © 2015, 2016 Christopher Allan Webber <address@hidden>
;;;
;;; 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
>From ec0797ceaed8f20b4dbbfb8fb96b2c4752e93f2e Mon Sep 17 00:00:00 2001
From: Diane Trout <address@hidden>
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 <address@hidden>
;;; Copyright © 2016 Lukas Gradl <address@hidden>
;;; Copyright © 2016 Hartmut Goebel <address@hidden>
+;;; Copyright © 2016 Diane Trout <address@hidden>
;;;
;;; 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
- Re: Python 3.5 start of update,
Christopher Allan Webber <=