diff options
| author | Sergio Pastor Pérez <sergio.pastorperez@gmail.com> | 2025-03-01 19:06:08 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2026-03-20 22:43:11 +0100 |
| commit | cf2a11b9661ed4b83012a533ef355eab4cbc238e (patch) | |
| tree | d94e9959cba36fe3dda55317f9127841564e272c /guix | |
| parent | 2d5ba988d586fdc981cc3ca7195db36b1133def8 (diff) | |
derivations: Let ‘map-derivation’ correctly handle directories.
The 'map-derivation' procedure was trying to process directories as files.
When a derivation had a 'module import' directory as input, it threw an
exception since it tried to open it as a file.
* guix/derivations.scm (map-derivation): In ‘sources’, add
‘file-is-directory?’ case.
* tests/derivations.scm ("map-derivation, modules"): New test.
Fixes: https://issues.guix.gnu.org/71941
Change-Id: I9b766f9aaa03ea9307f73e8abb36bc347af4b5e6
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'guix')
| -rw-r--r-- | guix/derivations.scm | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/guix/derivations.scm b/guix/derivations.scm index ffa69e924c..d84d1a391c 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012-2021, 2023-2024 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> +;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1074,8 +1075,10 @@ recursively." ((_ . replacement) replacement) (#f - (substitute-file source - initial replacements)))) + (if (file-is-directory? source) + source + (substitute-file source + initial replacements))))) (derivation-sources drv))) ;; Now augment the lists of initials and replacements. |
