diff options
author | Leo Famulari <leo@famulari.name> | 2017-07-10 14:37:53 -0400 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2017-07-10 14:37:53 -0400 |
commit | c8eb2b8c60d954b4522555a5c75b7bb4be5a1a4d (patch) | |
tree | 3a2e569e333ccd9265237868d3f46b2d1e04e3a9 /guix/discovery.scm | |
parent | ad22c7185395a52bd90ea5890a2ac79f44d00352 (diff) | |
parent | 61adfb00b11cc16a70e60f19fd8e0a838a3ef608 (diff) | |
download | guix-patches-c8eb2b8c60d954b4522555a5c75b7bb4be5a1a4d.tar guix-patches-c8eb2b8c60d954b4522555a5c75b7bb4be5a1a4d.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/discovery.scm')
-rw-r--r-- | guix/discovery.scm | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/guix/discovery.scm b/guix/discovery.scm index 292df2bd9c..2741725b9d 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -60,11 +60,21 @@ DIRECTORY is not accessible." (case (entry-type absolute properties) ((directory) (append (scheme-files absolute) result)) - ((regular symlink) - ;; XXX: We don't recurse if we find a symlink. + ((regular) (if (string-suffix? ".scm" name) (cons absolute result) result)) + ((symlink) + (cond ((string-suffix? ".scm" name) + (cons absolute result)) + ((stat absolute #f) + => + (match-lambda + (#f result) + ((= stat:type 'directory) + (append (scheme-files absolute) + result)) + (_ result))))) (else result)))))) '() |