On 18.11.2019 21:33, address@hidden wrote:
On 18.11.2019 21:28, address@hidden wrote:
On 18.11.2019 20:01, address@hidden wrote:
Hey all, the recent changes to the emacs build system result in a
few
broken packages like emacs-pdf-tools, or basically anything that
uses
a phase for emacs-set-emacs-load-path.
For example, I borrowed the technique used by emacs-pdf-tools to
package emacs-telega, resulting in both packages failing to build:
Here is the code for emacs-telega:
https://git.sr.ht/~brettgilio/cfg/tree/master/channel/non-gnu/packages/emacs-xyz.scm#L99
The issue is in this phase for both emacs-pdf-tools and my channel
package:
(add-after 'compress-documentation 'emacs-set-emacs-load-path
(assoc-ref emacs:%standard-phases
'set-emacs-load-path))
Resulting in:
starting phase `emacs-set-emacs-load-path'
Backtrace:
5 (primitive-load
"/gnu/store/5b1p1gsvfyi4fbx4s42rhab2dns…")
In ice-9/eval.scm:
191:35 4 (_ _)
In ice-9/boot-9.scm:
829:9 3 (catch _ _ #<procedure 7ffff3bbb518 at
/gnu/store/zmkg…> …)
In srfi/srfi-1.scm:
863:16 2 (every1 #<procedure 7ffff30ae160 at
/gnu/store/zmkgrvv…> …)
In
/gnu/store/zmkgrvvhmrix2b1z7id6zrg9bb7qxzdl-module-import/guix/build/gnu-build-system.scm:
839:30 1 (_ _)
In unknown file:
0 (_ #:source
"/gnu/store/qw8xbmk6ryl9a2jrp0gip3yffmsdix…" …)
ERROR: Wrong type to apply: #f
If we suspect that changes are going to be non-backwards
compatible
could we use the news system to pass along that message? Much
appreciated. Thanks.
Brett Gilio
I applied a hotfix to the package by replacing 'set-emacs-load-path
with 'add-source-to-load-path. I believe this fix would work for
all
other affected packages.
https://git.sr.ht/~brettgilio/cfg/commit/c24a6db9d25151c487e9db675bd74e4bb3912173
Ricardo, just wanted to make you aware that this emacs-build-system
change does break your guile-studio. I discovered this because I
adopted some of your ideas of autoloading in the generated emacs lisp
from guile-studio when creating my own emacs configuration dependent
on guix, which resulted in
progn: Wrong number of arguments: (lambda nil "Autoload Emacs
packages
found in EMACSLOADPATH.
'Autoload' means to load the 'autoloads' files matching
`guix-emacs-autoloads-regexp'." (interactive) (let* ((emacs-load-path
(getenv "EMACSLOADPATH")) (emacs-non-core-load-path-directories
(seq-filter (function (lambda (dir) (string-match-p
"/share/emacs/site-lisp" dir))) (split-string emacs-load-path ":")))
(autoloads (mapcan (function guix-emacs-find-autoloads)
emacs-non-core-load-path-directories))) (mapc (function (lambda (f)
(load f (quote noerror)))) autoloads))), 78
I'll let you know if I can find any fix for this when I get some
time.
But just wanted to pass the message along.
Brett