(define config-lookup
(let ((config '(("prefix" . "@prefix@")
+ ("exec_prefix" . "@exec_prefix@")
("datarootdir" . "@datarootdir@")
("guilemoduledir" . "@guilemoduledir@")
+ ("guileobjectdir" . "@guileobjectdir@")
("localedir" . "@localedir@")))
- (var-ref-regexp (make-regexp "\\$\\{([a-z]+)\\}")))
+ (var-ref-regexp (make-regexp "\\$\\{([a-z_]+)\\}")))
(define (expand-var-ref match)
(lookup (match:substring match 1)))
(define (expand str)
(define (maybe-augment-load-paths!)
(unless (getenv "GUIX_UNINSTALLED")
- (let ((module-dir (config-lookup "guilemoduledir")))
+ (let ((module-dir (config-lookup "guilemoduledir"))
+ (object-dir (config-lookup "guileobjectdir")))
(push! module-dir %load-path)
- (push! module-dir %load-compiled-path))
+ (push! object-dir %load-compiled-path))
(let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME")
(and=> (getenv "HOME")
(cut string-append <> "/.config")))
(cut string-append <> "/guix/latest"))))
(when (and updates-dir (file-exists? updates-dir))
+ ;; XXX: Currently 'guix pull' puts both .scm and .go files in
+ ;; UPDATES-DIR.
(push! updates-dir %load-path)
(push! updates-dir %load-compiled-path)))))