janneke pushed a commit to branch wip-mingw
in repository guile.
commit 2743bb3e70a88962588b36a5f78dcf5faeb34a15
Author: Jan (janneke) Nieuwenhuizen <[email protected]>
AuthorDate: Wed May 11 17:44:10 2022 +0200
REMOVEME guix: guile-mingw: Hardcode file-name-convention.
Build it:
GUIX_PACKAGE_PATH=guix guix build --target=x86_64-w64-mingw32
guile-mingw
Run it:
WINEPATH=$(guix shell wine64 -- winepath -w
\
$(echo $(guix gc -R
\
$(GUIX_PACKAGE_PATH=guix guix build
\
--target=x86_64-w64-mingw32
guile-mingw))) \
| sed 's,$,/bin,g' | tr '\n' ';')
\
guix shell wine64 -- wine
\
$(GUIX_PACKAGE_PATH=guix guix build --target=x86_64-w64-mingw32
\
guile-mingw)/bin/guile.exe
\
-c '(format #t "Hello ~a world!\n" %host-type)'
* guix/guile-mingw-file-name-convention.patch: New file.
* guix/mingw.scm (guile-mingw): Use it.
---
guix/guile-mingw-file-name-convention.patch | 32 +++++++++++++++++++++++++++++
guix/mingw.scm | 3 +++
2 files changed, 35 insertions(+)
diff --git a/guix/guile-mingw-file-name-convention.patch
b/guix/guile-mingw-file-name-convention.patch
new file mode 100644
index 000000000..3bd07f464
--- /dev/null
+++ b/guix/guile-mingw-file-name-convention.patch
@@ -0,0 +1,32 @@
+From c51b9ff375834d4999978a50d6798289d923de53 Mon Sep 17 00:00:00 2001
+From: "Jan (janneke) Nieuwenhuizen" <[email protected]>
+Date: Wed, 11 May 2022 16:30:52 +0200
+Subject: [PATCH] REMOVEME mingw: Hardcode compile-time-file-name-convention to
+ 'mingw.
+
+FIXME Apply this patch only when compiling for mingw.
+ Temporary hack until we have a proper fix to determine
+ compile-time-file-name-convention
+
+* module/ice-9/boot-9.scm (compile-time-file-name-convention): Hardcode
+to 'mingw instead of 'posix.
+---
+ module/ice-9/boot-9.scm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
+index 198a887c1..c024cc095 100644
+--- a/module/ice-9/boot-9.scm
++++ b/module/ice-9/boot-9.scm
+@@ -2062,7 +2062,7 @@ non-locally, that exit determines the continuation."
+
+ (eval-when (eval)
+ (define (compile-time-file-name-convention)
+- (let ((target (or "FIXME" ((@ (system base target) target-type)))))
++ (let ((target (or "mingw" "FIXME" ((@ (system base target)
target-type)))))
+ (cond ((equal? target %host-type)
+ (system-file-name-convention))
+ ((string-contains-ci target "mingw")
+--
+2.35.1
+
diff --git a/guix/mingw.scm b/guix/mingw.scm
index 9294808b0..bc064a19c 100644
--- a/guix/mingw.scm
+++ b/guix/mingw.scm
@@ -84,6 +84,9 @@
(define-public guile-3.0-mingw
(package
(inherit guile-3.0-patched)
+ (source (origin (inherit (package-source guile-3.0-patched))
+ (patches
+ (search-patches
"guile-mingw-file-name-convention.patch"))))
(name "guile-mingw")
(native-inputs
`(("self" ,guile-3.0-patched)