From f3ea876895f19b7460c2d3647578905cc80e0cfe Mon Sep 17 00:00:00 2001 From: Richard Sent Date: Sun, 2 Jun 2024 15:44:27 -0400 Subject: gexp: Add ‘assume-source-relative-file-name’. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/gexp.scm (assume-source-relative-file-name): New macro. (local-file): Use assume-source-relative-file-name to look up a non-literal file relative to the current source directory. * doc/guix.texi (G-expressions): Document it. * tests/gexp.scm ("local-file, non-literal source relative file name"): New test. Signed-off-by: Ludovic Courtès Change-Id: I18573c8c7a6c87e8351b34412f9d26bb23b068b4 --- tests/gexp.scm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'tests') diff --git a/tests/gexp.scm b/tests/gexp.scm index b35bfc920f..ab99e19daa 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -251,6 +251,12 @@ (let ((file (local-file (string-copy "../base32.scm")))) (local-file-absolute-file-name file))))) +(test-equal "local-file, non-literal source relative file name" + (current-filename) + (let ((file (local-file (assume-source-relative-file-name + (string-append "gexp" ".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))) -- cgit 1.4.1