~ruther/guix-local

33c3a214a4194a34b534bccf76bdd05db8ee565b — Ludovic Courtès 8 years ago abdb97f
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.
1 files changed, 18 insertions(+), 1 deletions(-)

M gnu/packages/guile.scm
M gnu/packages/guile.scm => gnu/packages/guile.scm +18 -1
@@ 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