[PATCH] gnu: Add guile-mingw 2.2.3.

DoneSubmitted by Jan Nieuwenhuizen.
Details
2 participants
  • Jan Nieuwenhuizen
  • Ludovic Courtès
Owner
unassigned
Severity
normal
J
J
Jan Nieuwenhuizen wrote on 29 Aug 2018 20:58
(address . guix-patches@gnu.org)
87sh2xrod8.fsf@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
L
L
Ludovic Courtès wrote on 3 Sep 2018 23:15
(name . Jan Nieuwenhuizen)(address . janneke@gnu.org)(address . 32579@debbugs.gnu.org)
87y3ciuvtv.fsf@gnu.org
Hello!

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (7 lines)
> 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.

Does that mean that Guile 2.2.5 will cross-build fine with
--target=i686-w64-mingw32? (I thought this was already the case
actually.)

Ideally Guile fixes that are needed would go to ‘stable-2.2’, and then
Guix would simply package the corrected version.

Thanks,
Ludo’.
J
J
Jan Nieuwenhuizen wrote on 3 Sep 2018 23:43
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 32579@debbugs.gnu.org)
87zhwyfea9.fsf@gnu.org
Ludovic Courtès writes:

Hi!

Toggle quote (11 lines)
>> 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.
>
> Does that mean that Guile 2.2.5 will cross-build fine with
> --target=i686-w64-mingw32? (I thought this was already the case
> actually.)

Well, if wip-mingw-guile-2.2 is merged; yes. I'm not sure why that
hasn't happened yet, so there may be issues?

Toggle quote (3 lines)
> Ideally Guile fixes that are needed would go to ‘stable-2.2’, and then
> Guix would simply package the corrected version.

Sure!

Greetings
janneke

--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 4 Sep 2018 14:12
(name . Jan Nieuwenhuizen)(address . janneke@gnu.org)(address . 32579@debbugs.gnu.org)
87pnxtcvg9.fsf@gnu.org
Howdy!

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (18 lines)
> Ludovic Courtès writes:
>
> 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.
>>
>> Does that mean that Guile 2.2.5 will cross-build fine with
>> --target=i686-w64-mingw32? (I thought this was already the case
>> actually.)
>
> Well, if wip-mingw-guile-2.2 is merged; yes. I'm not sure why that
> hasn't happened yet, so there may be issues?

Good question! It could be that simply nobody took the time to look
into it. If it can be chopped in small sizable chunks, I can take a
look and cherry-pick from it. If you have suggestions or guidance,
that’s very welcome!

Regarding the package itself: I’m inclined to not include it in Guix
proper and instead work on applying the fixes in ‘stable-2.2’.

Is it OK for you?

Thanks,
Ludo’.
J
J
Jan Nieuwenhuizen wrote on 4 Sep 2018 17:10
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 32579@debbugs.gnu.org)
874lf5i9i7.fsf@gnu.org
Ludovic Courtès writes:

Toggle quote (8 lines)
>> Well, if wip-mingw-guile-2.2 is merged; yes. I'm not sure why that
>> hasn't happened yet, so there may be issues?
>
> Good question! It could be that simply nobody took the time to look
> into it. If it can be chopped in small sizable chunks, I can take a
> look and cherry-pick from it. If you have suggestions or guidance,
> that’s very welcome!

It's ~25 commits on top of a 6month old stable-2.2; it rebases without
problems on current stable-2.2.

Toggle quote (5 lines)
> Regarding the package itself: I’m inclined to not include it in Guix
> proper and instead work on applying the fixes in ‘stable-2.2’.
>
> Is it OK for you?

Yes; I wanted to share this packaging. So then this bug would/could
change to: merge wip-mingw-guile-2.2 or something.

janneke

--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 5 Sep 2018 11:52
control message for bug #32579
(address . control@debbugs.gnu.org)
87a7ow8e67.fsf@gnu.org
tags 32579 wontfix
close 32579
?
Your comment

This issue is archived.

To comment on this conversation send email to 32579@debbugs.gnu.org