Subject: [bug#63138] [PATCH] gnu: Add chatgpt-shell.

From: Dakota Logan <[email-masked]>
Date: Thu, 27 Apr 2023 13:46:50 -0400

* gnu/packages/emacs-xyz.scm (emacs-chatgpt-shell, emacs-shell-maker): New variables.
---
 gnu/packages/emacs-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 3fa367ce74..2f934537a4 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -444,6 +444,41 @@ favourite Scheme implementation, you also need the corresponding geiser package,
 e.g. emacs-geiser-guile for Guile.")
     (license license:bsd-3)))
 
+(define-public emacs-shell-maker
+(package
+    (name "emacs-shell-maker")
+    (version "20230427.808")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://melpa.org/packages/shell-maker-"
+                                  version ".el"))
+              (sha256
+               (base32
+                "19qamx8rkll2xmkp85dx9qxvlbmcj8d35fksjssa1s05y1akmwad"))))
+    (build-system emacs-build-system)
+    (home-page "https://github.com/xenodium/chatgpt-shell")
+    (synopsis "Emacs wraparound for comint-mode for creating local and cloud shells")
+    (description "@code{emacs-shell-maker} is a library building on Emacs comint-mode.  It allows users to conveniently create shells for local and cloud LLM services, such as ChatGPT.")
+    (license license:gpl3+)))
+
+(define-public emacs-chatgpt-shell
+(package
+    (name "emacs-chatgpt-shell")
+    (version "20230427.808")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://melpa.org/packages/chatgpt-shell-"
+                                  version ".el"))
+              (sha256
+               (base32
+                "0plhxmn4ggxw5ph002ggh3j9v5g2dghr742r0287hprl7r0wcisz"))))
+    (build-system emacs-build-system)
+    (propagated-inputs (list emacs-shell-maker))
+    (home-page "https://github.com/xenodium/chatgpt-shell")
+    (synopsis "ChatGPT shell for Emacs")
+    (description "@code{emacs-chatgpt-shell} is a client for interacting with the ChatGPT and DALL-E LLM services.  Building on comint-mode and the @code{emacs-shell-maker} library, it allows the user to interact with the service via a custom shell or an Org-mode buffer.")
+    (license license:gpl3+)))
+
 (define-public emacs-gptel
   (package
     (name "emacs-gptel")

base-commit: d59b4764f3171b1430a6d3b954659b8aab730475
-- 
2.30.2