unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Rostislav Svoboda <rostislav.svoboda@gmail.com>
To: 62664@debbugs.gnu.org
Cc: Rostislav Svoboda <Rostislav.Svoboda@gmail.com>
Subject: [bug#62664] [PATCH] [WIP] gnu: Add emacs-copilot.
Date: Tue,  4 Apr 2023 16:30:43 +0200	[thread overview]
Message-ID: <20230404143043.3202-1-Rostislav.Svoboda@gmail.com> (raw)

---
 gnu/packages/emacs-xyz.scm | 46 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 2b96c60057..d037fa9075 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -36689,6 +36689,52 @@ (define-public emacs-tintin-mode
       (description "This major mode focuses on highlighting as many aspects of the TinTin++ scripting language as possible, organizing commands into functional categories and highlighting specific modes that many commands use to accomplish different tasks.")
       (license license:asl2.0))))
 
+(define-public emacs-copilot
+  (let ((commit "e11847ab0c3b183a1e53fbc1ac587de82912b9cf")
+        (revision "0"))
+    (package
+      (name "emacs-copilot")
+      (version (git-version "0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/zerolfx/copilot.el.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0gsxb268vqyim65ag8d7dlgdqyxqrjcjirlnbfbfq0pdr1y2158q"))))
+      (build-system emacs-build-system)
+      (arguments
+       (list
+        #:include #~(cons "^dist/" %default-include)
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'substitute-copilot-node-executable
+              (lambda* (#:key inputs #:allow-other-keys)
+                (emacs-substitute-variables "copilot.el"
+                  ("copilot-node-executable"
+;;; Copilot requires Node 16+, however packaging v16 and/or v18 is not
+;;; trivial. See https://issues.guix.gnu.org/53414,
+;;; https://issues.guix.gnu.org/59188 .
+;;;
+;;; As a hack, download and compile recent Node version manually.
+                   (format #f "%s/node-v18.15.0/out/Release/node" (getenv "dev")) ; Remove this line when Node 16+ becomes available as a Guix package.
+                   ;; (search-input-file inputs "/bin/node")                      ; Activate this line when Node 16+ becomes available as a Guix package.
+                   )))))))
+      ;; (inputs (list node))                                                     ; Activate this line when Node 16+ becomes available as a Guix package.
+      (propagated-inputs
+       (list emacs-dash emacs-editorconfig emacs-s))
+      (home-page
+       "https://github.com/zerolfx/copilot.el.git")
+      (synopsis "An unofficial Copilot plugin for Emacs")
+      (description
+       "Copilot.el is an Emacs plugin for GitHub Copilot. This plugin is
+unofficial and based on binaries provided by copilot.vim. Note: You need
+access to GitHub Copilot to use this plugin.")
+      (license license:gpl3+))))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar
-- 
2.39.2





             reply	other threads:[~2023-04-04 14:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-04 14:30 Rostislav Svoboda [this message]
2023-04-04 14:35 ` [bug#62664] [PATCH] [WIP] gnu: Add emacs-copilot Rostislav Svoboda
2023-04-04 14:54 ` jgart via Guix-patches via
2023-04-04 19:19 ` Liliana Marie Prikler
2023-04-05 13:07   ` Giovanni Biscuolo
2023-04-06 19:34   ` Brian Cully via Guix-patches via
2023-04-07  5:00 ` [bug#62664] jgart via Guix-patches via

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230404143043.3202-1-Rostislav.Svoboda@gmail.com \
    --to=rostislav.svoboda@gmail.com \
    --cc=62664@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).