diff options
Diffstat (limited to 'gnu/packages/emacs-xyz.scm')
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 312 |
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 |