From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: MinGW guile.exe cross build patch series v10 Date: Thu, 18 Aug 2016 08:08:39 +0200 Message-ID: <20160818060851.2853-1-janneke@gnu.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49517) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1baGVv-0008S8-5p for guix-devel@gnu.org; Thu, 18 Aug 2016 02:09:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1baGVq-0008N5-TG for guix-devel@gnu.org; Thu, 18 Aug 2016 02:09:14 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org 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---