From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 14 16:50:28 2022 Received: (at submit) by debbugs.gnu.org; 14 Feb 2022 21:50:28 +0000 Received: from localhost ([127.0.0.1]:42834 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJjEq-0007ZJ-CG for submit@debbugs.gnu.org; Mon, 14 Feb 2022 16:50:28 -0500 Received: from lists.gnu.org ([209.51.188.17]:33398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJjEm-0007Z8-IA for submit@debbugs.gnu.org; Mon, 14 Feb 2022 16:50:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33560) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nJjEk-0006M5-1h for bug-guix@gnu.org; Mon, 14 Feb 2022 16:50:24 -0500 Received: from mout02.posteo.de ([185.67.36.66]:48117) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nJjEf-000288-8U for bug-guix@gnu.org; Mon, 14 Feb 2022 16:50:20 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 6397D240103 for ; Mon, 14 Feb 2022 22:50:11 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.org; s=2017; t=1644875411; bh=BmBG+S66FYgSU5OJhjgImKTgTP7OhQsPQjy1w6gEbHg=; h=From:To:Subject:Date:From; b=UaLUmPWIcPaire5PNYK0mqjEyTlis/giSmlBoRojST6hlxG1VDkaFQvP9j/CG8L1v d2dexkctSHfLC8PGfHuQVlYMC1jBZKJwpo15tI6RLezalKpiJNMmCuaxh+PYILBpkF g4QDadN+QPAUpw6ZqD2pNaRn8LpZoly+rfCIXoEOdzdA9PrIi8sC3I/YrJCWVcx1ID DGQ3YCPpaEbTDFQ8t82iW8aefAw9PYNtdPEP6zlQQ7zTRIw5dEpiB+f+xhJDgujCj7 KfvOYGWwGrGGqTJ9Hlqf/prpjxllVlIyj7z7y7/mvoQgKs9cYdbkrGKlvbrfjjl53B nJyV18NNC9WXQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4JyHvQ0Dzcz9rxD for ; Mon, 14 Feb 2022 22:50:09 +0100 (CET) From: Aleksandr Vityazev To: bug-guix@gnu.org Subject: local-file after Guile update Date: Mon, 14 Feb 2022 21:50:08 +0000 Message-ID: <87zgmtqfsf.fsf@posteo.org> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.66; envelope-from=avityazev@posteo.org; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi, I have the following dotfiles directory structure where I store my Guix home config: |-etc | |-subdir | | | |-home I often use the 'local-file' procedure in modules in the home directory. For example in /subdir/home/shells.scm: #+begin_src scheme :scheme guile :season guile (simple-service 'add-zsh-files home-files-service-type `(("config/zsh/zshrc" ,(local-file "../../etc/zsh/zshrc")))) #+end_src And it works, as expected. 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". The example that causes the error uses the original Guix home implementation, which uses gexps. When I figure out how to make a minimal reproducer that does not depend on it, I will update this report. -- Best regards, Aleksandr Vityazev From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 03:22:04 2022 Received: (at 54003) by debbugs.gnu.org; 15 Feb 2022 08:22:04 +0000 Received: from localhost ([127.0.0.1]:43401 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJt63-0000j9-Kn for submit@debbugs.gnu.org; Tue, 15 Feb 2022 03:22:04 -0500 Received: from mailrelay.tugraz.at ([129.27.2.202]:4177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJt60-0000ig-D0 for 54003@debbugs.gnu.org; Tue, 15 Feb 2022 03:22:02 -0500 Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101]) by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4JyYwN2c3Wz3wGC; Tue, 15 Feb 2022 09:21:55 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at; s=mailrelay; t=1644913316; bh=kTsoRst7dGmkNPLiwnji+rz2xmTqWZRuh9gWgmlA22I=; h=Subject:From:To:Date:In-Reply-To:References; b=bkfKyCToblPUVtps836fnzOdbT7bzjFoSNoapjsU4fWX4i4QTubZ8gPh3yEk+TKI3 cw43rfVv27ozGoXYHpiMN47z60ADDvAXts6g1o+bBNF1rSyMdoxfVNw9dXgM1eFbYE DHJWZElltDyofYkGgR1Z10mezUzYLCXjFvnTK5WM= Message-ID: <3bde6d0ba002c1400176b1a2bce83f035afd01ad.camel@ist.tugraz.at> Subject: Re: local-file after Guile update From: Liliana Marie Prikler To: Aleksandr Vityazev , 54003@debbugs.gnu.org Date: Tue, 15 Feb 2022 09:21:54 +0100 In-Reply-To: <87zgmtqfsf.fsf@posteo.org> References: <87zgmtqfsf.fsf@posteo.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ X-Spam-Scanner: SpamAssassin 3.003001 X-Spam-Score-relay: -1.9 X-Scanned-By: MIMEDefang 2.74 on 129.27.10.117 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54003 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Aleksandr Am Montag, dem 14.02.2022 um 21:50 +0000 schrieb Aleksandr Vityazev: > Hi, > > I have the following dotfiles directory structure where I store my > Guix home config: > > > -etc > > > > -subdir > >   | > >   |-home > > > I often use the 'local-file' procedure in modules in the home > directory. For example in /subdir/home/shells.scm: > > #+begin_src scheme :scheme guile :season guile > (simple-service 'add-zsh-files >                 home-files-service-type >                 `(("config/zsh/zshrc" >                    ,(local-file "../../etc/zsh/zshrc")))) > #+end_src > And it works, as expected. Be careful when invoking Hyrum's Law. The meaning of this local-file expression changes with the current working directory, which might be different across invocations. To avoid such issues, you can (almost?) always use (current-file-name), which you might want to canonicalize for the operations you're about to do. Taking (dirname) thrice then brings you to $GUIX_HOME_CONFIG_ROOT, which contains both etc and subdir. > 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". > > The example that causes the error uses the original Guix home > implementation, which uses gexps.  When I figure out how to make a > minimal reproducer that does not depend on it, I will update this > report. I don't think this is an issue particularly in Guix Home, but for a MWE you could try only writing a bashrc, which ought to work with upstream as well. Use `guix home build` rather than `guix home reconfigure` so as to not activate it. Cheers From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 10:00:21 2022 Received: (at 54003) by debbugs.gnu.org; 15 Feb 2022 15:00:21 +0000 Received: from localhost ([127.0.0.1]:46131 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJzJV-00072O-4v for submit@debbugs.gnu.org; Tue, 15 Feb 2022 10:00:21 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:49358) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJzJS-000721-Tq for 54003@debbugs.gnu.org; Tue, 15 Feb 2022 10:00:19 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 64223307; Tue, 15 Feb 2022 16:00:13 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YbJqsKR_zg7m; Tue, 15 Feb 2022 16:00:13 +0100 (CET) Received: from ribbon (unknown [IPv6:2001:660:6102:320:e120:2c8f:8909:cdfe]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 8A5222CB; Tue, 15 Feb 2022 16:00:12 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Aleksandr Vityazev Subject: Re: bug#54003: local-file after Guile update References: <87zgmtqfsf.fsf@posteo.org> Date: Tue, 15 Feb 2022 16:00:11 +0100 In-Reply-To: <87zgmtqfsf.fsf@posteo.org> (Aleksandr Vityazev's message of "Mon, 14 Feb 2022 21:50:08 +0000") Message-ID: <87pmnoyy2s.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: / Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Server: hera X-Rspamd-Queue-Id: 64223307 X-Spamd-Result: default: False [-0.10 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 54003 Cc: 54003@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hi, Aleksandr Vityazev 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:=20 > > #+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=E2=80=99ve witnessed a similar problem that I worked around in c334b7c52fe77b68a90b23fbac5c9de7337e607b. Needs some investigation=E2=80=A6 Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 10:00:26 2022 Received: (at control) by debbugs.gnu.org; 15 Feb 2022 15:00:27 +0000 Received: from localhost ([127.0.0.1]:46134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJzJa-00078j-FZ for submit@debbugs.gnu.org; Tue, 15 Feb 2022 10:00:26 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:49382) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJzJY-00072C-M5 for control@debbugs.gnu.org; Tue, 15 Feb 2022 10:00:24 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 3AD462CB for ; Tue, 15 Feb 2022 16:00:19 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mm49urVsOwUW for ; Tue, 15 Feb 2022 16:00:19 +0100 (CET) Received: from ribbon (unknown [IPv6:2001:660:6102:320:e120:2c8f:8909:cdfe]) by hera.aquilenet.fr (Postfix) with ESMTPSA id C653A4A for ; Tue, 15 Feb 2022 16:00:18 +0100 (CET) Date: Tue, 15 Feb 2022 16:00:18 +0100 Message-Id: <87o838yy2l.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #54003 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spamd-Bar: / Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Server: hera X-Rspamd-Queue-Id: 3AD462CB X-Spamd-Result: default: False [0.61 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[control@debbugs.gnu.org]; RCPT_COUNT_ONE(0.00)[1]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; R_MIXED_CHARSET(0.71)[subject]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) severity 54003 important quit From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 10:00:47 2022 Received: (at control) by debbugs.gnu.org; 15 Feb 2022 15:00:47 +0000 Received: from localhost ([127.0.0.1]:46137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJzJu-0007Ux-Sm for submit@debbugs.gnu.org; Tue, 15 Feb 2022 10:00:47 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:49408) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nJzJt-0007NQ-Cg for control@debbugs.gnu.org; Tue, 15 Feb 2022 10:00:45 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id E274E307 for ; Tue, 15 Feb 2022 16:00:39 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D2tXwE501ObH for ; Tue, 15 Feb 2022 16:00:39 +0100 (CET) Received: from ribbon (unknown [IPv6:2001:660:6102:320:e120:2c8f:8909:cdfe]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 44B162CB for ; Tue, 15 Feb 2022 16:00:39 +0100 (CET) Date: Tue, 15 Feb 2022 16:00:38 +0100 Message-Id: <87mtisyy21.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #53214 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spamd-Bar: / Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Server: hera X-Rspamd-Queue-Id: E274E307 X-Spamd-Result: default: False [0.61 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[control@debbugs.gnu.org]; RCPT_COUNT_ONE(0.00)[1]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; R_MIXED_CHARSET(0.71)[subject]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) block 53214 by 54003 quit From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 10:57:30 2022 Received: (at 54003) by debbugs.gnu.org; 15 Feb 2022 15:57:30 +0000 Received: from localhost ([127.0.0.1]:46210 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK0Cn-0004cY-O6 for submit@debbugs.gnu.org; Tue, 15 Feb 2022 10:57:29 -0500 Received: from mail-qv1-f44.google.com ([209.85.219.44]:33633) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK0Cl-0004cH-9z for 54003@debbugs.gnu.org; Tue, 15 Feb 2022 10:57:28 -0500 Received: by mail-qv1-f44.google.com with SMTP id h9so18030930qvm.0 for <54003@debbugs.gnu.org>; Tue, 15 Feb 2022 07:57:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=lKLhU6lZyGfRrLXyrpmOzYianZa2bmdQOgXt3heqG6k=; b=jj7muOuWz6xFVZcnCqnA//z9CjElCr8oXqDxMxjFx/dZclak2iyqqYi1iuu9HC5iHB A7WnDmnsf9zTsM28hBKvIX6xqKP5AukNamgL8rJknAi+0Oy0v+dZfoBQBovAIPU29Xwl TQdwMN6LunELm/iVC4Sv2nN2Kfs8xaTDFfw9SI+AO1YoObzaprotVNp1xqY05Ai2YWyw VaHdJ4c5tZTFZ12XFwD6Xz+5k99Vto3+PUuND+KpmeLoyk+yOrDaBWPEb/i39ZlZamHB 66Vmai1qZJk+7inlJvHg9hwZ65i50GpukXrUVmHV10w0Nl2Z+oMV2MN/uPCwBht5SQR3 Us1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=lKLhU6lZyGfRrLXyrpmOzYianZa2bmdQOgXt3heqG6k=; b=h/OBlg4qSHCU01G8EJEpf6yRmX+7yYIEgTwp8IIkhSK6/+sR9iRP1MBE6nhKvELVSH 7CMbkVad/Da49pARn+tM8ELNRvTLl33LhRdDgaEAhI67ZQFyRjw7jcbLlvzehvTHtXC2 Vkgr9G1SaIteBYhrP2/KJWR0HCsaheQenWRKWqorcJGOIxtTxOnxhg9IBBbQZ0bJWz0U otVnwnMM155BcvxKPxWTbne0GF1YANeWySBTVxW/qX8xtzz7fOyI9LwHN0tBc6ok5xhZ D6SrR+YAQSvE91c1TMN4k7l43uDoVuuKb709tddIX6sho6Bn4ayCY6h6GMGJx9u09GKd dWEQ== X-Gm-Message-State: AOAM531qBFhnTiWvWualOJb2Z1wYa1auHi/pfbzXWYuDOOc/4bIgF5Mp 8v+aT8Br4mO3qDlAsM9ZRcmJGqKd25o= X-Google-Smtp-Source: ABdhPJxDo2ZM5Jdj1/Ye/kmbGUPsZmaVdXfPWdCML9kGS67ztvaEGgWJfwDltHfXLk1DA7FtVZsoXg== X-Received: by 2002:a05:6214:194b:: with SMTP id q11mr2909047qvk.35.1644940640771; Tue, 15 Feb 2022 07:57:20 -0800 (PST) Received: from hurd (dsl-205-236-230-188.b2b2c.ca. [205.236.230.188]) by smtp.gmail.com with ESMTPSA id b22sm4594662qkl.59.2022.02.15.07.57.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Feb 2022 07:57:20 -0800 (PST) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#54003: local-file after Guile update References: <87zgmtqfsf.fsf@posteo.org> <87pmnoyy2s.fsf@gnu.org> Date: Tue, 15 Feb 2022 10:57:19 -0500 In-Reply-To: <87pmnoyy2s.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 15 Feb 2022 16:00:11 +0100") Message-ID: <87iltgxgv4.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54003 Cc: 54003@debbugs.gnu.org, Aleksandr Vityazev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Ludovic Court=C3=A8s writes: > Hi, > > Aleksandr Vityazev 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:=20 >> >> #+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=E2=80=99ve 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: "../../sy= nc-disarchive-db.scm" --8<---------------cut here---------------end--------------->8--- I'm positive this is new behavior. Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 14:42:31 2022 Received: (at 54003) by debbugs.gnu.org; 15 Feb 2022 19:42:31 +0000 Received: from localhost ([127.0.0.1]:46522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK3iZ-0004mr-3v for submit@debbugs.gnu.org; Tue, 15 Feb 2022 14:42:31 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:57022) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK3iX-0004mX-Bq for 54003@debbugs.gnu.org; Tue, 15 Feb 2022 14:42:29 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 87AE2307; Tue, 15 Feb 2022 20:42:22 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 267ibb9b738Z; Tue, 15 Feb 2022 20:42:22 +0100 (CET) Received: from ribbon (91-160-117-201.subs.proxad.net [91.160.117.201]) by hera.aquilenet.fr (Postfix) with ESMTPSA id C4C38174; Tue, 15 Feb 2022 20:42:21 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: bug#54003: local-file after Guile update References: <87zgmtqfsf.fsf@posteo.org> <87pmnoyy2s.fsf@gnu.org> <87iltgxgv4.fsf@gmail.com> Date: Tue, 15 Feb 2022 20:42:21 +0100 In-Reply-To: <87iltgxgv4.fsf@gmail.com> (Maxim Cournoyer's message of "Tue, 15 Feb 2022 10:57:19 -0500") Message-ID: <871r03zzky.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spamd-Bar: / Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Server: hera X-Rspamd-Queue-Id: 87AE2307 X-Spamd-Result: default: False [-0.10 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[multipart/mixed,text/plain,text/x-patch]; TO_DN_SOME(0.00)[]; FREEMAIL_TO(0.00)[gmail.com]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 54003 Cc: 54003@debbugs.gnu.org, Aleksandr Vityazev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! For now, here=E2=80=99s a workaround: instead of writing #~(=E2=80=A6 #$(local-file =E2=80=A6) =E2=80=A6) you can write: (gexp (=E2=80=A6 (ungexp (local-file =E2=80=A6)) =E2=80=A6)) or: (let ((file (local-file =E2=80=A6))) #~(=E2=80=A6 #$file =E2=80=A6)) The problem is that =E2=80=98read=E2=80=99 hash extensions (like those for = #~ and #$) would so far return sexps with associated source properties, but psyntax in 3.0.8 ignores those source properties. I believe this is due to Guile commit 54bbe0b2846c5b1aa366c91d679ba724869c8cda, specifically this bit: --=-=-= Content-Type: text/x-patch Content-Disposition: inline (define source-annotation (lambda (x) - (if (syntax? x) - (syntax-sourcev x) - (datum-sourcev x)))) + (and (syntax? x) + (syntax-sourcev x)))) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I=E2=80=99m looking for a reasonable workaround we could apply. Ludo=E2=80=99. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 15:56:26 2022 Received: (at 54003) by debbugs.gnu.org; 15 Feb 2022 20:56:26 +0000 Received: from localhost ([127.0.0.1]:46580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK4s5-0006pC-UP for submit@debbugs.gnu.org; Tue, 15 Feb 2022 15:56:26 -0500 Received: from laurent.telenet-ops.be ([195.130.137.89]:34742) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK4s3-0006p1-Ka for 54003@debbugs.gnu.org; Tue, 15 Feb 2022 15:56:24 -0500 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by laurent.telenet-ops.be with bizsmtp id vYwJ260014UW6Th01YwJwx; Tue, 15 Feb 2022 21:56:21 +0100 Message-ID: <695f30cb2a9857b3f616333b9a9fafb347f60061.camel@telenet.be> Subject: Re: bug#54003: local-file after Guile update From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= , Maxim Cournoyer Date: Tue, 15 Feb 2022 21:56:09 +0100 In-Reply-To: <871r03zzky.fsf@gnu.org> References: <87zgmtqfsf.fsf@posteo.org> <87pmnoyy2s.fsf@gnu.org> <87iltgxgv4.fsf@gmail.com> <871r03zzky.fsf@gnu.org> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-zI4MNXODWb7+4PGw4Kt+" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1644958581; bh=4keJy+mxwfHoFVxjGZTEed0DSqi44feA+bJe1oRqEc4=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=b8ewSwPJowt43HNH+reqaFlfgAbYgYkFQPOTH0qQmH29HjXuR9xv1NzREv0pljsHj JmoZGxMUCpe2TF5z1loP6OCqFc3Bm7JZhWGq9S2IHbIBDNgQ58tFssCE/FDedhLry6 ow+ZLtFOwlgCUxq35aqpe3/47gVq7MHE+zU2t6kpd/VGDsENFNOH50wiMbO6Dw/Tt6 SBEmJB5Dfu9geV+gWEjf9wUihp1tuORsQRtBY3kNlTrCwO5xerEsFRZQdoMAyT4TAG ddmvcz/gJgoJFPXipSSYxz/YwafLzmyB2FpNEgtipjFxy3DTBTeB7TimaDHan+CIGj +U8d6FrDYCRoQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 54003 Cc: 54003@debbugs.gnu.org, Aleksandr Vityazev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-zI4MNXODWb7+4PGw4Kt+ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s schreef op di 15-02-2022 om 20:42 [+0100]: > The problem is that =E2=80=98read=E2=80=99 hash extensions (like those fo= r #~ and #$) > would so far return sexps with associated source properties, but > psyntax > in 3.0.8 ignores those source properties. Read hash extensions can return syntax objects. In a Guile 3.0.8 REPL: (define-module (hat)) (define (hat s-exp) `#(hat ,s-exp)) (read-hash-extend #\^ (lambda (_ port) ;; Use 'read-syntax' instead of a combination of 'read' and ;; 'datum->syntax' for source properties. #`(hat '#,(read-syntax port)))) #^(foo bar) $4 =3D #(hat (foo bar)) Doing something like this in the hash extension for G-exps might work. Greetings, Maxime. --=-zI4MNXODWb7+4PGw4Kt+ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYgwTaRccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7mqMAQC/jn/8Pl4z9evHlkrklOq2FoT9 f5/NdRFkD95zvclh7wEA3tKjMty1uwRhV3jJUmROtDO/I/rasyEY0EtWcgw1hAg= =2BiF -----END PGP SIGNATURE----- --=-zI4MNXODWb7+4PGw4Kt+-- From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 15 17:49:10 2022 Received: (at 54003) by debbugs.gnu.org; 15 Feb 2022 22:49:11 +0000 Received: from localhost ([127.0.0.1]:46717 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK6dC-0001Qw-Oa for submit@debbugs.gnu.org; Tue, 15 Feb 2022 17:49:10 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:60964) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nK6dB-0001Qj-Hm for 54003@debbugs.gnu.org; Tue, 15 Feb 2022 17:49:09 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 198F5B3A; Tue, 15 Feb 2022 23:49:03 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hCzNpslZ4FAT; Tue, 15 Feb 2022 23:49:02 +0100 (CET) Received: from ribbon (91-160-117-201.subs.proxad.net [91.160.117.201]) by hera.aquilenet.fr (Postfix) with ESMTPSA id A63D23F9; Tue, 15 Feb 2022 23:49:01 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#54003: local-file after Guile update References: <87zgmtqfsf.fsf@posteo.org> <87pmnoyy2s.fsf@gnu.org> <87iltgxgv4.fsf@gmail.com> <871r03zzky.fsf@gnu.org> <695f30cb2a9857b3f616333b9a9fafb347f60061.camel@telenet.be> Date: Tue, 15 Feb 2022 23:49:01 +0100 In-Reply-To: <695f30cb2a9857b3f616333b9a9fafb347f60061.camel@telenet.be> (Maxime Devos's message of "Tue, 15 Feb 2022 21:56:09 +0100") Message-ID: <87v8xfycde.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: + X-Spam-Level: * X-Rspamd-Server: hera Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Queue-Id: 198F5B3A X-Spamd-Result: default: False [1.40 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,debbugs.gnu.org,posteo.org]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; SUSPICIOUS_RECIPS(1.50)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 54003 Cc: 54003@debbugs.gnu.org, Maxim Cournoyer , Aleksandr Vityazev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hi, Maxime Devos skribis: > Read hash extensions can return syntax objects. In a Guile 3.0.8 REPL: > > (define-module (hat)) > (define (hat s-exp) > `#(hat ,s-exp)) > > (read-hash-extend #\^ > (lambda (_ port) > ;; Use 'read-syntax' instead of a combination of 'read' and > ;; 'datum->syntax' for source properties. > #`(hat '#,(read-syntax port)))) > > #^(foo bar) > $4 =3D #(hat (foo bar)) > > Doing something like this in the hash extension for G-exps might work. Yes, that=E2=80=99s one possible workaround, but then =E2=80=98read=E2=80= =99 would find itself returning syntax objects as well. We have to see to what extent this is a problem in Guix proper; I think it will at least break =E2=80=98guix style=E2=80=99 and related code. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 16 05:40:25 2022 Received: (at 54003) by debbugs.gnu.org; 16 Feb 2022 10:40:25 +0000 Received: from localhost ([127.0.0.1]:47442 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKHjU-0000UY-RX for submit@debbugs.gnu.org; Wed, 16 Feb 2022 05:40:25 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:49322) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKHjO-0000UC-KE for 54003@debbugs.gnu.org; Wed, 16 Feb 2022 05:40:23 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 8F38BB58; Wed, 16 Feb 2022 11:40:11 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BVlcpuTcbyDV; Wed, 16 Feb 2022 11:40:10 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id E8D9912E; Wed, 16 Feb 2022 11:40:09 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#54003: local-file after Guile update References: <87zgmtqfsf.fsf@posteo.org> <87pmnoyy2s.fsf@gnu.org> <87iltgxgv4.fsf@gmail.com> <871r03zzky.fsf@gnu.org> <695f30cb2a9857b3f616333b9a9fafb347f60061.camel@telenet.be> <87v8xfycde.fsf@gnu.org> Date: Wed, 16 Feb 2022 11:40:09 +0100 In-Reply-To: <87v8xfycde.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Tue, 15 Feb 2022 23:49:01 +0100") Message-ID: <87mtirxfg6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spamd-Bar: + X-Spam-Level: * X-Rspamd-Server: hera Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Queue-Id: 8F38BB58 X-Spamd-Result: default: False [1.40 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_CC(0.00)[debbugs.gnu.org,gmail.com,posteo.org]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[multipart/mixed,text/plain,text/x-patch]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; SUSPICIOUS_RECIPS(1.50)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 54003 Cc: 54003@debbugs.gnu.org, Maxim Cournoyer , Aleksandr Vityazev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! This *ahem* pretty hack works around the problem. I have yet to see if it works with earlier Guile versions. Thoughts? I=E2=80=99d have preferred to avoid monkey-patching but I couldn=E2=80=99t = think of a way to do that. Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-gexp-Preserve-source-location-for-and-read-extension.patch Content-Description: the patch >From 7fd25c6f15f74fb6e45fc3f0db21a110267f262c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 16 Feb 2022 11:27:43 +0100 Subject: [PATCH] gexp: Preserve source location for #~ and #$ read extensions. Read hash extensions preserve source location info as source properties on their result. However, in Guile 3.0.8, that location would be dismissed, leading 'local-file' to fail to resolve file names relative to the source directory. Fixes . Reported by Aleksandr Vityazev . * guix/gexp.scm [read-syntax-redefined?, read-procedure] [read-syntax*]: New variables. [read-ungexp]: Adjust to expect either sexps or syntax objects. [read-gexp]: Call 'read-procedure'. * tests/gexp.scm ("local-file, relative file name, within gexp") ("local-file, relative file name, within gexp, compiled"): New tests. --- guix/gexp.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++----- tests/gexp.scm | 27 +++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index d23683e2a6..e229c1fc8f 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -2176,6 +2176,29 @@ (define log-port ;;; (eval-when (expand load eval) + (define-once read-syntax-redefined? + ;; Have we already redefined 'read-syntax'? This needs to be done on + ;; 3.0.8 only to work around . + (or (not (module-variable the-scm-module 'read-syntax)) + (not (guile-version>? "3.0.7")))) + + (define read-procedure + ;; The current read procedure being called: either 'read' or + ;; 'read-syntax'. + (make-parameter read)) + + (define read-syntax* + ;; Replacement for 'read-syntax'. + (let ((read-syntax (and=> (module-variable the-scm-module 'read-syntax) + variable-ref))) + (lambda (port . rest) + (parameterize ((read-procedure read-syntax)) + (apply read-syntax port rest))))) + + (unless read-syntax-redefined? + (set! (@ (guile) read-syntax) read-syntax*) + (set! read-syntax-redefined? #t)) + (define* (read-ungexp chr port #:optional native?) "Read an 'ungexp' or 'ungexp-splicing' form from PORT. When NATIVE? is true, use 'ungexp-native' and 'ungexp-native-splicing' instead." @@ -2191,22 +2214,39 @@ (define unquote-symbol 'ungexp-native 'ungexp)))) - (match (read port) - ((? symbol? symbol) - (let ((str (symbol->string symbol))) + (define symbolic? + ;; Depending on whether (read-procedure) is 'read' or 'read-syntax', we + ;; might get either sexps or syntax objects. Adjust accordingly. + (if (eq? (read-procedure) read) + symbol? + (compose symbol? syntax->datum))) + + (define symbolic->string + (if (eq? (read-procedure) read) + symbol->string + (compose symbol->string syntax->datum))) + + (define wrapped-symbol + (if (eq? (read-procedure) read) + (lambda (_ symbol) symbol) + datum->syntax)) + + (match ((read-procedure) port) + ((? symbolic? symbol) + (let ((str (symbolic->string symbol))) (match (string-index-right str #\:) (#f `(,unquote-symbol ,symbol)) (colon (let ((name (string->symbol (substring str 0 colon))) (output (substring str (+ colon 1)))) - `(,unquote-symbol ,name ,output)))))) + `(,unquote-symbol ,(wrapped-symbol symbol name) ,output)))))) (x `(,unquote-symbol ,x)))) (define (read-gexp chr port) "Read a 'gexp' form from PORT." - `(gexp ,(read port))) + `(gexp ,((read-procedure) port))) ;; Extend the reader (read-hash-extend #\~ read-gexp) diff --git a/tests/gexp.scm b/tests/gexp.scm index bcda516623..33c0e4bf8c 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -28,6 +28,7 @@ (define-module (test-gexp) #:use-module (guix tests) #:use-module ((guix build utils) #:select (with-directory-excursion)) #:use-module ((guix utils) #:select (call-with-temporary-directory)) + #:use-module ((guix ui) #:select (load*)) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages bootstrap) @@ -222,6 +223,32 @@ (define defmod 'define-module) ;fool Geiser (let ((file (local-file (string-copy "../base32.scm")))) (local-file-absolute-file-name file))))) +(test-assert "local-file, relative file name, within gexp" + (let* ((file (search-path %load-path "guix/base32.scm")) + (interned (add-to-store %store "base32.scm" #f "sha256" file))) + (equal? `(the file is ,interned) + (gexp->sexp* + #~(the file is #$(local-file "../guix/base32.scm")))))) + +(test-assert "local-file, relative file name, within gexp, compiled" + ;; In Guile 3.0.8, everything read by the #~ and #$ read hash extensions + ;; would lack source location info, which in turn would lead + ;; (current-source-directory), called by 'local-file', to return #f, thereby + ;; breaking 'local-file' resolution. See + ;; . + (let ((file (tmpnam))) + (call-with-output-file file + (lambda (port) + (display (string-append "#~(this file is #$(local-file \"" + (basename file) "\" \"t.scm\"))") + port))) + + (let* ((interned (add-to-store %store "t.scm" #f "sha256" file)) + (module (make-fresh-user-module))) + (module-use! module (resolve-interface '(guix gexp))) + (equal? `(this file is ,interned) + (gexp->sexp* (load* file module)))))) + (test-assertm "local-file, #:select?" (mlet* %store-monad ((select? -> (lambda (file stat) (member (basename file) base-commit: 791069737c8c51582cc021438dae32eb0fb7b8e0 -- 2.34.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 16 09:39:31 2022 Received: (at control) by debbugs.gnu.org; 16 Feb 2022 14:39:31 +0000 Received: from localhost ([127.0.0.1]:47823 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKLSt-000177-Jo for submit@debbugs.gnu.org; Wed, 16 Feb 2022 09:39:31 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:56818) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKLSs-00016r-A7 for control@debbugs.gnu.org; Wed, 16 Feb 2022 09:39:30 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 84429B6F for ; Wed, 16 Feb 2022 15:39:23 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YqzI-eUEVjn8 for ; Wed, 16 Feb 2022 15:39:22 +0100 (CET) Received: from ribbon (91-160-117-201.subs.proxad.net [91.160.117.201]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 58507243 for ; Wed, 16 Feb 2022 15:39:22 +0100 (CET) Date: Wed, 16 Feb 2022 15:39:21 +0100 Message-Id: <871r02yixy.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #54003 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spamd-Bar: / Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Server: hera X-Rspamd-Queue-Id: 84429B6F X-Spamd-Result: default: False [0.61 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[control@debbugs.gnu.org]; RCPT_COUNT_ONE(0.00)[1]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; R_MIXED_CHARSET(0.71)[subject]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) retitle 54003 'local-file' fails to resolve relative file names with Guile 3.0.8 quit From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 16 11:00:43 2022 Received: (at 54003) by debbugs.gnu.org; 16 Feb 2022 16:00:43 +0000 Received: from localhost ([127.0.0.1]:49284 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKMjT-0001y8-B3 for submit@debbugs.gnu.org; Wed, 16 Feb 2022 11:00:43 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:59998) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nKMjN-0001xp-Uu for 54003@debbugs.gnu.org; Wed, 16 Feb 2022 11:00:41 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 48F91A27; Wed, 16 Feb 2022 17:00:32 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ezwi7c2fmRhn; Wed, 16 Feb 2022 17:00:31 +0100 (CET) Received: from ribbon (91-160-117-201.subs.proxad.net [91.160.117.201]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 5CE0957B; Wed, 16 Feb 2022 17:00:31 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#54003: local-file after Guile update References: <87zgmtqfsf.fsf@posteo.org> <87pmnoyy2s.fsf@gnu.org> <87iltgxgv4.fsf@gmail.com> <871r03zzky.fsf@gnu.org> <695f30cb2a9857b3f616333b9a9fafb347f60061.camel@telenet.be> <87v8xfycde.fsf@gnu.org> <87mtirxfg6.fsf@gnu.org> Date: Wed, 16 Feb 2022 17:00:30 +0100 In-Reply-To: <87mtirxfg6.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Wed, 16 Feb 2022 11:40:09 +0100") Message-ID: <87sfsivm1t.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spamd-Bar: + X-Spam-Level: * X-Rspamd-Server: hera Authentication-Results: hera.aquilenet.fr; none X-Rspamd-Queue-Id: 48F91A27 X-Spamd-Result: default: False [1.40 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_CC(0.00)[debbugs.gnu.org,gmail.com,posteo.org]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; FREEMAIL_ENVRCPT(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TAGGED_RCPT(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; SUSPICIOUS_RECIPS(1.50)[] X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 54003 Cc: 54003@debbugs.gnu.org, Maxim Cournoyer , Aleksandr Vityazev X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Ludovic Court=C3=A8s skribis: >>>From 7fd25c6f15f74fb6e45fc3f0db21a110267f262c Mon Sep 17 00:00:00 2001 > From: =3D?UTF-8?q?Ludovic=3D20Court=3DC3=3DA8s?=3D > Date: Wed, 16 Feb 2022 11:27:43 +0100 > Subject: [PATCH] gexp: Preserve source location for #~ and #$ read extens= ions. > > Read hash extensions preserve source location info as source properties > on their result. However, in Guile 3.0.8, that location would be > dismissed, leading 'local-file' to fail to resolve file names relative > to the source directory. > > Fixes . > Reported by Aleksandr Vityazev . > > * guix/gexp.scm [read-syntax-redefined?, read-procedure] > [read-syntax*]: New variables. > [read-ungexp]: Adjust to expect either sexps or syntax objects. > [read-gexp]: Call 'read-procedure'. > * tests/gexp.scm ("local-file, relative file name, within gexp") > ("local-file, relative file name, within gexp, compiled"): New tests. Pushed as ca155a20aea25003b03ef5e0420c77e416d5f425 after verifying that it works with 3.0.7. I=E2=80=99m leaving the bug open so we can see what to do on the Guile side. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 07 08:19:11 2022 Received: (at 54003-done) by debbugs.gnu.org; 7 Mar 2022 13:19:11 +0000 Received: from localhost ([127.0.0.1]:52729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nRDGZ-0008RL-BT for submit@debbugs.gnu.org; Mon, 07 Mar 2022 08:19:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:45242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nRDGX-0008R6-Ri for 54003-done@debbugs.gnu.org; Mon, 07 Mar 2022 08:19:10 -0500 Received: from [2001:470:142:3::e] (port=42252 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRDGP-0002J3-Eh; Mon, 07 Mar 2022 08:19:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=o6U/b3z+KTlqyqodMVjTS+T+9uPfRPOowm83QyNP7d4=; b=VxMkQjHuOJYi1oDregJa 5LFWbFbKzMVNQX95HHm3pN2jQbnlhLuICP4fOIL2LedmodcX5Nl5MMqXRRXuPArj01IFO2bc0mX6C WilRej+W5rzNC+uS/F/A/JhET86+918yhHWbxX3hWe3dCnejfNluVPWELvXkPlm5u82XyWpE6ztfA F3R+XdOH1/fqEy6afOh7qZ/dS3dqm7CLj90O5kEVhbo41gIsyfzbVxLr4L8z8S98ZuF0/zbk29QzO jDNWvMMTEJpFXxLmMqqS7XCNqPvrEpOHAwLltEAaoJJBnCu8Pau31rxDyS2ILgTDze75miZ45OJgY TWe01FMGOKtBhw==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:53316 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRDGO-0004qM-RL; Mon, 07 Mar 2022 08:19:01 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#54003: 'local-file' fails to resolve relative file names with Guile 3.0.8 References: <87zgmtqfsf.fsf@posteo.org> <87pmnoyy2s.fsf@gnu.org> <87iltgxgv4.fsf@gmail.com> <871r03zzky.fsf@gnu.org> <695f30cb2a9857b3f616333b9a9fafb347f60061.camel@telenet.be> <87v8xfycde.fsf@gnu.org> <87mtirxfg6.fsf@gnu.org> <87sfsivm1t.fsf@gnu.org> Date: Mon, 07 Mar 2022 14:18:58 +0100 In-Reply-To: <87sfsivm1t.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Wed, 16 Feb 2022 17:00:30 +0100") Message-ID: <87wnh5294t.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54003-done Cc: Aleksandr Vityazev , Maxim Cournoyer , 54003-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Ludovic Court=C3=A8s skribis: > Ludovic Court=C3=A8s skribis: > >>>>>From 7fd25c6f15f74fb6e45fc3f0db21a110267f262c Mon Sep 17 00:00:00 2001 >> From: =3D?UTF-8?q?Ludovic=3D20Court=3DC3=3DA8s?=3D >> Date: Wed, 16 Feb 2022 11:27:43 +0100 >> Subject: [PATCH] gexp: Preserve source location for #~ and #$ read exten= sions. >> >> Read hash extensions preserve source location info as source properties >> on their result. However, in Guile 3.0.8, that location would be >> dismissed, leading 'local-file' to fail to resolve file names relative >> to the source directory. >> >> Fixes . >> Reported by Aleksandr Vityazev . >> >> * guix/gexp.scm [read-syntax-redefined?, read-procedure] >> [read-syntax*]: New variables. >> [read-ungexp]: Adjust to expect either sexps or syntax objects. >> [read-gexp]: Call 'read-procedure'. >> * tests/gexp.scm ("local-file, relative file name, within gexp") >> ("local-file, relative file name, within gexp, compiled"): New tests. > > Pushed as ca155a20aea25003b03ef5e0420c77e416d5f425 after verifying that > it works with 3.0.7. > > I=E2=80=99m leaving the bug open so we can see what to do on the Guile si= de. Fixed in Guile: https://git.savannah.gnu.org/cgit/guile.git/commit/?id=3D347321ece9fc85dd= f74af3c798230b7b187fbce9 Closing! Ludo=E2=80=99. From unknown Tue Aug 19 10:03:12 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 05 Apr 2022 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator