[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/08: gnu: python: Fix cross compilation.
From: |
guix-commits |
Subject: |
02/08: gnu: python: Fix cross compilation. |
Date: |
Sat, 29 Jun 2019 11:41:56 -0400 (EDT) |
mothacehe pushed a commit to branch wip-cross-system
in repository guix.
commit 7c2e508ed250132a64a4bb73e5266d3ec3855763
Author: Mathieu Othacehe <address@hidden>
Date: Wed Mar 6 16:39:00 2019 +0100
gnu: python: Fix cross compilation.
* gnu/packages/python.scm (python-2.7)[arguments]: Add a configure flag to
disable a check failing when cross-compiling. This is covered here:
https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html,
[native-inputs]: Add self and which when cross-compiling,
(python-3.7)[arguments]: Refer to native python when cross-compiling.
---
gnu/packages/python.scm | 34 +++++++++++++++++++++++++---------
1 file changed, 25 insertions(+), 9 deletions(-)
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index aa92e82..1a8cd39 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -38,7 +38,7 @@
;;; Copyright © 2017 Frederick M. Muriithi <address@hidden>
;;; Copyright © 2017, 2018 Adriano Peluso <address@hidden>
;;; Copyright © 2017 Ben Sturmfels <address@hidden>
-;;; Copyright © 2017, 2018 Mathieu Othacehe <address@hidden>
+;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <address@hidden>
;;; Copyright © 2017 José Miguel Sánchez García <address@hidden>
;;; Copyright © 2017 Roel Janssen <address@hidden>
;;; Copyright © 2017, 2018 Kei Kebreau <address@hidden>
@@ -76,6 +76,7 @@
(define-module (gnu packages python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages dbm)
@@ -134,6 +135,13 @@
"--with-system-ffi" ;build ctypes
"--with-ensurepip=install" ;install pip and setuptools
"--enable-unicode=ucs4"
+ ;; Disable runtime check failing if cross-compiling, see:
+ ;;
https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html
+ ,@(if (%current-target-system)
+ '("ac_cv_buggy_getaddrinfo=no"
+ "ac_cv_file__dev_ptmx=no"
+ "ac_cv_file__dev_ptc=no")
+ '())
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
@@ -246,7 +254,12 @@
("tcl" ,tcl)
("tk" ,tk))) ; for tkinter
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+ ;; When cross-compiling, a native version of Python itself is needed.
+ ,@(if (%current-target-system)
+ `(("self" ,this-package)
+ ("which" ,which))
+ '())))
(native-search-paths
(list (search-path-specification
(variable "PYTHONPATH")
@@ -342,13 +355,16 @@ data types.")
(if (null? opt) "none" (car opt)))
(for-each (lambda (file)
(apply invoke
- `(,(string-append out "/bin/python3")
- ,@opt
- "-m" "compileall"
- "-f" ; force rebuild
- ;; Don't build lib2to3, because it's
Python 2 code.
- "-x" "lib2to3/.*"
- ,file)))
+ `(,,(if (%current-target-system)
+ "python3"
+ '(string-append out
+ "/bin/python3"))
+ ,@opt
+ "-m" "compileall"
+ "-f" ; force rebuild
+ ;; Don't build lib2to3, because it's
Python 2 code.
+ "-x" "lib2to3/.*"
+ ,file)))
(find-files out "\\.py$")))
(list '() '("-O") '("-OO")))
#t)))))))
- branch wip-cross-system created (now 6e59bb8), guix-commits, 2019/06/29
- 02/08: gnu: python: Fix cross compilation.,
guix-commits <=
- 01/08: gnu: perl: Fix cross-compilation., guix-commits, 2019/06/29
- 04/08: gnu: tk: Fix cross-compilation., guix-commits, 2019/06/29
- 07/08: gnu: libgpg-error: Fix cross compilation., guix-commits, 2019/06/29
- 06/08: gnu: xorg: Fix cross-compilation of multiple packages., guix-commits, 2019/06/29
- 03/08: gnu: tcl: Fix cross-compilation., guix-commits, 2019/06/29
- 05/08: gnu: libxslt: Fix cross-compilation., guix-commits, 2019/06/29
- 08/08: gnu: python: Fix cross-compilation., guix-commits, 2019/06/29