modules: Add more source-less modules.

* guix/modules.scm (%source-less-modules): New variable.
(source-module-dependencies): Use it.
This commit is contained in:
Ludovic Courtès 2017-05-19 10:45:12 +02:00
parent ffa5e0a6d2
commit 7afc2aabdf
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -95,11 +95,16 @@ (define (guix-module-name? name)
(('gnu _ ...) #t)
(_ #f)))
(define %source-less-modules
;; These are modules that have no corresponding source files or a source
;; file different from what you'd expect.
'((system syntax) ;2.0, defined in boot-9
(ice-9 ports internal) ;2.2, defined in (ice-9 ports)
(system syntax internal))) ;2.2, defined in boot-9
(define* (source-module-dependencies module #:optional (load-path %load-path))
"Return the modules used by MODULE by looking at its source code."
;; The (system syntax) module is a special-case because it has no
;; corresponding source file (as of Guile 2.0.)
(if (equal? module '(system syntax))
(if (member module %source-less-modules)
'()
(module-file-dependencies
(search-path load-path