GNU bug report logs - #38261
Recent changes to emacs build system

Previous Next

Package: guix;

Reported by: brettg <at> posteo.net

Date: Mon, 18 Nov 2019 19:02:01 UTC

Severity: normal

Tags: fixed

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: brettg <at> posteo.net
To: Bug guix <Bug-guix <at> gnu.org>, Ricardo Wurmus <rekado <at> elephly.net>
Cc: bug-Guix <bug-guix-bounces+brettg=posteo.net <at> gnu.org>
Subject: Re: bug#38261: Recent changes to emacs build system
Date: Mon, 18 Nov 2019 22:34:21 +0100

On 18.11.2019 21:33, brettg <at> posteo.net wrote:
> On 18.11.2019 21:28, brettg <at> posteo.net wrote:
>> On 18.11.2019 20:01, brettg <at> posteo.net 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





This bug report was last modified 5 years and 178 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.