diff options
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.ebuild | 74 |
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 +} |