commit:     cf7037d9a1c39a48f60c200cd9272b207af952f8
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 15:43:29 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 15:43:29 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf7037d9

dev-lang/gnat-gpl: Adding version 2017

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 dev-lang/gnat-gpl/Manifest                         |   5 +
 dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch |  14 ++
 dev-lang/gnat-gpl/gnat-gpl-2017.ebuild             | 184 +++++++++++++++++++++
 dev-lang/gnat-gpl/metadata.xml                     |   2 +
 4 files changed, 205 insertions(+)

diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index e5c33083836..373a07ec5c0 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -5,6 +5,11 @@ DIST gcc-4.9.4-patches-1.0.tar.bz2 22266 SHA256 
1a394abb77c75e2212896ad3a62ae1f6
 DIST gcc-4.9.4-piepatches-v0.6.4.tar.bz2 14414 SHA256 
c67b56f04c653e6a19e36abed8391f8b6bed426bfcfc907237cc37f02dbb5015 SHA512 
243fa272ea0e49f700a76508bab3e03bbb353bcb930581b2f87f9a47df5cd3880e29f20b71612b21190adc463849e1e6ac2a38a49c0002b562d93d436f538285
 WHIRLPOOL 
1e5959441210af6f690398efab96444ab11d136238a9428912e8441eaf0509fe6db359a8aca92a446fce0c75777385475af73b20165a8593f9969e3a25fd0b0f
 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-6-gpl-2017-src.tar.gz 88045488 SHA256 
6a45ffc4096772aeb8d7cf673dde8cfb6ae270855fb4ee4b325fe88c61cce90e SHA512 
bf8f786b5ad28a6b7d184fb5263424b7ed62154e308e259b61c24a577efdae56939fbaabc1fc53a0f467702c1e6d8598dc6e489ce074724799130a793cfb146e
 WHIRLPOOL 
8ca2ca993a606b4b0e9182809aca9ece2afa4e49f7510a1fca6e73faa78e8c05c4eaeca605a295dd8851ef57d584c2197dd93ad08f4a7a1b5de117187c5f50aa
+DIST gcc-6.3.0-patches-1.0.tar.bz2 7596 SHA256 
6c880468ffa4ad2b324fd18c762dbdf10646089c8ab865c228e166f99a0e049c SHA512 
8fc96086bd3da3726687ee9d180d3b5d0a7d5814141d44eac8eb01566a783ec780c8fb8f55f75d6e9c9006b2e407e20cdb5835d541b0b66a47dd60642861734c
 WHIRLPOOL 
b1bce94d6134db6c9aff4298c6c7af003e39d0411aa40cd027d2c7d6a256971c81fb557e85b25f1107e9a474cb7d772c3bc62a7a4ab7ff7fca5eeae5b2ca0c94
+DIST gcc-6.3.0.tar.bz2 99903185 SHA256 
f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f SHA512 
234dd9b1bdc9a9c6e352216a7ef4ccadc6c07f156006a59759c5e0e6a69f0abcdc14630eff11e3826dd6ba5933a8faa43043f3d1d62df6bd5ab1e82862f9bf78
 WHIRLPOOL 
e79a2d6ad199396b6efd835c1129d049a367174ea33dd3b6247d72461f117c2dd81e5a66f3dd6427ce500e768d3a4453efd0debcb56966d00c7df79d05d54b7d
 DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 SHA256 
56d7a90c80ff33aa99960b959b281567fd2d9692db78fc07b2827d2905780e20 SHA512 
507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd
 WHIRLPOOL 
e889172210928849cb704562ed2b229748a6779842ebaa29d77dd282a0dee9509b70483bbfe25e0e2137eba00dbb4fedb4ebabfa7639bda25791c52176c50215
+DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 SHA256 
dbc4f1cae33fb82d21284af5ea05746e7240f0c9a9a6313c1b69a75ba7a903e2 SHA512 
5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a
 WHIRLPOOL 
d3e51c9ff876c11c9a15235d8fa7e0d52d36b3e27dc2f2cdaf956511b26d481b25fee25ee7d741c3dcc0334c5f6ce5ec1517d1aac5e1b626dba40d5a1f4299a7
 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
+DIST gnat-gpl-2017-src.tar.gz 8783473 SHA256 
91c9733fb8f8ca4c42fbcab3bc8a54fc83083126f6e6b630c9a36f3654537c29 SHA512 
ae7314a2241107ed4d962dce08306eeb34c5f11e26183935bbb1ccf3a5eb011d6457c1b6fcded93dd0ee9ba31d791971ebe2a5a5a0ae04ff80d87a670325a098
 WHIRLPOOL 
