From patchwork Mon Jan 23 05:17:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul A. Patience" X-Patchwork-Id: 46363 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 D8CAF27BBED; Mon, 23 Jan 2023 05:18:22 +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=ham 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 DCD0C27BBE9 for ; Mon, 23 Jan 2023 05:18:20 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pJpDa-00031v-2f; Mon, 23 Jan 2023 00:18:06 -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 1pJpDX-00031M-1y for guix-patches@gnu.org; Mon, 23 Jan 2023 00:18:03 -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 1pJpDW-0001CL-IA for guix-patches@gnu.org; Mon, 23 Jan 2023 00:18:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pJpDW-0007pm-2F for guix-patches@gnu.org; Mon, 23 Jan 2023 00:18:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#61020] [PATCH] gnu: Add cl-clingon. Resent-From: "Paul A. Patience" Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 23 Jan 2023 05:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 61020 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 61020@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.167445105030060 (code B ref -1); Mon, 23 Jan 2023 05:18:01 +0000 Received: (at submit) by debbugs.gnu.org; 23 Jan 2023 05:17:30 +0000 Received: from localhost ([127.0.0.1]:53046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJpCy-0007oj-1L for submit@debbugs.gnu.org; Mon, 23 Jan 2023 00:17:29 -0500 Received: from lists.gnu.org ([209.51.188.17]:46630) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJpCs-0007oY-K5 for submit@debbugs.gnu.org; Mon, 23 Jan 2023 00:17:26 -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 1pJpCr-0002se-LE for guix-patches@gnu.org; Mon, 23 Jan 2023 00:17:22 -0500 Received: from mail-4317.proton.ch ([185.70.43.17]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJpCo-00013k-P8 for guix-patches@gnu.org; Mon, 23 Jan 2023 00:17:21 -0500 Date: Mon, 23 Jan 2023 05:17:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apatience.com; s=protonmail3; t=1674451034; x=1674710234; bh=94Ke6ckrLgXbCOly7heXhbQjYQiO1ru9p8t3uw0UA88=; h=Date:To:From:Cc:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=Cu0VkJm23g/vm7nrIGCqqpxTkCjFq1tj43gka3qJdQmiXEDAETrGtakLY+4TDNPSF hQcMDsnueewp0RvWSo/XoZ2kdO8IIGcZJBeRkARLdxd8reZgnL3wwvGj55UKMKEazd jjFzjtvmiDq3EbzFL6OKstqarEQXhCHAGOxQbRx9mC8xu6ieb2vhikFing/+4MowlK oLhDUP05039M05JGX8lZCE/FoKn9FeQpTwF8p5HXhBsTtkIFtH/8YkKqeUkaF8ep66 ToTuOexbtLg8xQa9QEhF6RYThxErYbgYE3IW9PGqzlpr0vNlngfdBnLHlEe+8SVq24 fxbA943ez/SaQ== From: "Paul A. Patience" Message-ID: <20230123051651.488504-1-paul@apatience.com> Feedback-ID: 19227857:user:proton MIME-Version: 1.0 Received-SPF: pass client-ip=185.70.43.17; envelope-from=paul@apatience.com; helo=mail-4317.proton.ch 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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-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-clingon, cl-clingon, ecl-clingon): New variables. --- gnu/packages/lisp-xyz.scm | 63 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) -- 2.38.1 diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index d2e7aae757..9edf7c2f50 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -848,6 +848,69 @@ (define-public ecl-adopt (define-public cl-adopt (sbcl-package->cl-source-package sbcl-adopt)) +(define-public sbcl-clingon + (let ((commit "4b99dcb4eb4433118a95f5b4ca49ae32b0a57492") + (revision "0")) + (package + (name "sbcl-clingon") + (version (git-version "0.4.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dnaeon/clingon") + (commit commit))) + (file-name (git-file-name "cl-clingon" version)) + (sha256 + (base32 "1nn1zs8n6rsys9s791y6sarpy3416aq848mkfr767g5s5y44ij7j")))) + (build-system asdf-build-system/sbcl) + (native-inputs + (list sbcl-rove)) + (inputs + (list sbcl-bobbin + sbcl-cl-reexport + sbcl-split-sequence + sbcl-with-user-abort)) + (home-page "https://github.com/dnaeon/clingon") + (synopsis "Command-line option parsing library for Common Lisp") + (description + "@code{clingon} is a command-line option parsing library for Common +Lisp. Its features include: +@itemize +@item Support for subcommands +@item Support for command aliases +@item Support for short and long options +@item Related options may be grouped into categories +@item Short options may be collapsed into a single argument, as in +@option{-xyz} +@item Long options support the notations @option{--long-opt arg} and +@option{--long-opt=arg} +@item Automatic generation of help/usage information for commands and +subcommands +@item Out-of-the-box support for @option{--version} and @option{--help} +@item Support for various kinds of options including string, integer, +boolean, switch, enum, list, counter, filepath, etc. +@item Subcommands can look up global options defined in parent commands +@item Support for required options +@item Options can be initialized via environment variables +@item Single interface for creating options using @code{CLINGON:MAKE-OPTION} +@item Generate documentation for your command-line application +@item Support for @code{pre-hook} and @code{post-hook} actions for commands, +which allow invoking functions before and after the respective handler of the +command is executed +@item Support for Bash and Zsh completions +@item Extensibility, so if you don't find something you need you can extend it +by developing a new option kind, or even a new mechanism for initializing +options, e.g., by looking up an external key/value store +@end itemize") + (license license:bsd-2)))) + +(define-public cl-clingon + (sbcl-package->cl-source-package sbcl-clingon)) + +(define-public ecl-clingon + (sbcl-package->ecl-package sbcl-clingon)) + (define-public sbcl-cl-irc (let ((commit "963823537c7bfcda2edd4c44d172192da6722175") (revision "0"))