From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-patches-bounces+larch=yhetil.org@gnu.org>
Received: from mp0.migadu.com ([2001:41d0:303:e224::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms13.migadu.com with LMTPS
	id gMuQLcPmQmdgDQEAqHPOHw:P1
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 24 Nov 2024 08:41:39 +0000
Received: from aspmx1.migadu.com ([2001:41d0:303:e224::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp0.migadu.com with LMTPS
	id gMuQLcPmQmdgDQEAqHPOHw
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Sun, 24 Nov 2024 09:41:39 +0100
X-Envelope-To: larch@yhetil.org
Authentication-Results: aspmx1.migadu.com;
	dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=oGbOpCc2;
	dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=ZLjD7qB4;
	dmarc=pass (policy=none) header.from=gnu.org;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1732437699; a=rsa-sha256; cv=none;
	b=ZxLXQe+H7h+1egwRLXuCvruMnAhc20aZvsbu69WZailFFPT8aN6aeHH7RjiodFDWO4w8rr
	wC+jT1mMnzH3UeWhY6PelN9SPhW6Tj5zJYMNMhC97tetOMUJTLV87LjUsiKyaJTyV3cXTd
	26b9wuXX7QB214zCa05j3TtszVx/ydHaJc9K44YmdMcdfivSdR0KJBs6/yuOrl/zRXRlQ/
	Ls3KXERArYEeXFJcoxSQiKNpAwlrK+8wwe52zUrqgz3UO4SpBcTAMEmRCJKBkVFd9kYKDf
	sPwfnS+9HhHL2knlxVFXqesYMBwkbv3YwRX6rZcXdhxAqtK5sCMM7RGfDiYbqg==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b=oGbOpCc2;
	dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=ZLjD7qB4;
	dmarc=pass (policy=none) header.from=gnu.org;
	spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1732437699;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:resent-cc:
	 resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to:
	 references:references:list-id:list-help:list-unsubscribe:
	 list-subscribe:list-post:dkim-signature;
	bh=KEatdoaMsLm6sff5++m1V0tmRoOnqBS5FwUubhW7YlQ=;
	b=Iawm958qYi52Z1Cuy28sPjEZIydYiha8VD6ybhkLst0qxvU1JGzSAswTM4iplIU70XAhZU
	H23q3kqdO48fQZvsIMMM9ENxwNsAIn2s3DXRQXuuVEgDCIe8L17WNnejOE+//L1j5QeKdT
	eDtcckXqJkf5/dzqkAbT/DptwlH38f/9Bf+8MR2AhMO2GNDZZnB78NRXZNobsskvY+QhGq
	nWOBFR7P4IYAJRKM5VsytC31ncnSUCL57QMZbLFS7znAW7z6aJaNUyaYXr1ZVrkz3KV0nN
	vHfMrqqSHLW+8nFQkHn6pxqTnUxLt67m0mAmJdbz+A6HmPCBrPKw00GDUwcinQ==
Received: from lists.gnu.org (lists.gnu.org [209.51.188.17])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by aspmx1.migadu.com (Postfix) with ESMTPS id 921D45293
	for <larch@yhetil.org>; Sun, 24 Nov 2024 09:41:39 +0100 (CET)
Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-patches-bounces@gnu.org>)
	id 1tF7WY-0002V3-8J; Sun, 24 Nov 2024 02:59:18 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1tF7WJ-00029B-T0
 for guix-patches@gnu.org; Sun, 24 Nov 2024 02:59:05 -0500
Received: from debbugs.gnu.org ([2001:470:142:5::43])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1tF7WJ-0002iS-J2; Sun, 24 Nov 2024 02:59:03 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
 d=debbugs.gnu.org; s=debbugs-gnu-org; 
 h=MIME-Version:References:In-Reply-To:Date:From:To:Subject;
 bh=KEatdoaMsLm6sff5++m1V0tmRoOnqBS5FwUubhW7YlQ=; 
 b=oGbOpCc2iX1+ZyChn3VHVIi0mFjz3g+DbQ8tQ5Pv1CzCAyPXYbIS6dIJQWT5gLaG6pOatAMjQvMpzCA0Fde8bzbuekIxetI5rQsnYujFUWtoLY3S7/DEP32pn3KNQ0fXmpZyK+I7yVy9xnu9cSSZtHGWZF41Vhs2QknmhI5SpsWYahCV5JhNOhNrOrzrcnLiSCkVVD/E5zSYBaU+VX1C2Y8mOfRoIB0UHsVo5tadLFQR69W8+kVItSThcy/I4//goQdVHYA8gzYUnyfOvcQsD+MLdNi1ytOq6VBtw6hcsN3O2vf1XvUyG+kpoa/Lcc0Hq2xhOt8MKN+zzfz5Ux/2pA==;
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>)
 id 1tF7WJ-0004sk-Dm; Sun, 24 Nov 2024 02:59:03 -0500
X-Loop: help-debbugs@gnu.org
Subject: [bug#74290] [PATCH v4 58/58] gnu: commencement: gcc-final: Support
 the 64bit Hurd.
Resent-From: Janneke Nieuwenhuizen <janneke@gnu.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: andreas@enge.fr, efraim@flashner.co.il, ekaitz@elenq.tech,
 ludo@gnu.org, guix-patches@gnu.org
Resent-Date: Sun, 24 Nov 2024 07:59:03 +0000
Resent-Message-ID: <handler.74290.B74290.173243513218723@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 74290
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 74290@debbugs.gnu.org
Cc: Andreas Enge <andreas@enge.fr>, Efraim Flashner <efraim@flashner.co.il>,
 Ekaitz Zarraga <ekaitz@elenq.tech>,
 Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@gnu.org>
X-Debbugs-Original-Xcc: Andreas Enge <andreas@enge.fr>,
 Efraim Flashner <efraim@flashner.co.il>, Ekaitz Zarraga <ekaitz@elenq.tech>,
 Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@gnu.org>
Received: via spool by 74290-submit@debbugs.gnu.org id=B74290.173243513218723
 (code B ref 74290); Sun, 24 Nov 2024 07:59:03 +0000
Received: (at 74290) by debbugs.gnu.org; 24 Nov 2024 07:58:52 +0000
Received: from localhost ([127.0.0.1]:60956 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1tF7W7-0004rq-LN
 for submit@debbugs.gnu.org; Sun, 24 Nov 2024 02:58:52 -0500
Received: from eggs.gnu.org ([209.51.188.92]:39188)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@gnu.org>) id 1tF7UM-0004eA-6I
 for 74290@debbugs.gnu.org; Sun, 24 Nov 2024 02:57:02 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <janneke@gnu.org>)
 id 1tF7UG-0002Jc-Pa; Sun, 24 Nov 2024 02:56:56 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:Subject:To:
 From; bh=KEatdoaMsLm6sff5++m1V0tmRoOnqBS5FwUubhW7YlQ=; b=ZLjD7qB40HOyPR6iGjDt
 9qGuVjKOVtYBMg0K2a0eGbElpbwqufzTw5wP6byBygAsnwiIu9X6JbaabytIj2dCB0RxiSjERVIxV
 qLQhClAEO1R6NFKkItrmgoz8U199BsrWCZNw7C70tWfQ6VLdnB/FI564jVK78jHLwBvBHR7eyS+Aj
 64enN+srnMzNUfoJzN0+0ikjaviCNCf0olPcY4gZytQh2y89jfqz71bASg9zfpdzc5+wQORX5KSKx
 wQTLYork2G7PaOWzLIIWm645HAkj83GSHYcg6xgynRDSY69IfBtKdV5gqtSW6OH5mNt+9IUe3vp0r
 5LVEL2qesSZRbg==;
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Sun, 24 Nov 2024 08:55:21 +0100
Message-ID: <b51632cfa48c0c2a56030b6459e921070286b1b2.1732434271.git.janneke@gnu.org>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1732434270.git.janneke@gnu.org>
References: <cover.1732434270.git.janneke@gnu.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
X-BeenThere: guix-patches@gnu.org
List-Id: <guix-patches.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guix-patches>
List-Post: <mailto:guix-patches@gnu.org>
List-Help: <mailto:guix-patches-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>,
 <mailto:guix-patches-request@gnu.org?subject=subscribe>
Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org
Sender: guix-patches-bounces+larch=yhetil.org@gnu.org
X-Migadu-Flow: FLOW_IN
X-Migadu-Country: US
X-Migadu-Spam-Score: -3.03
X-Spam-Score: -3.03
X-Migadu-Queue-Id: 921D45293
X-Migadu-Scanner: mx12.migadu.com
X-TUID: iPWrloLhZFtw

* gnu/packages/commencement.scm (gcc-final)[arguments]: When building for the
64bit Hurd, create a gcc wrapper in phase "create-stage-wrapper", use it
by adding STAGE_CC_WRAPPER to #:make-flags, and CC to #:configure-flags
to convince configure gmp that gcc and g++ work.

Change-Id: I939c03c6c0fd9698efc4b293e59cf576249e3b77
---
 gnu/packages/commencement.scm | 37 ++++++++++++++++++++++++++++++++---
 1 file changed, 34 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 3dbd27b660..4368893f4d 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3255,13 +3255,32 @@ (define gcc-final
          ;; Since $LIBRARY_PATH is not honored, add the relevant flags.
          #~(let ((zlib (assoc-ref %build-inputs "zlib")))
              (map (lambda (flag)
-                    (if (string-prefix? "LDFLAGS=" flag)
+                    (if #$(if (target-hurd64?)
+                              #~(and (string? flag)
+                                     (string-prefix? "LDFLAGS=" flag))
+                              #~(string-prefix? "LDFLAGS=" flag))
                         (string-append flag " -L"
                                        (assoc-ref %build-inputs "libstdc++")
                                        "/lib -L" zlib "/lib -Wl,-rpath="
                                        zlib "/lib")
                         flag))
-                  #$flags)))
+                  #$(if (target-hurd64?)
+                        `(cons
+                          (string-append
+                           ;;Convince gmp's configure that gcc works
+                           "STAGE_CC_WRAPPER=" (getcwd) "/build/gcc.sh")
+                          ,flags)
+                        flags))))
+        ((#:configure-flags flags)
+         (if (target-hurd64?)
+             #~(append
+                #$flags
+                (list #$(string-append
+                         ;;Convince gmp's configure that gcc works
+                         "CC=gcc"
+                         " -Wno-implicit-function-declaration")
+                      "--disable-plugin"))
+             flags))
         ;; Build again GMP & co. within GCC's build process, because it's hard
         ;; to do outside (because GCC-BOOT0 is a cross-compiler, and thus
         ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
@@ -3306,7 +3325,19 @@ (define gcc-final
                                                (getenv "CPLUS_INCLUDE_PATH")
                                                #\:))
                                       ":")
-                                     "\nAM_CXXFLAGS = ")))))))))))
+                                     "\nAM_CXXFLAGS = "))))))
+             #$@(if (target-hurd64?)
+                    #~((add-after 'configure 'create-stage-wrapper
+                         (lambda _
+                           (with-output-to-file "gcc.sh"
+                             (lambda _
+                               (format #t "#! ~a/bin/bash
+exec \"$@\" \
+    -Wno-error \
+    -Wno-implicit-function-declaration"
+                                       #$static-bash-for-glibc)))
+                           (chmod "gcc.sh" #o555))))
+                    #~()))))))
 
     ;; This time we want Texinfo, so we get the manual.  Add
     ;; STATIC-BASH-FOR-GLIBC so that it's used in the final shebangs of
-- 
2.46.0