cf98ed36553ddfb54502f10898016017e387920bea074395c3a84047c2ec707734a9299de8c5f2f1931a53e04c24e67f8ab017437fbee7b7a658a6c0bca46e35

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch 
b/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch
new file mode 100644
index 00000000000..e3a68c8f509
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch
@@ -0,0 +1,14 @@
+--- patch/13_all_default-ssp-fix.patch.old     2017-06-14 11:29:28.997183865 
+0200
++++ patch/13_all_default-ssp-fix.patch 2017-06-14 12:24:15.042271863 +0200
+@@ -39,9 +39,9 @@
+   %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
+   %{fsyntax-only:-o %j} %{-param*}\
+ + %{nostdlib:-nostdlib}\
+-  %{coverage:-fprofile-arcs -ftest-coverage}";
++  %{coverage:-fprofile-arcs -ftest-coverage}\
++  %{fdump-scos:-fpreserve-decisions-generic}";
+  
+- static const char *asm_options =
+ --- a/gcc/params.def  2016-03-30 09:47:40.000000000 +0200
+ +++ b/gcc/params.def  2016-09-19 12:56:58.443179039 +0200
+ @@ -673,7 +673,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT,

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild 
b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
new file mode 100644
index 00000000000..0cddce16ba0
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.0"
+#UCLIBC_VER="1.0"
+
+TOOLCHAIN_GCC_PV=6.3.0
+GCC_FILESDIR=${PORTDIR}/sys-devel/gcc/files
+
+inherit eutils toolchain-funcs toolchain
+
+REL=6
+MYP=gcc-${REL}-gpl-${PV}-src
+
+DESCRIPTION="GNAT Ada Compiler - GPL version"
+HOMEPAGE="http://libre.adacore.com/";
+SRC_URI+="
+       http://mirrors.cdn.adacore.com/art/591adbb4c7a4473fcc4532a3
+               -> ${P}-src.tar.gz
+       http://mirrors.cdn.adacore.com/art/591adb65c7a4473fcbb153ac
+               -> ${MYP}.tar.gz
+       http://mirrors.cdn.adacore.com/art/591adbc5c7a4473fcbb153ae
+               -> 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}
+       elibc_glibc? ( >=sys-libs/glibc-2.13 )
+       >=sys-devel/binutils-2.20"
+
+S="${WORKDIR}"/${MYP}
+PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
+FSFGCC=gcc-${TOOLCHAIN_GCC_PV}
+
+pkg_setup() {
+       toolchain_pkg_setup
+       if use bootstrap; then
+               GCC="${WORKDIR}"/gnat-gpl-2014-x86_64-linux-bin/bin/gcc
+       else
+               GCC=${ADA:-$(tc-getCC)}
+       fi
+
+       gnatbase=$(basename ${GCC})
+       gnatpath=$(dirname ${GCC})
+
+       GNATMAKE=${gnatbase/gcc/gnatmake}
+       if [[ ${gnatpath} != "." ]] ; then
+               GNATMAKE="${gnatpath}/${GNATMAKE}"
+       fi
+
+       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 bootstrap use flag"
+               die "ada compiler not available"
+       fi
+}
+
+src_unpack() {
+       GCC_A_FAKEIT="
+               ${P}-src.tar.gz
+               ${MYP}.tar.gz
+               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
+       if use bootstrap; then
+               rm 
gnat-gpl-2014-x86_64-linux-bin/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld || die
+       fi
+}
+
+src_prepare() {
+       sed "${FILESDIR}"/${PN}.xml \
+               -e "s:@VER@:${PV}:g" \
+               > ${P}.xml || die
+
+       CC=${GCC}
+       CXX="${gnatbase/gcc/g++}"
+       GNATBIND="${gnatbase/gcc/gnatbind}"
+       GNATLINK="${gnatbase/gcc/gnatlink}"
+       GNATLS="${gnatbase/gcc/gnatls}"
+       if [[ ${gnatpath} != "." ]] ; then
+               CXX="${gnatpath}/${CXX}"
+               GNATBIND="${gnatpath}/${GNATBIND}"
+               GNATLINK="${gnatpath}/${GNATLINK}"
+               GNATLS="${gnatpath}/${GNATLS}"
+       fi
+       mkdir bin || die
+       ln -s $(which ${GCC}) bin/gcc || die
+       ln -s $(which ${CXX}) bin/g++ || die
+       ln -s $(which ${GNATMAKE}) bin/gnatmake || die
+       ln -s $(which ${GNATBIND}) bin/gnatbind || die
+       ln -s $(which ${GNATLINK}) bin/gnatlink || die
+       ln -s $(which ${GNATLS}) bin/gnatls || die
+
+       echo ${TOOLCHAIN_GCC_PV} > gcc/BASE-VER
+
+       cd ..
+       mv gnat-gpl-${PV}-src/src/ada ${MYP}/gcc/ || die
+       mv gcc-interface-${REL}-gpl-${PV}-src ${MYP}/gcc/ada/gcc-interface || 
die
+       epatch "${FILESDIR}"/${P}-gentoo.patch
+       cd -
+       sed -i \
+               -e 's:$(P) ::g' \
+               gcc/ada/gcc-interface/Makefile.in \
+               || die "sed failed"
+       toolchain_src_prepare
+}
+
+src_configure() {
+       export PATH=${PWD}/bin:${PATH}
+       local trueGCC_BRANCH_VER=${GCC_BRANCH_VER}
+       GCC_BRANCH_VER=$(gcc-version)
+       downgrade_arch_flags
+       GCC_BRANCH_VER=${trueGCC_BRANCH_VER}
+       toolchain_src_configure \
+               --enable-languages=ada \
+               --disable-libada
+}
+
+src_compile() {
+       unset ADAFLAGS
+       toolchain_src_compile
+       gcc_do_make "-C gcc gnatlib-shared"
+       ln -s gcc ../build/prev-gcc || die
+       ln -s x86_64-pc-linux-gnu ../build/prev-x86_64-pc-linux-gnu || die
+       gcc_do_make "-C gcc gnattools"
+}
+
+src_install() {
+       insinto /usr/share/gprconfig
+       doins ${P}.xml
+       toolchain_src_install
+       cd "${D}"${BINPATH}
+       for x in gnat*; do
+               # For some reason, g77 gets made instead of ${CTARGET}-g77...
+               # this should take care of that
+               if [[ -f ${x} ]] ; then
+                       # In case they're hardlinks, clear out the target first
+                       # otherwise the mv below will complain.
+                       rm -f ${CTARGET}-${x}
+                       mv ${x} ${CTARGET}-${x}
+               fi
+
+               if [[ -f ${CTARGET}-${x} ]] ; then
+                       if ! is_crosscompile ; then
+                               ln -sf ${CTARGET}-${x} ${x}
+                               dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+                                       /usr/bin/${x}-${GCC_CONFIG_VER}
+                       fi
+                       # Create versioned symlinks
+                       dosym ${BINPATH#${EPREFIX}}/${CTARGET}-${x} \
+                               /usr/bin/${CTARGET}-${x}-${GCC_CONFIG_VER}
+               fi
+
+               if [[ -f ${CTARGET}-${x}-${GCC_CONFIG_VER} ]] ; then
+                       rm -f ${CTARGET}-${x}-${GCC_CONFIG_VER}
+                       ln -sf ${CTARGET}-${x} ${CTARGET}-${x}-${GCC_CONFIG_VER}
+               fi
+       done
+}
+
+pkg_postinst () {
+       toolchain_pkg_postinst
+       einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
+       einfo "Set the ADA variables to ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV} in"
+       einfo "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, and not supported for updating your system, except for 
ada"
+       einfo "related packages"
+}

diff --git a/dev-lang/gnat-gpl/metadata.xml b/dev-lang/gnat-gpl/metadata.xml
index 0267c7c7849..93f13769808 100644
--- a/dev-lang/gnat-gpl/metadata.xml
+++ b/dev-lang/gnat-gpl/metadata.xml
@@ -15,6 +15,7 @@
                <flag name="go">Build the GCC Go language frontend.</flag>
                <flag name="graphite">Add support for the framework for loop
                        optimizations based on a polyhedral intermediate 
representation</flag>
+               <flag name="mpx">Enable support for Intel Memory Protection 
Extensions (MPX)</flag>
                <flag name="libssp">Build SSP support into a dedicated library 
rather
                        than use the code in the C library (DO NOT ENABLE THIS 
IF YOU DON'T
                        KNOW WHAT IT DOES)</flag>
@@ -28,6 +29,7 @@
                <flag name="regression-test">Run the testsuite and install the 
results
                        (requires FEATURES=test)</flag>
                <flag name="sanitize">Build support for various sanitizer 
functions (ASAN/TSAN/etc...)</flag>
+               <flag name="ssp">Build packages with stack smashing protector 
on by default</flag>
                <flag name="vtv">Build support for virtual table verification 
(a C++ hardening feature)</flag>
        </use>
 </pkgmetadata>

Reply via email to