From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <guix-patches-bounces+larch=yhetil.org@gnu.org>
Received: from mp11.migadu.com ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by ms5.migadu.com with LMTPS
	id 0OhBI/FqrGLU4wAAbAwnHQ
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Fri, 17 Jun 2022 13:52:17 +0200
Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
	by mp11.migadu.com with LMTPS
	id yCwpI/FqrGKmiAAA9RJhRA
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	for <larch@yhetil.org>; Fri, 17 Jun 2022 13:52:17 +0200
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 DA7843619
	for <larch@yhetil.org>; Fri, 17 Jun 2022 13:52:16 +0200 (CEST)
Received: from localhost ([::1]:38844 helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guix-patches-bounces+larch=yhetil.org@gnu.org>)
	id 1o2AWO-0007l9-1z
	for larch@yhetil.org; Fri, 17 Jun 2022 07:52:16 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:39046)
 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 1o2AWA-0007fw-Mo
 for guix-patches@gnu.org; Fri, 17 Jun 2022 07:52:02 -0400
Received: from debbugs.gnu.org ([209.51.188.43]:50034)
 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 1o2AWA-0000gD-ER
 for guix-patches@gnu.org; Fri, 17 Jun 2022 07:52:02 -0400
Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2)
 (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1o2AWA-0008J0-BC
 for guix-patches@gnu.org; Fri, 17 Jun 2022 07:52:02 -0400
X-Loop: help-debbugs@gnu.org
Subject: [bug#55998] [PATCH v2] gnu: Add cctools.
Resent-From: Philip McGrath <philip@philipmcgrath.com>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
Resent-CC: guix-patches@gnu.org
Resent-Date: Fri, 17 Jun 2022 11:52:02 +0000
Resent-Message-ID: <handler.55998.B55998.165546670831890@debbugs.gnu.org>
Resent-Sender: help-debbugs@gnu.org
X-GNU-PR-Message: followup 55998
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 55998@debbugs.gnu.org
Cc: "\(" <paren@disroot.org>, Maxime Devos <maximedevos@telenet.be>,
 Philip McGrath <philip@philipmcgrath.com>
Received: via spool by 55998-submit@debbugs.gnu.org id=B55998.165546670831890
 (code B ref 55998); Fri, 17 Jun 2022 11:52:02 +0000
Received: (at 55998) by debbugs.gnu.org; 17 Jun 2022 11:51:48 +0000
Received: from localhost ([127.0.0.1]:43925 helo=debbugs.gnu.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
 id 1o2AVr-0008IC-GW
 for submit@debbugs.gnu.org; Fri, 17 Jun 2022 07:51:48 -0400
Received: from mail-qv1-f42.google.com ([209.85.219.42]:37438)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <philip@philipmcgrath.com>) id 1o2AVn-0008Hv-HW
 for 55998@debbugs.gnu.org; Fri, 17 Jun 2022 07:51:41 -0400
Received: by mail-qv1-f42.google.com with SMTP id o43so6062453qvo.4
 for <55998@debbugs.gnu.org>; Fri, 17 Jun 2022 04:51:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=philipmcgrath.com; s=google;
 h=from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding;
 bh=CtTE14Ra29TJjP3fIhvT+irAZ7anYLPE6ZWtW+7RUSs=;
 b=G6P68rQLPy7Qtwce6HxS8Krsf7v3vK/MbFblmGlCTrszTLf6ib1gAlw7/sMBiR3WgC
 rOIjGjkjhm/NyxlUPD0Ym32ryChFmSORn/3T46SOQ0xyu/Sl6mWf5hKgjeC17d7JND4R
 yIDgQ94xCiGh9QtIS4M+zezcVGOtFwe8owowX1JzcnEpLIT/VgYRz2xppFcb52d9RD1T
 ftcDsc68nVHRsD6pPuPpLie8Vq1ORD9Lq/LKJOEbQQIRjJnHvkdcJ9s5OLVc6FBu5uB4
 rq+Y9ZzmBmSVsVbh13qW5iDlTdTcwBQtAzuvbUyO89UkKQlrHm5pYRD2OJoSCd7237fT
 1b1Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references:mime-version:content-transfer-encoding;
 bh=CtTE14Ra29TJjP3fIhvT+irAZ7anYLPE6ZWtW+7RUSs=;
 b=yO+Sg0FJHVAX8bCCJQqnUfu6uwElYwrAtnYXA0Jzw4sIQFu8+2hPMCxyhWCqxmXEsq
 +6UD9MzJlCkbffseUpG2KI+OciPJ9fUTIQsUk3V8MIhZzpL7c8+qx6vApSqIM55H/MJ+
 kDj5GP1ujhfwny/AF6vdeolNIIeCYhCUL6kXOGBDCMBebpScW6DFsOWnbavyaoSj3Zed
 iW+zUcrzhT0LkThQmsH+s9anXNxjEHLF9aPP+EUg9sE7Ran81EHerHViD5gkidvH/mkp
 QJWmGC2NbQOM+YaLt5Y7TQNcMdnwSoDeO9HwWSfnxNPR1W8fFSW9uR8690DsD0gEfk7W
 wRKg==
X-Gm-Message-State: AJIora8eelnWoHgl4WysTcqFuNhROArGLoVns8FYop/zgL/s9PU+gxa2
 jnU/wLOFwPwrEH8zzdRlr1oD0EU7cLBB1/RjxSY=
X-Google-Smtp-Source: AGRyM1tDg2UZRtjqTVm4hkGxh84yD0E0FAT2KjilMUmxCYB4FHOsR/BCM1+Xk7ZHQ4OG8fP5a3Az3g==
X-Received: by 2002:ad4:4eee:0:b0:464:46f0:bae2 with SMTP id
 dv14-20020ad44eee000000b0046446f0bae2mr7980329qvb.54.1655466693558; 
 Fri, 17 Jun 2022 04:51:33 -0700 (PDT)
Received: from localhost (c-73-125-98-51.hsd1.fl.comcast.net. [73.125.98.51])
 by smtp.gmail.com with UTF8SMTPSA id
 b9-20020ac86bc9000000b002f9ba2b666csm3825166qtt.58.2022.06.17.04.51.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Jun 2022 04:51:32 -0700 (PDT)
From: Philip McGrath <philip@philipmcgrath.com>
Date: Fri, 17 Jun 2022 07:51:09 -0400
Message-Id: <ed66c0cef80d1b98fb528228660b8c8c4da223cd.1655465599.git.philip@philipmcgrath.com>
X-Mailer: git-send-email 2.32.0
In-Reply-To: <25870e3b599bef45e57c972d019cbee3228e9e35.1655311589.git.philip@philipmcgrath.com>
References: <25870e3b599bef45e57c972d019cbee3228e9e35.1655311589.git.philip@philipmcgrath.com>
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" <guix-patches-bounces+larch=yhetil.org@gnu.org>
X-Migadu-Flow: FLOW_IN
X-Migadu-To: larch@yhetil.org
X-Migadu-Country: US
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org;
	s=key1; t=1655466737;
	h=from:from:sender:sender:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc: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=CtTE14Ra29TJjP3fIhvT+irAZ7anYLPE6ZWtW+7RUSs=;
	b=Zl3hC/eeSmW6XqR1mCktZEcCKxP8n6mqBvrWSOZbAF6ClJ5zQfGJWYIw6XmCWc7d6pE2fi
	x6/Q1/193m0tXOzIrvIsIN5Xt/Oa8a2XVZIX0yyPIqzpAyMmK6Rqreqpdij8GFSUdp7h2D
	hR00BAquxJZP64PGpK82c/lyLBCddazC6NOIp4JZApmJmfRred05fFvrwYgTdKLwaSqxFz
	/krZ2TabQ3JTNlAQhess9KPc2UR72PmdIHsEC0+3Gv3UMHUlHDHYCkBHxsELbZmbyrQw2t
	Z4HEghwgY5gKGpM0z9R0JNUVlm7QVzbC+TDhZKnIGgy2SrcAIR5QXALjOpmAaA==
ARC-Seal: i=1; s=key1; d=yhetil.org; t=1655466737; a=rsa-sha256; cv=none;
	b=OMtH9wsyOAcHhJMLR4Zc9tq9jrM5U0P6ujm2+xulBz6EakMR82qkOyYv3oK9M7YAvK4gpA
	K4fTz5y3L/Er2vW46noX9J8kOH6gfW6o/xwCj5CQ3dwdFAm8TAgRLU2qwk4gST+ausHdAI
	HkU9VEPztBOzQqyqeZG7H9iVg/EvYQEdVIsC0gRpPhhI9L5dMJoOBktpdADOhy3j01f4u8
	UP4xKucIMIR2F5uqQE1aUSb4J6m1UO2wPfKZ5sGTW5oUUHMsyXEH2KdvE6vQqF48IzP3r2
	Qg84zLLIvEH0Kdcy7TlG0CC/i+cCEN07dWgNMMDxXER0PcSW9rBv8rI6ap3I5Q==
ARC-Authentication-Results: i=1;
	aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=G6P68rQL;
	dmarc=none;
	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"
X-Migadu-Spam-Score: 1.21
Authentication-Results: aspmx1.migadu.com;
	dkim=fail ("headers rsa verify failed") header.d=philipmcgrath.com header.s=google header.b=G6P68rQL;
	dmarc=none;
	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"
X-Migadu-Queue-Id: DA7843619
X-Spam-Score: 1.21
X-Migadu-Scanner: scn0.migadu.com
X-TUID: btIBsmOIHn8z

* gnu/packages/darwin.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/darwin.scm (cctools): New variable.
---

Hi,

Here is a v2! I've removed generated Autotools files, which fixes the
problem finding the <linux/limits.h> header, and used the existing Guix
package for `libobjc2` rather than the bundled copy. I also removed the
obsolete, unused GDB header.

 -Philip

 gnu/local.mk            |   1 +
 gnu/packages/darwin.scm | 107 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 108 insertions(+)
 create mode 100644 gnu/packages/darwin.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 5a9edc16bb..3987a499d9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -181,6 +181,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/cvassistant.scm			\
   %D%/packages/cybersecurity.scm		\
   %D%/packages/cyrus-sasl.scm			\
+  %D%/packages/darwin.scm			\
   %D%/packages/databases.scm			\
   %D%/packages/datamash.scm			\
   %D%/packages/datastructures.scm		\
diff --git a/gnu/packages/darwin.scm b/gnu/packages/darwin.scm
new file mode 100644
index 0000000000..88990d0404
--- /dev/null
+++ b/gnu/packages/darwin.scm
@@ -0,0 +1,107 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages darwin)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages gnustep)
+  #:use-module (gnu packages llvm)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix gexp)
+  #:use-module (guix git-download)
+  #:use-module (guix packages)
+  #:use-module (guix utils)
+  #:use-module ((guix licenses) #:prefix license:))
+
+(define-public cctools
+  (let ((cctools-version "973.0.1")
+        (ld64-version "609")
+        (revision "0")
+        (commit "04663295d0425abfac90a42440a7ec02d7155fea"))
+    (package
+      (name "cctools")
+      (version (git-version (string-append cctools-version
+                                           "-ld64-"
+                                           ld64-version)
+                            revision
+                            commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/tpoechtrager/cctools-port")
+               (commit commit)))
+         (sha256
+          (base32 "0vihfa8y64vvd3pxy8qh4mhcnzinxh9flpz9dvw4wch4zj2nnfjs"))
+         (file-name (git-file-name name version))
+         (snippet
+          #~(begin
+              (use-modules (guix build utils))
+              (with-directory-excursion "cctools"
+                ;; use system libobjc2
+                (substitute* "configure.ac"
+                  (("AC_CONFIG_FILES[(]\\[libobjc2/Makefile][)]")
+                   ""))
+                (substitute* "Makefile.am"
+                  (("SUBDIRS=libobjc2 ")
+                   "SUBDIRS="))
+                (substitute* "otool/Makefile.am"
+                  (("\\$[(]top_builddir[)]/libobjc2/libobjc\\.la")
+                   "-lobjc")
+                  (("-I\\$[(]top_srcdir[)]/libobjc2")
+                   ""))
+                ;; delete files
+                (for-each (lambda (pth)
+                            (when (file-exists? pth)
+                              (delete-file-recursively pth)))
+                          `("include/gnu/symseg.h" ;; obsolete
+                            "libobjc2" ;; unbundle
+                            ;; generated files:
+                            "compile"
+                            "config.guess"
+                            "config.sub"
+                            "configure"
+                            "install-sh"
+                            "ltmain.sh"
+                            "missing"
+                            ,@(find-files "." "^Makefile\\.in$"))))))))
+      (inputs (list libobjc2
+                    clang-toolchain))
+      (native-inputs (list libtool
+                           autoconf
+                           automake
+                           clang-toolchain))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'chdir
+              (lambda args
+                (chdir "cctools"))))))
+      (home-page "https://github.com/tpoechtrager/cctools-port")
+      (synopsis "Darwin's @code{cctools} and @code{ld64}")
+      ;; Confusingly enough, the program is called ld64, but the command is
+      ;; just ld (with no symlink), so @command{ld64} would be wrong.
+      (description
+       "Darwin's @code{cctools} are a set of tools somewhat similar in purpose
+to GNU Binutils, but for Mach-O files targeting Darwin.  The suite includes
+@command{install_name_tool}, @command{dyldinfo}, and other specialized tools
+in addition to standard utilities like @command{ld} and @command{as}.  This
+package provides portable versions of the tools.")
+      (license license:apsl2))))

base-commit: 673983c9c6e86596abc9082e47319285674d7eda
-- 
2.32.0