summaryrefslogtreecommitdiff
path: root/guix/packages.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-09-10 11:57:37 +0200
committerLudovic Courtès <ludo@gnu.org>2016-09-10 13:10:06 +0200
commit1cdecf24f5a7d98c9564a12a2932a015cfc31b9e (patch)
tree60b78b0df8d8d370afddbc6285b4828f76352fc6 /guix/packages.scm
parente71479747b3610cc7d992f2b38c6fa825ee44ad1 (diff)
downloadgnu-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.scm4
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))