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:e16b::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms13.migadu.com with LMTPS
	id 2CpiLLyCM2d2eQEAqHPOHw:P1
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Tue, 12 Nov 2024 16:30:52 +0000
Received: from aspmx1.migadu.com ([2001:41d0:303:e16b::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp0.migadu.com with LMTPS
	id 2CpiLLyCM2d2eQEAqHPOHw
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Tue, 12 Nov 2024 17:30:52 +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="kvC/f5UN";
	dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=ZyE5Wgi4;
	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";
	dmarc=pass (policy=none) header.from=gnu.org
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1731429052;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:mime-version:mime-version:
	 content-type:content-type:
	 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=0pGbNXQPzZAf36OWD8QsC597PmBRo8onmdJV6El6BYs=;
	b=pyp4TrkrTNhxNRX2YldBsfpU6HOdQNxUNGk3j8784mmns4r1ynMGuPhcQHbn/29r+g3TtQ
	6//V5nlKWhOJYOvwIrAAqBQvoKfivfYSSuC6WU8TePG8paVsvifm2i25ZQEULHBqXckIOM
	hOFQ15rp5/mIkHPUCpDiG2c3nSC6p7E8i8AdS2CSUaDHUVfJOot2UxjJhLFhh76xq5hfuX
	X6QcLkGQwR6f8lP2Yo/L62IRoEIqAqZU0F03myYpaPzyYc2pjK51kSzLc71fUvNlkg+VoB
	74tqIOQ4RFY6tQhjFFkQA88XcB7YFPbHBGvM0c8+g71zY9LiZztDo9WQfN1g4A==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1731429052; a=rsa-sha256; cv=none;
	b=i64dQgn1vBA/BdmWZiZnV5pIRCyxz5aNzwn0WJCpIeUc3nGq5j3UdwPrv9qT+MIU8PLGVY
	eWA/irWUid9CcU8+dpsfB8AmKPCp3RjAcJLkzl2WNSJqL5d4Ti6rdV+jZrnzve/HhUIdJo
	dFvvXkc2LI8o6k29isL3l1cNv3w54Jhh49pVxz8ZmRFJR3dBnU9YubKFl5KFO27aTbk1Mp
	IvTsjLQELBRSKnMLeFwauqaRZhU73bosJYjtP5O6ryuQjSms04jdD/DMKf7864as7k7hue
	XZSoofWtkVAoi5Fylz28BL4BAOP4S5crJA7Zj2OaAmyf4jQKeYWHOTx4xp+VHw==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=pass header.d=debbugs.gnu.org header.s=debbugs-gnu-org header.b="kvC/f5UN";
	dkim=fail ("headers rsa verify failed") header.d=gnu.org header.s=fencepost-gnu-org header.b=ZyE5Wgi4;
	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";
	dmarc=pass (policy=none) header.from=gnu.org
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 3E69253276
	for <larch@yhetil.org>; Tue, 12 Nov 2024 17:30:52 +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 1tAtmb-00045u-33; Tue, 12 Nov 2024 11:30:25 -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 1tAtmU-00040T-Mg
 for guix-patches@gnu.org; Tue, 12 Nov 2024 11:30:18 -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 1tAtmU-0005xe-6O
 for guix-patches@gnu.org; Tue, 12 Nov 2024 11:30:18 -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=0pGbNXQPzZAf36OWD8QsC597PmBRo8onmdJV6El6BYs=; 
 b=kvC/f5UNYyWtivnzpfREIP+TtxWZsDK1YmryM5oc809fndFZ6kTQ5k9+DyfpWf0LB2kz8+7ew6gslVnginNoH6t2VZMfLRWGcuqKokSOqC6+mhHw25k2ednTpN/oT3wYWwlcLnErrVtEtqkFhXqvyrr+VZEZe6N+fGN1ADTNdywavU6jshycFiirYgCI1ZmXoqnz5lRhpOuMfHBwosQCS2nzkZUkYGA4Taao+Xb56XAbPhQCgPs+WzNXRPTlWZBy40t55hgx5/omL4O7l+exPxLhMJmVT7ZQS+mqYsyiAsSn/XOmQoAxlZzIyohB0ZAJqEU0vnsMSkm/pE1+yHnMtg==;
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tAtmT-0000Y0-Vz
 for guix-patches@gnu.org; Tue, 12 Nov 2024 11:30:18 -0500
X-Loop: help-debbugs@gnu.org
Subject: [bug#74290] [PATCH v2 20/40] gnu: pciutils: Support the 64bit Hurd.
Resent-From: Janneke Nieuwenhuizen <janneke@gnu.org>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: guix-patches@gnu.org
Resent-Date: Tue, 12 Nov 2024 16:30:17 +0000
Resent-Message-ID: <handler.74290.B74290.17314289781331@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
Received: via spool by 74290-submit@debbugs.gnu.org id=B74290.17314289781331
 (code B ref 74290); Tue, 12 Nov 2024 16:30:17 +0000
Received: (at 74290) by debbugs.gnu.org; 12 Nov 2024 16:29:38 +0000
Received: from localhost ([127.0.0.1]:39129 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1tAtlp-0000LI-Ja
 for submit@debbugs.gnu.org; Tue, 12 Nov 2024 11:29:38 -0500
Received: from eggs.gnu.org ([209.51.188.92]:47228)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <janneke@gnu.org>) id 1tAtlf-0000IA-IX
 for 74290@debbugs.gnu.org; Tue, 12 Nov 2024 11:29:28 -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 1tAtjT-0005ND-VD; Tue, 12 Nov 2024 11:27:11 -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=0pGbNXQPzZAf36OWD8QsC597PmBRo8onmdJV6El6BYs=; b=ZyE5Wgi4eyd3RX48wo/E
 dWJBLmgPV+sxWV6ZlhUK3U9oePs8XG9VklgzA+WugUp79wleiRpqjqpy6JSLf/EUY112p6qS+q3nh
 pr/ATTpb5HGLjUtoQHE/n96KQl05h3uWoW2sXbUypuDvB6LdXjyoeVvSz0lIQLj6jank8CE5PSatd
 N3ZsRfGgZPzLtIGZIcbGX1ZmiLyBB93KccGoUCiEF9KofFf1G07wwfh4zB4vLT35+X0KZeYBvJkze
 96OZvBAe+62cySqOMw2Kth30CX07I8FRfsfhmGyZuQ3+tbpUujh479D2jcmmknvmSMgtoB6VaRg4K
 apfnms6g3Up/Vw==;
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 12 Nov 2024 17:25:29 +0100
Message-ID: <c14730c47b48a92f6a80dcc2106035d8bd5fc8f2.1731427612.git.janneke@gnu.org>
X-Mailer: git-send-email 2.46.0
In-Reply-To: <cover.1731427612.git.janneke@gnu.org>
References: <cover.1731427612.git.janneke@gnu.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
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: -2.33
X-Spam-Score: -2.33
X-Migadu-Queue-Id: 3E69253276
X-Migadu-Scanner: mx13.migadu.com
X-TUID: hLwa1yhUC7Ml

* gnu/packages/patches/pciutils-hurd64.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/pciutils.scm (pciutils)[arguments]: Use g-expressions.  When
building for the 64bit Hurd, use it in new "apply-hurd64-patch" phase.

Change-Id: I8936377da726681b748cc010e1fbae3fb19dee05
---
 gnu/local.mk                               |  1 +
 gnu/packages/patches/pciutils-hurd64.patch | 31 ++++++++++++++++++++++
 gnu/packages/pciutils.scm                  | 25 +++++++++++------
 3 files changed, 49 insertions(+), 8 deletions(-)
 create mode 100644 gnu/packages/patches/pciutils-hurd64.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a7e5e903e3..34023909a1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1908,6 +1908,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/pam-krb5-CVE-2020-10595.patch		\
   %D%/packages/patches/pango-skip-libthai-test.patch		\
   %D%/packages/patches/password-store-tree-compat.patch		\
+  %D%/packages/patches/pciutils-hurd64.patch			\
   %D%/packages/patches/pdfpc-build-with-vala-0.56.patch         \
   %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch			\
   %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
diff --git a/gnu/packages/patches/pciutils-hurd64.patch b/gnu/packages/patches/pciutils-hurd64.patch
new file mode 100644
index 0000000000..316f12e131
--- /dev/null
+++ b/gnu/packages/patches/pciutils-hurd64.patch
@@ -0,0 +1,31 @@
+Upstream-status: Not presented upstream.
+
+--- pciutils-3.8.0/lib/hurd.c.orig	2024-11-07 15:09:20.728973822 +0100
++++ pciutils-3.8.0/lib/hurd.c	2024-11-07 15:05:08.524682813 +0100
+@@ -213,7 +213,7 @@
+ hurd_read(struct pci_dev *d, int pos, byte * buf, int len)
+ {
+   int err;
+-  size_t nread;
++  mach_msg_type_number_t nread;
+   char *data;
+   mach_port_t device_port = device_port_lookup(d);
+ 
+@@ -266,7 +266,7 @@
+   mach_port_t device_port = device_port_lookup(d);
+   struct pci_bar regions[6];
+   char *buf = (char *) &regions;
+-  size_t size = sizeof(regions);
++  mach_msg_type_number_t size = sizeof(regions);
+ 
+   int err = pci_get_dev_regions(device_port, &buf, &size);
+   if (err)
+@@ -305,7 +305,7 @@
+   struct pci_xrom_bar rom;
+   mach_port_t device_port = device_port_lookup(d);
+   char *buf = (char *) &rom;
+-  size_t size = sizeof(rom);
++  mach_msg_type_number_t size = sizeof(rom);
+ 
+   int err = pci_get_dev_rom(device_port, &buf, &size);
+   if (err)
diff --git a/gnu/packages/pciutils.scm b/gnu/packages/pciutils.scm
index d2a352eb6b..08f1634113 100644
--- a/gnu/packages/pciutils.scm
+++ b/gnu/packages/pciutils.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2022 Brendan Tildesley <mail@brendan.scot>
 ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
 ;;;
@@ -81,25 +81,34 @@ (define-public pciutils
                 "01aglgw9ds9qiswcbi2lx90lswncikrlyv8mmp4haix8542bvvci"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
          (add-after 'unpack 'unbundle-pci.ids
            (lambda* (#:key native-inputs inputs #:allow-other-keys)
              (copy-file (search-input-file (or native-inputs inputs)
                                            "share/hwdata/pci.ids")
                         "pci.ids")))
+         #$@(if (target-hurd64?)
+               #~((add-after 'unpack 'apply-hurd64-patch
+                    (lambda _
+                      (let ((patch-file
+                             #$(local-file
+                                (search-patch "pciutils-hurd64.patch"))))
+                        (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+               #~())
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys)
              ;; There's no 'configure' script, just a raw makefile.
              (substitute* "Makefile"
-               ,@(if (%current-target-system)
-                     `((("^CROSS_COMPILE=.*$")
+               #$@(if (%current-target-system)
+                     #~((("^CROSS_COMPILE=.*$")
                         (string-append "CROSS_COMPILE="
-                                       ,(%current-target-system) "-"
+                                       #$(%current-target-system) "-"
                                        "\n"))
                        (("^HOST=.*$")
                         (string-append "HOST="
-                                       ,(gnu-triplet->nix-system
+                                       #$(gnu-triplet->nix-system
                                          (%current-target-system)) "\n"))
                        ;; Disable 'install' strip option, that would fail when
                        ;; we are cross-compiling.
@@ -139,7 +148,7 @@ (define-public pciutils
              (invoke "make" "install" "install-lib"))))
 
        ;; Make sure programs have an RPATH so they can find libpciutils.so.
-       #:make-flags (list ,(string-append "CC="
+       #:make-flags #~(list #$(string-append "CC="
                                           (if (%current-target-system)
                                               (cc-for-target)
                                               "gcc"))
-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com