diff options
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r-- | gnu/packages/emacs.scm | 188 |
1 files changed, 166 insertions, 22 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b23363796a..91c6c8c41c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -59,6 +59,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages audio) + #:use-module (gnu packages bash) #:use-module (gnu packages code) #:use-module (gnu packages guile) #:use-module (gnu packages gtk) @@ -112,7 +113,8 @@ "1ykkq0xl28ljdg61bm6gzy04ww86ajms98gix72qg6cpr6a53dar")) (patches (search-patches "emacs-exec-path.patch" "emacs-fix-scheme-indent-function.patch" - "emacs-source-date-epoch.patch")) + "emacs-source-date-epoch.patch" + "emacs-unsafe-enriched-mode-translations.patch")) (modules '((guix build utils))) (snippet ;; Delete the bundled byte-compiled elisp files and @@ -840,6 +842,7 @@ provides an optional IDE-like error list.") (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) + (flac (assoc-ref inputs "flac")) (vorbis (assoc-ref inputs "vorbis-tools")) (alsa (assoc-ref inputs "alsa-utils")) (mpg321 (assoc-ref inputs "mpg321")) @@ -862,6 +865,9 @@ provides an optional IDE-like error list.") (substitute* "emms-player-simple.el" (("\"ogg123\"") (string-append "\"" vorbis "/bin/ogg123\""))) + (substitute* "emms-player-simple.el" + (("\"mpg321\"") + (string-append "\"" mpg321 "/bin/mpg321\""))) (emacs-substitute-variables "emms-info-ogginfo.el" ("emms-info-ogginfo-program-name" (string-append vorbis "/bin/ogginfo"))) @@ -871,6 +877,11 @@ provides an optional IDE-like error list.") (emacs-substitute-variables "emms-info-mp3info.el" ("emms-info-mp3info-program-name" (string-append mp3info "/bin/mp3info"))) + (emacs-substitute-variables "emms-info-metaflac.el" + ("emms-info-metaflac-program-name" + (string-append flac "/bin/metaflac"))) + (emacs-substitute-variables "emms-source-file.el" + ("emms-source-file-gnu-find" (which "find"))) (substitute* "emms-volume-amixer.el" (("\"amixer\"") (string-append "\"" alsa "/bin/amixer\""))) @@ -896,6 +907,7 @@ provides an optional IDE-like error list.") (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils) ("texinfo" ,texinfo))) (inputs `(("alsa-utils" ,alsa-utils) + ("flac" ,flac) ;for metaflac ("vorbis-tools" ,vorbis-tools) ("mpg321" ,mpg321) ("taglib" ,taglib) @@ -1193,6 +1205,26 @@ Using emacs-direnv means that programs started from Emacs will use the environment set through Direnv.") (license license:gpl3+))) +(define-public emacs-go-mode + (package + (name "emacs-go-mode") + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/dominikh/go-mode.el/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1adngbjyb8qnwg7n6r2y31djw9j6qf3b9fi63zd85035q7x4ljnm")))) + (build-system emacs-build-system) + (home-page "https://github.com/dominikh/go-mode.el") + (synopsis "Go mode for Emacs") + (description + "This package provides go-mode, an Emacs mode for working with software +written in the Go programming language.") + (license license:bsd-3))) + (define-public emacs-google-maps (package (name "emacs-google-maps") @@ -1629,6 +1661,36 @@ display and behaviour is easily customisable.") of files under Git version control from within Emacs.") (license license:gpl3+))) +(define-public emacs-minitest + (package + (name "emacs-minitest") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/arthurnn/minitest-emacs/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dsb7kzvs1x6g4sgqmq73jqacb7wzm0wfkiq5m9dqdzq8mppgiqs")))) + (build-system emacs-build-system) + (arguments + '(#:include (cons "^snippets\\/minitest-mode\\/" %default-include) + #:exclude (delete "^[^/]*tests?\\.el$" %default-exclude))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f))) + (home-page "https://github.com/arthurnn/minitest-emacs") + (synopsis "Emacs minitest mode") + (description + "The minitest mode provides commands to run the tests for the current +file or line, as well as rerunning the previous tests, or all the tests for a +project. + +This package also includes relevant snippets for yasnippet.") + (license license:expat))) + (define-public emacs-el-mock (package (name "emacs-el-mock") @@ -1917,6 +1979,7 @@ serve files and directory listings.") (propagated-inputs `(("emacs-simple-httpd" ,emacs-simple-httpd) ("emacs-js2-mode" ,emacs-js2-mode))) + (arguments '(#:include '("\\.el$" "\\.js$" "\\.html$"))) (home-page "https://github.com/skeeto/skewer-mode") (synopsis "Live web development in Emacs") (description @@ -1968,6 +2031,31 @@ tables.") mode-line.") (license license:gpl2+))) +(define-public emacs-rspec + (package + (name "emacs-rspec") + (version "1.11") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/pezra/rspec-mode/" + "archive/v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j0a7ms5516nlg60qfyn730pfxys6acm0rgyxh5xfkpi6jafgpvw")))) + (build-system emacs-build-system) + (home-page "https://github.com/pezra/rspec-mode") + (synopsis "Provides a rspec mode for working with RSpec") + (description + "The Emacs RSpec mode provides keybindings for Ruby source files, e.g. to +verify the spec associated with the current buffer, or entire project, as well +as moving between the spec files, and coresponding code files. + +Also included are keybindings for spec files and Dired buffers, as well as +snippets for yasnippet.") + (license license:gpl3+))) + (define-public emacs-smart-mode-line (package (name "emacs-smart-mode-line") @@ -3159,22 +3247,25 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.") "0w7mbbajn377gdmvnd21mpyr368b2ia46gq6cb99y4y5rspf9pcg")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; There is no test suite. - #:make-flags (list (string-append "PREFIX=" %output) - (string-append "LISPDIR=" %output - "/share/emacs/site-lisp/guix.d/ess")) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-before 'build 'more-shebang-patching - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Makeconf" - (("SHELL = /bin/sh") - (string-append "SHELL = " (which "sh")))))) - ;; FIXME: the texlive-union insists on regenerating fonts. It stores - ;; them in HOME, so it needs to be writeable. - (add-before 'build 'set-HOME - (lambda _ (setenv "HOME" "/tmp") #t))))) + (let ((base-directory "/share/emacs/site-lisp/guix.d/ess")) + `(#:tests? #f ; There is no test suite. + #:make-flags (list (string-append "PREFIX=" %output) + (string-append "ETCDIR=" %output "/" + ,base-directory "/etc") + (string-append "LISPDIR=" %output "/" + ,base-directory)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'more-shebang-patching + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makeconf" + (("SHELL = /bin/sh") + (string-append "SHELL = " (which "sh")))))) + ;; FIXME: the texlive-union insists on regenerating fonts. It stores + ;; them in HOME, so it needs to be writeable. + (add-before 'build 'set-HOME + (lambda _ (setenv "HOME" "/tmp") #t)))))) (inputs `(("emacs" ,emacs-minimal) ("r-minimal" ,r-minimal))) @@ -3239,7 +3330,7 @@ strings, and code folding.") (define-public emacs-markdown-mode (package (name "emacs-markdown-mode") - (version "2.2") + (version "2.3") (source (origin (method url-fetch) (uri (string-append "https://raw.githubusercontent.com/jrblevin" @@ -3248,7 +3339,7 @@ strings, and code folding.") (file-name (string-append "markdown-mode-" version ".el")) (sha256 (base32 - "04isd2sdnms9acpmkd6n7b7y7j0x2kank2kry0zwbxs3bwdavgav")))) + "152whyrq3dqlqy5wv4mdd94kmal19hs5kwaxjcp2gp2r97lsmdmi")))) (build-system emacs-build-system) (home-page "http://jblevins.org/projects/markdown-mode/") (synopsis "Emacs Major mode for Markdown files") @@ -3490,6 +3581,27 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (home-page "http://web-mode.org/") (license license:gpl3+))) +(define-public emacs-wgrep + (package + (name "emacs-wgrep") + (version "2.1.10") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mhayashi1120/Emacs-wgrep/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r2bpypar70xg6dsx12x1k74f39ww930rday7rgqpyknzsx1k4l1")))) + (build-system emacs-build-system) + (home-page "https://github.com/mhayashi1120/Emacs-wgrep") + (synopsis "Edit a grep buffer and apply those changes to the files") + (description + "Emacs wgrep allows you to edit a grep buffer and apply those changes to +the file buffer.") + (license license:gpl3+))) + (define-public emacs-helm (package (name "emacs-helm") @@ -3764,14 +3876,14 @@ passive voice.") (define-public emacs-org (package (name "emacs-org") - (version "20170828") + (version "20170917") (source (origin (method url-fetch) (uri (string-append "http://elpa.gnu.org/packages/org-" version ".tar")) (sha256 (base32 - "0frjwgjyy7rwb7si57h6nd1p35a4gcd1dc0aka19kn8r59hbi08p")))) + "0qyis5ph3h99zn9kx7sgraddz41c1cf6yjkwi4im6ikwxk9x8cgc")))) (build-system emacs-build-system) (home-page "http://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -5521,7 +5633,39 @@ It supports dired buffers and opens them in tree mode at destination.") (synopsis "Quickly generate linear ranges in Emacs") (description "The main command of the @code{tiny} extension for Emacs is @code{tiny-expand}. -It iss meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp +It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp proficiency is an advantage, since you can transform your numeric range with an elisp expression.") (license license:gpl3+))) + +(define-public emacs-bash-completion + (package + (name "emacs-bash-completion") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/szermatt/emacs-bash-completion/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mkci4a1fy8z4cmry8mx5vsx4f16a8r454slnh7lqzidnhfi63hj")))) + (inputs `(("bash" ,bash))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (emacs-substitute-variables "bash-completion.el" + ("bash-completion-prog" (string-append bash "/bin/bash")))) + #t))))) + (home-page "https://github.com/szermatt/emacs-bash-completion") + (synopsis "BASH completion for the shell buffer") + (description + "@code{bash-completion} defines dynamic completion hooks for shell-mode +and shell-command prompts that are based on bash completion.") + (license license:gpl2+))) |