[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
MinGW guile.exe cross build patch series v10
From: |
Jan Nieuwenhuizen |
Subject: |
MinGW guile.exe cross build patch series v10 |
Date: |
Thu, 18 Aug 2016 08:08:39 +0200 |
Hi!
Recap how to use these patches
$ ./pre-inst-env guix build --target=i686-w64-mingw32 hello
$ guix environment --ad-hoc wine -- wine
/gnu/store/9sx5hhdlyk7b3xdv7120yn5742l9xj2p-hello-2.10/bin/hello.exe
Hello, world!
This series addresses the comments from Alex Kost and features slight rewrites
illustrated by Mark Weaver to avoid triggering any rebuilds. This means now
doing things like, in ncurses
(patches (if (target-mingw?)
(search-patches "ncurses-mingw.patch")
'()))))
I'm not sure if/when/where we want to rewrite such things again in a way you
would write it had we not aimed to avoid rebuilds (i.e., more like the v9
patch set had).
The biggest change wrt v9 that has not been reviewed is #:configure-flags
section in 0007-gnu-ncurses-support-mingw.patch, it would be nice if that
could be simplified.
As suggested by Ludovic, I have tested all individual patches with the
scripts below.
Greetings,
Jan
test
--8<---------------cut here---------------start------------->8---
#! /bin/sh -ex
set -o pipefail;
rm -f test*.log
for i in $(seq 11 -1 0); do
git checkout v10~$i;
git show --no-patch --abbrev-commit --pretty=oneline HEAD > test-$i.log
./TEST |& tee -a test-$i.log
done
--8<---------------cut here---------------end--------------->8---
TEST
--8<---------------cut here---------------start------------->8---
#! /bin/sh -ex
rm -f gnu/packages/cross-base.go gnu/packages/mingw.go
make
./pre-inst-env guix build --quiet gcc-cross-sans-libc-x86_64-linux-gnu
./pre-inst-env guix build --quiet gcc-cross-x86_64-linux-gnu
./pre-inst-env guix build --quiet hello
./pre-inst-env guix build --quiet guile
./pre-inst-env guix build --quiet --target=mips64el-linux-gnuabi64 hello
if grep mingw gnu/packages/cross-base.scm; then
./pre-inst-env guix build --quiet --target=i686-w64-mingw32 hello
fi
if grep mingw gnu/packages/multiprecision.scm; then
./pre-inst-env guix build --quiet --target=i686-w64-mingw32 gmp
fi
if grep mingw gnu/packages/ncurses.scm; then
./pre-inst-env guix build --quiet --target=i686-w64-mingw32 ncurses
fi
if grep mingw gnu/packages/readline.scm; then
./pre-inst-env guix build --quiet --target=i686-w64-mingw32 readline
fi
if grep mingw gnu/packages/guile.scm; then
./pre-inst-env guix build --quiet --target=i686-w64-mingw32 --keep-failed
guile
fi
--8<---------------cut here---------------end--------------->8---
- MinGW guile.exe cross build patch series v10,
Jan Nieuwenhuizen <=
- [PATCH 02/12] gnu: Add mingw-w64., Jan Nieuwenhuizen, 2016/08/18
- [PATCH 03/12] gnu: cross-build: i686-w64-mingw32: new cross target., Jan Nieuwenhuizen, 2016/08/18
- [PATCH 04/12] gnu: Add function libiconv-if-needed., Jan Nieuwenhuizen, 2016/08/18
- [PATCH 05/12] gnu: libunistring: support mingw: propagate libiconv if needed., Jan Nieuwenhuizen, 2016/08/18
- [PATCH 06/12] gnu: gmp: build shared library for mingw., Jan Nieuwenhuizen, 2016/08/18
- [PATCH 08/12] gnu: cross-base: Add cross-libtool., Jan Nieuwenhuizen, 2016/08/18
- [PATCH 09/12] gnu: libtool: support cross-libtool mingw., Jan Nieuwenhuizen, 2016/08/18
- [PATCH 07/12] gnu: ncurses: support mingw., Jan Nieuwenhuizen, 2016/08/18