aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/emacs-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r--gnu/packages/emacs-xyz.scm312
1 files changed, 136 insertions, 176 deletions
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 977d553ea5..3514ae5fbe 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1407,6 +1407,10 @@ on stdout instead of using a socket as the Emacsclient does.")
(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"))
@@ -2249,99 +2253,99 @@ replacement.")
(license license:gpl3+))))
(define-public emacs-haskell-mode
- (let ((revision "0")
- (commit "5a9f8072c7b9168f0a8409adf9d62a3e4ad4ea3d"))
- (package
- (name "emacs-haskell-mode")
- (version (git-version "17.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/haskell/haskell-mode")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0np1wrwdq7b9hpqpl9liampacnkx6diphyk8h2sbz2mfn9qr7pxs"))))
- (propagated-inputs
- (list emacs-dash))
- (native-inputs
- (list emacs-minimal emacs-el-search emacs-stream texinfo))
- (build-system gnu-build-system)
- (arguments
- (list
- #:make-flags #~(list
- (string-append "EMACS=" #$emacs-minimal "/bin/emacs"))
- #:modules `((ice-9 match)
- (srfi srfi-26)
- ((guix build emacs-build-system) #:prefix emacs:)
- ,@%gnu-build-system-modules)
- #:imported-modules `(,@%gnu-build-system-modules
- (guix build emacs-build-system)
- (guix build emacs-utils))
- #:phases
- #~(modify-phases %standard-phases
- (delete 'configure)
- (add-before 'build 'pre-build
- (lambda* (#:key inputs #:allow-other-keys)
- (define (el-dir store-dir)
- (match (find-files store-dir "\\.el$")
- ((f1 f2 ...) (dirname f1))
- (_ "")))
+ (package
+ (name "emacs-haskell-mode")
+ (version "17.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/haskell/haskell-mode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03j94fgw1bljbjqmikbn9mnrfifxf7g9zrb727zmnnrjwyi0wd4n"))
+ (patches
+ (search-patches "emacs-haskell-mode-no-redefine-builtin.patch"))))
+ (propagated-inputs
+ (list emacs-dash))
+ (native-inputs
+ (list emacs-minimal emacs-el-search emacs-stream texinfo))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:make-flags #~(list
+ (string-append "EMACS=" #$emacs-minimal "/bin/emacs"))
+ #:modules `((ice-9 match)
+ (srfi srfi-26)
+ ((guix build emacs-build-system) #:prefix emacs:)
+ ,@%gnu-build-system-modules)
+ #:imported-modules `(,@%gnu-build-system-modules
+ (guix build emacs-build-system)
+ (guix build emacs-utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define (el-dir store-dir)
+ (match (find-files store-dir "\\.el$")
+ ((f1 f2 ...) (dirname f1))
+ (_ "")))
- (let ((sh (search-input-file inputs "/bin/sh")))
- (define emacs-prefix? (cut string-prefix? "emacs-" <>))
-
- (setenv "SHELL" "sh")
- (setenv "EMACSLOADPATH"
- (string-concatenate
- (map (match-lambda
- (((? emacs-prefix? name) . dir)
- (string-append (el-dir dir) ":"))
- (_ ""))
- inputs)))
- (substitute* (find-files "." "\\.el") (("/bin/sh") sh)))))
- (add-before 'check 'delete-failing-tests
- ;; XXX: these tests require GHC executable, which would be a big
- ;; native input.
- (lambda _
- (with-directory-excursion "tests"
- ;; File `haskell-indent-tests.el' fails with
- ;; `haskell-indent-put-region-in-literate-2'
- ;; on Emacs 27.1+
- ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
- (for-each delete-file
- '("haskell-indent-tests.el"
- "haskell-customize-tests.el"
- "inferior-haskell-tests.el"))
-
- ;; requires many external tools (e.g. git, hasktags)
- (substitute* "haskell-mode-tests.el"
- (("\\(ert-deftest haskell-generate-tags.*" all)
- (string-append all " (skip-unless nil)"))))))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (el-dir (emacs:elpa-directory out))
- (doc (string-append
- out "/share/doc/haskell-mode-" #$version))
- (info (string-append out "/share/info")))
- (define (copy-to-dir dir files)
- (for-each (lambda (f)
- (install-file f dir))
- files))
-
- (with-directory-excursion "doc"
- (invoke "makeinfo" "haskell-mode.texi")
- (install-file "haskell-mode.info" info))
- (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
- (copy-to-dir el-dir (find-files "." "\\.elc?"))))))))
- (home-page "https://github.com/haskell/haskell-mode")
- (synopsis "Haskell mode for Emacs")
- (description
- "This is an Emacs mode for editing, debugging and developing Haskell
+ (let ((sh (search-input-file inputs "/bin/sh")))
+ (define emacs-prefix? (cut string-prefix? "emacs-" <>))
+
+ (setenv "SHELL" "sh")
+ (setenv "EMACSLOADPATH"
+ (string-concatenate
+ (map (match-lambda
+ (((? emacs-prefix? name) . dir)
+ (string-append (el-dir dir) ":"))
+ (_ ""))
+ inputs)))
+ (substitute* (find-files "." "\\.el") (("/bin/sh") sh)))))
+ (add-before 'check 'delete-failing-tests
+ ;; XXX: these tests require GHC executable, which would be a big
+ ;; native input.
+ (lambda _
+ (with-directory-excursion "tests"
+ ;; File `haskell-indent-tests.el' fails with
+ ;; `haskell-indent-put-region-in-literate-2'
+ ;; on Emacs 27.1+
+ ;; XXX: https://github.com/haskell/haskell-mode/issues/1714
+ (for-each delete-file
+ '("haskell-indent-tests.el"
+ "haskell-customize-tests.el"
+ "inferior-haskell-tests.el"))
+
+ ;; requires many external tools (e.g. git, hasktags)
+ (substitute* "haskell-mode-tests.el"
+ (("\\(ert-deftest haskell-generate-tags.*" all)
+ (string-append all " (skip-unless nil)"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (el-dir (emacs:elpa-directory out))
+ (doc (string-append
+ out "/share/doc/haskell-mode-" #$version))
+ (info (string-append out "/share/info")))
+ (define (copy-to-dir dir files)
+ (for-each (lambda (f)
+ (install-file f dir))
+ files))
+
+ (with-directory-excursion "doc"
+ (invoke "makeinfo" "haskell-mode.texi")
+ (install-file "haskell-mode.info" info))
+ (copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
+ (copy-to-dir el-dir (find-files "." "\\.elc?"))))))))
+ (home-page "https://github.com/haskell/haskell-mode")
+ (synopsis "Haskell mode for Emacs")
+ (description
+ "This is an Emacs mode for editing, debugging and developing Haskell
programs.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-dante
(package
@@ -17113,7 +17117,8 @@ the Emacs TempEl package.")
(sha256
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
(patches
- (search-patches "emacs-yasnippet-fix-tests.patch"))))
+ (search-patches "emacs-yasnippet-fix-empty-snippet-next.patch"
+ "emacs-yasnippet-fix-tests.patch"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@@ -18090,7 +18095,7 @@ in Emacs.")
(define-public emacs-php-mode
(package
(name "emacs-php-mode")
- (version "1.24.3")
+ (version "1.25.0")
(source
(origin
(method git-fetch)
@@ -18099,7 +18104,7 @@ in Emacs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "01yw10z1kf38nz4z3gmpx56wmc7a7caf4nk6rccg0w4kklqw1h94"))))
+ (base32 "1vwbxaxjvz2hhb6pli1bh1qlrc2r991zl4i18wiwk78ffanqx6q0"))))
(build-system emacs-build-system)
(arguments
(list
@@ -21900,8 +21905,8 @@ object has been freed.")
(license license:unlicense)))
(define-public emacs-emacsql
- (let ((commit "e1baaf2f874df7f9259a8ecca978e03d3ddae5b5")
- (revision "0"))
+ (let ((commit "29194a63ede3ee24c7457c2fde03b0f1320ca4b1")
+ (revision "1"))
(package
(name "emacs-emacsql")
(version (git-version "3.1.1" revision commit))
@@ -21913,7 +21918,7 @@ object has been freed.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0dvqs1jg5zqn0i3r67sn1a40h5rm961q9vxvmqxbgvdhkjvip8fn"))))
+ (base32 "14yj53xxqi3009bdj39k2fqwyc896yp2m7gdkgyv47wlkh1xwzxh"))))
(build-system emacs-build-system)
(arguments
(list
@@ -21929,12 +21934,6 @@ object has been freed.")
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
- (add-before 'install 'remove-sqlite-builtin
- ;; Current emacs 28.2 doesn't have sqlite feature and compilation
- ;; of this file fails. This phase should be removed, when emacs
- ;; package is updated to 29.
- (lambda _
- (delete-file "emacsql-sqlite-builtin.el")))
(add-before 'install 'patch-elisp-shell-shebangs
(lambda _
(substitute* (find-files "." "\\.el")
@@ -21972,47 +21971,6 @@ has no concept of @code{TEXT} values; it's all just Lisp objects. The Lisp
object @code{nil} corresponds 1:1 with @code{NULL} in the database.")
(license license:gpl3+))))
-(define-public emacs-emacsql-sqlite3
- ;; This commit contains changes necessary for Sqlite 3.38+.
- (let ((commit "2113618732665f2112cb932a66c0e89c404d8777")
- (revision "1"))
- (package
- (name "emacs-emacsql-sqlite3")
- (version (git-version "1.0.2" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/cireu/emacsql-sqlite3")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0r8svrd0d4cflx8a8gkynnhafcpv3ksn9rds8dhyx5yibximbzsw"))))
- (build-system emacs-build-system)
- (arguments
- `(#:tests? #t
- #:test-command '("emacs" "-Q" "--batch" "-L" "."
- "--load" "emacsql-sqlite3-test.el"
- "-f" "ert-run-tests-batch-and-exit")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'embed-path-to-sqlite3
- (lambda _
- (substitute* "emacsql-sqlite3.el"
- (("\\(executable-find \"sqlite3\"\\)")
- (string-append "\"" (which "sqlite3") "\""))))))))
- (native-inputs
- (list emacs-ert-runner))
- (inputs
- (list sqlite))
- (propagated-inputs
- (list emacs-emacsql))
- (home-page "https://github.com/cireu/emacsql-sqlite3")
- (synopsis "EmacSQL backend for SQLite")
- (description "This is yet another EmacSQL backend for SQLite which uses
-official @command{sqlite3} executable to access SQL database.")
- (license license:gpl3+))))
-
(define-public emacs-closql
(package
(name "emacs-closql")
@@ -24410,31 +24368,30 @@ downloading manager for Emacs.")
(license license:gpl3+))))
(define-public emacs-helpful
- (let ((commit "1c98f6f06a85def5d34c735f8cd407f20cebddf9")
- (revision "1"))
- (package
- (name "emacs-helpful")
- (version (git-version "0.19" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Wilfred/helpful")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "18b5hjfji51zxjrxhkklxx3j9svk295awmxv8n95mp8ilas2kd3l"))))
- (build-system emacs-build-system)
- (propagated-inputs
- (list emacs-dash emacs-elisp-refs emacs-f emacs-s))
- (native-inputs
- (list emacs-ert-runner emacs-undercover))
- (arguments
- `(#:tests? #t
- #:test-command '("ert-runner")))
- (home-page "https://github.com/Wilfred/helpful")
- (synopsis "More contextual information in Emacs help")
- (description "@code{helpful} is an alternative to the built-in Emacs help
+ (package
+ (name "emacs-helpful")
+ (version "0.21")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Wilfred/helpful")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03afgdbs5nmhw833svrqky7fmfs1zlvqzcj7j5g29sakivs60xqc"))
+ (patches (search-patches "emacs-helpful-fix-tests.patch"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ (list emacs-dash emacs-elisp-refs emacs-f emacs-s))
+ (native-inputs
+ (list emacs-ert-runner emacs-undercover))
+ (arguments
+ `(#:tests? #t
+ #:test-command '("ert-runner")))
+ (home-page "https://github.com/Wilfred/helpful")
+ (synopsis "More contextual information in Emacs help")
+ (description "@code{helpful} is an alternative to the built-in Emacs help
that provides much more contextual information.
@itemize
@@ -24453,7 +24410,7 @@ functions.
@item Trace, disassemble functions from inside Helpful. This is discoverable
and doesn't require memorisation of commands.
@end itemize\n")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-logview
(package
@@ -27820,6 +27777,8 @@ files are easily readable and they work nicely with version control systems.")
(url "https://github.com/domtronn/all-the-icons.el")
(commit version)))
(file-name (git-file-name name version))
+ (patches
+ (search-patches "emacs-all-the-icons-remove-duplicate-rs.patch"))
(sha256
(base32 "0lwgvgnqf7vihglm0c5bwsxbl4x7f641289cji5s7jwy2dbsqk7g"))))
(build-system emacs-build-system)
@@ -27840,10 +27799,12 @@ files are easily readable and they work nicely with version control systems.")
(install-file "octicons.ttf" fonts)
(install-file "weathericons.ttf" fonts)))))
(replace 'check
- (lambda* (#:key outputs #:allow-other-keys)
- (apply invoke "ert-runner" "-l"
- (append (find-files "data" "\\.el")
- '("all-the-icons-faces.el"))))))))
+ (lambda* (#:key tests? outputs #:allow-other-keys)
+ (if tests?
+ (apply invoke "ert-runner" "-l"
+ (append (find-files "data" "\\.el")
+ '("all-the-icons-faces.el")))
+ (format #t "test suite not run~%")))))))
(native-inputs
(list emacs-f emacs-ert-runner))
(propagated-inputs
@@ -30382,7 +30343,6 @@ JavaScript.")
(base32 "0cbchri4117wjcnlk3npi4x1sfx248vck1q61cis8drrrz4c8jyp"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
- (arguments (list #:emacs emacs-next))
(propagated-inputs
(list emacs-dash
emacs-s
@@ -35299,7 +35259,7 @@ go directly to where they belong.")
(list texinfo))
(propagated-inputs
(list emacs-dash
- emacs-emacsql-sqlite3
+ emacs-emacsql
emacs-f
emacs-magit
emacs-org