unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* MinGW guile.exe cross build patch series v10
@ 2016-08-18  6:08 Jan Nieuwenhuizen
  2016-08-18  6:08 ` [PATCH 01/12] gnu: Add gcc-cross-x86_64 packages for testing Jan Nieuwenhuizen
                   ` (11 more replies)
  0 siblings, 12 replies; 21+ messages in thread
From: Jan Nieuwenhuizen @ 2016-08-18  6:08 UTC (permalink / raw)
  To: guix-devel

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---

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2016-12-07 21:39 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-18  6:08 MinGW guile.exe cross build patch series v10 Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 01/12] gnu: Add gcc-cross-x86_64 packages for testing Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 02/12] gnu: Add mingw-w64 Jan Nieuwenhuizen
2016-08-18  7:42   ` Alex Kost
2016-08-18  9:48     ` Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 03/12] gnu: cross-build: i686-w64-mingw32: new cross target Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 04/12] gnu: Add function libiconv-if-needed Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 05/12] gnu: libunistring: support mingw: propagate libiconv if needed Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 06/12] gnu: gmp: build shared library for mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 07/12] gnu: ncurses: support mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 08/12] gnu: cross-base: Add cross-libtool Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 09/12] gnu: libtool: support cross-libtool mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 10/12] gnu: ncurses: build mingw with libtool Jan Nieuwenhuizen
2016-12-07  9:36   ` MinGW cross-compilation support Ludovic Courtès
2016-12-07 10:53     ` Manolis Ragkousis
2016-12-07 21:34       ` Ludovic Courtès
2016-12-07 11:17     ` Chris Marusich
2016-12-07 14:09     ` Jan Nieuwenhuizen
2016-12-07 21:39       ` Ludovic Courtès
2016-08-18  6:08 ` [PATCH 11/12] gnu: readline: support mingw Jan Nieuwenhuizen
2016-08-18  6:08 ` [PATCH 12/12] gnu: guile-2.0: " Jan Nieuwenhuizen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).