aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/adns.scm
blob: a67a00284bad73054384b56db58f0a99605edd4b (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages adns)
  #:use-module (guix licenses)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system cmake)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages m4)
  #:use-module (gnu packages pkg-config))

(define-public adns
  (package
    (name "adns")
    (version "1.6.0")
    (source (origin
              (method url-fetch)
              (uri (list (string-append "mirror://gnu/adns/adns-"
                                        version ".tar.gz")
                         (string-append
                           "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-"
                           version ".tar.gz")))
              (sha256
               (base32
                "1pi0xl07pav4zm2jrbrfpv43s1r1q1y12awgak8k7q41m5jp4hpv"))))
    (build-system gnu-build-system)
    (arguments
     ;; Make sure the programs under bin/ fine libadns.so.
     '(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath -Wl,"
                                              (assoc-ref %outputs "out")
                                              "/lib"))

       ;; XXX: Tests expect real name resolution to work.
       #:tests? #f))
    (native-inputs
     `(("m4" ,m4)))
    (home-page "https://www.gnu.org/software/adns/")
    (synopsis "Asynchronous DNS client library and utilities")
    (description
     "GNU adns is a C library that provides easy-to-use DNS resolution
functionality.  The library is asynchronous, allowing several concurrent
calls.  The package also includes several command-line utilities for use in
scripts.")
    (license gpl3+)))

(define-public c-ares
  (package
    (name "c-ares")
    (version "1.16.1")
    (source (origin
              (method url-fetch)
              (uri (string-append
                    "https://c-ares.haxx.se/download/" name "-" version
                    ".tar.gz"))
              (sha256
               (base32
                "1kl6bzlcmxn0524h5qldlbh99wf96whhvk54w3p4igf3xk8150yh"))))
    (build-system gnu-build-system)
    (native-inputs
     `(("pkg-config" ,pkg-config)))
    (home-page "https://c-ares.haxx.se/")
    (synopsis "C library for asynchronous DNS requests")
    (description
      "C-ares is a C library that performs DNS requests and name resolution
asynchronously.  It is intended for applications which need to perform DNS
queries without blocking, or need to perform multiple DNS queries in parallel.
The primary examples of such applications are servers which communicate with
multiple clients and programs with graphical user interfaces.")
    (license (x11-style "https://c-ares.haxx.se/license.html"))))

