unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Jan Nieuwenhuizen <janneke@gnu.org>
To: guix-devel@gnu.org
Subject: MinGW guile.exe cross build patch series v10
Date: Thu, 18 Aug 2016 08:08:39 +0200	[thread overview]
Message-ID: <20160818060851.2853-1-janneke@gnu.org> (raw)

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

             reply	other threads:[~2016-08-18  6:09 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-18  6:08 Jan Nieuwenhuizen [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160818060851.2853-1-janneke@gnu.org \
    --to=janneke@gnu.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).