diff mbox series

[bug#36477,v2,46/61] gnu: libnl: Fix cross-compilation.

Message ID 20190821085455.18508-46-m.othacehe@gmail.com
State Accepted
Headers show
Series Add --target support to guix system | expand

Commit Message

Mathieu Othacehe Aug. 21, 2019, 8:54 a.m. UTC
From: Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>

* gnu/packages/linux.scm (libnl)[native-inputs]: Add python-2 and python-3,
[arguments]: In install-python phase, use the cross-compiler and linker to
build extensions. In install-doc phase, search libnl3-doc in both inputs and
native-inputs.
---
 gnu/packages/linux.scm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index cf403c46f1..7503e47805 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -36,6 +36,7 @@ 
 ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1941,6 +1942,8 @@  transparently through a bridge.")
        ("flex" ,flex)
        ("pkg-config" ,pkg-config)
        ("swig" ,swig)
+       ("python-2" ,python-2)
+       ("python-3" ,python-3)
        ("libnl3-doc"
         ,(origin
            (method url-fetch)
@@ -1961,24 +1964,27 @@  transparently through a bridge.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'install 'install-python
-           (lambda* (#:key outputs #:allow-other-keys)
+           (lambda* (#:key target outputs #:allow-other-keys)
              (define (python-inst python)
                (invoke python "setup.py" "build")
                (invoke python "setup.py" "install"
                        (string-append "--prefix="
                                       (assoc-ref %outputs python)))
                (invoke python "setup.py" "clean"))
+             (when target
+               (setenv "CC" (string-append target "-gcc"))
+               (setenv "LDSHARED" (string-append target "-gcc -shared")))
              (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib"
                                        (assoc-ref %outputs "out")))
              (with-directory-excursion "./python"
                (for-each python-inst '("python2" "python3")))
              #t))
          (add-after 'install 'install-doc
-           (lambda* (#:key inputs outputs #:allow-other-keys)
+           (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
              (let ((dest (string-append (assoc-ref outputs "doc")
                                         "/share/doc/libnl")))
                (mkdir-p dest)
-               (invoke "tar" "xf" (assoc-ref inputs "libnl3-doc")
+               (invoke "tar" "xf" (assoc-ref (or native-inputs inputs) "libnl3-doc")
                        "--strip-components=1" "-C" dest)))))))
     (home-page "https://www.infradead.org/~tgr/libnl/")
     (synopsis "NetLink protocol library suite")