Subject: bug#54003: local-file after Guile update

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 15 Feb 2022 10:57:19 -0500

Hello,

Ludovic Courtès <[email-masked]> writes:

> Hi,
>
> Aleksandr Vityazev <[email-masked]> skribis:
>
>> The following example also worked before the
>> 076e825dc5d585943ce820a279fffe4af09757fb (gnu: guile: Add version 3.0.8 as
>> 'guile-3.0-latest') commit.
>>
>> in /subdir/home/wm.scm: 
>>
>> #+begin_src scheme :scheme guile :season guile
>> (service
>>  home-rofi-service-type
>>  (home-rofi-configuration
>>   (config-rasi
>>    `(,#~(format
>>          #f "@theme \"~a\""
>>          #$(local-file "../../etc/rofi/nord.rasi"))))))
>> #+end_src
>>
>> After 076e825dc5d585943ce820a279fffe4af09757fb
>> using (local-file "../../etc/rofi/nord.rasi") and not
>> (local-file "etc/rofi/nord.rasi") causes an error:
>>
>> guix home: error: canonicalize-path: No such file or
>> directory: "../../etc/rofi/nord.rasi".
>
> I’ve witnessed a similar problem that I worked around in
> c334b7c52fe77b68a90b23fbac5c9de7337e607b.

Another example is the berlin configuration; attempting to reconfigure
it currently yields:

--8<---------------cut here---------------start------------->8---
$ sudo guix system reconfigure -L modules berlin.scm
guix system: warning: the following accounts appear more than once: zabbix
guix system: warning: the following groups appear more than once: zabbix
guix system: error: canonicalize-path: No such file or directory: "../../sync-disarchive-db.scm"
--8<---------------cut here---------------end--------------->8---

I'm positive this is new behavior.

Thanks,

Maxim