[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#36477] [PATCH 02/31] gnu: python: Fix cross compilation.
From: |
Mathieu Othacehe |
Subject: |
[bug#36477] [PATCH 02/31] gnu: python: Fix cross compilation. |
Date: |
Mon, 8 Jul 2019 11:58:44 +0200 |
* 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 aa92e82ac2..1a8cd39de2 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)))))))
--
2.17.1