[bug#65717] gnu: Add emacs-latex-extra.
Commit Message
Hello Nicolas,
Thank you very much for your feedback.
Nicolas Goaziou <mail@nicolasgoaziou.fr> [2023-09-03T21:44:49+0200]:
> Hello,
>
> Sergiu Ivanov <sivanov@colimite.fr> writes:
>
>> Subject: [PATCH] gnu: Add emacs-latex-extra.
>
> Thank you.
>
> Some comments follow.
>
>> + (build-system emacs-build-system)
>> + (arguments
>> + `(#:phases (modify-phases %standard-phases
>> + (add-before 'build 'set-home
>> + (lambda _
>> + (setenv "HOME"
>> + (getcwd)))))))
>
> Why is it needed ?
If I don't explicitly set $HOME, the build fails with
Debugger entered--Lisp error: (file-missing "Setting current directory" "No such file or directory" "/homeless-shelter/")
call-process("sh" nil t nil "-c" "evince --help")
call-process-shell-command("evince --help" nil t)
shell-command("evince --help" t)
shell-command-to-string("evince --help")
TeX-view-program-select-evince("gnome" "evince")
...
> Also, upstream provides tests. Could you run them?
I tried adding the following to the arguments list:
#:tests? #t
#:test-command '("make" "test")
and the build now fails with this error:
starting phase `check'
echo "hi " /tmp/guix-build-emacs-latex-extra-1.14-0.a81e758.drv-0/source && \
emacs -Q --batch -L "auctex-11.87.7/" -L "tests/auctex-11.87.7/" -l "auctex-autoloads.el" -L . -L .. -L tests/ --eval \
"(progn \
(unless (fboundp 'function-put) (defalias 'function-put #'(lambda (f prop value) (put f prop value)))) \
(defun define-error (name message &optional parent) (unless parent (setq parent 'error)) (let ((conditions (if (consp parent) (apply #'nconc (mapcar (lambda (parent) (cons parent (or (get parent 'error-conditions) (error \"Unknown signal %s\" parent)))) parent)) (cons parent (get parent 'error-conditions))))) (put name 'error-conditions (delete-dups (copy-sequence (cons name conditions)))) (when message (put name 'error-message message)))) \
(setq byte-compile-error-on-warn t) \
(batch-byte-compile))" *.el
hi /tmp/guix-build-emacs-latex-extra-1.14-0.a81e758.drv-0/source
Eager macro-expansion failure: (error "Package cl is deprecated")
Eager macro-expansion failure: (error "Package cl is deprecated")
In toplevel form:
latex-extra.el:130:1: Error: Package cl is deprecated
make: *** [Makefile:25: build] Error 1
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("test" "-j" "8") exit-status: 2 term-signal: #f stop-signal: #f>
phase `check' failed after 0.1 seconds
I hunted around emacs-xyz.scm and tried using ert-runner, which
complained that the tests are in the wrong directory, since it expects
apparently the tests to be under test/ and not tests/, as in the case of
latex-extra. Still, by looking at how the test target is defined in the
Makefile of latex-extra, I think that this is not the problem. On the
other hand, I don't believe that package cl being deprecated is the
problem either, since that is normally a warning and not an error.
Do you have any ideas as to how to debug this kind of issues?
FWIW, I am already using the draft version of this package out of my
private channel, and it works nicely, so this problem seems to be
specific for the tests.
>> + (inputs (list emacs-auctex))
>
> Usually, inputs are propagated, although it doesn't make a difference
> for Emacs.
I changed this to propagated-inputs.
>> + (home-page "https://github.com/Malabarba/latex-extra")
>> + (synopsis "Usability improvements for latex-mode")
>
> Nitpick: "latex-mode" -> "LaTeX mode"
Fixed.
>> + (description
>> + "Latex-extra defines extra commands and keys for LaTeX-mode, as well
>> +as brings user experience improvements.")
>
> Nitpick: "LaTeX-mode" -> "LaTeX mode"
Fixed as well.
-
Sergiu
Comments
Hello,
Sergiu Ivanov <sivanov@colimite.fr> writes:
> If I don't explicitly set $HOME, the build fails with
>
> Debugger entered--Lisp error: (file-missing "Setting current directory" "No such file or directory" "/homeless-shelter/")
OK.
> I tried adding the following to the arguments list:
>
> #:tests? #t
> #:test-command '("make" "test")
Sometimes, it is necessary to skip the Makefile step and write
explicitly what the Makefile is doing right into #:test-command.
Here, I called `ert-run-tests-batch-and-exit' after loading the test
library. The unusual part was the tests required to be run from within
the "tests/" directory, hence the `cd' evaluation:
#:test-command
#~(list "emacs" "-Q" "--batch"
"--eval=(cd \"tests/\")"
"-l" "latex-extra-test.el"
"-f" "ert-run-tests-batch-and-exit")
I applied your patch. Thank you!
Regards,
From c8fe800f453c139177dcfb28bbe59b1cd362a902 Mon Sep 17 00:00:00 2001
From: Sergiu Ivanov <sivanov@colimite.fr>
Date: Sun, 3 Sep 2023 19:29:03 +0200
Subject: [PATCH] gnu: Add emacs-latex-extra.
* gnu/packages/emacs-xyz.scm (emacs-latex-extra): New variable.
---
gnu/packages/emacs-xyz.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
@@ -132,6 +132,7 @@
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4067,6 +4068,36 @@ (define-public emacs-auctex
or XEmacs.")
(license license:gpl3+)))
+(define-public emacs-latex-extra
+ (let ((commit "a81e7588448f85c5fcc3f3fc71cf957d0928a656")
+ (revision "0"))
+ (package
+ (name "emacs-latex-extra")
+ (version (git-version "1.14" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Malabarba/latex-extra")
+ (commit commit)))
+ (sha256
+ (base32
+ "0sajg5vmygnkcnmkrpf8r7c4b8v95hgsv1y6pz868jpznmldnxkb"))
+ (file-name (git-file-name name version))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'build 'set-home
+ (lambda _
+ (setenv "HOME"
+ (getcwd)))))))
+ (propagated-inputs (list emacs-auctex))
+ (home-page "https://github.com/Malabarba/latex-extra")
+ (synopsis "Usability improvements for LaTeX mode")
+ (description
+ "Latex-extra defines extra commands and keys for LaTeX mode, as well
+as brings user experience improvements.")
+ (license license:gpl3+))))
+
(define-public emacs-autothemer
(let ((commit "8f72afc6dba5ad7cc3a201a084fd20571f945d2e")) ;version bump
(package
--
2.41.0