Hello Nicolas, Thank you very much for your feedback. Nicolas Goaziou [2023-09-03T21:44:49+0200]: > Hello, > > Sergiu Ivanov 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