From patchwork Wed Aug 21 08:54:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathieu Othacehe X-Patchwork-Id: 15099 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7AF2317264; Wed, 21 Aug 2019 10:01:40 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 389A71724B for ; Wed, 21 Aug 2019 10:01:40 +0100 (BST) Received: from localhost ([::1]:45766 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i0MUt-0005QB-9k for patchwork@mira.cbaines.net; Wed, 21 Aug 2019 05:01:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59284) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i0MQZ-0008I1-U3 for guix-patches@gnu.org; Wed, 21 Aug 2019 04:57:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i0MQY-0005ww-9I for guix-patches@gnu.org; Wed, 21 Aug 2019 04:57:11 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54178) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i0MQW-0005ut-Mr for guix-patches@gnu.org; Wed, 21 Aug 2019 04:57:09 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i0MQW-0006hq-JW for guix-patches@gnu.org; Wed, 21 Aug 2019 04:57:08 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#36477] [PATCH v2 47/61] gnu: crda: Fix cross-compilation Resent-From: Mathieu Othacehe Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 21 Aug 2019 08:57:08 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 36477 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 36477@debbugs.gnu.org Received: via spool by 36477-submit@debbugs.gnu.org id=B36477.156637779825563 (code B ref 36477); Wed, 21 Aug 2019 08:57:08 +0000 Received: (at 36477) by debbugs.gnu.org; 21 Aug 2019 08:56:38 +0000 Received: from localhost ([127.0.0.1]:34728 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i0MQ2-0006e7-Ef for submit@debbugs.gnu.org; Wed, 21 Aug 2019 04:56:38 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:37413) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i0MPD-0006Tg-96 for 36477@debbugs.gnu.org; Wed, 21 Aug 2019 04:55:51 -0400 Received: by mail-wr1-f67.google.com with SMTP id z11so1244169wrt.4 for <36477@debbugs.gnu.org>; Wed, 21 Aug 2019 01:55:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=zR13IYEH7NtERxtk14hFcgvgZJu2b/UFN3zgzDxdQC0=; b=h24g+LLuTnOhvJ20cHzDdlQ+9Y+7uKIEMcx0r7MyONGGsfrc6BqYdeP73lt0IqAvNR S78CC8irX7P4UgMBcNQBxWPBN4hEXYVlaOzBM0z1wpX/Jb1n/SN01gxMmWAaJO2Tlxe9 DahoU3YqWnlbgvB4UcGUpj0wNVb5j3Zx/irYnoOGkCL7yD27utzZekyUxRYRrD9HgwHP Mga62mo4nAI9wCyD/myHjzEH8XD+hyEp812oxS2kBB4Pz7W9iz3uqcDQAzbwDUj95fNK womjBsm8X3Dd5bRN+kjxqAyjxcYnvyP4k9N4jBc4ah+uiMuvNPzWnrQF/DqGkHfZirro GUmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=zR13IYEH7NtERxtk14hFcgvgZJu2b/UFN3zgzDxdQC0=; b=DquEgj+yM7wFnLED/vDAOJyOrtDo51kPM7QDCzdv03eDh9UO9IikVylHr5OSkfpD5l ZxGB+0rjoyPzrFT7B3G6KXYGzGVs70B/HRSQQ94l9WTH+/aW/ZhR+45RYhnt8v96jz5Q XHxmaiAwUfZa1qCTPuWNUZuxzZTe1d7DQIP/C/Nbe9pSrkP4z4jWakXapaVPQCN0W2Xt t5k8+uxqNKT4vJidB4zA0folqNHrGNyQSw+XbGi/alXReLp116wt52hPGOZUVTb3C0DW sbBjoiL4EvHRO0gY6rEx8FnWYj6oNALo5keNtBaBJwGv9V3MmFZ3eBUwxAt7eUtYTDdi 9Lbw== X-Gm-Message-State: APjAAAX8qeg8u0mdqRVLtID77V9kHD6pMspaI1mFSpjQpmxV6Fs85Nya AtHw3KOIwjDzTluCJbpLicTcZNDxHy4= X-Google-Smtp-Source: APXvYqzpRcGgLgOOC2wwlTFfeGQp2vrWIIyILoZq6vPeN5rVwgKzJdoNyuAZzCqkUONEmXforikg4w== X-Received: by 2002:a5d:664a:: with SMTP id f10mr39973428wrw.90.1566377741429; Wed, 21 Aug 2019 01:55:41 -0700 (PDT) Received: from fuji.Parrot.Biz (smtp.parrot.biz. [62.23.167.188]) by smtp.gmail.com with ESMTPSA id v3sm22110739wrq.34.2019.08.21.01.55.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Aug 2019 01:55:40 -0700 (PDT) From: Mathieu Othacehe Date: Wed, 21 Aug 2019 10:54:41 +0200 Message-Id: <20190821085455.18508-47-m.othacehe@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190821085455.18508-1-m.othacehe@gmail.com> References: <20190821085455.18508-1-m.othacehe@gmail.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Pierre-Moana Levesque Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches From: Pierre-Moana Levesque * gnu/packages/linux.scm (crda)[arguments]: Patch Makefile to use cross pkg-config when cross-compiling. Also search for wireless-regdb in both native-inputs and inputs. Set CC variable to cross-compiler when cross-compiling. --- gnu/packages/linux.scm | 67 ++++++++++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7503e47805..26cba842d3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -2793,13 +2793,23 @@ interface.") (patches (search-patches "crda-optional-gcrypt.patch")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (delete 'configure) (add-after 'unpack 'gzip-determinism (lambda _ (substitute* "Makefile" (("gzip") "gzip --no-name")) #t)) + ,@(if (%current-target-system) + '((add-after + 'unpack 'fix-pkg-config + (lambda* (#:key target #:allow-other-keys) + (substitute* + "Makefile" + (("pkg-config") + (string-append target "-pkg-config"))) + #t))) + '()) (add-before 'build 'no-werror-no-ldconfig (lambda _ @@ -2809,37 +2819,44 @@ interface.") #t)) (add-before 'build 'set-regulator-db-file-name - (lambda* (#:key inputs #:allow-other-keys) + (lambda* (#:key native-inputs inputs #:allow-other-keys) ;; Tell CRDA where to find our database. - (let ((regdb (assoc-ref inputs "wireless-regdb"))) + (let ((regdb (assoc-ref (or native-inputs inputs) + "wireless-regdb"))) (substitute* "crda.c" (("\"/lib/crda/regulatory.bin\"") (string-append "\"" regdb "/lib/crda/regulatory.bin\""))) #t)))) #:test-target "verify" - #:make-flags (let ((out (assoc-ref %outputs "out")) - (regdb (assoc-ref %build-inputs "wireless-regdb"))) - (list "CC=gcc" "V=1" - - ;; Disable signature-checking on 'regulatory.bin'. - ;; The reason is that this simplifies maintenance - ;; on our side (no need to manage a distro key - ;; pair), and we can guarantee integrity of - ;; 'regulatory.bin' by other means anyway, such as - ;; 'guix gc --verify'. See - ;; - ;; for a discssion. - "USE_OPENSSL=0" - - (string-append "PREFIX=" out) - (string-append "SBINDIR=" out "/sbin/") - (string-append "UDEV_RULE_DIR=" - out "/lib/udev/rules.d") - (string-append "LDFLAGS=-Wl,-rpath=" - out "/lib -L.") - (string-append "REG_BIN=" regdb - "/lib/crda/regulatory.bin"))))) + #:make-flags (let ((out (assoc-ref %outputs "out")) + (regdb (assoc-ref %build-inputs "wireless-regdb")) + (target ,(%current-target-system))) + (list + (string-append + "CC=" (if target + (string-append target "-gcc") "gcc")) + "V=1" + + ;; Disable signature-checking on 'regulatory.bin'. + ;; The reason is that this simplifies maintenance + ;; on our side (no need to manage a distro key + ;; pair), and we can guarantee integrity of + ;; 'regulatory.bin' by other means anyway, such as + ;; 'guix gc --verify'. See + ;; + ;; for a discssion. + "USE_OPENSSL=0" + + (string-append "PREFIX=" out) + (string-append "SBINDIR=" out "/sbin/") + (string-append "UDEV_RULE_DIR=" + out "/lib/udev/rules.d") + (string-append "LDFLAGS=-Wl,-rpath=" + out "/lib -L.") + (string-append "REG_BIN=" regdb + "/lib/crda/regulatory.bin") + "all_noverify")))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python-2) ("wireless-regdb" ,wireless-regdb)))