You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-lang/nacl-toolchain-newlib/nacl-toolchain-newlib-0_p10...

99 lines
3.0 KiB

# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/nacl-toolchain-newlib/nacl-toolchain-newlib-0_p10915.ebuild,v 1.1 2013/02/28 04:44:35 phajdan.jr Exp $
EAPI="4"
inherit eutils flag-o-matic multilib
BINUTILS_PV="2.20.1"
NEWLIB_PV="1.20.0"
GCC_PV="4.4.3"
NACL_REVISION="${PV##*_p}"
DESCRIPTION="Native Client newlib-based toolchain (only for compiling IRT)"
HOMEPAGE="http://code.google.com/chrome/nativeclient/"
SRC_URI="mirror://gnu/binutils/binutils-${BINUTILS_PV}.tar.bz2
ftp://sources.redhat.com/pub/newlib/newlib-${NEWLIB_PV}.tar.gz
mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.bz2
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/nacltoolchain-buildscripts-r${NACL_REVISION}.tar.gz
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/naclbinutils-${BINUTILS_PV}-r${NACL_REVISION}.patch.bz2
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/naclnewlib-${NEWLIB_PV}-r${NACL_REVISION}.patch.bz2
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/naclgcc-${GCC_PV}-r${NACL_REVISION}.patch.bz2
"
LICENSE="BSD" # NaCl
LICENSE+=" || ( GPL-3 LGPL-3 )" # binutils
LICENSE+=" NEWLIB LIBGLOSS GPL-2" # newlib
LICENSE+=" GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2" # gcc
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
# Stripping with a non-NaCl strip breaks the toolchain, bug #386931.
# Tests are broken, bug #391761.
RESTRICT="strip test"
# Executable section checks do not make sense for newlib, bug #390383.
QA_EXECSTACK="usr/lib*/nacl-toolchain-newlib/*/lib*/*"
RDEPEND="
>=dev-libs/gmp-5.0.2
>=dev-libs/mpfr-3.0.1
>=sys-libs/glibc-2.8
>=sys-libs/zlib-1.1.4
"
DEPEND="${RDEPEND}
app-arch/zip
app-arch/unzip
dev-libs/mpc
dev-libs/cloog-ppl
dev-libs/ppl
>=media-libs/libart_lgpl-2.1
>=sys-apps/texinfo-4.8
>=sys-devel/binutils-2.15.94
>=sys-devel/bison-1.875
>=sys-devel/flex-2.5.4
sys-devel/gnuconfig
sys-devel/m4
>=sys-libs/ncurses-5.2-r2
>=sys-apps/sed-4
sys-devel/gettext
virtual/libiconv
virtual/yacc
"
S="${WORKDIR}"
pkg_setup() {
# Unset variables known to break the build. This is a black-list
# rather than white-list because it's not obvious how to come up
# with a comprehensive white-list.
# For more info see bug #413995.
unset -v LANGUAGES || die
}
src_prepare() {
mkdir SRC || die
mv binutils-${BINUTILS_PV} SRC/binutils || die
mv newlib-${NEWLIB_PV} SRC/newlib || die
mv gcc-${GCC_PV} SRC/gcc || die
cd SRC || die
EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch "${S}"
# Parallel build failure, bug #437048.
epatch "${FILESDIR}/gcc-parallel-build-r0.patch"
}
src_compile() {
strip-flags # See bug #390589.
emake PREFIX="${PWD}/${PN}" CANNED_REVISION="yes" build-with-newlib
}
src_install() {
local TOOLCHAIN_HOME="/usr/$(get_libdir)"
dodir "${TOOLCHAIN_HOME}"
mv "${WORKDIR}/${PN}" "${ED}/${TOOLCHAIN_HOME}" || die
}