@@ -1067,6 +1067,42 @@ (define-public cl-clingon
(define-public ecl-clingon
(sbcl-package->ecl-package sbcl-clingon))
+(define-public sbcl-command-line-args
+ (package
+ (name "sbcl-command-line-args")
+ (version "0.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.sr.ht/~whereiseveryone/command-line-args")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01p52zxr1b49c15ichlc3zadd1mrmwxzria53j949ayl2j6k8w1b"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-systems '("whereiseveryone.command-line-args")))
+ (inputs
+ (list sbcl-alexandria
+ sbcl-serapeum
+ sbcl-cl-str
+ sbcl-trivia))
+ (home-page "https://git.sr.ht/~whereiseveryone/command-line-args")
+ (synopsis "Automatically create a CLI parser for a given Common Lisp function definition")
+ (description "Command-Line-Args provides a main macro (@code{command})
+that wraps a @code{defun} form and creates a new function that parses the
+command line arguments. It has support for command-line options, positoinal,
+and variadic arguments. It also generates a basic help message. The
+interface is meant to be easy and non-intrusive.")
+ (license license:agpl3+)))
+
+(define-public cl-command-line-args
+ (sbcl-package->cl-source-package sbcl-command-line-args))
+
+(define-public ecl-command-line-args
+ (sbcl-package->ecl-package sbcl-command-line-args))
+
(define-public sbcl-cl-irc
(let ((commit "963823537c7bfcda2edd4c44d172192da6722175")
(revision "0"))