summary refs log tree commit diff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm168
1 files changed, 134 insertions, 34 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 5308d1f1a4..899a37452f 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -428,16 +428,16 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
 (define-public emacs-with-editor
   (package
     (name "emacs-with-editor")
-    (version "2.7.3")
+    (version "2.8.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "https://github.com/magit/with-editor/archive/v"
-                    version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/magit/with-editor.git")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ln2s0kckzkv50qmr6x1kb2j30cfjii0vs6lpghg7ff4lav8jqgh"))))
+                "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-dash" ,emacs-dash)))
@@ -592,7 +592,7 @@ support for Git-SVN.")
 (define-public emacs-magit-popup
   (package
     (name "emacs-magit-popup")
-    (version "2.12.4")
+    (version "2.12.5")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -601,7 +601,7 @@ support for Git-SVN.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "08952nzn0cb6gxscqyiljk4fq2zxjvr3ism0lvgw0gs9hl5phiwx"))))
+                "13riknyqr6vxqll80sfhvz165flvdz367rbd0pr5slb01bnfsi2i"))))
     (build-system emacs-build-system)
     (arguments
      `(#:phases
@@ -622,6 +622,58 @@ these arguments.  The prototypical use is for the command to call an external
 process, passing on the arguments as command line arguments.")
     (license license:gpl3+)))
 
+(define-public emacs-treepy
+  (package
+    (name "emacs-treepy")
+    (version "0.1.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/volrath/treepy.el.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "04zwm6gx9pxfvgfkizx6pvb1ql8pqxjyzqp8flz0432x0gq5nlxk"))))
+    (build-system emacs-build-system)
+    (home-page
+     "https://github.com/volrath/treepy.el")
+    (synopsis "Tree traversal tools")
+    (description
+     "Generic tools for recursive and iterative tree traversal based on
+clojure.walk and clojure.zip respectively.")
+    (license license:gpl3+)))
+
+(define-public emacs-graphql
+  (package
+   (name "emacs-graphql")
+   (version "0.1.1")
+   (source (origin
+             (modules '((guix build utils)))
+             ;; Remove examples file with references to external packages as
+             ;; they do not exist at compilation time.
+             (snippet
+              '(begin (delete-file "examples.el")
+                 #t))
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/vermiculus/graphql.el.git")
+                   (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0sp0skc1rnhi39szfbq1i99pdgd3bhn4c15cff05iqhjy2d4hniw"))))
+   (build-system emacs-build-system)
+   (home-page
+    "https://github.com/vermiculus/graphql.el")
+   (synopsis "GraphQL utilities")
+   (description
+    "GraphQL.el provides a generally-applicable domain-specific language for
+creating and executing GraphQL queries against your favorite web services.
+GraphQL is a data query language and runtime designed and used to request and
+deliver data to mobile and web apps.")
+   (license license:gpl3+)))
+
 (define-public emacs-ghub
   (package
     (name "emacs-ghub")
@@ -1435,6 +1487,18 @@ environment set through Direnv.")
         (base32
          "1qa7lcrcmf76sf6dy8sxbg4adq7rg59fm0n5848w3qxgsr0h45fg"))))
     (build-system emacs-build-system)
+    (inputs
+     `(("global" ,global)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'configure
+           (lambda* (#:key inputs #:allow-other-keys)
+             (chmod "ggtags.el" #o644)
+             (emacs-substitute-variables "ggtags.el"
+               ("ggtags-executable-directory"
+                (string-append (assoc-ref inputs "global") "/bin")))
+             #t)))))
     (home-page "https://github.com/leoliu/ggtags")
     (synopsis "Frontend to the GNU Global source code tagging system")
     (description "@code{ggtags} provides a frontend to the GNU Global source
@@ -2836,9 +2900,16 @@ These are distributed in separate files and can be used individually.")
                 "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
               (file-name (string-append name "-" version ".tar.gz"))))
     (build-system emacs-build-system)
-    (arguments '())
-    (propagated-inputs
-     `(("emacs-irony-mode-server" ,emacs-irony-mode-server)))
+    (inputs `(("server" ,emacs-irony-mode-server)))
+    (arguments `(#:phases
+                 (modify-phases %standard-phases
+                   (add-after 'unpack 'configure
+                        (lambda* (#:key inputs #:allow-other-keys)
+                          (chmod "irony.el" #o644)
+                          (emacs-substitute-variables "irony.el"
+                            ("irony-server-install-prefix"
+                             (assoc-ref inputs "server")))
+                          #t)))))
     (synopsis "C/C++/ObjC Code completion and syntax checks for Emacs")
     (description "Irony-mode provides Clang-assisted syntax checking and
 completion for C, C++, and ObjC in GNU Emacs.  Using @code{libclang} it can
@@ -2853,7 +2924,6 @@ described on the homepage.")
     (name "emacs-irony-mode-server")
     (inputs
      `(("clang" ,clang)))
-    (propagated-inputs '())
     (arguments
      `(#:phases
        (modify-phases %standard-phases
@@ -8765,16 +8835,16 @@ object has been freed.")
 (define-public emacs-emacsql
   (package
     (name "emacs-emacsql")
-    (version "2.0.3")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/skeeto/emacsql/archive/"
-                           version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
-       (sha256
-        (base32
-         "04hfjdgl1zc7jysgjc7d7d3xqpr7q1q9gsmzffjd91ii3hpqjgx6"))))
+    (version "3.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/skeeto/emacsql.git")
+                    (commit (string-append version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1c84gxr1majqj4b59wgdy3lzm3ap66w9qsrnkx8hdbk9895ak81g"))))
     (build-system emacs-build-system)
     (arguments
      `(#:modules ((guix build emacs-build-system)
@@ -8809,8 +8879,6 @@ object has been freed.")
              (let ((file "emacsql-sqlite.el"))
                (chmod file #o644)
                (emacs-substitute-sexps file
-                 ;; Avoid interactive prompts.
-                 ("(defvar emacsql-sqlite-user-prompted" 't)
                  ;; Make sure Emacs looks for ‘GCC’ binary in the right place.
                  ("(executable-find" (which "gcc"))
                  ;; Make sure Emacs looks for ‘emacsql-sqlite’ binary
@@ -8846,16 +8914,17 @@ object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
 (define-public emacs-closql
   (package
     (name "emacs-closql")
-    (version "0.5.1")
+    (version "1.0.0")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/emacscollective/closql/archive/"
-                           "v" version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emacscollective/closql.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0wa6r0kgbb7f19039p5f3di4dvrvxfgpd8bkam94fca7jvzj536c"))))
+         "0cy44d1fxkvah6fhjkn3mp6gzzrjmws1c4c20ayrma74y9xich3v"))))
     (build-system emacs-build-system)
     (propagated-inputs
      `(("emacs-emacsql" ,emacs-emacsql)))
@@ -9336,11 +9405,11 @@ navigate and display hierarchy structures.")
       (license license:gpl3+))))
 
 (define-public emacs-md4rd
-  (let ((commit "be0fc4951b2d1f5194ffa1fcaac706dbac560500")
+  (let ((commit "c55512c2f7680db2a1e73db6bdf93adecaf40fec")
         (revision "1"))
     (package
       (name "emacs-md4rd")
-      (version (string-append "0.0.1" "-" revision "."
+      (version (string-append "0.0.2" "-" revision "."
                               (string-take commit 7)))
       (source (origin
                 (method git-fetch)
@@ -9350,7 +9419,7 @@ navigate and display hierarchy structures.")
                 (file-name (string-append name "-" version "-checkout"))
                 (sha256
                  (base32
-                  "1i93shx5x192gd7cl2r6gvcvhhwyi1k08abi5w3izv1hn3pmksgq"))))
+                  "0mvv1mvsrpkrmikcpfqf2zbawnzgq33j6zjdrlv48mcw57xb2ak9"))))
       (propagated-inputs
        `(("emacs-hierarchy" ,emacs-hierarchy)
          ("emacs-request" ,emacs-request)
@@ -12841,3 +12910,34 @@ other frame parameters.")
       (description "Emacs major mode for editing Arduino sketches.")
       (home-page "https://github.com/bookest/arduino-mode")
       (license license:gpl3+))))
+
+(define-public emacs-general
+  (let ((commit "675050199b5a30d54a24b58a367db32c0bdc47f5"))
+    (package
+      (name "emacs-general")
+      (version (git-version "0" "0" commit))
+      (home-page "https://github.com/noctuid/general.el")
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url (string-append home-page ".git"))
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "175yyhzk57yk1sskxh3d2jzhrh2waiibbcfsll167qxr117yji5h"))
+                (file-name (git-file-name name version))))
+      (build-system emacs-build-system)
+      (synopsis "More convenient key definitions in emacs")
+      (description "@code{general.el} provides a more convenient method for
+binding keys in emacs (for both evil and non-evil users).  Like
+@code{use-package}, which provides a convenient, unified interface for
+managing packages, @code{general.el} is intended to provide a convenient,
+unified interface for key definitions.  While this package does implement some
+completely new functionality (such as the ability to make vim-style
+keybindings under non-prefix keys with an optional timeout), its primary
+purpose is to build on existing functionality to make key definition more
+clear and concise.  @code{general-define-key} is user-extensible and supports
+defining multiple keys in multiple keymaps at once, implicitly wrapping key
+strings with (@code{kbd ...}), using named prefix key sequences (like the
+leader key in vim), and much more.")
+      (license license:gpl3+))))