[PATCH] gnu: Add chatgpt-shell.

  • Open
  • quality assurance status badge
Details
2 participants
  • Dakota Logan
  • Nicolas Goaziou
Owner
unassigned
Submitted by
Dakota Logan
Severity
normal
D
D
Dakota Logan wrote on 27 Apr 2023 19:46
(address . guix-patches@gnu.org)(name . Dakota Logan)(address . dklogan@riseup.net)
20230427174650.2034958-1-dklogan@riseup.net
* gnu/packages/emacs-xyz.scm (emacs-chatgpt-shell, emacs-shell-maker): New variables.
---
gnu/packages/emacs-xyz.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (50 lines)
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
N
N
Nicolas Goaziou wrote on 3 May 2023 14:50
(name . Dakota Logan)(address . dklogan@riseup.net)(address . 63138@debbugs.gnu.org)
87ednxvasq.fsf@nicolasgoaziou.fr
Hello,

Dakota Logan <dklogan@riseup.net> writes:

Toggle quote (3 lines)
> * gnu/packages/emacs-xyz.scm (emacs-chatgpt-shell, emacs-shell-maker):
> New variables.

Thank you. Some comments follow.

Toggle quote (9 lines)
> +(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"))

These URI are not stable. You should use GitHub as upstream. Moreover,
MELPA versionning is fancy. According to source, version is "0.18.1"

Toggle quote (8 lines)
> + (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.")

Shell Maker is a library... on Emacs Comint mode...

Toggle quote (4 lines)
> + (license license:gpl3+)))
> +
> +(define-public emacs-chatgpt-shell

The repository provides two library, so one single package is necessary.
You'll need to expound the description, tho.

Could you send an updated patch?

Regards,
--
Nicolas Goaziou
?