Subject: [PATCH v2 09/61] gnu: http-parser: Fix cross-compilation.

From: Mathieu Othacehe <[email-masked]>
Date: Wed, 21 Aug 2019 10:54:03 +0200

* gnu/packages/web.scm (http-parser)[arguments]: Set CC and AR variables in
Makefile in order to fix cross-compilation.
---
 gnu/packages/web.scm | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 9f80c404d4..06b3778be2 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -35,6 +35,7 @@
 ;;; Copyright © 2019 Alex Griffin <[email-masked]>
 ;;; Copyright © 2019 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2019 Jakob L. Kreuze <[email-masked]>
+;;; Copyright © 2019 Mathieu Othacehe <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5240,10 +5241,22 @@ into your tests.  It automatically starts up a HTTP server in a separate thread
        #:make-flags
        (list (string-append "PREFIX="
                             (assoc-ref %outputs "out"))
-             "CC=gcc" "library")
+             "library"
+             ,@(if (%current-target-system)
+                   '()
+                   '("CC=gcc")))
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure))))
+         ,@(if (%current-target-system)
+               '((replace 'configure
+                    (lambda* (#:key target #:allow-other-keys)
+                      (substitute* (find-files "." "Makefile")
+                        (("CC\\?=.*$")
+                         (string-append "CC=" target "-gcc\n"))
+                        (("AR\\?=.*$")
+                         (string-append "AR=" target "-ar\n")))
+                      #t)))
+               '((delete 'configure))))))
     (synopsis "HTTP request/response parser for C")
     (description "This is a parser for HTTP messages written in C.  It parses
 both requests and responses.  The parser is designed to be used in
-- 
2.17.1