all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Jan Nieuwenhuizen <janneke@gnu.org>
To: guix-devel@gnu.org
Subject: [PATCH 08/11] gnu: libtool: support cross-libtool mingw.
Date: Sun,  8 May 2016 22:42:46 +0200	[thread overview]
Message-ID: <1462740169-15029-9-git-send-email-janneke@gnu.org> (raw)
In-Reply-To: <1462740169-15029-1-git-send-email-janneke@gnu.org>

* gnu/packages/patches/libtool-mingw.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/autotools.scm (libtool): Support cross-libtool for mingw.
---
 gnu/packages/autotools.scm               |  3 ++-
 gnu/packages/patches/libtool-mingw.patch | 40 ++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/libtool-mingw.patch

diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index ddc628d..30c0482 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -272,7 +272,8 @@ Makefile, simplifying the entire process for the developer.")
               (sha256
                (base32
                 "0vxj52zm709125gwv9qqlw02silj8bnjnh4y07arrz60r31ai1vw"))
-              (patches (search-patches "libtool-skip-tests2.patch"))))
+              (patches (search-patches "libtool-skip-tests2.patch"
+                                       "libtool-mingw.patch"))))
     (build-system gnu-build-system)
     (propagated-inputs `(("m4" ,m4)))
     (native-inputs `(("m4" ,m4)
diff --git a/gnu/packages/patches/libtool-mingw.patch b/gnu/packages/patches/libtool-mingw.patch
new file mode 100644
index 0000000..1246bd7
--- /dev/null
+++ b/gnu/packages/patches/libtool-mingw.patch
@@ -0,0 +1,40 @@
+I do not know why stat (and other functions here) get #define'd to their
+underscore variants; I find no apparent need or rationale for that.  However,
+redefining stat also impacts struct stat, breaking lstat's signature.  That is
+fixed be #define'ing lstat along.
+
+Jan Nieuwenhuizen
+
+Upstream status: not yet presented upstream.
+
+--- libtool-2.4.6/build-aux/ltmain.in~	2015-02-06 13:57:56.000000000 +0100
++++ libtool-2.4.6/build-aux/ltmain.in	2016-05-06 07:46:29.425142546 +0200
+@@ -3658,12 +3658,10 @@
+ #if defined _MSC_VER
+ # define setmode _setmode
+-# define stat    _stat
+ # define chmod   _chmod
+ # define getcwd  _getcwd
+ # define putenv  _putenv
+ # define S_IXUSR _S_IEXEC
+ #elif defined __MINGW32__
+ # define setmode _setmode
+-# define stat    _stat
+ # define chmod   _chmod
+ # define getcwd  _getcwd
+--- libtool-2.4.6/build-aux/ltmain.sh~	2015-02-15 17:15:12.000000000 +0100
++++ libtool-2.4.6/build-aux/ltmain.sh	2016-05-06 08:31:53.854857844 +0200
+@@ -5569,6 +5569,5 @@
+ /* portability defines, excluding path handling macros */
+ #if defined _MSC_VER
+ # define setmode _setmode
+-# define stat    _stat
+ # define chmod   _chmod
+ # define getcwd  _getcwd
+@@ -5576,6 +5577,5 @@
+ # define S_IXUSR _S_IEXEC
+ #elif defined __MINGW32__
+ # define setmode _setmode
+-# define stat    _stat
+ # define chmod   _chmod
+ # define getcwd  _getcwd
-- 
2.7.3

  parent reply	other threads:[~2016-05-08 20:43 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-08 20:42 mingw guile.exe cross build patch series v8 Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 01/11] gnu: Add mingw-w64 Jan Nieuwenhuizen
2016-05-09  7:07   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 02/11] gnu: cross-build: i686-w64-mingw32: new cross target Jan Nieuwenhuizen
2016-05-09  7:15   ` Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-17  7:43       ` Andy Wingo
2016-05-17 22:30         ` Jan Nieuwenhuizen
2016-05-18  7:27           ` Andy Wingo
2016-05-19 22:16             ` Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 03/11] gnu: Add function libiconv-if-needed Jan Nieuwenhuizen
2016-05-09  7:16   ` Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-17  7:44       ` Andy Wingo
2016-05-08 20:42 ` [PATCH 04/11] gnu: libunistring: support mingw: propagate libiconv if needed Jan Nieuwenhuizen
2016-05-09  7:17   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 05/11] gnu: gmp: build shared library for mingw Jan Nieuwenhuizen
2016-05-09  7:20   ` Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 06/11] gnu: ncurses: support mingw Jan Nieuwenhuizen
2016-05-09  7:23   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 07/11] gnu: cross-base: Add cross-libtool Jan Nieuwenhuizen
2016-05-09  7:29   ` Andy Wingo
2016-05-14 20:26     ` Jan Nieuwenhuizen
2016-05-17  7:21       ` Andy Wingo
2016-05-08 20:42 ` Jan Nieuwenhuizen [this message]
2016-05-09  7:39   ` [PATCH 08/11] gnu: libtool: support cross-libtool mingw Andy Wingo
2016-05-14 20:27     ` Jan Nieuwenhuizen
2016-05-08 20:42 ` [PATCH 09/11] gnu: ncurses: build mingw with libtool Jan Nieuwenhuizen
2016-05-09  7:44   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 10/11] gnu: readline: support mingw Jan Nieuwenhuizen
2016-05-09  7:44   ` Andy Wingo
2016-05-08 20:42 ` [PATCH 11/11] gnu: guile-2.0: " Jan Nieuwenhuizen
2016-05-09  7:48   ` Andy Wingo
2016-05-14 20:31     ` Jan Nieuwenhuizen
2016-05-17  7:46       ` Andy Wingo

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

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

  git send-email \
    --in-reply-to=1462740169-15029-9-git-send-email-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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.