(address . guix-patches@gnu.org)
Hi!
I created a mingw32 cross build for guile-2.0 some time ago, expecting
to need it real soon for "work" or for LilyPond. Neither need
materialized until now; but it very soon.
Luckily, I found that Mike Gran did quite some work this spring on their
wip-mingw-guile-2.2 branch; so I packaged the latest snapshot.
Not sure if we want this in Guix -- but here it is. I did a simple test
under wine and it seems to work.
janneke
From 8dd3f24ddc6e14879210c584e6cd746f80f1e052 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Wed, 29 Aug 2018 20:50:13 +0200
Subject: [PATCH] gnu: Add guile-mingw 2.2.3.
* gnu/packages/guile.scm (guile-mingw): New variable.
---
gnu/packages/guile.scm | 50 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 49 insertions(+), 1 deletion(-)
Toggle diff (70 lines)
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index a585dd6dc..34c60b9fd 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -9,7 +9,7 @@
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
;;; Copyright © 2016 Amirouche <amirouche@hypermove.net>
-;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016,2018 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -316,6 +316,54 @@ without requiring the source code to be rewritten.")
(base32
"07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
+(define-public guile-mingw
+ (package
+ (inherit guile-2.2)
+ (version "2.2.3")
+ (name "guile-mingw")
+ (source (origin
+ (inherit (package-source guile-2.2))
+ (uri (string-append "http://git.savannah.gnu.org/cgit/guile.git/snapshot/guile-6d6bc013e1f9db98334e1212295b8be0e39fbf0a.tar.gz"))
+ (sha256
+ (base32
+ "0c1j05gz5kxnxp50h1da6idxq6fiaylx9pqq7mwdiwrb569apvzp"))))
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("libtool" ,libtool)
+ ("flex" ,flex)
+ ("texinfo" ,texinfo)
+ ,@(package-native-inputs guile-2.2)))
+ (arguments
+ `(#:tests? #f
+ ,@(substitute-keyword-arguments (package-arguments guile-2.2)
+ ((#:tests? _) #f)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ ,@(append
+ (if (target-mingw?)
+ '((delete 'sacrifice-elisp-support)
+ (add-after 'bootstrap '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)))
+ '())
+ '((replace 'bootstrap
+ (lambda _
+ (invoke "sh" "autogen.sh")))
+ (add-before 'bootstrap 'patch-/bin/sh
+ (lambda _
+ (substitute* "build-aux/git-version-gen"
+ (("#!/bin/sh") (string-append "#!" (which "sh"))))
+ #t))))))))))) ; ./bootstrap is a directory
+
+
(define-public guile-next
(deprecated-package "guile-next" guile-2.2))
--
2.18.0
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com