diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-12-22 17:15:05 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-12-30 01:30:20 +0100 |
commit | 33c3a214a4194a34b534bccf76bdd05db8ee565b (patch) | |
tree | 7de03dfa58af5e9e13e28411bfbf4513a35c3a9d | |
parent | abdb97f8ce5c3577873c0286afab0fa14fcca8fb (diff) | |
download | guix-33c3a214a4194a34b534bccf76bdd05db8ee565b.tar.gz |
gnu: guile@2.2: Fix cross-compilation.
Previously it would fail with: GUILEC language/elisp/boot.go [...] In language/bytecode/spec.scm: 28:15 2 (bytecode->value #vu8(127 69 76 70 1 1 1 255 0 0 0 0 0 0 0 0 3 0 0 0 1 0 0 0 0 0 0 0 52 0 0 0 24 ?) ?) In unknown file: 1 (load-thunk-from-memory #vu8(127 69 76 70 1 1 1 255 0 0 0 0 0 0 0 0 3 0 0 0 1 0 0 0 0 0 0 0 52 0 0 ?)) In ice-9/boot-9.scm: 752:25 0 (dispatch-exception _ _ _) ice-9/boot-9.scm:752:25: In procedure dispatch-exception: In procedure load-thunk-from-memory: No such file or directory * gnu/packages/guile.scm (guile-2.2)[arguments]: New field.
-rw-r--r-- | gnu/packages/guile.scm | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index bc6fcd74eb..cf87688627 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -249,7 +249,24 @@ without requiring the source code to be rewritten.") (search-path-specification (variable "GUILE_LOAD_COMPILED_PATH") (files '("lib/guile/2.2/site-ccache" - "share/guile/site/2.2"))))))) + "share/guile/site/2.2"))))) + + (arguments + (if (%current-target-system) + (substitute-keyword-arguments (package-arguments guile-2.0) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'unpack 'sacrifice-elisp-support + (lambda _ + ;; Cross-compiling language/elisp/boot.el fails, so + ;; sacrifice it. See + ;; <https://git.savannah.gnu.org/cgit/guile.git/commit/?h=stable-2.2&id=988aa29238fca862c7e2cb55f15762a69b4c16ce> + ;; for the upstream fix. + (substitute* "module/Makefile.in" + (("language/elisp/boot\\.el") + "\n")) + #t))))) + (package-arguments guile-2.0))))) (define-public guile-2.2/fixed ;; A package of Guile 2.2 that's rarely changed. It is the one used |