summary refs log tree commit diff
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-06-03 03:36:47 -0400
committerMark H Weaver <mhw@netris.org>2018-06-03 03:36:47 -0400
commit0c0431f9ce32a64ca663a2c5fc6656cbb86dc245 (patch)
treeb494cf43c627a689e72591ebcb51a41399b142d0
parentf52ef55e2b7c728ebf6dd102a0344dd0c78c8118 (diff)
parent2c790226d22f86b641191918462fa7527c8a3ac7 (diff)
downloadguix-0c0431f9ce32a64ca663a2c5fc6656cbb86dc245.tar.gz
Merge branch 'master' into core-updates
-rw-r--r--gnu/packages/emacs.scm179
-rw-r--r--gnu/packages/rust.scm23
-rw-r--r--gnu/packages/vim.scm12
-rw-r--r--guix/self.scm18
4 files changed, 211 insertions, 21 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index e9c8fa443b..e90660a236 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -107,6 +107,7 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages xdisorg)
+  #:use-module (gnu packages shells)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
@@ -10634,3 +10635,181 @@ This code is still alpha.")
 and the Zotero research assistant: Insertion of links to Zotero items into an
 Org-mode file, and citations of Zotero items in Pandoc Markdown files.")
     (license license:gpl3+)))
+
+(define-public emacs-evil-ediff
+  (package
+    (name "emacs-evil-ediff")
+    (version "20170724")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/emacs-evil/evil-ediff/archive/"
+             "67b0e69f65c196eff5b39dacb7a9ec05bb919c74"
+             ".tar.gz"))
+       (sha256
+        (base32
+         "0j2x26zfc6md54mjf76qpybil4yal70lp5bifcz62l1f8fc1vvlq"))))
+    (build-system emacs-build-system)
+    (propagated-inputs `(("emacs-evil" ,emacs-evil)))
+    (home-page "https://github.com/emacs-evil/evil-ediff")
+    (synopsis "Make Ediff a little evil")
+    (description
+     "This Emacs package configures Ediff to be friendlier to users of Vi-like
+keybindings.  Consult the help buffer for more information.")
+    (license license:gpl3+)))
+
+(define-public emacs-evil-magit
+  (let ((commit "dbf5a646a7ce1c35c229dfdc423bd5ecd927a3a8"))
+    (package
+      (name "emacs-evil-magit")
+      (version (git-version "0.4.2" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/emacs-evil/evil-magit")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "0ya0dkviq4pi92ab69a4j674y5r1hc1x3x7r7hlm97ag3a6zfkav"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-evil" ,emacs-evil)
+         ("magit" ,magit)))
+      (home-page
+       "https://github.com/emacs-evil/evil-magit")
+      (synopsis "Evil-based key bindings for Magit")
+      (description
+       "This Emacs library configures Magit and Evil to play well with each other.
+For some background see @url{https://github.com/magit/evil-magit/issues/1}.
+See the README at @url{https://github.com/justbur/evil-magit} for a table
+describing the key binding changes.")
+      (license license:gpl3+))))
+
+(define-public emacs-evil-mu4e
+  (package
+    (name "emacs-evil-mu4e")
+    (version "0.0.8")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/JorisE/evil-mu4e/archive/"
+             "c03a0e11afda3092eb1461be09fa6a61ebc0e4f6"
+             ".tar.gz"))
+       (sha256
+        (base32
+         "1k3z5h04bqslrkq13paqf8pv9r0rf0zjl0zbb57ly043ds3nvxr2"))))
+    (build-system emacs-build-system)
+    (propagated-inputs
+     `(("emacs-dash" ,emacs-dash)
+       ("emacs-evil" ,emacs-evil)
+       ("mu" ,mu)))
+    (home-page "https://github.com/JorisE/evil-mu4e")
+    (synopsis "Evil-based key bindings for mu4e")
+    (description
+     "Use keybindings for the mu4e mail reader in Emacs that make sense for
+Evil users.")
+    (license license:gpl3+)))
+
+(define-public emacs-evil-multiedit
+  (let ((commit "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d"))
+    (package
+      (name "emacs-evil-multiedit")
+      (version (git-version "1.3.9" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/hlissner/evil-multiedit")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "17zm35r474z8ras4xy7124pcb972d385pbdv4jxyj5vq042vq07w"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-evil" ,emacs-evil)
+         ("emacs-iedit" ,emacs-iedit)))
+      (home-page
+       "https://github.com/hlissner/evil-multiedit")
+      (synopsis "Multiple cursors for Evil mode")
+      (description
+       "This plugin was an answer to the lack of proper multiple cursor support
+in Emacs+Evil.  It allows you to select and edit matches interactively,
+integrating @code{iedit-mode} into Evil mode with an attempt at sensible
+defaults.")
+    (license license:gpl3+))))
+
+(define-public emacs-evil-org
+  (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
+    (package
+      (name "emacs-evil-org")
+      (version (git-version "0.1.1" "1" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Somelauw/evil-org-mode")
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl"))))
+      (build-system emacs-build-system)
+      (propagated-inputs `(("emacs-evil" ,emacs-evil)))
+      (home-page
+       "https://github.com/Somelauw/evil-org-mode")
+      (synopsis "Evil keybindings for Org mode")
+      (description
+       "This package adds supplemental Evil mode key-bindings to Emacs
+Org-mode.  It features:
+@itemize
+@item normal, visual and insert mode bindings;
+@item key bindings organised in key themes;
+@item operators like > and < to work on headings;
+@item text objects;
+@item table support;
+@item calendar (date selection) support;
+@item agenda support.
+@end itemize\n")
+      (license license:gpl3+))))
+
+(define-public emacs-fish-completion
+  (package
+    (name "emacs-fish-completion")
+    (version "20180329")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://github.com/Ambrevar/emacs-fish-completion/archive/"
+             "3e3ed1f19fa778b7c35ad88e033dce5a6b1fc153"
+             ".tar.gz"))
+       (sha256
+        (base32
+         "16329py7fvid0bap1qhqxhdc68m9qqy1p8gc2bhng81zhm5a5zsm"))))
+    (build-system emacs-build-system)
+    (propagated-inputs `(("fish" ,fish)))
+    (home-page
+     "https://github.com/Ambrevar/emacs-fish-completion")
+    (synopsis "Fish completion for Emacs pcomplete")
+    (description
+     "This package provides completion for the Fish shell to pcomplete (used
+by shell and Eshell).  You can set it up globally with:
+
+@example
+(when (and (executable-find \"fish\")
+           (require 'fish-completion nil t))
+  (global-fish-completion-mode))
+@end example
+
+Alternatively, you can call the @code{fish-completion-mode} manually or in
+shell/Eshell mode hook.
+
+The package @code{emacs-bash-completion} is an optional dependency: if available,
+@code{fish-completion-complete} can be configured to fall back on bash to further
+try completing.  See @code{fish-completion-fallback-on-bash-p}.")
+    (license license:gpl3+)))
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 62b5ee5ffa..7fcc795b6f 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -59,6 +59,16 @@
 (define %cargo-reference-hash
   "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
 
+(define* (nix-system->gnu-triplet-for-rust
+          #:optional (system (%current-system)))
+  (match system
+    ("x86_64-linux"   "x86_64-unknown-linux-gnu")
+    ("i686-linux"     "i686-unknown-linux-gnu")
+    ("armhf-linux"    "armv7-unknown-linux-gnueabihf")
+    ("aarch64-linux"  "aarch64-unknown-linux-gnu")
+    ("mips64el-linux" "mips64el-unknown-linux-gnuabi64")
+    (_                (nix-system->gnu-triplet system))))
+
 (define rust-bootstrap
   (package
     (name "rust-bootstrap")
@@ -76,10 +86,11 @@
            (method url-fetch)
            (uri (string-append
                  "https://static.rust-lang.org/dist/"
-                 "rust-" version "-" (nix-system->gnu-triplet) ".tar.gz"))
+                 "rust-" version "-" (nix-system->gnu-triplet-for-rust)
+                 ".tar.gz"))
            (sha256
             (base32
-             (match (nix-system->gnu-triplet)
+             (match (nix-system->gnu-triplet-for-rust)
                ("i686-unknown-linux-gnu"
                 "15zqbx86nm13d5vq2gm69b7av4vg479f74b5by64hs3bcwwm08pr")
                ("x86_64-unknown-linux-gnu"
@@ -119,7 +130,8 @@
                (invoke "bash" "install.sh"
                         (string-append "--prefix=" out)
                         (string-append "--components=rustc,"
-                                       "rust-std-" ,(nix-system->gnu-triplet)))
+                                       "rust-std-"
+                                       ,(nix-system->gnu-triplet-for-rust)))
                ;; Instal cargo
                (invoke "bash" "install.sh"
                         (string-append "--prefix=" cargo-out)
@@ -321,8 +333,7 @@ safety and thread safety guarantees.")
                  (("^RUSTC_TARGET := x86_64-unknown-linux-gnu")
                   (string-append "RUSTC_TARGET := "
                                  ,(or (%current-target-system)
-                                      (nix-system->gnu-triplet
-                                       (%current-system))))))
+                                      (nix-system->gnu-triplet-for-rust)))))
                (invoke "tar" "xf" (assoc-ref inputs "rustc"))
                (chdir "rustc-1.19.0-src")
                (invoke "patch" "-p0" "../rust_src.patch")
@@ -445,7 +456,7 @@ rpath = true
 # codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs
 # This tests required patched LLVM
 codegen-tests = false
-[target." ,(nix-system->gnu-triplet) "]
+[target." ,(nix-system->gnu-triplet-for-rust) "]
 llvm-config = \"" llvm "/bin/llvm-config" "\"
 cc = \"" gcc "/bin/gcc" "\"
 cxx = \"" gcc "/bin/g++" "\"
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index e85d3ebd5b..76240d85f1 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -61,7 +61,7 @@
 (define-public vim
   (package
     (name "vim")
-    (version "8.0.1428")
+    (version "8.1.0026")
     (source (origin
              (method url-fetch)
              (uri (string-append "https://github.com/vim/vim/archive/v"
@@ -69,7 +69,7 @@
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
-               "08hzx843cxr5b2llc3332wxpgh3gjrs7jgd6s3sdrxnvg0s0y7s8"))))
+               "14q99dn113czp522j34p71za6g1mkriy04xxwcbm3axnrrpv1y52"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
@@ -81,7 +81,8 @@
              (substitute* "runtime/tools/mve.awk"
                (("/usr/bin/nawk") (which "gawk")))
              (substitute* '("src/testdir/Makefile"
-                            "src/testdir/test_normal.vim")
+                            "src/testdir/test_normal.vim"
+                            "src/testdir/test_terminal.vim")
                (("/bin/sh") (which "sh")))
              #t))
          (add-before 'check 'patch-failing-test
@@ -93,7 +94,6 @@
              #t)))))
     (inputs
      `(("gawk" ,gawk)
-       ("inetutils" ,inetutils)
        ("ncurses" ,ncurses)
        ("perl" ,perl)
        ("tcsh" ,tcsh))) ; For runtime/tools/vim32
@@ -121,12 +121,14 @@ configuration files.")
          (delete 'configure)
          (add-after 'unpack 'chdir
            (lambda _
-             (chdir "src/xxd")))
+             (chdir "src/xxd")
+             #t))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
                (install-file "xxd" bin)
                #t))))))
+    (inputs `())
     (synopsis "Hexdump utility from vim")
     (description "This package provides the Hexdump utility xxd that comes
 with the editor vim.")))
diff --git a/guix/self.scm b/guix/self.scm
index a24e9c6147..3acfac6f80 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -82,7 +82,6 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches."
       ("guile-json" (ref '(gnu packages guile) 'guile-json))
       ("guile-ssh"  (ref '(gnu packages ssh)   'guile-ssh))
       ("guile-git"  (ref '(gnu packages guile) 'guile-git))
-      ("guile-gdbm-ffi" (ref '(gnu packages guile) 'guile-gdbm-ffi))
       ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3))
       ("libgcrypt"  (ref '(gnu packages gnupg) 'libgcrypt))
       ("zlib"       (ref '(gnu packages compression) 'zlib))
@@ -94,7 +93,6 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches."
       ("guile2.0-json" (ref '(gnu packages guile) 'guile2.0-json))
       ("guile2.0-ssh"  (ref '(gnu packages ssh) 'guile2.0-ssh))
       ("guile2.0-git"  (ref '(gnu packages guile) 'guile2.0-git))
-      ("guile2.0-gdbm-ffi" (ref '(gnu packages guile) 'guile2.0-gdbm-ffi))
       ;; XXX: No "guile2.0-sqlite3".
       (_               #f))))                     ;no such package
 
@@ -220,12 +218,6 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
                        "guile-git"
                        "guile2.0-git"))
 
-  (define guile-gdbm-ffi
-    (package-for-guile guile-version
-                       "guile-gdbm-ffi"
-                       "guile2.0-gdbm-ffi"))
-
-
   (define guile-sqlite3
     (package-for-guile guile-version
                        "guile-sqlite3"
@@ -235,8 +227,7 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
     (match (append-map (lambda (package)
                          (cons (list "x" package)
                                (package-transitive-propagated-inputs package)))
-                       (list guile-git guile-json guile-ssh
-                             guile-gdbm-ffi guile-sqlite3))
+                       (list guile-git guile-json guile-ssh guile-sqlite3))
       (((labels packages _ ...) ...)
        packages)))
 
@@ -264,12 +255,19 @@ list of file-name/file-like objects suitable as inputs to 'imported-files'."
                                          (specification->package
                                           "libgcrypt"))))
 
+                 ;; (guix man-db) is needed at build-time by (guix profiles)
+                 ;; but we don't need to compile it; not compiling it allows
+                 ;; us to avoid an extra dependency on guile-gdbm-ffi.
+                 #:extra-files
+                 `(("guix/man-db.scm" ,(local-file "../guix/man-db.scm")))
+
                  #:guile-for-build guile-for-build))
 
   (define *extra-modules*
     (scheme-node "guix-extra"
                  (filter-map (match-lambda
                                (('guix 'scripts _ ..1) #f)
+                               (('guix 'man-db) #f)
                                (name name))
                              (scheme-modules* source "guix"))
                  (list *core-modules*)