summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/mingw64-runtime/mingw64-runtime-2.0.8.ebuild')
-rw-r--r--dev-util/mingw64-runtime/mingw64-runtime-2.0.8.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/dev-util/mingw64-runtime/mingw64-runtime-2.0.8.ebuild b/dev-util/mingw64-runtime/mingw64-runtime-2.0.8.ebuild
new file mode 100644
index 000000000000..3b4a867a16d2
--- /dev/null
+++ b/dev-util/mingw64-runtime/mingw64-runtime-2.0.8.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/mingw64-runtime/mingw64-runtime-2.0.8.ebuild,v 1.1 2013/06/20 14:39:13 lu_zero Exp $
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
+ export CTARGET=${CATEGORY/cross-}
+ fi
+fi
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Free Win64 runtime and import library definitions"
+HOMEPAGE="http://mingw-w64.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mingw-w64/mingw-w64-v${PV}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="crosscompile_opts_headers-only"
+RESTRICT="strip"
+
+S=${WORKDIR}/mingw-w64-v${PV}/mingw-w64-crt
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+just_headers() {
+ use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]]
+}
+
+pkg_setup() {
+ if [[ ${CBUILD} == ${CHOST} ]] && [[ ${CHOST} == ${CTARGET} ]] ; then
+ die "Invalid configuration"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ find "${WORKDIR}" -type f -exec touch -r . {} +
+}
+
+src_compile() {
+ # install the local headers as the crt step wants latest
+ pushd ../mingw-w64-headers >/dev/null
+ CHOST=${CTARGET} econf --enable-sdk || die
+ emake install DESTDIR="${WORKDIR}/sysroot" || die
+ popd >/dev/null
+
+ just_headers && return 0
+
+ CHOST=${CTARGET} strip-unsupported-flags
+ append-cppflags -isystem "${WORKDIR}/sysroot/usr/${CTARGET}/include"
+ CHOST=${CTARGET} econf || die
+ emake || die
+}
+
+src_install() {
+ insinto /usr/${CTARGET}/usr/include
+ doins -r "${WORKDIR}"/sysroot/usr/${CTARGET}/include/* || die
+ if is_crosscompile ; then
+ # gcc is configured to look at specific hard-coded paths for mingw #419601
+ dosym usr /usr/${CTARGET}/mingw
+ dosym usr /usr/${CTARGET}/${CTARGET}
+ dosym usr/include /usr/${CTARGET}/sys-include
+ fi
+ just_headers && return 0
+
+ emake install DESTDIR="${D}" || die
+ env -uRESTRICT CHOST=${CTARGET} prepallstrip
+ rm -rf "${D}"/usr/doc
+}