From patchwork Sat Nov 19 04:46:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul A. Patience" X-Patchwork-Id: 44615 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 D875F27BBEC; Sat, 19 Nov 2022 04:47:15 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id DDCBA27BBE9 for ; Sat, 19 Nov 2022 04:47:12 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1owFku-0002X3-IL; Fri, 18 Nov 2022 23:47:04 -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 ) id 1owFks-0002Wo-Dq for guix-patches@gnu.org; Fri, 18 Nov 2022 23:47:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1owFks-0003O4-4F for guix-patches@gnu.org; Fri, 18 Nov 2022 23:47:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1owFkr-0002Ka-VH for guix-patches@gnu.org; Fri, 18 Nov 2022 23:47:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#59376] [PATCH] gnu: Add cl-ucons. Resent-From: "Paul A. Patience" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 19 Nov 2022 04:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 59376 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 59376@debbugs.gnu.org Cc: "Paul A. Patience" X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16688331978903 (code B ref -1); Sat, 19 Nov 2022 04:47:01 +0000 Received: (at submit) by debbugs.gnu.org; 19 Nov 2022 04:46:37 +0000 Received: from localhost ([127.0.0.1]:38685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1owFkT-0002JX-0u for submit@debbugs.gnu.org; Fri, 18 Nov 2022 23:46:37 -0500 Received: from lists.gnu.org ([209.51.188.17]:38806) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1owFkN-0002JK-1I for submit@debbugs.gnu.org; Fri, 18 Nov 2022 23:46:35 -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 ) id 1owFkM-0002UO-Qo for guix-patches@gnu.org; Fri, 18 Nov 2022 23:46:30 -0500 Received: from mail-0301.mail-europe.com ([188.165.51.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1owFkK-0003Ga-8O for guix-patches@gnu.org; Fri, 18 Nov 2022 23:46:30 -0500 Date: Sat, 19 Nov 2022 04:46:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apatience.com; s=protonmail3; t=1668833180; x=1669092380; bh=370Bv6NOTwuGsFXdNuKBuExl05OLUjeNAYs8urCwrco=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=IgQD8N1QTFB5U7jQySnflgkxwmfMeOE5auUk7Ghfy7aeL58TXk1BIx6oYV2gDXchE W69y71hPbg50V0ORFlHNDeouOz7DD5VEqynLFHxvsDJ7bNMdwFuByT2wL5cE1+wD1l 7spxLMLeyxXYtIplnXxaL9eTXoKTPgi141OVNDbCdPNG8c7uHJ9g0FhKTOdOyJqcFX r1QtEtLUrCTj6yx+Fifd9QBJS0aqY94XBfSrIC26Q4JVUZD3r2ZY3Ix11128cMcKcD bu08qHT6qBduSwhccOK2+tBaWKzeCP6bYrrvUNUfh2OQ3QWKqKZcS1JF6xOkdqC5/e U018j8PXvKG5Q== From: "Paul A. Patience" Message-ID: <20221119044601.296448-1-paul@apatience.com> Feedback-ID: 19227857:user:proton MIME-Version: 1.0 Received-SPF: pass client-ip=188.165.51.139; envelope-from=paul@apatience.com; helo=mail-0301.mail-europe.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/packages/lisp-xyz.scm (sbcl-ucons, cl-ucons, ecl-ucons): New variables. --- gnu/packages/lisp-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) -- 2.38.0 diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index d1f6b9b5e2..04d1d32651 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3810,6 +3810,44 @@ (define-public cl-trivial-garbage (define-public ecl-trivial-garbage (sbcl-package->ecl-package sbcl-trivial-garbage)) +(define-public sbcl-ucons + (let ((commit "d976810ef2b12a2caaf55bd0f258272e9b79f3be") + (revision "0")) + (package + (name "sbcl-ucons") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marcoheisig/ucons") + (commit commit))) + (file-name (git-file-name "cl-ucons" version)) + (sha256 + (base32 "17aj47pdjiywnf33hl46p27za2q0pq5ar3fpqxaqskggxrfxmijl")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-atomics + sbcl-bordeaux-threads + sbcl-named-readtables + sbcl-trivia)) + (home-page "https://github.com/marcoheisig/ucons") + (synopsis "Unique conses for Common Lisp") + (description "UCONS is a Common Lisp library providing unique conses. +Unique conses are different from regular conses in that, in addition to their +@code{car} and @code{cdr}, they maintain a table of past users. Also, the +@code{cdr} of each ucons is restricted to other uconses or @code{nil}. +Uconses are meant for those situations where even reusing regular conses (to +avoid consing) is too computationally expensive.") + (license license:expat)))) + +(define-public cl-ucons + (sbcl-package->cl-source-package sbcl-ucons)) + +(define-public ecl-ucons + (sbcl-package->ecl-package sbcl-ucons)) + (define-public sbcl-closer-mop (let ((commit "19c9d33f576e10715fd79cc1d4f688dab0f241d6")) (package