summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-08-12 04:49:07 +0000
committerMike Frysinger <vapier@gentoo.org>2012-08-12 04:49:07 +0000
commit97013164c4038386c6819057b8551fee9adf9642 (patch)
treebbfd6eb09b4667a47ca027dda110c9f79a119d72
parentAdd alpha/arm keywords since it builds for both. (diff)
downloadgentoo-2-97013164c4038386c6819057b8551fee9adf9642.tar.gz
gentoo-2-97013164c4038386c6819057b8551fee9adf9642.tar.bz2
gentoo-2-97013164c4038386c6819057b8551fee9adf9642.zip
Add patch to fix LDBL_MIN_EXP build failures #395893 by Matthias Dahl.
-rw-r--r--dev-util/mingw-runtime/ChangeLog6
-rw-r--r--dev-util/mingw-runtime/files/mingw-runtime-3.20-LDBL_MIN_EXP.patch145
-rw-r--r--dev-util/mingw-runtime/mingw-runtime-3.20.ebuild25
3 files changed, 162 insertions, 14 deletions
diff --git a/dev-util/mingw-runtime/ChangeLog b/dev-util/mingw-runtime/ChangeLog
index 81b13fae433a..7dd7113d6bf4 100644
--- a/dev-util/mingw-runtime/ChangeLog
+++ b/dev-util/mingw-runtime/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for dev-util/mingw-runtime
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/mingw-runtime/ChangeLog,v 1.23 2012/01/02 07:15:37 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/mingw-runtime/ChangeLog,v 1.24 2012/08/12 04:49:07 vapier Exp $
+
+ 12 Aug 2012; Mike Frysinger <vapier@gentoo.org> mingw-runtime-3.20.ebuild,
+ +files/mingw-runtime-3.20-LDBL_MIN_EXP.patch:
+ Add patch to fix LDBL_MIN_EXP build failures #395893 by Matthias Dahl.
02 Jan 2012; Mike Frysinger <vapier@gentoo.org> mingw-runtime-3.20.ebuild:
Mask until #395893 is sorted out to fix initial builds.
diff --git a/dev-util/mingw-runtime/files/mingw-runtime-3.20-LDBL_MIN_EXP.patch b/dev-util/mingw-runtime/files/mingw-runtime-3.20-LDBL_MIN_EXP.patch
new file mode 100644
index 000000000000..8c409569238d
--- /dev/null
+++ b/dev-util/mingw-runtime/files/mingw-runtime-3.20-LDBL_MIN_EXP.patch
@@ -0,0 +1,145 @@
+http://sourceforge.net/tracker/?func=detail&atid=102435&aid=3441135&group_id=2435
+https://bugs.gentoo.org/395893
+
+????-??-?? Keith Marshall <keithmarshall@...>
+
+ Support pragmatic identification for w32api source directory.
+
+ * aclocal.m4 (MINGW_AC_W32API_SRCDIR): New macro; implement it.
+ * configure.in (W32API_INCLUDE): Assign using MINGW_AC_W32API_SRCDIR.
+ * Makefile.in (W32API_INCLUDE): Prefix -I flag to AC_SUBST value.
+ * mingwex/Makefile.in (W32API_INCLUDE): Likewise.
+ * profile/Makefile.in (W32API_INCLUDE): Likewise.
+
+diff -r 62c176864807 Makefile.in
+--- a/Makefile.in Mon Nov 28 11:32:25 2011 +0000
++++ b/Makefile.in Mon Nov 28 21:18:55 2011 +0000
+@@ -166,9 +166,9 @@ THREAD_DLL_NAME = $(THREAD_DLL)$(THREAD_
+ # Various libraries.
+ LIBM_A=@LIBM_A@
+
+-W32API_INCLUDE = @W32API_INCLUDE@
+-INCLUDES = -I$(srcdir)/include \
+- -I$(srcdir)/../include \
++W32API_INCLUDE = -I @W32API_INCLUDE@
++INCLUDES = -I $(srcdir)/include \
++ -I $(srcdir)/../include \
+ -nostdinc \
+ -iwithprefixbefore include
+ ALL_CFLAGS = $(CFLAGS) $(INCLUDES) $(W32API_INCLUDE)
+diff -r 62c176864807 aclocal.m4
+--- a/aclocal.m4 Mon Nov 28 11:32:25 2011 +0000
++++ b/aclocal.m4 Mon Nov 28 21:18:55 2011 +0000
+@@ -15,7 +15,65 @@ AC_DEFUN([MINGW_AC_CONFIG_SRCDIR],
+ AC_MSG_CHECKING([package version])
+ PACKAGE_VERSION=`awk '$[2] == "'"$1"'" { print $[3] }' ${srcdir}/$2`
+ AC_MSG_RESULT([$PACKAGE_VERSION])dnl
+-]) #MINGW_AC_CONFIG_SRCDIR
++])# MINGW_AC_CONFIG_SRCDIR
++
++# MINGW_AC_W32API_SRCDIR
++# ----------------------
++# Attempt to identify the location of the w32api sources.
++# Accept an explicit location specified by to user, as argument
++# to --with-w32api-srcdir; if unspecified, fall back to standard
++# location relative to ${srcdir}. Identification requires that
++# include/windows.h is present within the nominated directory.
++# This is naive, but AC_CHECK_HEADER cannot be used because
++# the system's w32api headers will interfere.
++#
++AC_DEFUN([MINGW_AC_W32API_SRCDIR],
++[AC_ARG_WITH([w32api-srcdir],
++ [AS_HELP_STRING([--with-w32api-srcdir=DIR],
++ [locate w32api sources in DIR [SRCDIR/../w32api]])
++ ],[],[with_w32api_srcdir=NONE])
++ AS_IF([test "x${with_w32api_srcdir}" = xNONE],
++ [AC_MSG_CHECKING([include path for w32api headers])
++ for with_w32api_srcdir in ${srcdir}/../w32api*; do
++ test -f "${with_w32api_srcdir}/include/windows.h" && break
++ with_w32api_srcdir=NONE
++ done
++ AS_IF([test "x${with_w32api_srcdir}" = xNONE],
++ [AC_MSG_RESULT([none found])
++ AC_MSG_RESULT
++ AC_MSG_WARN([source directory containing include/windows.h not found])
++ AC_MSG_WARN([ensure w32api sources are installed at \${top_srcdir}/../w32api*])
++ AC_MSG_WARN([or use --with-w32api-srcdir=DIR to specify an alternative])
++ ],
++ [case "${with_w32api_srcdir}" in
++ "${srcdir}/"*) with_w32api_srcdir="`echo "${with_w32api_srcdir}"dnl
++ | sed s,"^${srcdir}/",'${top_srcdir}/',`" ;;
++ esac
++ AC_MSG_RESULT([${with_w32api_srcdir}/include])
++ ])
++ ],
++ [AC_MSG_CHECKING([for windows.h in ${with_w32api_srcdir}/include])
++ AS_IF([test -f "${with_w32api_srcdir}/include/windows.h"],
++ [AC_MSG_RESULT([yes])
++ case "${with_w32api_srcdir}" in /*) ;;
++ *) with_w32api_srcdir='${top_builddir}/'"${with_w32api_srcdir}" ;;
++ esac
++ ],
++ [AC_MSG_RESULT([no])
++ AC_MSG_RESULT
++ AC_MSG_WARN([the nominated directory, ${with_w32api_srcdir}])
++ AC_MSG_WARN([does not appear to contain valid w32api source code])
++ AC_MSG_WARN([(file '${with_w32api_srcdir}/include/windows.h' is not present)])
++ with_w32api_srcdir=NONE
++ ])
++ ])
++ AS_IF([test "x${with_w32api_srcdir}" = xNONE],
++ [AC_MSG_WARN([please correct this omission and run configure again])
++ AC_MSG_RESULT
++ AC_MSG_ERROR([unable to continue until this issue is resolved])
++ ])
++ W32API_INCLUDE="${with_w32api_srcdir}/include"
++])# MINGW_AC_W32API_SRCDIR
+
+ # The following is copied from `no-executables.m4', in the top
+ # `src/config' directory.
+diff -r 62c176864807 configure.in
+--- a/configure.in Mon Nov 28 11:32:25 2011 +0000
++++ b/configure.in Mon Nov 28 21:18:55 2011 +0000
+@@ -44,7 +44,7 @@ AC_CHECK_TOOL([WINDRES], [windres], [win
+
+ AC_SUBST([NO_CYGWIN])
+ AC_SUBST([HEADER_SUBDIR])
+-AC_SUBST([W32API_INCLUDE], ['-I ${top_srcdir}/../w32api/include'])
++AC_SUBST([W32API_INCLUDE], [MINGW_AC_W32API_SRCDIR])
+
+ # The following are used by the GCC profiling hooks...
+ #
+diff -r 62c176864807 mingwex/Makefile.in
+--- a/mingwex/Makefile.in Mon Nov 28 11:32:25 2011 +0000
++++ b/mingwex/Makefile.in Mon Nov 28 21:18:55 2011 +0000
+@@ -126,10 +126,9 @@ ifdef NO_CYGWIN
+ override CC := ${NO_CYGWIN} $(firstword $(filter-out ${NO_CYGWIN},${CC}))
+ endif
+
+-W32API_INCLUDE = @W32API_INCLUDE@
+-INCLUDES = -I${srcdir} -I${top_srcdir} -I${top_srcdir}/include \
+- -nostdinc \
+- -iwithprefixbefore include
++W32API_INCLUDE = -I @W32API_INCLUDE@
++INCLUDES = -I ${srcdir} -I ${top_srcdir} -I ${top_srcdir}/include \
++ -nostdinc -isystem @W32API_INCLUDE@ -iwithprefixbefore include
+ ALL_CFLAGS = $(CFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(INCLUDES) $(W32API_INCLUDE)
+ ALL_CXXFLAGS = $(CXXFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(INCLUDES) -nostdinc++ $(W32API_INCLUDE)
+
+diff -r 62c176864807 profile/Makefile.in
+--- a/profile/Makefile.in Mon Nov 28 11:32:25 2011 +0000
++++ b/profile/Makefile.in Mon Nov 28 21:18:55 2011 +0000
+@@ -65,10 +65,9 @@ THREAD_DLL = @THREAD_DLL@
+ THREAD_DLL_VERSION = 10
+ THREAD_DLL_NAME = $(THREAD_DLL)$(THREAD_DLL_VERSION).dll
+
+-W32API_INCLUDE = @W32API_INCLUDE@
+-INCLUDES = -I${srcdir} -I${top_srcdir}/include \
+- -nostdinc \
+- -iwithprefixbefore include
++W32API_INCLUDE = -I @W32API_INCLUDE@
++INCLUDES = -I ${srcdir} -I ${top_srcdir}/include \
++ -nostdinc -iwithprefixbefore include
+ ALL_CFLAGS = $(CFLAGS) $(INCLUDES) $(W32API_INCLUDE)
+ ALL_CXXFLAGS = $(CXXFLAGS) $(INCLUDES) -nostdinc++ $(W32API_INCLUDE)
+
diff --git a/dev-util/mingw-runtime/mingw-runtime-3.20.ebuild b/dev-util/mingw-runtime/mingw-runtime-3.20.ebuild
index 6c9c9e76df2c..bffc787abac8 100644
--- a/dev-util/mingw-runtime/mingw-runtime-3.20.ebuild
+++ b/dev-util/mingw-runtime/mingw-runtime-3.20.ebuild
@@ -1,6 +1,8 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/mingw-runtime/mingw-runtime-3.20.ebuild,v 1.2 2012/01/02 07:15:37 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/mingw-runtime/mingw-runtime-3.20.ebuild,v 1.3 2012/08/12 04:49:07 vapier Exp $
+
+EAPI="4"
export CBUILD=${CBUILD:-${CHOST}}
export CTARGET=${CTARGET:-${CHOST}}
@@ -10,7 +12,7 @@ if [[ ${CTARGET} == ${CHOST} ]] ; then
fi
fi
-inherit flag-o-matic
+inherit flag-o-matic autotools
MY_P="mingwrt-${PV}-mingw32"
DESCRIPTION="Free Win32 runtime and import library definitions"
@@ -20,8 +22,7 @@ SRC_URI="mirror://sourceforge/mingw/${MY_P}-src.tar.gz"
LICENSE="BSD"
SLOT="0"
-# See https://bugs.gentoo.org/395893
-#KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="crosscompile_opts_headers-only"
RESTRICT="strip"
@@ -40,23 +41,21 @@ pkg_setup() {
fi
}
-src_unpack() {
- unpack ${A}
- cd "${S}"
- sed -i \
- -e "/W32API_INCLUDE/s:=.*:='-I /usr/${CTARGET}/usr/include':" \
- $(find -name configure) || die
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-3.20-LDBL_MIN_EXP.patch #395893
+ eautoconf
sed -i \
-e '/^install_dlls_host:/s:$: install-dirs:' \
Makefile.in || die # fix parallel install
}
-src_compile() {
+src_configure() {
just_headers && return 0
CHOST=${CTARGET} strip-unsupported-flags
- econf --host=${CTARGET} || die
- emake || die
+ econf \
+ --host=${CTARGET} \
+ --with-w32api-srcdir="/usr/${CTARGET}/usr"
}
src_install() {