| 1 |
# Copyright 1999-2012 Gentoo Foundation
|
| 2 |
# Distributed under the terms of the GNU General Public License v2
|
| 3 |
# $Header: /var/cvsroot/gentoo-x86/dev-lang/nacl-toolchain-newlib/nacl-toolchain-newlib-0_p9093.ebuild,v 1.3 2012/09/26 10:51:31 ago Exp $
|
| 4 |
|
| 5 |
EAPI="4"
|
| 6 |
|
| 7 |
inherit eutils flag-o-matic multilib
|
| 8 |
|
| 9 |
BINUTILS_PV="2.20.1"
|
| 10 |
NEWLIB_PV="1.20.0"
|
| 11 |
GCC_PV="4.4.3"
|
| 12 |
NACL_REVISION="${PV##*_p}"
|
| 13 |
|
| 14 |
DESCRIPTION="Native Client newlib-based toolchain (only for compiling IRT)"
|
| 15 |
HOMEPAGE="http://code.google.com/chrome/nativeclient/"
|
| 16 |
SRC_URI="mirror://gnu/binutils/binutils-${BINUTILS_PV}.tar.bz2
|
| 17 |
ftp://sources.redhat.com/pub/newlib/newlib-${NEWLIB_PV}.tar.gz
|
| 18 |
mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.bz2
|
| 19 |
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/nacltoolchain-buildscripts-r${NACL_REVISION}.tar.gz
|
| 20 |
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/naclbinutils-${BINUTILS_PV}-r${NACL_REVISION}.patch.bz2
|
| 21 |
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/naclnewlib-${NEWLIB_PV}-r${NACL_REVISION}.patch.bz2
|
| 22 |
http://gsdview.appspot.com/nativeclient-archive2/x86_toolchain/r${NACL_REVISION}/naclgcc-${GCC_PV}-r${NACL_REVISION}.patch.bz2
|
| 23 |
"
|
| 24 |
|
| 25 |
LICENSE="BSD" # NaCl
|
| 26 |
LICENSE+=" || ( GPL-3 LGPL-3 )" # binutils
|
| 27 |
LICENSE+=" NEWLIB LIBGLOSS GPL-2" # newlib
|
| 28 |
LICENSE+=" GPL-3 LGPL-3 || ( GPL-3 libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.2" # gcc
|
| 29 |
|
| 30 |
SLOT="0"
|
| 31 |
KEYWORDS="amd64 x86"
|
| 32 |
IUSE=""
|
| 33 |
|
| 34 |
# Stripping with a non-NaCl strip breaks the toolchain, bug #386931.
|
| 35 |
# Tests are broken, bug #391761.
|
| 36 |
RESTRICT="strip test"
|
| 37 |
|
| 38 |
# Executable section checks do not make sense for newlib, bug #390383.
|
| 39 |
QA_EXECSTACK="usr/lib*/nacl-toolchain-newlib/*/lib*/*"
|
| 40 |
|
| 41 |
RDEPEND="
|
| 42 |
>=dev-libs/gmp-5.0.2
|
| 43 |
>=dev-libs/mpfr-3.0.1
|
| 44 |
>=sys-libs/glibc-2.8
|
| 45 |
>=sys-libs/zlib-1.1.4
|
| 46 |
"
|
| 47 |
DEPEND="${RDEPEND}
|
| 48 |
app-arch/zip
|
| 49 |
app-arch/unzip
|
| 50 |
dev-libs/mpc
|
| 51 |
dev-libs/cloog-ppl
|
| 52 |
dev-libs/ppl
|
| 53 |
>=media-libs/libart_lgpl-2.1
|
| 54 |
>=sys-apps/texinfo-4.8
|
| 55 |
>=sys-devel/binutils-2.15.94
|
| 56 |
>=sys-devel/bison-1.875
|
| 57 |
>=sys-devel/flex-2.5.4
|
| 58 |
sys-devel/gnuconfig
|
| 59 |
sys-devel/m4
|
| 60 |
>=sys-libs/ncurses-5.2-r2
|
| 61 |
>=sys-apps/sed-4
|
| 62 |
sys-devel/gettext
|
| 63 |
virtual/libiconv
|
| 64 |
virtual/yacc
|
| 65 |
"
|
| 66 |
|
| 67 |
S="${WORKDIR}"
|
| 68 |
|
| 69 |
pkg_setup() {
|
| 70 |
# Unset variables known to break the build. This is a black-list
|
| 71 |
# rather than white-list because it's not obvious how to come up
|
| 72 |
# with a comprehensive white-list.
|
| 73 |
# For more info see bug #413995.
|
| 74 |
unset -v LANGUAGES || die
|
| 75 |
}
|
| 76 |
|
| 77 |
src_prepare() {
|
| 78 |
mkdir SRC || die
|
| 79 |
mv binutils-${BINUTILS_PV} SRC/binutils || die
|
| 80 |
mv newlib-${NEWLIB_PV} SRC/newlib || die
|
| 81 |
mv gcc-${GCC_PV} SRC/gcc || die
|
| 82 |
cd SRC || die
|
| 83 |
EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch "${S}"
|
| 84 |
|
| 85 |
# Parallel build failure, bug #437048.
|
| 86 |
epatch "${FILESDIR}/gcc-parallel-build-r0.patch"
|
| 87 |
}
|
| 88 |
|
| 89 |
src_compile() {
|
| 90 |
strip-flags # See bug #390589.
|
| 91 |
emake PREFIX="${PWD}/${PN}" CANNED_REVISION="yes" build-with-newlib
|
| 92 |
}
|
| 93 |
|
| 94 |
src_install() {
|
| 95 |
local TOOLCHAIN_HOME="/usr/$(get_libdir)"
|
| 96 |
dodir "${TOOLCHAIN_HOME}"
|
| 97 |
mv "${WORKDIR}/${PN}" "${ED}/${TOOLCHAIN_HOME}" || die
|
| 98 |
}
|