;; gRPC requires a c-ares built with CMake in order to get the .cmake modules.
;; We can not build c-ares itself with CMake because that would introduce a
;; circular dependency through nghttp2.
;; XXX: It would be nice if we could extract the modules somehow and make them
;; work with the "normal" c-ares package instead of building a whole new library.
(define-public c-ares/cmake
  (hidden-package
   (package
     (inherit c-ares)
     (build-system cmake-build-system)
     (arguments
      `(;; XXX: Tests require name resolution (the normal variant runs no tests).
        #:tests? #f)))))
;ivan@selidor.net> ;;; Copyright © 2022 Demis Balbach <db@minikn.xyz> ;;; Copyright © 2020, 2021, 2022, 2023 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw> ;;; Copyright © 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2023 Evgeny Pisemsky <mail@pisemsky.site> ;;; Copyright © 2023 Gabriel Wicki <gabriel@erlikon.ch> ;;; Copyright © 2022-2023 Simon Josefsson <simon@josefsson.org> ;;; Copyright © 2023 Fabio Natali <me@fabionatali.com> ;;; Copyright © 2023 Arnaud Lechevallier <arnaud.lechevallier@free.fr> ;;; Copyright © 2023 Ahmad Draidi <a.r.draidi@redscript.org> ;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr> ;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net> ;;; Copyright © 2023 Thanos Apollo <public@thanosapollo.com> ;;; Copyright © 2023 Ian Eure <ian@retrospec.tv> ;;; Copyright © 2024 Suhail Singh <suhail@bayesians.ca> ;;; Copyright © 2024 dan <i@dan.games> ;;; Copyright © 2024 Ilya Chernyshov <ichernyshovvv@gmail.com> ;;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu> ;;; Copyright © 2024 Noé Lopez <noelopez@free.fr> ;;; Copyright © 2024 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2024 Daniel Szmulewicz <daniel.szmulewicz@gmail.com> ;;; Copyright © 2024 Ashish SHUKLA <ashish.is@lostca.se> ;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2024 Spencer King <spencer.king@nursiapress.com> ;;; Copyright © 2024 emma thompson <bigbookofbug@proton.me> ;;; Copyright © 2024 Liam Hupfer <liam@hpfr.net> ;;; Copyright © 2024 aurtzy <aurtzy@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages emacs-xyz) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix cvs-download) #:use-module (guix download) #:use-module (guix deprecation) #:use-module (guix bzr-download) #:use-module (guix gexp) #:use-module (guix i18n) #:use-module (guix git-download) #:use-module (guix hg-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system copy) #:use-module (guix build-system emacs) #:use-module (guix build-system perl) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages aspell) #:use-module (gnu packages audio) #:use-module (gnu packages bash) #:use-module (gnu packages chez) #:use-module (gnu packages cmake) #:use-module (gnu packages code) #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages dictionaries) #:use-module (gnu packages djvu) #:use-module (gnu packages ebook) #:use-module (gnu packages emacs) #:use-module (gnu packages enchant) #:use-module (gnu packages fonts) #:use-module (gnu packages freedesktop) #:use-module (gnu packages games) #:use-module (gnu packages gawk) #:use-module (gnu packages golang) #:use-module (gnu packages guile) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) #:use-module (gnu packages graphviz) #:use-module (gnu packages haskell-apps) #:use-module (gnu packages ibus) #:use-module (gnu packages java) #:use-module (gnu packages julia-xyz) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages telephony) #:use-module (gnu packages terminals) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) #:use-module (gnu packages tcl) #:use-module (gnu packages tls) #:use-module (gnu packages tree-sitter) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg) #:use-module (gnu packages lesstif) #:use-module (gnu packages llvm) #:use-module (gnu packages image) #:use-module (gnu packages image-viewers) #:use-module (gnu packages linux) #:use-module (gnu packages libevent) #:use-module (gnu packages lisp) #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lsof) #:use-module (gnu packages lua) #:use-module (gnu packages maths) #:use-module (gnu packages music) #:use-module (gnu packages version-control) #:use-module (gnu packages imagemagick) #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages wget) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages node) #:use-module (gnu packages xml) #:use-module (gnu packages glib) #:use-module (gnu packages acl) #:use-module (gnu packages mail) #:use-module (gnu packages messaging) #:use-module (gnu packages package-management) #:use-module (gnu packages perl) #:use-module (gnu packages pdf) #:use-module (gnu packages racket) #:use-module (gnu packages ruby) #:use-module (gnu packages rust) #:use-module (gnu packages rust-apps) #:use-module (gnu packages scheme) #:use-module (gnu packages serialization) #:use-module (gnu packages speech) #:use-module (gnu packages xiph) #:use-module (gnu packages mp3) #:use-module (gnu packages gettext) #:use-module (gnu packages fribidi) #:use-module (gnu packages gd) #:use-module (gnu packages fontutils) #:use-module (gnu packages password-utils) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages animation) #:use-module (gnu packages sphinx) #:use-module (gnu packages screen) #:use-module (gnu packages xdisorg) #:use-module (gnu packages shells) #:use-module (gnu packages shellutils) #:use-module (gnu packages sqlite) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gnupg) #:use-module (gnu packages video) #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages wordnet) #:use-module (gnu packages photo) #:use-module (gnu packages tor) #:use-module (gnu packages uml) #:use-module (gnu packages finance) #:use-module (gnu packages ocaml) #:use-module (gnu packages erlang) #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) #:use-module (gnu packages texinfo) #:use-module (gnu packages virtualization) #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (ice-9 match)) (define-public emacs-0x0 (let ((commit "04f95142b25d8bb701f239539176df6617dcd982") (revision "0")) (package (name "emacs-0x0") (version (git-version "1.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://git.sr.ht/~willvaughn/emacs-0x0") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0vj9vrfkgm7plp5mvq22fm9sln11j9763g3wd2w6c82rlsk6dhva")))) (build-system emacs-build-system) (home-page "https://git.sr.ht/~willvaughn/emacs-0x0") (synopsis "Integration with @url{https://0x0.st} and self-hosted services from Emacs") (description "Emacs 0x0 is a pastebin integration tool. It can upload the current buffer, a file on your disk, or a string from the kill ring.") (license license:gpl3+)))) (define-public emacs-ac-ispell (let ((commit "22bace7387e9012002a6a444922f75f9913077b0") (revision "1")) (package (name "emacs-ac-ispell") (version (git-version "0.07" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emacsorphanage/ac-ispell") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1cq73bdv3lkn8v3nx6aznygqaac9s5i7pvirl8wz9ib31hsgwpbk")))) (build-system emacs-build-system) (propagated-inputs (list emacs-auto-complete)) (home-page "https://github.com/emacsorphanage/ac-ispell") (synopsis "Ispell and Aspell completion source for Auto Complete") (description "AC Ispell is an Ispell and Aspell completion source for Auto Complete.") (license license:gpl3+)))) (define-public emacs-ac-php (package (name "emacs-ac-php") (version "2.7.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/xcwen/ac-php") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1yn5cc6cmj3hwqgmjj44dz847xn5k99kirj36qwc04q7vhl8z8k7")))) (build-system emacs-build-system) (arguments (list #:tests? #true #:test-command #~(list "ert-runner"))) (inputs (list emacs-auto-complete emacs-company emacs-dash emacs-f emacs-helm emacs-php-mode emacs-popup emacs-s emacs-xcscope)) (native-inputs (list emacs-ert-runner)) (home-page "https://github.com/xcwen/ac-php") (synopsis "Emacs Auto Complete & Company mode for PHP") (description "This package provides Auto Complete and Company back-ends for PHP.") (license license:gpl3+))) (define-public emacs-ace-jump-helm-line (let ((commit "1483055255df3f8ae349f7520f05b1e43ea3ed37") (revision "0")) (package (name "emacs-ace-jump-helm-line") (version (git-version "0.5.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/cute-jumper/ace-jump-helm-line") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "191a2g1if1jliikbxkpwmvlp4v1sp541j71xrlymili8ygm0idq5")))) (build-system emacs-build-system) (propagated-inputs (list emacs-avy emacs-helm)) (home-page "https://github.com/cute-jumper/ace-jump-helm-line") (synopsis "Ace-jump to a candidate in Helm window") (description "This package allows using Ace jump to a candidate in Helm window.") (license license:gpl3+)))) (define-public emacs-activities (package (name "emacs-activities") (version "0.7.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/activities-" version ".tar")) (sha256 (base32 "1khhkfyy251mag5zqybsvfg3sak0aac1qlsdl1wyiin7f6sq9563")))) (build-system emacs-build-system) (propagated-inputs (list emacs-persist)) (home-page "https://github.com/alphapapa/activities.el") (synopsis "Save/restore sets of windows, tabs/frames, and their buffers") (description "Inspired by Genera's and KDE's concepts of \"activities\", this library allows the user to select an \"activity\", the loading of which restores a window configuration into a @code{tab-bar} tab or frame, along with the buffers shown in each window. Saving an activity saves the state for later restoration. Switching away from an activity saves the last-used state for later switching back to, while still allowing the activity's initial or default state to be restored on demand. Resuming an activity loads the last-used state, or the initial/default state when a universal argument is provided. The implementation uses the bookmark system to save buffers states–that is, any major mode that supports the bookmark system is compatible.") (license license:gpl3+))) (define-public emacs-bookmark-plus (package (name "emacs-bookmark-plus") (version "2022.11.05") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emacsmirror/bookmark-plus") (commit "3db369056a722c42b3eafd10a91831f87d056dfa"))) (file-name (git-file-name name version)) (sha256 (base32 "0fnq24f597zfr8jj5h3vr87kdil5lhy11m81q6ayqc03qm0jymrf")))) (build-system emacs-build-system) (home-page "https://github.com/emacsmirror/bookmark-plus") (synopsis "Extensions to the Bookmark library in Emacs") (description "Bookmarks are a powerful Emacs feature. This package makes them even more versatile. You can bookmark many more kinds of data. You can add tags. There are many more ways to organize and display your bookmarks. I recommend reading the extensive documentation about BookmarkPlus on the Emacs Wiki.") (license license:gpl3+))) (define-public emacs-cfrs (package (name "emacs-cfrs") (version "1.6.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Alexander-Miller/cfrs") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1vf5zm82sx3m1yvq73km8ajapv6rnz41b1jrsif7kh0ijh9vk3qi")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash emacs-posframe emacs-s)) (home-page "https://github.com/Alexander-Miller/cfrs") (synopsis "Child Frame Read String") (description "CFRS is a simple alternative to @code{read-string} that allows reading input via a small child-frame spawned at the position of the cursor.") (license license:gpl3+))) (define-public emacs-arei (package (name "emacs-arei") (version "0.9.5") (source (origin (method git-fetch) (uri (git-reference (url "https://git.sr.ht/~abcdw/emacs-arei") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0laj9gbwhr0n8jf0y7fb3a564rsi8kghpk1g95xhckr4fggz997r")))) (build-system emacs-build-system) (propagated-inputs (list emacs-eros emacs-sesman emacs-queue)) (home-page "https://git.sr.ht/~abcdw/emacs-arei") (synopsis "Asyncronous Reliable Extensible IDE") (description "Sleek Guile IDE for Emacs.") (license license:gpl3+))) (define-public emacs-geiser (package (name "emacs-geiser") (version "0.31.1") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/emacs-geiser/geiser") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "194k1bj4ncl9w68s0dkm9ya853hxbm9lxwsckqsmaj57jz7hw46f")))) (build-system emacs-build-system) (arguments '(#:phases (modify-phases %standard-phases ;; Move the source files to the top level, which is included in ;; the EMACSLOADPATH. (add-after 'unpack 'move-source-files (lambda _ (let ((el-files (find-files "./elisp" ".*\\.el$"))) (for-each (lambda (f) (rename-file f (basename f))) el-files)))) (add-before 'install 'make-info (lambda _ (with-directory-excursion "doc" (invoke "makeinfo" "--no-split" "-o" "geiser.info" "geiser.texi"))))))) (native-inputs (list texinfo)) (home-page "https://www.nongnu.org/geiser/") (synopsis "Collection of Emacs modes for Scheme hacking") (description "Geiser is a collection of Emacs major and minor modes that conspire with one or more Scheme implementations to keep the Lisp Machine Spirit alive. The continuously running Scheme interpreter takes the center of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme implementation, Emacs and, ultimately, the schemer, giving them access to live metadata. This package provides just the core of Geiser. To effectively use it with your favourite Scheme implementation, you also need the corresponding geiser package, e.g. emacs-geiser-guile for Guile.") (license license:bsd-3))) (define-public emacs-gptel (package (name "emacs-gptel") (version "0.9.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/karthink/gptel") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0cb5wxlc598fs1cmjvkbc76x098ljmik3s39hjfjzn6537yps4da")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'use-appropriate-curl (lambda* (#:key inputs #:allow-other-keys) (substitute* "gptel-curl.el" (("\"curl\"") (string-append "\"" (search-input-file inputs "/bin/curl") "\""))) (emacs-substitute-variables "gptel.el" ("gptel-use-curl" 't))))))) (inputs (list curl)) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/karthink/gptel") (synopsis "GPTel is a simple ChatGPT client for Emacs") (description "GPTel is a simple 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. It requires an OpenAI API key.") (license license:gpl3+))) (define-public emacs-chatgpt-shell (package (name "emacs-chatgpt-shell") (version "1.20.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/xenodium/chatgpt-shell") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "161q8d2b4sq481jh4zwagvh88wg51dsnf76n2l2b7wv3nh7cjh2m")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases ;; This phase prevents build phase failure. (add-before 'build 'generate-empty-config-file (lambda _ (setenv "HOME" (getcwd)) (mkdir-p ".emacs.d") (call-with-output-file ".emacs.d/.chatgpt-shell.el" (lambda (port) (display "nil" port)))))))) (home-page "https://github.com/xenodium/chatgpt-shell") (synopsis "ChatGPT and DALL-E Emacs shells and Org Babel libraries") (description "Chatgpt Shell is a Comint-based ChatGPT shell for Emacs.") (license license:gpl3+))) (define-public emacs-geiser-guile (package (name "emacs-geiser-guile") (version "0.28.3") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/emacs-geiser/guile") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0i6drqz7cnx97bs5kprvb0hsg2h4bwkfdi61ajv43dqgb368jbff")))) (build-system emacs-build-system) (arguments (list #:include #~(cons "^src/" %default-include) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-geiser-guile-binary (lambda* (#:key inputs #:allow-other-keys) (substitute* "geiser-guile.el" (("\\(t \"guile\")") (format #f "(t ~s)" (search-input-file inputs "bin/guile")))))) (add-after 'make-autoloads 'patch-autoloads (lambda _ (substitute* "geiser-guile-autoloads.el" ;; Activating implementations fails when Geiser is not yet ;; loaded, so let's defer that until it is. (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) (inputs (list guile-3.0-latest)) (propagated-inputs (list emacs-geiser)) (home-page "https://www.nongnu.org/geiser/") (synopsis "Guile Scheme support for Geiser") (description "This package adds support for the Guile Scheme implementation to Geiser, a generic Scheme interaction mode for the GNU Emacs editor.") (license license:bsd-3))) (define-public emacs-ac-geiser (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05") (revision "0")) (package (name "emacs-ac-geiser") (version (git-version "0.1" revision commit)) (source (origin (uri (git-reference (url "https://github.com/xiaohanyu/ac-geiser") (commit commit))) (method git-fetch) (sha256 (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs (list emacs-geiser emacs-auto-complete)) (synopsis "Auto-complete backend for geiser") (description "This package provides an auto-complete source for Scheme projects using geiser.") (license license:bsd-3) (home-page "https://github.com/xiaohanyu/ac-geiser")))) (define-public emacs-geiser-gauche ;; The latest 0.14 release has an unbound variable (geiser-scheme-dir). (let ((commit "96fa06aaeef18cc1b3b519e83dbb7be09eeb0d07") (revision "0")) (package (name "emacs-geiser-gauche") (version (git-version "0.14" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/emacs-geiser/gauche.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1ppracwfl1snq0ifdlyxpdlv7fbn3pbxm1hd1ihgqivii5nbya9r")))) (build-system emacs-build-system) (arguments (list #:include '(cons "^geiser-gauche\\.scm$" %default-include) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-geiser-gauche-binary (lambda* (#:key inputs #:allow-other-keys) (emacs-substitute-sexps "geiser-gauche.el" ("geiser-custom--defcustom geiser-gauche-binary" (search-input-file inputs "bin/gosh"))))) (add-after 'make-autoloads 'patch-autoloads (lambda _ (substitute* "geiser-gauche-autoloads.el" ;; Activating implementations fails when Geiser is not yet ;; loaded, so let's defer that until it is. (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")) (("\\(geiser-implementation-extension .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) (inputs (list gauche)) (propagated-inputs (list emacs-geiser)) (home-page "https://gitlab.com/emacs-geiser/gauche") (synopsis "Gauche Scheme support for Geiser") (description "This package adds support for the Gauche Scheme implementation to Geiser, a generic Scheme interaction mode for the GNU Emacs editor.") (license license:expat)))) (define-public emacs-geiser-racket (package (name "emacs-geiser-racket") (version "1.0") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/emacs-geiser/racket") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "04gwd9qa0785zfr6m9a5443ilgvyz05l06cb1waicf83sgp8xl32")))) (build-system emacs-build-system) (arguments (list #:include #~(cons "^src/" %default-include) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-geiser-racket-binary (lambda* (#:key inputs #:allow-other-keys) (substitute* "geiser-racket.el" (("\\(t \"racket\")") (format #f "(t ~s)" (search-input-file inputs "bin/racket")))))) (add-after 'make-autoloads 'patch-autoloads (lambda _ (substitute* "geiser-racket-autoloads.el" ;; Activating implementations fails when Geiser is not yet ;; loaded, so let's defer that until it is. (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")) (("\\(geiser-implementation-extension .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) (inputs (list racket)) (propagated-inputs (list emacs-geiser)) (home-page "https://www.nongnu.org/geiser/") (synopsis "Racket support for Geiser") (description "This package adds support for the Racket implementation to Geiser, a generic Scheme interaction mode for the GNU Emacs editor.") (license license:bsd-3))) (define-public emacs-geiser-chez (package (name "emacs-geiser-chez") (version "0.18") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/emacs-geiser/chez") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "19yv5brhzf10hsazmm8s1b058d434hv60a52s08m3kxyrkwr5sca")))) (build-system emacs-build-system) (arguments '(#:include (cons "^src/" %default-include) #:phases (modify-phases %standard-phases (add-after 'make-autoloads 'patch-autoloads (lambda* (#:key outputs #:allow-other-keys) (substitute* "geiser-chez-autoloads.el" ;; Activating implementations fails when Geiser is not yet ;; loaded, so let's defer that until it is. ;; See <https://gitlab.com/emacs-geiser/chez/-/issues/7>. (("\\(geiser-activate-implementation .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")) (("\\(geiser-implementation-extension .*\\)" all) (string-append "(eval-after-load 'geiser-impl '" all ")")))))))) (inputs (list chez-scheme)) (propagated-inputs (list emacs-geiser)) (home-page "https://nongnu.org/geiser/") (synopsis "Support for Chez Scheme in Geiser") (description "This package adds support for using Chez Scheme in Emacs with Geiser.") (license license:bsd-3))) (define-public emacs-vc-hgcmd (package (name "emacs-vc-hgcmd") (version "1.14.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/muffinmad/emacs-vc-hgcmd") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1nlaicza4ds325827ks5gb7zn0nc536k2chq8jwbq34ybvxi93wj")))) (build-system emacs-build-system) (home-page "https://github.com/muffinmad/emacs-vc-hgcmd") (synopsis "Version control (VC) backend for the Mercurial command server") (description "This package provides an Emacs VC backend to work with Mercurial repositories through the @uref{https://www.mercurial-scm.org/wiki/CommandServer,Mercurial command server}. The main advantage compared to @code{vc-hg} is speed.") (license license:gpl3+))) (define-public emacs-telephone-line (package (name "emacs-telephone-line") (version "0.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dbordak/telephone-line") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1pv6hlzks02bvxkfyg8m04l36clg39h5w7nq2k6ppi5bh4d4kmc8")))) (build-system emacs-build-system) (home-page "https://github.com/dbordak/telephone-line") (synopsis "Implementation of Powerline for Emacs") (description "Telephone Line is a new implementation of Powerline for Emacs with optional baked-in Evil support, antialiased separators, and an easy configuration language which makes it trivial to write your own themes.") (license license:gpl3+))) (define-public emacs-inspector (let ((commit "4e85b25e3e80c9989fcf7f518606837a54d9fab6")) ;version bump (package (name "emacs-inspector") (version "0.36") (source (origin (uri (git-reference (url "https://github.com/mmontone/emacs-inspector") (commit commit))) (method git-fetch) (sha256 (base32 "05bb8ph355x8f46wbahfmg3060r13j31zq930cb1xq8i9nx8j8h4")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (arguments (list #:tests? #t #:test-command #~(list "emacs" "-Q" "--batch" "-l" "inspector.el" "-l" "inspector-tests.el" "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/mmontone/emacs-inspector") (synopsis "Inspection tool for Emacs Lisp objects") (description "This package provides an introspection tool similar to those found in Common Lisp or Smalltalk, but for Emacs Lisp.") (license license:gpl3+)))) (define-public emacs-treebundel (package (name "emacs-treebundel") (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/purplg/treebundel") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0fpmm3jb95lksamxqz9850x2vcmcvq6bx29sn0fci6ny4cvpnq5k")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/purplg/treebundel") (synopsis "Bundle related git-worktrees together") (description "This package is used for bundling related git-worktrees from multiple repositories together. This helps switch quickly between repositories and ensure you're on the correct branch. When you're done with your changes, you can use the repositories in the workspace and know which ones were modified to simplify the process of getting the changes merged in together. Additionally, git metadata is shared between all projects. You can stash, pop, and pull changes in from the same repository in other workspaces thanks to the power of git-worktrees.") (license license:expat))) (define-public emacs-tree-inspector (let ((commit "bbb8d2dfe84fbf857fcc1579de5a1324b09a877e")) (package (name "emacs-tree-inspector") (version "0.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mmontone/emacs-tree-inspector") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "01ad4r97hfr9nndbifyggscb5108y7h2qm95jsmh5b9qgzqm39nx")))) (build-system emacs-build-system) (arguments (list #:tests? #true #:test-command #~(list "emacs" "-Q" "--batch" "-L" "." "-l" "tree-inspector-tests.el" "-f" "ert-run-tests-batch-and-exit") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'fix-library-loading ;; The library calls `hash-table-keys', which is not ;; auto-loaded. Explicitly require `subr-x', where it is ;; defined. (lambda _ (substitute* "tree-inspector.el" (("\\(require 'cl-lib\\)" line) (string-append line "(require 'subr-x)")))))))) (propagated-inputs (list emacs-treeview)) (home-page "https://github.com/mmontone/emacs-tree-inspector") (synopsis "Inspection tool for Emacs Lisp objects that uses a tree view") (description "Tree Inspector is an inspection tool for Emacs Lisp objects that uses a tree view. It works together with Emacs Inspector when it is loaded; when an object label is clicked on the tree, an inspector is opened on that object.") (license license:gpl3+)))) (define-public emacs-terminal-here (package (name "emacs-terminal-here") (version "2.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/davidshepherd7/terminal-here") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1iv1c2mbvhn00ha46c6f98j9syc71xhjpk8m5wa5p32sk4wcc9f4")))) (build-system emacs-build-system) (home-page "https://github.com/davidshepherd7/terminal-here") (synopsis "Open external terminals from Emacs") (description "This package provides commands to open external terminal emulators from Emacs, whose initial working directories are determined in relation to the current buffer.") (license license:gpl3+))) (define-public emacs-treeview (let ((commit "d9c10feddf3b959e7b33ce83103e1f0a61162723") (revision "0")) (package (name "emacs-treeview") (version (git-version "1.1.1" revision commit)) (source (origin (uri (git-reference (url "https://github.com/tilmanrassy/emacs-treeview") (commit commit))) (method git-fetch) (sha256 (base32 "14s0b6zbapsvgyxki59lglwb3s8wjsjwkgj5r66af9nj2bgz5ms9")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (home-page "https://github.com/tilmanrassy/emacs-treeview/") (synopsis "Emacs Lisp framework for tree navigation") (description "Abstract Emacs Lisp framework for tree navigation.") (license license:gpl3+)))) (define-public emacs-hide-lines (package (name "emacs-hide-lines") (version "20210513.1636") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/vapniks/hide-lines.git") (commit "f0828c15e50db5eddb905de783e7683b04d1eca3"))) (file-name (git-file-name name version)) (sha256 (base32 "1pw0wp1pzy6snycvz12nj0q7jxxj07h3lqas184w44nhrira7qhj")))) (build-system emacs-build-system) (home-page "https://github.com/vapniks/hide-lines") (synopsis "Commands for hiding lines based on a regexp") (description "This package provides commands to hide lines based on a regular expression.") (license license:gpl3+))) (define-public emacs-hgignore-mode ;; From 2021-03-14. ;; No releases available. (let ((commit "2c5aa4c238848f5b4f2955afcfb5f21ea513653b") (revision "0")) (package (name "emacs-hgignore-mode") ;; `Version:' header says 0.1.20150329 (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/omajid/hgignore-mode") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0jn9rzhrmmv4lf7rdapdjclk6623d1mir2lq3c46428skhzjlph7")))) (build-system emacs-build-system) (home-page "https://github.com/omajid/hgignore-mode") (synopsis "Major mode for editing @file{hgignore} files") (description "This package provides a basic major mode for editing @file{.hgignore} files used by the Mercurial version control system.") (license license:gpl3+)))) (define-public emacs-hsluv (package (name "emacs-hsluv") (version "20181127.1206") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/hsluv/hsluv-emacs.git") (commit "c3bc5228e30d66e7dee9ff1a0694c2b976862fc0"))) (file-name (git-file-name name version)) (sha256 (base32 "19q8qlq4s2kfydpadkq1zd92611dvq7dr8vlhlbd9gplzpx7dhfd")))) (build-system emacs-build-system) (propagated-inputs (list emacs-seq)) (home-page "https://github.com/hsluv/hsluv-emacs") (synopsis "HSLuv color space conversions") (description "This package provides an elisp implementation of the HSLUV colorspace conversions documented on @url{http://www.hsluv.org/}. HSLuv is a human-friendly alternative to HSL. CIELUV is a color space designed for perceptual uniformity based on human experiments. When accessed by polar coordinates, it becomes functionally similar to HSL with a single problem: its chroma component doesn't fit into a specific range. HSLuv extends CIELUV with a new saturation component that allows you to span all the available chroma as a neat percentage.") (license license:expat))) (define-public emacs-platformio-mode (package (name "emacs-platformio-mode") (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ZachMassia/PlatformIO-Mode") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0ian50v9vaz7kqzn20bhqadq50h0l3zhjkmniinpz4q9klh7drh9")))) (build-system emacs-build-system) (propagated-inputs (list emacs-async emacs-projectile)) (home-page "https://github.com/zachmassia/platformio-mode") (synopsis "Minor mode for building and uploading PlatformIO projects") (description "This package provices an Emacs minor mode for building and uploading PlatformIO projects.") (license license:gpl3+))) (define-public emacs-hyperbole (package (name "emacs-hyperbole") (version "9.0.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "hyperbole-" version ".tar")) (sha256 (base32 "0a7py2dvszh0rf2smbmm8msjrc8vbbvlqnsqw0m2l12v8vllmxnb")))) (build-system emacs-build-system) (arguments (list #:include #~(cons* "DEMO" "DEMO-ROLO.otl" "HY-ABOUT" "HY-NEWS" "man/hkey-help.txt" "man/hyberbole.info" "kotl/.*" "\\.kotl$" %default-include) #:phases #~(modify-phases %standard-phases ;; Fix build issues about missing "domainname" and ;; "hpmap:dir-user" parent dir, and missing require in ;; "hgnus.el" (void-function: var-append). (add-after 'unpack 'fix-build (lambda* (#:key inputs #:allow-other-keys) (substitute* "hypb.el" (("/bin/domainname") (search-input-file inputs "bin/dnsdomainname"))) (substitute* "hyperbole.el" (("\\(hyperb:check-dir-user\\)") "")) (substitute* "hgnus.el" (("hmail ") "hmail hvar ")))) (add-after 'install 'install-doc (lambda _ (install-file "man/hyperbole.info" (string-append #$output "/share/info")) (install-file "man/hkey-help.txt" (string-append #$output "/share/doc/" #$name "-" #$version)))) (add-after 'install 'install-images (lambda _ (let ((dir (string-append #$output "/share/info/im"))) (for-each (lambda (file) (install-file file dir)) (find-files "man/im" "\\.png$")))))))) (inputs (list inetutils)) (home-page "https://www.gnu.org/software/hyperbole/") (synopsis "The Everyday Hypertextual Information Manager") (description "GNU Hyperbole, or just Hyperbole, is a programmable hypertextual information management system. It offers rapid views and interlinking of all kinds of textual information, utilizing Emacs for editing. In particular, Hyperbole lets you quickly create and activate hyperlink buttons, build outlines, manage all your contacts, your windows and frames, and search across buffers, directory trees, or the web.") (license license:gpl3+))) (define-public emacs-vlf (package (name "emacs-vlf") (version "1.7.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "vlf-" version ".tar")) (sha256 (base32 "0hpri19z6b7dqmrj5ckp8sf0m0l72lkgahqzvfmwhgpgv2p81bny")))) (build-system emacs-build-system) (home-page "https://github.com/m00natic/vlfi/") (synopsis "View large files in Emacs") (description "Vlf is an Emacs minor mode that allows viewing, editing, searching and comparing large files in batches.") (license license:gpl2+))) (define-public emacs-hg-histedit ;; From 2021-03-02. ;; No releases available. (let ((commit "a05149483b9c5f7848ece0ba6028c900595a6a25") (revision "0")) (package (name "emacs-hg-histedit") (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jojojames/hg-histedit") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "04zps0d4s99f5a8ahrpyf8b6qw0c1y7rd1bsaq9nc6m4qblsvwc8")))) (build-system emacs-build-system) (propagated-inputs (list emacs-with-editor)) (home-page "https://github.com/jojojames/hg-histedit") (synopsis "Emacs interface to @command{hg histedit}") (description "This package provides an Emacs interface to @command{hg histedit} for editing the commit history.") (license license:gpl3+)))) (define-public emacs-package-build (package (name "emacs-package-build") (version "4.0.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/melpa/package-build") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "165gbrc1h1yj764kn3qq2y1551y04lqnklfa0k87gqgd38q5v985")))) (build-system emacs-build-system) (home-page "https://github.com/melpa/package-build") (synopsis "Tools for assembling an Emacs package archive") (description "This package provides tools for assembling an @acronym{ELPA, Emacs package archive}.") (license license:gpl3+))) (define-public emacs-paredit (package (name "emacs-paredit") (version "26") (source (origin (method git-fetch) (uri (git-reference (url "https://mumble.net/~campbell/git/paredit.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1hwl2jhv1fhsdrspfhprq77n763i4zsj350q024ajy0m2kaql6ws")))) (build-system emacs-build-system) (home-page "https://mumble.net/~campbell/emacs/paredit/") (synopsis "Emacs minor mode for editing parentheses") (description "ParEdit (paredit.el) is a minor mode for performing structured editing of S-expression data. The typical example of this would be Lisp or Scheme source code. ParEdit helps keep parentheses balanced and adds many keys for moving S-expressions and moving around in S-expressions. Its behavior can be jarring for those who may want transient periods of unbalanced parentheses, such as when typing parentheses directly or commenting out code line by line.") (license license:gpl3+))) (define-public emacs-puni ;; No tagged release upstream (let ((commit "72e091ef30e0c9299dbcd0bc4669ab9bb8fb6e47") (revision "2")) (package (name "emacs-puni") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/AmaiKinono/puni") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1ns2r6nwakdnzjiq84qqzn85wwahc0k738awx9kxn9p0q2prpx5j")))) (build-system emacs-build-system) (propagated-inputs (list emacs-with-editor)) (home-page "https://github.com/AmaiKinono/puni") (synopsis "Emacs minor mode for structured editing") (description "Puni is an Emacs minor mode for structured editing: soft deletion, expression navigating and manipulating. It supports many major modes out of the box.") (license license:gpl3+)))) (define-public emacs-pug-mode (package (name "emacs-pug-mode") (version "1.0.8") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/hlissner/emacs-pug-mode") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1f6bhdr1a72x94dlz2i1fwwln8crc2mbpc2iq23hvsbsfmj7xfzp")))) (native-inputs (list emacs-ert-runner)) (build-system emacs-build-system) (arguments (list #:tests? #t #:test-command #~(list "ert-runner"))) (home-page "https://github.com/hlissner/emacs-pug-mode") (synopsis "Pug support for Emacs") (description "Pug mode offers Emacs support for Pug. Unlike Jade mode, it is based off of Slim mode.") (license license:gpl3+))) (define-public emacs-show-font (package (name "emacs-show-font") (version "0.1.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/protesilaos/show-font") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0kbkbvqhdqpsmci0756w2j7igxdj0qfzy823mvc5lb6yj8gwq9dl")))) (build-system emacs-build-system) (home-page "https://github.com/protesilaos/show-font") (synopsis "Show font features in a buffer") (description "Show Font lets you preview a font inside of Emacs. It does so in three ways: prompt for a font on the system and display it in a buffer, list all known fonts in a buffer with a short preview for each, and provide a major mode to preview a font whose file is among the installed ones.") (license license:gpl3+))) (define-public emacs-sed-mode (package (name "emacs-sed-mode") (version "1.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/sed-mode-" version ".tar")) (sha256 (base32 "0zhga0xsffdcinh10di046n6wbx35gi1zknnqzgm9wvnm2iqxlyn")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/sed-mode.html") (synopsis "Major mode to edit sed scripts") (description "The Sed major mode provides basic support for sed scripts. The functionalities supported are font-locking and auto-indentation.") (license license:gpl3+))) (define-public emacs-spaceline-all-the-icons (package (name "emacs-spaceline-all-the-icons") (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/domtronn/spaceline-all-the-icons.el") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "186v71d8n1iy73drayyf57pyzlz973q74mazkyvb8w3fj8bb3llm")))) (build-system emacs-build-system) (propagated-inputs (list emacs-all-the-icons emacs-memoize emacs-spaceline)) (home-page "https://github.com/domtronn/spaceline-all-the-icons.el") (synopsis "Theme for @code{emacs-spaceline} using @code{emacs-all-the-icons}") (description "This package is a theme for @code{emacs-spaceline} that recreates most of the segments available in that package using icons from @code{emacs-all-the-icons}. Icon fonts allow for more tailored and detailed information in the mode line.") (license license:expat))) (define-public emacs-snow (let ((commit "35ea06f19047ac99eaff9663cb035491c4a13e07") (revision "0")) (package (name "emacs-snow") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/alphapapa/snow.el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1pcqvg70r1k73k3jxgz5qzwqsvwjnwvpfrbjf4b54smglz2nvz19")))) (build-system emacs-build-system) (home-page "https://github.com/alphapapa/snow.el/") (synopsis "Let it snow in Emacs") (description "This package adds a command @code{snow} that displays a buffer in which it snows. The storm varies in intensity, a gentle breeze blows at times, and snow accumulates on the terrain in the scene.") (license license:gpl3+)))) (define-public emacs-spongebob (let ((commit "ae8ae6ba0dc57b7357ba87ff0609d27c4a0a5f51") (revision "0")) (package (name "emacs-spongebob") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/dustyweb/spongebob.el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1agqpp078ij2irn0kb8bgqk0nd47fi20yfd9szn8kbqypfqalvgc")))) (build-system emacs-build-system) (home-page "https://gitlab.com/dustyweb/gauche") (synopsis "Memetically mock a region of text") (description "This package transforms text using @code{studlify-region} and inserts a SpongeBob SquarePants ASCII art figure in the current buffer.") (license license:gpl3+)))) (define-public emacs-prism (let ((commit "6046a5cf793f65ff86fe0392e0edf29ffcd57567")) ;version bump (package (name "emacs-prism") (version "0.3.5") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/alphapapa/prism.el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1p4vqyc4jm0pg4999i0k04pl0sa9nhrczxf4bng4id1r19sxm6dh")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat emacs-dash)) (home-page "https://github.com/alphapapa/prism.el") (synopsis "Disperses bracket-bounded syntax into a spectrum of color by depth") (description "Prism is a Rainbow Blocks-like mode for Emacs. It preserves non-color face properties and allows configuration of faces and colors.") (license license:gpl3+)))) (define-public emacs-project (package (name "emacs-project") (version "0.11.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar")) (sha256 (base32 "1973d6z7nx9pp5gadqk8p71v6s5wqja40a0f8zjrn6rrnfarrcd0")))) (build-system emacs-build-system) (propagated-inputs (list emacs-xref)) (home-page "https://elpa.gnu.org/packages/project.html") (synopsis "Operations on the current project") (description "This library contains generic infrastructure for dealing with projects, some utility functions, and commands using that infrastructure.") (license license:gpl3+))) (define-public emacs-flymake (package (name "emacs-flymake") (version "1.3.7") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "flymake-" version ".tar")) (sha256 (base32 "15ikzdqyh77cgx94jaigfrrzfvwvpca8s2120gi82i9aaiypr7jl")))) (build-system emacs-build-system) (propagated-inputs (list emacs-eldoc emacs-project)) (home-page "https://elpa.gnu.org/packages/flymake.html") (synopsis "Universal on-the-fly syntax checker") (description "Flymake collects diagnostic information for multiple sources, called backends, and visually annotates the relevant portions in the buffer.") (license license:gpl3+))) ;; Package has no release. Version is extracted from "Version:" keyword in ;; main file. (define-public emacs-project-mode-line-tag (let ((commit "a8809cc1a50cfdedaf7bed2810249ae262884716") (revision "0")) (package (name "emacs-project-mode-line-tag") (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fritzgrabo/project-mode-line-tag") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0bmx9a1g199axj9ypqisvfyf1517czw23zg96x1wdzqrpw3cb7cx")))) (build-system emacs-build-system) (home-page "https://github.com/fritzgrabo/project-mode-line-tag") (synopsis "Display a buffer's project in its mode line") (description "Display information about a buffer's project (a \"project tag\") in its mode line.") (license license:gpl3+)))) (define-public emacs-project-tab-groups (let ((commit "2658405d5f3c539fbd9ccf95297a016a2c91816a") (revision "1")) (package (name "emacs-project-tab-groups") (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/fritzgrabo/project-tab-groups.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1zg9kxyjz942ib9lii0in67hwqil2xlz78vjm1qqypw3zaivhh7p")))) (build-system emacs-build-system) (home-page "https://github.com/fritzgrabo/project-tab-groups") (synopsis "Support a \"one tab group per project\" workflow") (description "This package provides a global minor mode that enhances the Emacs built-in @code{project.el} library to support keeping projects isolated in named tab groups. This package automates the steps you’d otherwise need to do manually if you wanted to keep the buffers of a project neatly isolated in separate, named tab groups.") (license license:gpl3+)))) (define-public emacs-disproject (package (name "emacs-disproject") (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/aurtzy/disproject") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "03wf14vilnysj9szcffsadhw86p68v3083dv98d99c8axm51n6hz")))) (build-system emacs-build-system) (propagated-inputs (list emacs-transient)) (home-page "https://github.com/aurtzy/disproject") (synopsis "Transient interface for managing and interacting with projects") (description "Disproject is a package for GNU Emacs that implements Transient menus for dispatching project-related commands on top of the Project library. It aims to provide a more capable version of the @code{project-switch-project} command, which it is inspired by. Those who are familiar with Projectile may also find similarities to @code{projectile-commander}.") (license license:gpl3+))) (define-public emacs-golden-ratio (let ((commit "375c9f287dfad68829582c1e0a67d0c18119dab9") (revision "0")) (package (name "emacs-golden-ratio") (version (git-version "1.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/roman/golden-ratio.el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0a635a3h6jx0clgwmhwc48i14y3xy5q29y37lp2sjnbxx1hlmkli")))) (build-system emacs-build-system) (home-page "https://github.com/roman/golden-ratio.el") (synopsis "Automatic resizing of Emacs windows to the golden ratio") (description "This package provides an Emacs mode for automatically resizing the window that has main focus to be more convenient for editing, while the ones that are not being actively edited will be reduced to a smaller size.") (license license:expat)))) (define-public emacs-git-modes (package (name "emacs-git-modes") (version "1.4.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/git-modes") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0nvkpy3bv9816hvgm91fv9l8lla4xras4i05579bs7bc8fck1mr3")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/magit/git-modes") (synopsis "Emacs major modes for Git configuration files") (description "This package provides Emacs major modes for editing various Git configuration files, such as @file{.gitattributes}, @file{.gitignore}, and @file{.git/config}.") (license license:gpl3+))) (define-deprecated/public-alias git-modes emacs-git-modes) (define-public emacs-with-editor (package (name "emacs-with-editor") (version "3.4.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/with-editor") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0h21qs60qihv4p72x5wbmc0xly4g74wc25qj8m9slfbc4am9mwys")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'install 'enter-lisp-directory (lambda _ (chdir "lisp"))) (add-before 'install 'make-info (lambda _ (with-directory-excursion "../docs" (invoke "makeinfo" "--no-split" "-o" "with-editor.info" "with-editor.texi") (install-file "with-editor.info" "../lisp"))))))) (native-inputs (list texinfo)) (propagated-inputs (list emacs-async emacs-compat)) (home-page "https://github.com/magit/with-editor") (synopsis "Emacs library for using Emacsclient as EDITOR") (description "This package provides an Emacs library to use the Emacsclient as @code{$EDITOR} of child processes, making sure they know how to call home. For remote processes a substitute is provided, which communicates with Emacs on stdout instead of using a socket as the Emacsclient does.") (license license:gpl3+))) (define-public emacs-libgit (let ((commit "ab1a53a6a0120872e42582fc980e779d47de6d0e") (revision "1")) (package (name "emacs-libgit") (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/libegit2") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1fqqhc7mr9lyshqva8wqknk5kc9vr10rxdp9dkrqgwawr3lk1k5p")) (snippet #~(begin ;; bundled, use the one shipped with emacs instead (delete-file "src/emacs-module.h"))))) ;; Use the cmake-build-system as it provides support for cross builds. (build-system cmake-build-system) (arguments (list #:configure-flags #~(list "-DUSE_SYSTEM_LIBGIT2=x") ;; Add the emacs-build-system byte compilation and install phases. #:imported-modules `(,@%cmake-build-system-modules (guix build emacs-build-system) (guix build emacs-utils)) #:modules '((guix build cmake-build-system) ((guix build emacs-build-system) #:prefix emacs:) (guix build emacs-utils) (guix build utils)) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-source (lambda _ ;; Use Emacs 28 unibyte strings. ;; XXX: This now breaks if linked against Emacs <= 26, probably ;; also 27. (substitute* "src/egit-blob.c" (("make_string") "make_unibyte_string")))) (add-after 'unpack 'set-libgit--module-file (lambda _ (emacs-substitute-variables "libgit.el" ("libgit--module-file" (string-append (emacs:elpa-directory #$output) "/libegit2.so"))))) (add-after 'unpack 'skip-failing-tests ;; XXX: Skip 2 failing tests (out of 29). (lambda _ (substitute* "test/submodule-test.el" (("\\(ert-deftest (status|ids) .*" all) (string-append all " (skip-unless nil)"))))) (add-after 'unpack 'ert-number-tests (lambda _ (ert-number-tests "test/repository-test.el" "repository-head-for-worktree"))) (add-before 'install 'prepare-for-install (lambda _ (let ((s "../source")) (copy-file "libegit2.so" (string-append s "/libegit2.so")) (chdir s)))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((install (assoc-ref emacs:%standard-phases 'install))) (install #:outputs outputs #:include (cons "\\.so$" emacs:%default-include))))) (add-after 'unpack 'emacs-add-install-to-native-load-path (assoc-ref emacs:%standard-phases 'add-install-to-native-load-path)) (add-after 'unpack 'make-autoloads (assoc-ref emacs:%standard-phases 'make-autoloads)) (add-after 'unpack 'patch-el-files (assoc-ref emacs:%standard-phases 'patch-el-files)) (add-after 'install 'emacs-build (assoc-ref emacs:%standard-phases 'build)) (add-after 'emacs-build 'validate-compiled-autoloads (assoc-ref emacs:%standard-phases 'validate-compiled-autoloads))))) (native-inputs (list emacs-no-x git-minimal pkg-config)) (inputs (list libgit2)) (home-page "https://github.com/magit/libegit2") (synopsis "Emacs bindings for libgit2") (description "This is an experimental module written in C providing libgit2 bindings for Emacs, intended to boost the performance of Magit.") (license license:gpl2+)))) (define-public emacs-llama (package (name "emacs-llama") (version "0.3.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tarsius/llama") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0rgm5jv9iv8b0xabdwicrpih2d3slchmv17xdjk705dqhfc18f4w")))) (build-system emacs-build-system) (arguments (list #:tests? #true #:test-command #~(list "emacs" "-Q" "--batch" "-l" "llama.el" "-f" "ert-run-tests-batch-and-exit"))) (home-page "https://github.com/tarsius/llama") (synopsis "Compact syntax for short lambda") (description "This package implements the macro @code{##}, which provides compact syntax for short lambda.") (license license:gpl3+))) (define-public emacs-llm (package (name "emacs-llm") (version "0.19.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ahyatt/llm") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0k7fr8r05x72xpcw7bl0bih4cz9p3vmgasfxv06a49v81jna10ip")))) (build-system emacs-build-system) (propagated-inputs (list emacs-plz emacs-plz-event-source emacs-plz-media-type)) (home-page "https://github.com/ahyatt/llm") (synopsis "Emacs library abstracting Large Language Model capabilities") (description "This package provides interfaces to abstract various @acronym{LLM, large language model}s out in the world. To respect user freedom, it will warn you before interacting with non-free LLMs.") (license license:gpl3+))) (define-public emacs-magit (package (name "emacs-magit") (version "4.1.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/magit") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0nggfqywxdnnzaw4vqn1m6h8qklyp7cwbaxxsnkr5pjcwn5nz69v")))) (build-system emacs-build-system) (arguments (list #:tests? #t #:test-command #~(list "make" "test") #:exclude #~(cons* "magit-libgit.el" "magit-libgit-pkg.el" %default-exclude) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'build-info-manual (lambda _ (invoke "make" "info") ;; Copy info files to the lisp directory, which acts as ;; the root of the project for the emacs-build-system. (for-each (lambda (f) (install-file f "lisp")) (find-files "docs" "\\.info$")))) (add-after 'build-info-manual 'set-magit-version (lambda _ (make-file-writable "lisp/magit.el") (emacs-substitute-variables "lisp/magit.el" ("magit-version" #$version)))) (add-after 'set-magit-version 'patch-exec-paths (lambda* (#:key inputs #:allow-other-keys) (for-each make-file-writable (list "lisp/magit-git.el" "lisp/magit-sequence.el")) (emacs-substitute-variables "lisp/magit-git.el" ("magit-git-executable" (search-input-file inputs "/bin/git"))) (emacs-substitute-variables "lisp/magit-sequence.el" ("magit-perl-executable" (search-input-file inputs "/bin/perl"))))) (add-before 'check 'configure-git (lambda _ ;; Otherwise some tests fail with error "unable to auto-detect ;; email address". (setenv "HOME" (getcwd)) (invoke "git" "config" "--global" "user.name" "toto") (invoke "git" "config" "--global" "user.email" "toto@toto.com"))) (replace 'expand-load-path (lambda args (with-directory-excursion "lisp" (apply (assoc-ref %standard-phases 'expand-load-path) args)))) (replace 'make-autoloads (lambda args (with-directory-excursion "lisp" (apply (assoc-ref %standard-phases 'make-autoloads) args)))) (replace 'install (lambda args (with-directory-excursion "lisp" (apply (assoc-ref %standard-phases 'install) args)))) (replace 'build (lambda args (with-directory-excursion "lisp" (apply (assoc-ref %standard-phases 'build) args))))))) (native-inputs (list texinfo)) (inputs (list git perl)) (propagated-inputs ;; Note: the 'git-commit' and 'magit-section' dependencies are part of ;; magit itself. (list emacs-compat emacs-dash emacs-transient emacs-with-editor)) (home-page "https://magit.vc/") (synopsis "Emacs interface for the Git version control system") (description "With Magit, you can inspect and modify your Git repositories with Emacs. You can review and commit the changes you have made to the tracked files, for example, and you can browse the history of past changes. There is support for cherry picking, reverting, merging, rebasing, and other common Git operations.") (license license:gpl3+))) (define-public emacs-magit-svn (package (name "emacs-magit-svn") (version "2.2.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/magit-svn") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "1v1y4fir1plz4kj0cvkcd29wibli4dw7vp4fmbxq4df76d8iy8yd")))) (build-system emacs-build-system) (propagated-inputs (list emacs-dash emacs-with-editor emacs-magit)) (home-page "https://github.com/magit/magit-svn") (synopsis "Git-SVN extension to Magit") (description "This package is an extension to Magit, the Git Emacs mode, providing support for Git-SVN.") (license license:gpl3+))) (define-public emacs-magit-popup (package (name "emacs-magit-popup") (version "2.13.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/magit-popup") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0znp6gx6vpcsybg774ab06mdgxb7sfk3gki1yp2qhkanav13i6q1")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-before 'install 'make-info (lambda _ (invoke "make" "info")))))) (native-inputs (list texinfo)) (propagated-inputs (list emacs-dash)) (home-page "https://github.com/magit/magit-popup") (synopsis "Define prefix-infix-suffix command combos") (description "This library implements a generic interface for toggling switches and setting options and then invoking an Emacs command which does something with 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-magit-annex (package (name "emacs-magit-annex") (version "1.9.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/magit-annex") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0gbrn80xcwhfav962hjv6lhx444b81jknzj22zb8d5piqfpg8rvc")))) (build-system emacs-build-system) (propagated-inputs (list emacs-magit)) (home-page "https://github.com/magit/magit-annex/") (synopsis "Git-annex support for Magit") (description "Magit-annex adds a few git-annex operations to the Magit interface.") (license license:gpl3+))) (define-public emacs-malyon (package (name "emacs-malyon") (version "20161204") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/speedenator/malyon/") (commit "0d9882650720b4a791556f5e2d917388965d6fc0"))) (file-name (git-file-name name version)) (sha256 (base32 "0an1yvp0p624rxd8n5phiwvznw35ripqhlwzwyv2bw7lc1rscllr")))) (build-system emacs-build-system) (home-page "https://github.com/speedenator/malyon") (synopsis "Z-machine interpreter") (description "Malyon is a Z-machine interpreter for playing text-based adventure games. Malyon plays version 3 (.z3), version 5 (.z5), and version 8 (.z8) z code files.") (license license:expat))) (define-public emacs-mct (package (name "emacs-mct") (version "1.0.0") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/protesilaos/mct") (commit version))) (sha256 (base32 "1xagrc06rvzsrv1k0arx8d5jxy1x4s9rp46gwfmnl1732irx8z3r")) (file-name (git-file-name name version)))) (native-inputs (list texinfo)) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'install 'makeinfo (lambda _ (invoke "emacs" "--batch" "--eval=(require 'ox-texinfo)" "--eval=(find-file \"README.org\")" "--eval=(org-texinfo-export-to-info)") (install-file "mct.info" (string-append #$output "/share/info"))))))) (home-page "https://protesilaos.com/emacs/mct") (synopsis "Enhancement of the default Emacs minibuffer completion UI") (description "Minibuffer and Completions in Tandem, also known as MCT, or mct.el, is an Emacs package that enhances the default minibuffer and @samp{*Completions*} buffer so that they work together as part of a unified framework. The idea is to make the presentation and overall functionality be consistent with other popular, vertically aligned completion UIs while leveraging built-in functionality.") (license (list license:gpl3+ license:fdl1.3+)))) ; GFDLv1.3+ for the manual (define-public emacs-meyvn (let ((commit "8d00ada6daa5617fa60f76e0be2cf2f5d1babcf9")) ;version bump (package (name "emacs-meyvn") (version "1.7") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/danielsz/meyvn-el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0ncilsn0ih01w6hjdn529jkapiv4nnkway07j2b5fndkrlgk2ry4")))) (build-system emacs-build-system) (propagated-inputs (list emacs-cider emacs-dash emacs-geiser emacs-parseclj emacs-parseedn emacs-projectile emacs-s)) (home-page "https://github.com/danielsz/meyvn-el") (synopsis "Emacs client for the Meyvn build tool") (description "This package provides an Emacs client for the @url{https://meyvn.org, Meyvn} build tool.") (license license:gpl3+)))) (define-public emacs-fzf (let ((commit "21912ebc7e1084aa88c9d8b7715e782a3978ed23") (revision "0")) (package (name "emacs-fzf") (version (git-version "0.2" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/bling/fzf.el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0gdqjh8996hb06bnnyhi94k69mjfrzyfgq00a9s4wwagv28sqmkj")))) (build-system emacs-build-system) (arguments (list #:tests? #f ;no tests #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-fzf-executable (lambda* (#:key inputs #:allow-other-keys) (emacs-substitute-variables "fzf.el" ("fzf/executable" (search-input-file inputs "/bin/fzf")))))))) (inputs (list fzf)) (home-page "https://github.com/bling/fzf.el") (synopsis "Emacs front-end for Fzf finder") (description "This package provides an Emacs front-end for Fzf general purpose finder.") (license license:gpl3+)))) (define-public emacs-pacfiles-mode (package (name "emacs-pacfiles-mode") (version "1.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/UndeadKernel/pacfiles-mode") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1d61s846r9ncmyx97f44r8i3p1ikgi4bab8k7xk868lja96y2ij7")))) (build-system emacs-build-system) (home-page "https://github.com/UndeadKernel/pacfiles-mode") (synopsis "ArchLinux's pacnew and pacsave merging tool") (description "This Emacs major mode helps manage @file{.pacnew} and @file{.pacsave} files left by ArchLinux's pacman.") (license license:expat))) (define-public emacs-palimpsest (package (name "emacs-palimpsest") (version "1.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/danielsz/Palimpsest") (commit "f474b3ad706373d9953abdc401d683a2a023d28e"))) (file-name (git-file-name name version)) (sha256 (base32 "0wzxl1zcbm3svspjpjzvx92is1k9sz7g0a99r8q066j2364la0zh")))) (build-system emacs-build-system) (home-page "https://github.com/danielsz/Palimpsest") (synopsis "Remove text without permanently deleting it") (description "This minor mode for Emacs provides several strategies to remove text without permanently deleting it. Namely, it can send selected test to the bottom, or top, of the buffer, or to a trash file.") (license license:gpl3+))) (define-public emacs-minions (package (name "emacs-minions") (version "1.0.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tarsius/minions") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "10pxhsl9yr1nkbkhhvz5iq1q2dbcl315b6q02v23wmns66a9akya")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat emacs-dash)) (home-page "https://github.com/tarsius/minions") (synopsis "Minor-mode menu for the mode line") (description "This package implements a menu that lists enabled minor-modes, as well as commonly but not currently enabled minor-modes. It can be used to toggle local and global minor-modes, to access mode-specific menus, and to get help about modes. This menu is intended as a replacement for the incomplete yet wide list of enabled minor-modes that is displayed in the mode line by default. To use the menu like this, enable Minions mode. Alternatively the menu can be bound globally, for example: @code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.") (license license:gpl3+))) (define-public emacs-nano-modeline (let ((commit "04676d57a1e602123a593836745a744d1b2028fb")) ;version bump (package (name "emacs-nano-modeline") (version "1.1.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/rougier/nano-modeline") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1q10zd8aiq5xm7p4sm1mrfmw0sfgfyznyk4lvh2rl9pqh9kh700a")))) (build-system emacs-build-system) (home-page "https://github.com/rougier/nano-modeline") (synopsis "Emacs minor mode controlling mode line") (description "Nano modeline is a minor mode for Emacs that modifies the mode line as @samp{[ status | name (primary) secondary ]}. It can be displayed at the bottom or at the top.") (license license:gpl3+)))) (define-public emacs-moody (package (name "emacs-moody") (version "1.1.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tarsius/moody") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1dgamndly8lbjwzb4435v99izabdir9fbx31sm9bh1c5yqdka6cp")))) (build-system emacs-build-system) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/tarsius/moody") (synopsis "Tabs and ribbons for Emacs mode-line") (description "@code{emacs-moody} provides utilities for displaying elements of the mode line as tabs and ribbons. It also provides replacements for a few built-in elements. The biggest difference to similar packages is that this one is much simpler and much more consistent. When using this package, then only the color of the mode line changes when a window becomes in-/active.") (license license:gpl3+))) (define-public emacs-acme-theme (let ((commit "7c408d111c5e451ecb8fdd5f76cf7d8074aec793") (revision "0")) (package (name "emacs-acme-theme") (version (git-version "1.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ianyepan/acme-emacs-theme") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "16qxspzlf0bvw36ff4qnrn5p7mc5sf923ba0ar04cr87bfqgyak4")))) (build-system emacs-build-system) (home-page "https://github.com/ianyepan/acme-emacs-theme") (synopsis "Emacs theme inspired by Plan 9's Acme and Sam Editor") (description "Acme theme is an Emacs theme with an old-school vibe inspired by Plan 9 Acme and the Sam text editor.") (license license:gpl3+)))) (define-public emacs-catppuccin-theme (let ((commit "4441d5114fdcc2eb05186a974b4bbad7224e43b5") (revision "1")) (package (name "emacs-catppuccin-theme") (version (git-version "1.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/catppuccin/emacs") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1y2ads0w5l3mm0mxxbi2ppb6csq8hw2fd9cmak3myv13qzw92x3w")))) (build-system emacs-build-system) (home-page "https://github.com/catppuccin/emacs") (synopsis "Soothing pastel theme for Emacs") (description "Catppuccin is a soothing pastel theme for Emacs. It provides different color palettes, such as @samp{frappe}, @samp{macchiato}, or @samp{latte}.") (license license:expat)))) (define-public emacs-theme-magic ;; No tagged release upstream, but the commit below correspond to the 0.2.3 ;; release. (let ((commit "844c4311bd26ebafd4b6a1d72ddcc65d87f074e3") (revision "0")) (package (name "emacs-theme-magic") (version "0.2.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/jcaw/theme-magic") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "10gkg7jh1s1484gm66a87zr7x8vmv00s7gfd0w2pj47nqf98g8hz")))) (build-system emacs-build-system) (arguments (list ;; Include Pywal interaction scripts. #:include #~(cons "^python/" %default-include) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-exec-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* '("theme-magic.el" "python/wal_change_colors.py") (("\"python\"") (string-append "\"" (search-input-file inputs "/bin/python3") "\"")) (("\"wal\"") (string-append "\"" (search-input-file inputs "/bin/wal") "\"")))))))) (inputs (list python python-pywal)) (home-page "https://github.com/jcaw/theme-magic") (synopsis "Generate and apply color palettes based on your Emacs theme") (description "This package provides a command to extract the colors from your Emacs theme and apply them to the rest of Linux with Pywal. Pywal only applies your theme to the current session.") (license license:gpl3+)))) (define-public emacs-vscode-dark-plus (package (name "emacs-vscode-dark-plus") (version "2.0.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/ianyepan/vscode-dark-plus-emacs-theme") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1vcaqvhdgr91pr7kqskbscs8awm8jp6dkh79h6w36i9ipmc4l4hl")))) (build-system emacs-build-system) (home-page "https://github.com/ianyepan/vscode-dark-plus-emacs-theme") (synopsis "Emacs port of the default VS Code Dark+ theme") (description "This theme aims to be as identical as possible to the default Dark+ color scheme used by Visual Studio Code.") (license license:gpl3+))) (define-public emacs-theme-sorcery (let ((revision "0") (commit "5a1c4445b9e6e09589a299a9962a6973272a0c2f")) (package (name "emacs-theme-sorcery") (version "1.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mtreca/emacs-theme-sorcery") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1b858049n6nw4qf60fmszjrhl80x7ssh32f7glj722kwy7404kdh")))) (build-system emacs-build-system) (propagated-inputs (list emacs-autothemer)) (home-page "https://github.com/mtreca/emacs-theme-sorcery") (synopsis "Dark and low-contrast Emacs theme") (description "Sorcery is a dark and low-contrast Emacs theme inspired by Apprentice and Sourcerer.") (license license:gpl3+)))) (define-public emacs-suneater-theme (package (name "emacs-suneater-theme") (version "2.5.2") (source (origin (method git-fetch) (uri (git-reference (url "https://git.sr.ht/~plattfot/suneater-theme") (commit version))) (sha256 (base32 "1501kj933717jw9prx03x1k8n520z7a268bl03m3m82qn5hjq0ad")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (home-page "https://git.sr.ht/~plattfot/suneater-theme") (synopsis "Minimalistic dark theme for Emacs") (description "Suneater is a dark, minimalistic Emacs theme. It was based on Sunburst theme but now takes more inspiration from the Nano theme.") (license license:gpl3+))) (define-public emacs-adwaita-dark-theme (package (name "emacs-adwaita-dark-theme") (version "1.3.0") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.com/jessieh/adwaita-dark-theme") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "10hm8anw78n37pl9rz3dnjphrnsxf3fy00d008gayn70jfjl1433")))) (build-system emacs-build-system) (home-page "https://gitlab.com/jessieh/adwaita-dark-theme") (synopsis "Adwaita-inspired dark color scheme for Emacs") (description "This package provides an Adwaita-inspired dark color scheme for Emacs.") (license license:gpl2+))) (define-public emacs-treepy (package (name "emacs-treepy") (version "0.1.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/volrath/treepy.el") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0pmrpij80m5kgcr8bw36r8wllgppasw08vn3ghwvis9srpaq75cn")))) (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-typing (let ((commit "a2ef25dde2d8eb91bd9c0c6164cb5208208647fa") (revision "0")) (package (name "emacs-typing") (version (git-version "1.1.4" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/kensanata/typing") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1dbh0srbf54lgd60ia79y9cfnq3kxlgw01qzdjs9mk3nfazzpgnv")))) (build-system emacs-build-system) (home-page "https://github.com/kensanata/typing/") (synopsis "Emacs game where you have to type fast") (description "The Typing of Emacs is a game for Emacs that forces you to type words correctly as fast as possible, otherwise you will die. The game builds the list of words from the active buffer.") (license license:gpl2+)))) (define-public emacs-speed-type (package (name "emacs-speed-type") (version "1.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dakra/speed-type") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0nnvk3qnn61hg5rgwpiy1dqg6sqfh1m5256sbsk2pwrdmk54k85k")))) (build-system emacs-build-system) (arguments (list #:tests? #true #:test-command #~(list "emacs" "-Q" "--batch" "-L" "." "-l" "test-speed-type.el" "-f" "ert-run-tests-batch-and-exit") #:phases #~(modify-phases %standard-phases (add-before 'check 'skip-failing-test ;; This test requires an internet connection. (lambda _ (substitute* "test-speed-type.el" (("\\(ert-deftest speed-type--retrieve-test .*" all) (string-append all " (skip-unless nil)")))))))) (propagated-inputs (list emacs-compat)) (home-page "https://github.com/dakra/speed-type") (synopsis "Practice touch/speed typing in GNU Emacs") (description "Speed Type allows you to practice your touch typing skills. You can test yourself by typing snippets from online books or use any piece of text or code you have in Emacs. Speed Type keeps track of your stats (WPM, CPM, accuracy) while you are typing.") (license license:gpl3+))) (define-public emacs-graphql (let ((commit "b57b5ca5d2d0837e1fb4a4f30c051d5f3e643f0f")) ;version bump (package (name "emacs-graphql") (version "0.1.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/vermiculus/graphql.el") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "18k2c2b7y5qgc7qpkqjmz1nv61w470ja3vwprmy5dlkzficzqsvf")))) (build-system emacs-build-system) (arguments (list #:tests? #true #:test-command #~(list "ert-runner") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'skip-failing-test (lambda _ (substitute* "test/graphql-test.el" (("\\(ert-deftest correct-tag .*" all) (string-append all " (skip-unless nil)")))))))) (native-inputs (list emacs-ert-runner)) (propagated-inputs (list emacs-ghub)) (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-graphql-mode ;; No tagged commit. No "Version" keyword either. (let ((commit "9bed568ec86242dbe30bdbab324aa0eb2cd9bf08") (revision "1")) (package (name "emacs-graphql-mode") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/davazp/graphql-mode") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0x9y7qq6y0zg8ncamzvk68ccmdyzh7xsj0xs0ykyl20d5wdpplj4")))) (build-system emacs-build-system) (home-page "https://github.com/davazp/graphql-mode") (synopsis "Emacs mode to edit GraphQL schema and queries") (description "This package implements a major mode to edit GraphQL schemas and query. The basic functionality includes syntax highlight and indentation. Additionally, it is able to send GraphQL queries to an end-point URL. Files with the @file{.graphql} and @file{.gql} extensions are automatically opened with this mode.") (license license:gpl3+)))) (define-public emacs-ghq (package (name "emacs-ghq") (version "0.2.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/rcoedo/emacs-ghq") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "10a7rxmijwmdkfb5rgavd8inc3a45q0m57dxdf6v62bcy00kmw4l")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'set-ghq-location (lambda* (#:key inputs #:allow-other-keys) (let ((ghq (search-input-file inputs "/bin/ghq"))) (substitute* "ghq.el" (("\"ghq") (string-append "\"" ghq))))))))) (inputs (list ghq)) (propagated-inputs (list emacs-dash emacs-s)) (home-page "https://github.com/rcoedo/emacs-ghq") (synopsis "Emacs interface for @code{ghq} tool") (description "This package provides a set of functions wrapping @code{ghq}, a tool for organizing remote Go repository clones.") (license license:gpl3+))) (define-public emacs-ghub (package (name "emacs-ghub") (version "4.1.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/magit/ghub") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1p5lx781z603q943p73p6q9k6qz75ldjwrr9z3h6zvi80gxd7afy")))) (build-system emacs-build-system) (arguments (list #:phases #~(modify-phases %standard-phases (add-before 'install 'make-info (lambda _ (invoke "make" "info"))) (add-after 'make-info 'enter-lisp-directory (lambda _ (chdir "lisp"))) (add-after 'expand-load-path 'add-el-dir-to-emacs-load-path (lambda _ (setenv "EMACSLOADPATH" (string-append (getcwd) "/lisp:" (getenv "EMACSLOADPATH"))))) (add-after 'install 'install-info (lambda _ (let ((info (string-append #$output "/share/info"))) (install-file "../docs/ghub.info" info))))))) (native-inputs (list texinfo)) (propagated-inputs (list emacs-compat emacs-dash emacs-let-alist emacs-treepy)) (home-page "https://github.com/magit/ghub") (synopsis "Emacs client libraries for the APIs of various Git forges") (description "Ghub provides basic support for using the APIs of various Git forges from Emacs packages. It supports the REST APIs of Github, Github GraphQL, Gitlab, Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a handful of functions that are not resource-specific.") (license license:gpl3+))) (define-public emacs-typit (package (name "emacs-typit") (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mrkkrp/typit") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 "0djxmni5mfc9wzm0zg7fsd7138ic5qznbmqd5jyrk4mpf0li8nhy")))) (build-system emacs-build-system) (arguments '(#:include (cons "^dict/" %default-include))) (propagated-inputs (list emacs-f emacs-mmt)) (home-page "https://github.com/mrkkrp/typit") (synopsis "Typing game for Emacs with two difficulties") (description "Emacs Typit is a typing game for Emacs. Words that are picked randomly from the most frequent words in language you're practicing, until time is up.") (license license:gpl3+))) (define-public emacs-scribble-mode (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2") (revision "2")) (package (name "emacs-scribble-mode") (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/emacs-pe/scribble-mode") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii")))) (build-system emacs-build-system