commit:     62994cb5f03d5ebf5f5eac77b34f65cbf6d0daf7
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 19 09:49:13 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Mar 19 09:49:13 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62994cb5

dev-lang/gnat-gpl: Add bootstrap use flag

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-lang/gnat-gpl/Manifest             |  1 +
 dev-lang/gnat-gpl/gnat-gpl-2016.ebuild | 40 +++++++++++++++++++++++-----------
 2 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index fcd03aafe76..e5c33083836 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -6,4 +6,5 @@ DIST gcc-4.9.4-piepatches-v0.6.4.tar.bz2 14414 SHA256 
c67b56f04c653e6a19e36abed8
 DIST gcc-4.9.4-uclibc-patches-1.0.tar.bz2 2618 SHA256 
95f290d0b68114d835515afc424d6096476a45665671784aa71a7a506296e465 SHA512 
5a1f44caa9261f4947101379628143869b31dec67fa28605e8e1f3894d4b7120c3f68ba6deb59da7a74fa906e27ab32cd3767761837dc3dfebc37865d349d6db
 WHIRLPOOL 
e46b08737cfdc235bfb80117e0389f3969167adf59bcba2a0a1094a20eab2b62f0c952dac44781e43957cb1507cd4e80f37bd8aecbc55dbda6382d93b3a4cf94
 DIST gcc-4.9.4.tar.bz2 90097606 SHA256 
6c11d292cd01b294f9f84c9a59c230d80e9e4a47e5c6355f046bb36d4f358092 SHA512 
93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe
 WHIRLPOOL 
e20045126c21a3edea1fa4a2185ec2bc5feec77ddf967ab9d1e8c33322ad4eafe013bfcaab1ed4e35971d3b70ef373ea3585ebb089c9bbf91bbfca1f1da71236
 DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 SHA256 
56d7a90c80ff33aa99960b959b281567fd2d9692db78fc07b2827d2905780e20 SHA512 
507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd
 WHIRLPOOL 
e889172210928849cb704562ed2b229748a6779842ebaa29d77dd282a0dee9509b70483bbfe25e0e2137eba00dbb4fedb4ebabfa7639bda25791c52176c50215
+DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 SHA256 
8063a8c94df556991474af0f6b479868db7fcea0118f49bc7606db36faeab733 SHA512 
5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e
 WHIRLPOOL 
7287a0cf19ea770dfce492c216850eeaa95edd1846ce813fb44542a5681afc9bacb710ad6bc41cb43d56087d08bb93d525808274ee36f45e66a7ca9da39907b2
 DIST gnat-gpl-2016-src.tar.gz 8857249 SHA256 
b23780ab981e3b981c668b79b066ce56bab62a950b83f10c60a2bd5ac0fcb6d5 SHA512 
4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8
 WHIRLPOOL 
b0a7c7ba0de0cc5ca439bba7ed94f597004343b5cecb0b3be76e332e8d90a3e5265dbfee421b1d117f13031082636f364de3f989689562a824dd27a567dd8bd0

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild 
b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
index 2709a1c0990..6fe66cc08c1 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
@@ -35,11 +35,14 @@ SRC_URI+="
        http://mirrors.cdn.adacore.com/art/573992d4c7a447658d00e1db
                -> ${MYP}.tar.gz
        http://mirrors.cdn.adacore.com/art/57399232c7a447658e0aff7d
-               -> gcc-interface-${REL}-gpl-${PV}-src.tar.gz"
+               -> gcc-interface-${REL}-gpl-${PV}-src.tar.gz
+       bootstrap? ( 
http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
+               gnat-gpl-2014-x86_64-linux-bin.tar.gz )"
 
 LICENSE+=" GPL-2 GPL-3"
 SLOT="${TOOLCHAIN_GCC_PV}"
 KEYWORDS="~amd64"
+IUSE="bootstrap"
 
 RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
 DEPEND="${RDEPEND}
@@ -50,13 +53,12 @@ S="${WORKDIR}"/${MYP}
 
 FSFGCC=gcc-${TOOLCHAIN_GCC_PV}
 
-GCC_A_FAKEIT="${P}-src.tar.gz
-       ${MYP}.tar.gz
-       ${FSFGCC}.tar.bz2
-       gcc-interface-${REL}-gpl-${PV}-src.tar.gz"
-
 pkg_setup() {
-       GCC=${ADA:-$(tc-getCC)}
+       if use bootstrap; then
+               GCC="${WORKDIR}"/gnat-gpl-2014-x86_64-linux-bin/bin/gcc
+       else
+               GCC=${ADA:-$(tc-getCC)}
+       fi
        local base=$(basename ${GCC})
        GNATMAKE="${base/gcc/gnatmake}"
        GNATBIND="${base/gcc/gnatbind}"
@@ -65,14 +67,26 @@ pkg_setup() {
                GNATMAKE="${path}/${GNATMAKE}"
                GNATBIND="${path}/${GNATBIND}"
        fi
-       if [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
+       if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
                eerror "You need a gcc compiler that provides the Ada Compiler:"
                eerror "1) use gcc-config to select the right compiler or"
-               eerror "2) set the ADA variable to the c/c++/ada compiler"
+               eerror "2) set the bootstrap use flag"
                die "ada compiler not available"
        fi
 }
 
+src_unpack() {
+       GCC_A_FAKEIT="${P}-src.tar.gz
+               ${MYP}.tar.gz
+               ${FSFGCC}.tar.bz2
+               gcc-interface-${REL}-gpl-${PV}-src.tar.gz"
+       if use bootstrap; then
+               GCC_A_FAKEIT="${GCC_A_FAKEIT} 
gnat-gpl-2014-x86_64-linux-bin.tar.gz"
+       fi
+
+       toolchain_src_unpack
+}
+
 src_prepare() {
        mv ../gnat-gpl-${PV}-src/src/ada gcc/ || die
        mv ../gcc-interface-${REL}-gpl-${PV}-src gcc/ada/gcc-interface || die
@@ -159,10 +173,10 @@ src_install() {
 
 pkg_postinst () {
        toolchain_pkg_postinst
-       einfo "This package provide the GNAT compiler with gcc for ada/c/c++"
+       einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
+       einfo "Set the ADA variables to gcc-${TOOLCHAIN_GCC_PV} in your 
make.conf"
        einfo "Even if the c/c++ compilers are using almost the same patched"
        einfo "source as the sys-devel/gcc package its use is not extensively"
-       einfo "tested."
-       einfo "Using this the c/c++ compiler to update your system, except for 
ada"
-       einfo "related packages, is not supported"
+       einfo "tested, and not supported for updating your system, except for 
ada"
+       einfo "related packages"
 }

Reply via email to