diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-09-10 11:57:37 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-09-10 13:10:06 +0200 |
commit | 1cdecf24f5a7d98c9564a12a2932a015cfc31b9e (patch) | |
tree | 60b78b0df8d8d370afddbc6285b4828f76352fc6 /guix/packages.scm | |
parent | e71479747b3610cc7d992f2b38c6fa825ee44ad1 (diff) | |
download | gnu-guix-1cdecf24f5a7d98c9564a12a2932a015cfc31b9e.tar gnu-guix-1cdecf24f5a7d98c9564a12a2932a015cfc31b9e.tar.gz |
gexp: Store compilers in a hash table for O(1) lookup.
* guix/gexp.scm (<gexp-compiler>)[predicate]: Remove.
[type]: New field.
(%gexp-compilers): Turn into a hash table.
(register-compiler!, lookup-compiler, lookup-expander): Adjust
accordingly.
(define-gexp-compiler): Replace 'predicate' by 'record-type'.
(derivation-compiler, local-file-compiler, plain-file-compiler)
(computed-file-compiler, program-file-compiler, scheme-file-compiler)
(file-append-compiler): Adjust accordingly.
* guix/packages.scm (package-compiler, origin-compiler): Likewise.
Diffstat (limited to 'guix/packages.scm')
-rw-r--r-- | guix/packages.scm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/guix/packages.scm b/guix/packages.scm index afbafc70a7..2264c5acef 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -1179,7 +1179,7 @@ cross-compilation target triplet." (define package->cross-derivation (store-lift package-cross-derivation)) -(define-gexp-compiler (package-compiler (package package?) system target) +(define-gexp-compiler (package-compiler (package <package>) system target) ;; Compile PACKAGE to a derivation for SYSTEM, optionally cross-compiled for ;; TARGET. This is used when referring to a package from within a gexp. (if target @@ -1210,7 +1210,7 @@ cross-compilation target triplet." #:modules modules #:guile-for-build guile))))) -(define-gexp-compiler (origin-compiler (origin origin?) system target) +(define-gexp-compiler (origin-compiler (origin <origin>) system target) ;; Compile ORIGIN to a derivation for SYSTEM. This is used when referring ;; to an origin from within a gexp. (origin->derivation origin system)) |