summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-03-20 22:13:27 +0100
committerLudovic Courtès <ludo@gnu.org>2017-03-20 23:26:18 +0100
commit9437fd7399425ed281e1bfc13240288ba9078caa (patch)
tree35112a154d9a5281e2433e65f6ff0a60cc881b41 /scripts
parent6809d9377b0bd2cf71811637663f2ec0cbe531e5 (diff)
build: Install .go files to $libdir/guile/X.Y.
* configure.ac: Define and substitute 'guileobjectdir'. * Makefile.am (nobase_nodist_guilemodule_DATA): Remove $(GOBJECTS). (nobase_nodist_guileobject_DATA): New variable. (guix_install_go_files): Adjust accordingly. (install-data-hook): Likewise. * scripts/guix.in (config-lookup): Add 'exec_prefix' and 'guileobjectdir'. Add '_' in VAR-REF-REGEXP. (maybe-augment-load-paths!): Distinguish OBJECT-DIR from MODULE-DIR.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/guix.in11
1 files changed, 8 insertions, 3 deletions
diff --git a/scripts/guix.in b/scripts/guix.in
index 5d6921dd09d..e20c274242a 100644
--- a/scripts/guix.in
+++ b/scripts/guix.in
@@ -30,10 +30,12 @@
30 30
31 (define config-lookup 31 (define config-lookup
32 (let ((config '(("prefix" . "@prefix@") 32 (let ((config '(("prefix" . "@prefix@")
33 ("exec_prefix" . "@exec_prefix@")
33 ("datarootdir" . "@datarootdir@") 34 ("datarootdir" . "@datarootdir@")
34 ("guilemoduledir" . "@guilemoduledir@") 35 ("guilemoduledir" . "@guilemoduledir@")
36 ("guileobjectdir" . "@guileobjectdir@")
35 ("localedir" . "@localedir@"))) 37 ("localedir" . "@localedir@")))
36 (var-ref-regexp (make-regexp "\\$\\{([a-z]+)\\}"))) 38 (var-ref-regexp (make-regexp "\\$\\{([a-z_]+)\\}")))
37 (define (expand-var-ref match) 39 (define (expand-var-ref match)
38 (lookup (match:substring match 1))) 40 (lookup (match:substring match 1)))
39 (define (expand str) 41 (define (expand str)
@@ -45,14 +47,17 @@
45 47
46 (define (maybe-augment-load-paths!) 48 (define (maybe-augment-load-paths!)
47 (unless (getenv "GUIX_UNINSTALLED") 49 (unless (getenv "GUIX_UNINSTALLED")
48 (let ((module-dir (config-lookup "guilemoduledir"))) 50 (let ((module-dir (config-lookup "guilemoduledir"))
51 (object-dir (config-lookup "guileobjectdir")))
49 (push! module-dir %load-path) 52 (push! module-dir %load-path)
50 (push! module-dir %load-compiled-path)) 53 (push! object-dir %load-compiled-path))
51 (let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME") 54 (let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME")
52 (and=> (getenv "HOME") 55 (and=> (getenv "HOME")
53 (cut string-append <> "/.config"))) 56 (cut string-append <> "/.config")))
54 (cut string-append <> "/guix/latest")))) 57 (cut string-append <> "/guix/latest"))))
55 (when (and updates-dir (file-exists? updates-dir)) 58 (when (and updates-dir (file-exists? updates-dir))
59 ;; XXX: Currently 'guix pull' puts both .scm and .go files in
60 ;; UPDATES-DIR.
56 (push! updates-dir %load-path) 61 (push! updates-dir %load-path)
57 (push! updates-dir %load-compiled-path))))) 62 (push! updates-dir %load-compiled-path)))))
58 63