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.
This commit is contained in:
Ludovic Courtès 2017-12-22 17:15:05 +01:00
parent abdb97f8ce
commit 33c3a214a4
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 18 additions and 1 deletions

View File

@ -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