diff mbox series

[bug#62519] gnu: Add emacs-gptel.

Message ID 20230329124220.7210-1-Rostislav.Svoboda@gmail.com
State New
Headers show
Series [bug#62519] gnu: Add emacs-gptel. | expand

Commit Message

Rostislav Svoboda March 29, 2023, 12:42 p.m. UTC
* gnu/packages/emacs-xyz.scm (emacs-gptel): New variable.
---
 gnu/packages/emacs-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

Nicolas Goaziou April 8, 2023, 12:08 p.m. UTC | #1
Hello,

Rostislav Svoboda <rostislav.svoboda@gmail.com> writes:

> * gnu/packages/emacs-xyz.scm (emacs-gptel): New variable.

I updated the package to 0.3.0, fixed Curl setting, and applied your
patch. Thank you.

Regards,
diff mbox series

Patch

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")