(address . guix-patches@gnu.org)(name . Rostislav Svoboda)(address . Rostislav.Svoboda@gmail.com)
* gnu/packages/emacs-xyz.scm (emacs-gptel): New variable.
---
gnu/packages/emacs-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
Toggle diff (51 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index da2856abc8..d5db2ea499 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -418,6 +418,44 @@ (define-public emacs-geiser
e.g. emacs-geiser-guile for Guile.")
(license license:bsd-3)))
+(define-public emacs-gptel
+ (let ((commit "1c07a94e18a914ae69ea0061f81fda4bba29afd5")
+ (revision "0"))
+ (package
+ (name "emacs-gptel")
+ (version (git-version "0.2.5" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/karthink/gptel")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "190nrxf6nqmfrsza3vyc51f02hw10wzydi45phkswydjkgsllkmp"))))
+ (build-system emacs-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'substitute-gptel-use-curl
+ (lambda* (#:key inputs #:allow-other-keys)
+ (emacs-substitute-variables "gptel.el"
+ ("gptel-use-curl" (search-input-file
+ inputs
+ "/bin/curl"))))))))
+ (inputs (list curl))
+ (propagated-inputs (list emacs-map))
+ (home-page "https://github.com/karthink/gptel")
+ (synopsis "GPTel is a simple ChatGPT client for Emacs")
+ (description
+ "GPTel is a simple, no-frills ChatGPT asynchronous client for Emacs
+with no external dependencies. It can interact with ChatGPT from any Emacs
+buffer with ChatGPT responses encoded in Markdown or Org markup. It supports
+conversations, not just one-off queries and multiple independent sessions.
+Requires an OpenAI API key.")
+ (license license:gpl3+))))
+
(define-public emacs-geiser-guile
(package
(name "emacs-geiser-guile")
--
2.39.2