guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/17: gnu: python: Fix cross compilation.


From: guix-commits
Subject: 02/17: gnu: python: Fix cross compilation.
Date: Mon, 2 Sep 2019 11:21:50 -0400 (EDT)

mothacehe pushed a commit to branch core-updates-next
in repository guix.

commit b67da21b77b46d11baac376b5367d167c361b951
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 | 33 ++++++++++++++++++++++++---------
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9fec182..09c1f7d 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>
@@ -150,6 +150,13 @@
              "INSTALL=install -c"
              "MKDIR_P=mkdir -p"
 
+             ;; 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"))
        ;; With no -j argument tests use all available cpus, so provide one.
@@ -292,7 +299,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")
@@ -388,13 +400,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)))))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]