* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2017-03-11 20:46 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2017-03-11 20:46 UTC (permalink / raw
To: gentoo-commits
commit: 0e7760adbc27b6b5670263587ce1f623e569db65
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 11 20:46:03 2017 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Mar 11 20:46:03 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e7760ad
dev-lang/gnat-gpl: Add gnat-gpl-2016
Package-Manager: portage-2.3.3
dev-lang/gnat-gpl/Manifest | 9 ++
dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch | 87 ++++++++++++
dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch | 39 ++++++
dev-lang/gnat-gpl/gnat-gpl-2016.ebuild | 149 +++++++++++++++++++++
dev-lang/gnat-gpl/metadata.xml | 33 +++++
5 files changed, 317 insertions(+)
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
new file mode 100644
index 00000000000..fcd03aafe76
--- /dev/null
+++ b/dev-lang/gnat-gpl/Manifest
@@ -0,0 +1,9 @@
+DIST ecj-4.5.jar 1470676 SHA256 98fd128f1d374d9e42fd9d4836bdd249c6d511ebc6c0df17fbc1b9df96c3d781 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e WHIRLPOOL db54206cfd5eba935e707b8d36ebac40f3c4ed3c1f06ede794288cbdd9c7da9d90c0898e8c98b383af276ea4c1b40c861ebd9e1fc1dce712946184321339d3ad
+DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 SHA256 f6c7cb99beead66dd4d06f7004c5731a9360330cbe878ce79792c618e008eed2 SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517 WHIRLPOOL 8a1e45aad9d306cb19de93c63b5854a97e629d90852feb6861dcfca042b6257705304fc13ad65655a4cb227d36b83fc6063648c94f270821574ee0e85307094e
+DIST gcc-4.9-gpl-2016-src.tar.gz 76361760 SHA256 285bc949c689e5f2ea8c036c599080bd7cd51ac7b5eeffb645a0f685e1e091ab SHA512 da1e26b4dbbe0ec634eab4e64d1cdb2632300c24f0885bc72fb57edba6ce29ab92b04eaedd8f8077ea623f1ef1428f53616e8c8d6630328d9790d968b60c67cf WHIRLPOOL d16a49baa883b15e88c6f6b771be1a1a8b461c44c395f937b25d5e61efab2b3698bfa242dc14241907ee00802fc2d2c28b55f171d66287e706cf11c3efba6f58
+DIST gcc-4.9.4-patches-1.0.tar.bz2 22266 SHA256 1a394abb77c75e2212896ad3a62ae1f6bfd3660b1c176c608298733c740a00e4 SHA512 cc2407221f858bad38b57d31f635314f91794293695e23d255685d8bec20b9db19c7dc76bbf5e8184c2ba0ccb530958b09bae4d8a402ca27cadf463f46bfb995 WHIRLPOOL c74e5273c718020b591911d589d8eff5e366c902c479e566f966577efcbf424b19669a54843b2ddd60c51c81fd2851bc86aec1c647482b4789a518f01dd62561
+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-interface-4.9-gpl-2016-src.tar.gz 339037 SHA256 56d7a90c80ff33aa99960b959b281567fd2d9692db78fc07b2827d2905780e20 SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd WHIRLPOOL e889172210928849cb704562ed2b229748a6779842ebaa29d77dd282a0dee9509b70483bbfe25e0e2137eba00dbb4fedb4ebabfa7639bda25791c52176c50215
+DIST gnat-gpl-2016-src.tar.gz 8857249 SHA256 b23780ab981e3b981c668b79b066ce56bab62a950b83f10c60a2bd5ac0fcb6d5 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8 WHIRLPOOL b0a7c7ba0de0cc5ca439bba7ed94f597004343b5cecb0b3be76e332e8d90a3e5265dbfee421b1d117f13031082636f364de3f989689562a824dd27a567dd8bd0
diff --git a/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch b/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch
new file mode 100644
index 00000000000..a58926836e4
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch
@@ -0,0 +1,87 @@
+2013-08-22 Magnus Granberg <zorry@gentoo.org>
+
+ * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var
+ and move the process of the user specifed specs.
+
+ This allows us to easily control pie/ssp defaults with gcc-config profiles.
+ Original patch by Rob Holland
+ Extended to support multiple entries separated by ':' by Kevin F. Quinn
+ Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
+ Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg
+
+--- gcc-4.8-20130210/gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100
++++ gcc-4.8-20130210-work/gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200
+@@ -6427,6 +6428,48 @@ main (int argc, char **argv)
+ do_option_spec (option_default_specs[i].name,
+ option_default_specs[i].spec);
+
++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
++ /* Add specs listed in GCC_SPECS. Note; in the process of separating
++ * each spec listed, the string is overwritten at token boundaries
++ * (':') with '\0', an effect of strtok_r().
++ */
++ specs_file = getenv ("GCC_SPECS");
++ if (specs_file && (strlen(specs_file) > 0))
++ {
++ char *spec, *saveptr;
++ for (spec=strtok_r(specs_file,":",&saveptr);
++ spec!=NULL;
++ spec=strtok_r(NULL,":",&saveptr))
++ {
++ struct user_specs *user = (struct user_specs *)
++ xmalloc (sizeof (struct user_specs));
++ user->next = (struct user_specs *) 0;
++ user->filename = spec;
++ if (user_specs_tail)
++ user_specs_tail->next = user;
++ else
++ user_specs_head = user;
++ user_specs_tail = user;
++ }
++ }
++#endif
++ /* Process any user specified specs in the order given on the command
++ * line. */
++ for (uptr = user_specs_head; uptr; uptr = uptr->next)
++ {
++ char *filename = find_a_file (&startfile_prefixes, uptr->filename,
++ R_OK, true);
++ read_specs (filename ? filename : uptr->filename, false, true);
++ }
++ /* Process any user self specs. */
++ {
++ struct spec_list *sl;
++ for (sl = specs; sl; sl = sl->next)
++ if (sl->name_len == sizeof "self_spec" - 1
++ && !strcmp (sl->name, "self_spec"))
++ do_self_spec (*sl->ptr_spec);
++ }
++
+ /* Process DRIVER_SELF_SPECS, adding any new options to the end
+ of the command line. */
+
+@@ -6535,24 +6578,6 @@ main (int argc, char **argv)
+ PREFIX_PRIORITY_LAST, 0, 1);
+ }
+
+- /* Process any user specified specs in the order given on the command
+- line. */
+- for (uptr = user_specs_head; uptr; uptr = uptr->next)
+- {
+- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
+- R_OK, true);
+- read_specs (filename ? filename : uptr->filename, false, true);
+- }
+-
+- /* Process any user self specs. */
+- {
+- struct spec_list *sl;
+- for (sl = specs; sl; sl = sl->next)
+- if (sl->name_len == sizeof "self_spec" - 1
+- && !strcmp (sl->name, "self_spec"))
+- do_self_spec (*sl->ptr_spec);
+- }
+-
+ if (compare_debug)
+ {
+ enum save_temps save;
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch
new file mode 100644
index 00000000000..b715a006c21
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch
@@ -0,0 +1,39 @@
+--- patch/09_all_default-ssp.patch.old 2017-01-08 16:14:09.377755019 +0100
++++ patch/09_all_default-ssp.patch 2017-01-08 16:15:48.792764201 +0100
+@@ -78,14 +78,14 @@
+ optimizing. The default value is 32.
+ --- a/gcc/cp/lang-specs.h
+ +++ b/gcc/cp/lang-specs.h
+-@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see
++@@ -46,7 +46,7 @@
+ %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\
+ cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\
+ %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+ - %(cc1_options) %2\
+ + %(cc1_options) %(ssp_default) %2\
+- %{!fsyntax-only:%{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\
+- %W{o*:--output-pch=%*}}%V}}}}",
++ %{!fsyntax-only:-o %g.s %{!fdump-ada-spec*:%{!fdump-xref*:%{!o*:--output-pch=%i.gch}\
++ %W{o*:--output-pch=%*}}}%V}}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ @@ -57,11 +57,11 @@ along with GCC; see the file COPYING3. If not see
+ %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\
+@@ -151,14 +151,14 @@
+ /* This contains cpp options which are not passed when the preprocessor
+ output will be used by another program. */
+ @@ -1015,9 +1024,9 @@ static const struct compiler default_compilers[] =
+- %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
++ %{save-temps*|fdump-scos|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
+ %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\
+ cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \
+ - %(cc1_options)}\
+ + %(cc1_options) %(ssp_default)}\
+- %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\
+-- cc1 %(cpp_unique_options) %(cc1_options)}}}\
+-+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\
++ %{!save-temps*:%{!fdump-scos:%{!traditional-cpp:%{!no-integrated-cpp:\
++- cc1 %(cpp_unique_options) %(cc1_options)}}}}\
+++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1},
+ {"-",
+ "%{!E:%e-E or -x required when input is from standard input}\
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
new file mode 100644
index 00000000000..284966919b4
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PATCH_VER="1.0"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.4"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+TOOLCHAIN_GCC_PV=4.9.4
+GCC_FILESDIR=${PORTDIR}/sys-devel/gcc/files
+
+inherit eutils toolchain-funcs toolchain
+
+REL=4.9
+MYP=gcc-${REL}-gpl-${PV}-src
+
+DESCRIPTION="GNAT Ada Compiler - GPL version"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI+=" mirror://libreadacore/57399304c7a447658e0aff7f -> ${P}-src.tar.gz
+ mirror://libreadacore/573992d4c7a447658d00e1db -> ${MYP}.tar.gz
+ mirror://libreadacore/57399232c7a447658e0aff7d
+ -> gcc-interface-${REL}-gpl-${PV}-src.tar.gz"
+
+LICENSE+=" GPL-2 GPL-3"
+SLOT="${PV}"
+KEYWORDS="~amd64"
+
+RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=sys-devel/binutils-2.20"
+
+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)}
+ local gnatmake=${GCC/gcc/gnatmake}
+ if [[ -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"
+ die "ada compiler not available"
+ fi
+}
+
+src_prepare() {
+ mv ../gnat-gpl-${PV}-src/src/ada gcc/ || die
+ mv ../gcc-interface-${REL}-gpl-${PV}-src gcc/ada/gcc-interface || die
+
+ mv ../${FSFGCC}/gcc/doc/gcc.info gcc/doc/ || die
+ mv ../${FSFGCC}/libjava . || die
+ rm -r ../${FSFGCC} || die
+
+ cd ..
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ rm patch/10_all_default-fortify-source.patch
+ rm piepatch/34_all_gcc48_config_i386.patch
+ cd -
+
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+ #Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+ [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+}
+
+src_configure() {
+ export PATH=/opt/gnat-gpl-bin-2016/bin:${PATH}
+ export PATH=/opt/gnat-gpl-bin-2015/bin:${PATH}
+ export PATH=/opt/gnat-gpl-bin-2014/bin:${PATH}
+ 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() {
+ 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 package provide the GNAT compiler with gcc for ada/c/c++"
+ 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"
+}
diff --git a/dev-lang/gnat-gpl/metadata.xml b/dev-lang/gnat-gpl/metadata.xml
new file mode 100644
index 00000000000..0267c7c7849
--- /dev/null
+++ b/dev-lang/gnat-gpl/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="awt">Useful only when building GCJ, this enables Abstract
+ Window Toolkit (AWT) peer support on top of GTK+</flag>
+ <flag name="cilk">Support the Cilk Plus language (C/C++ based languages for parallel programming)</flag>
+ <flag name="fixed-point">Enable fixed-point arithmetic support for MIPS
+ targets in gcc (Warning: significantly increases compile time!)
+ </flag>
+ <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="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>
+ <flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag>
+ <flag name="nossp">Disable SSP support (NOT FOR GENERAL USE)</flag>
+ <flag name="objc">Build support for the Objective C code language
+ </flag>
+ <flag name="objc++">Build support for the Objective C++ language</flag>
+ <flag name="objc-gc">Build support for the Objective C code language
+ Garbage Collector</flag>
+ <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="vtv">Build support for virtual table verification (a C++ hardening feature)</flag>
+ </use>
+</pkgmetadata>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2017-03-26 19:04 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2017-03-26 19:04 UTC (permalink / raw
To: gentoo-commits
commit: 042ca1aaa5c3982e07abf08d66ec4f54c781f8d1
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 26 19:04:29 2017 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Mar 26 19:04:29 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=042ca1aa
dev-lang/gnat-gpl: Add compiler description for gprbuild
Package-Manager: Portage-2.3.3, Repoman-2.3.1
dev-lang/gnat-gpl/files/gnat-gpl.xml | 93 ++++++++++++++++++++++++++++++++++
dev-lang/gnat-gpl/gnat-gpl-2016.ebuild | 4 ++
2 files changed, 97 insertions(+)
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl.xml b/dev-lang/gnat-gpl/files/gnat-gpl.xml
new file mode 100644
index 00000000000..7a50db7ccd9
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0" ?>
+<gprconfig>
+ <compiler_description>
+ <name>GNAT-@VER@</name>
+ <executable prefix="1">gnatmake-@VER@</executable>
+ <version>
+ <external>${PREFIX}gnatls-@VER@ -v --version</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+ </version>
+ <languages>Ada</languages>
+ <variable name="gcc_version">
+ <external>${PREFIX}gcc-@VER@ -v</external>
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+ </variable>
+ <runtimes default="default,kernel,native">
+ <directory group="default" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory>
+ <directory group="default" contents="^rts-">\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory>
+ <directory group="2" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory>
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
+ </runtimes>
+ <target>
+ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+
+ <configuration>
+ <compilers>
+ <compiler name="GNAT-@VER@" />
+ </compilers>
+ <config>
+ package Naming is
+ for Spec_Suffix ("Ada") use ".ads";
+ for Body_Suffix ("Ada") use ".adb";
+ for Casing use "lowercase";
+ for Dot_Replacement use "-";
+ end Naming;
+
+ package Compiler is
+ for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@";
+ for Language_Kind ("Ada") use "unit_based";
+ for Dependency_Kind ("Ada") use "ALI_File";
+ for Leading_Required_Switches ("Ada") use
+ ("-c", "-x", "ada", "-gnatA")
+ & Compiler'Leading_Required_Switches ("Ada");
+ for Mapping_File_Switches ("Ada") use ("-gnatem=");
+ for Mapping_Spec_Suffix ("Ada") use "%s";
+ for Mapping_Body_Suffix ("Ada") use "%b";
+ for Config_File_Switches ("Ada") use ("-gnatec=");
+ for Include_Path_File ("Ada") use "ADA_PRJ_INCLUDE_FILE";
+ for Multi_Unit_Switches ("Ada") use ("-gnateI");
+ for Multi_Unit_Object_Separator ("Ada") use "~";
+ for Config_Body_File_Name ("Ada") use
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"");";
+ for Config_Spec_File_Name ("Ada") use
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"");";
+ for Config_Body_File_Name_Index ("Ada") use
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"", Index => %i);";
+ for Config_Spec_File_Name_Index ("Ada") use
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"", Index => %i);";
+ for Config_Body_File_Name_Pattern ("Ada") use
+ "pragma Source_File_Name_Project " &
+ " (Body_File_Name => ""*%b""," &
+ " Casing => %c," &
+ " Dot_Replacement => ""%d"");";
+ for Config_Spec_File_Name_Pattern ("Ada") use
+ "pragma Source_File_Name_Project " &
+ " (Spec_File_Name => ""*%s""," &
+ " Casing => %c," &
+ " Dot_Replacement => ""%d"");";
+ for Config_File_Unique ("Ada") use "False";
+ for PIC_Option ("Ada") use ("-fPIC");
+ end Compiler;
+
+ package Binder is
+ for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE";
+ for Driver ("Ada") use
+ "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind";
+ end Binder;
+
+ package Clean is
+ for Source_Artifact_Extensions ("Ada")
+ use (".dg", ".rep", ".stdout", ".stderr");
+ for Object_Artifact_Extensions ("Ada") use (".s", ".ci", ".gcno");
+ end Clean;
+
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
+ for Runtime_Library_Dir ("Ada") use "${RUNTIME_DIR(ada)}/adalib/";
+ for Runtime_Source_Dirs ("Ada") use ("${RUNTIME_DIR(ada)}/adainclude/");
+ for Library_Encapsulated_Supported use "true";
+ </config>
+ </configuration>
+</gprconfig>
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
index 83c7683a0e4..eb9823fe98b 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
@@ -89,6 +89,8 @@ src_unpack() {
}
src_prepare() {
+ sed -e "s:@VER@:${TOOLCHAIN_GCC_PV}:g" "${FILESDIR}"/${PN}.xml > ${P}.xml
+
mv ../gnat-gpl-${PV}-src/src/ada gcc/ || die
mv ../gcc-interface-${REL}-gpl-${PV}-src gcc/ada/gcc-interface || die
@@ -146,6 +148,8 @@ src_compile() {
}
src_install() {
+ insinto /usr/share/gprconfig
+ doins ${P}.xml
toolchain_src_install
cd "${D}"${BINPATH}
for x in gnat*; do
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2017-06-17 15:43 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2017-06-17 15:43 UTC (permalink / raw
To: gentoo-commits
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>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2018-11-17 14:08 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2018-11-17 14:08 UTC (permalink / raw
To: gentoo-commits
commit: 8bcf1b9a496f83e7e3fc9f98c6fad7d50f202867
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 17 14:07:47 2018 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Nov 17 14:08:24 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8bcf1b9a
dev-lang/gnat-gpl: Add Finalization_Size su gnatcoll-2017 can build
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
.../files/gnat-gpl-2016-finalization.patch | 220 +++++++++++++++++++++
dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild | 216 ++++++++++++++++++++
2 files changed, 436 insertions(+)
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch
new file mode 100644
index 00000000000..44503ae6b72
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch
@@ -0,0 +1,220 @@
+--- a/gcc/ada/exp_attr.adb 2018-11-16 20:23:21.775906196 +0100
++++ b/gcc/ada/exp_attr.adb 2018-11-16 20:25:57.418211404 +0100
+@@ -3121,6 +3121,121 @@
+ Analyze_And_Resolve (N, Standard_String);
+ end External_Tag;
+
++ -----------------------
++ -- Finalization_Size --
++ -----------------------
++
++ when Attribute_Finalization_Size => Finalization_Size : declare
++ function Calculate_Header_Size return Node_Id;
++ -- Generate a runtime call to calculate the size of the hidden header
++ -- along with any added padding which would precede a heap-allocated
++ -- object of the prefix type.
++
++ ---------------------------
++ -- Calculate_Header_Size --
++ ---------------------------
++
++ function Calculate_Header_Size return Node_Id is
++ begin
++ -- Generate:
++ -- Universal_Integer
++ -- (Header_Size_With_Padding (Pref'Alignment))
++
++ return
++ Convert_To (Universal_Integer,
++ Make_Function_Call (Loc,
++ Name =>
++ New_Occurrence_Of (RTE (RE_Header_Size_With_Padding), Loc),
++
++ Parameter_Associations => New_List (
++ Make_Attribute_Reference (Loc,
++ Prefix => New_Copy_Tree (Pref),
++ Attribute_Name => Name_Alignment))));
++ end Calculate_Header_Size;
++
++ -- Local variables
++
++ Size : Entity_Id;
++
++ -- Start of Finalization_Size
++
++ begin
++ -- An object of a class-wide type first requires a runtime check to
++ -- determine whether it is actually controlled or not. Depending on
++ -- the outcome of this check, the Finalization_Size of the object
++ -- may be zero or some positive value.
++ --
++ -- In this scenario, Pref'Finalization_Size is expanded into
++ --
++ -- Size : Integer := 0;
++ --
++ -- if Needs_Finalization (Pref'Tag) then
++ -- Size :=
++ -- Universal_Integer
++ -- (Header_Size_With_Padding (Pref'Alignment));
++ -- end if;
++ --
++ -- and the attribute reference is replaced with a reference to Size.
++
++ if Is_Class_Wide_Type (Ptyp) then
++ Size := Make_Temporary (Loc, 'S');
++
++ Insert_Actions (N, New_List (
++
++ -- Generate:
++ -- Size : Integer := 0;
++
++ Make_Object_Declaration (Loc,
++ Defining_Identifier => Size,
++ Object_Definition =>
++ New_Occurrence_Of (Standard_Integer, Loc),
++ Expression => Make_Integer_Literal (Loc, 0)),
++
++ -- Generate:
++ -- if Needs_Finalization (Pref'Tag) then
++ -- Size :=
++ -- Universal_Integer
++ -- (Header_Size_With_Padding (Pref'Alignment));
++ -- end if;
++
++ Make_If_Statement (Loc,
++ Condition =>
++ Make_Function_Call (Loc,
++ Name =>
++ New_Occurrence_Of (RTE (RE_Needs_Finalization), Loc),
++
++ Parameter_Associations => New_List (
++ Make_Attribute_Reference (Loc,
++ Prefix => New_Copy_Tree (Pref),
++ Attribute_Name => Name_Tag))),
++
++ Then_Statements => New_List (
++ Make_Assignment_Statement (Loc,
++ Name => New_Occurrence_Of (Size, Loc),
++ Expression => Calculate_Header_Size)))));
++
++ Rewrite (N, New_Occurrence_Of (Size, Loc));
++
++ -- The prefix is known to be controlled at compile time. Calculate
++ -- Finalization_Size by calling function Header_Size_With_Padding.
++
++ elsif Needs_Finalization (Ptyp) then
++ Rewrite (N, Calculate_Header_Size);
++
++ -- The prefix is not an object with controlled parts, so its
++ -- Finalization_Size is zero.
++
++ else
++ Rewrite (N, Make_Integer_Literal (Loc, 0));
++ end if;
++
++ -- Due to cases where the entity type of the attribute is already
++ -- resolved the rewritten N must get re-resolved to its appropriate
++ -- type.
++
++ Analyze_And_Resolve (N, Typ);
++ end Finalization_Size;
++
+ -----------
+ -- First --
+ -----------
+--- a/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200
+--- b/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200
+@@ -884,6 +884,7 @@
+ Name_Exponent : constant Name_Id := N + $;
+ Name_External_Tag : constant Name_Id := N + $;
+ Name_Fast_Math : constant Name_Id := N + $; -- GNAT
++ Name_Finalization_Size : constant Name_Id := N + $; -- GNAT
+ Name_First : constant Name_Id := N + $;
+ Name_First_Bit : constant Name_Id := N + $;
+ Name_First_Valid : constant Name_Id := N + $; -- Ada 12
+@@ -1523,6 +1524,7 @@
+ Attribute_Exponent,
+ Attribute_External_Tag,
+ Attribute_Fast_Math,
++ Attribute_Finalization_Size,
+ Attribute_First,
+ Attribute_First_Bit,
+ Attribute_First_Valid,
+--- a/gcc/ada/sem_attr.ads 2018-11-16 21:35:46.821279875 +0100
++++ b/gcc/ada/sem_attr.ads 2018-11-16 21:36:00.028057464 +0100
+@@ -242,6 +242,16 @@
+ -- enumeration value. Constraint_Error is raised if no value of the
+ -- enumeration type corresponds to the given integer value.
+
++ -----------------------
++ -- Finalization_Size --
++ -----------------------
++
++ Attribute_Finalization_Size => True,
++ -- For every object or non-class-wide-type, Finalization_Size returns
++ -- the size of the hidden header used for finalization purposes as if
++ -- the object or type was allocated on the heap. The size of the header
++ -- does take into account any extra padding due to alignment issues.
++
+ -----------------
+ -- Fixed_Value --
+ -----------------
+--- a/gcc/ada/sem_attr.adb 2018-11-16 21:35:49.698231429 +0100
++++ b/gcc/ada/sem_attr.adb 2018-11-16 21:36:00.028057464 +0100
+@@ -3828,6 +3828,42 @@
+ Check_Standard_Prefix;
+ Rewrite (N, New_Occurrence_Of (Boolean_Literals (Fast_Math), Loc));
+
++ -----------------------
++ -- Finalization_Size --
++ -----------------------
++
++ when Attribute_Finalization_Size =>
++ Check_E0;
++
++ -- The prefix denotes an object
++
++ if Is_Object_Reference (P) then
++ Check_Object_Reference (P);
++
++ -- The prefix denotes a type
++
++ elsif Is_Entity_Name (P) and then Is_Type (Entity (P)) then
++ Check_Type;
++ Check_Not_Incomplete_Type;
++
++ -- Attribute 'Finalization_Size is not defined for class-wide
++ -- types because it is not possible to know statically whether
++ -- a definite type will have controlled components or not.
++
++ if Is_Class_Wide_Type (Etype (P)) then
++ Error_Attr_P
++ ("prefix of % attribute cannot denote a class-wide type");
++ end if;
++
++ -- The prefix denotes an illegal construct
++
++ else
++ Error_Attr_P
++ ("prefix of % attribute must be a definite type or an object");
++ end if;
++
++ Set_Etype (N, Universal_Integer);
++
+ -----------
+ -- First --
+ -----------
+@@ -8264,6 +8300,13 @@
+ Fold_Uint (N,
+ Eval_Fat.Exponent (P_Base_Type, Expr_Value_R (E1)), Static);
+
++ -----------------------
++ -- Finalization_Size --
++ -----------------------
++
++ when Attribute_Finalization_Size =>
++ null;
++
+ -----------
+ -- First --
+ -----------
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild
new file mode 100644
index 00000000000..8474d085bc1
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016-r2.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.3"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.4"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+TOOLCHAIN_GCC_PV=4.9.4
+
+inherit eutils toolchain-funcs toolchain
+
+REL=4.9
+MYP=gcc-${REL}-gpl-${PV}-src
+BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
+BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
+
+DESCRIPTION="GNAT Ada Compiler - GPL version"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI+="
+ http://mirrors.cdn.adacore.com/art/57399304c7a447658e0aff7f
+ -> ${P}-src.tar.gz
+ 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
+ bootstrap? (
+ amd64? (
+ http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
+ ${BTSTRP_AMD64}.tar.gz
+ )
+ x86? (
+ http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
+ ${BTSTRP_X86}.tar.gz
+ )
+ )"
+
+LICENSE+=" GPL-2 GPL-3"
+SLOT="${TOOLCHAIN_GCC_PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="bootstrap"
+
+RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=sys-devel/binutils-2.20"
+
+PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+
+S="${WORKDIR}"/${MYP}
+
+FSFGCC=gcc-${TOOLCHAIN_GCC_PV}
+
+pkg_setup() {
+ toolchain_pkg_setup
+
+ if use amd64; then
+ BTSTRP=${BTSTRP_AMD64}
+ else
+ BTSTRP=${BTSTRP_X86}
+ fi
+ if use bootstrap; then
+ GCC="${WORKDIR}"/${BTSTRP}/bin/gcc
+ else
+ GCC=${ADA:-$(tc-getCC)}
+ fi
+ CC=${GCC}
+ local base=$(basename ${GCC})
+ CXX="${base/gcc/g++}"
+ GNATMAKE="${base/gcc/gnatmake}"
+ GNATBIND="${base/gcc/gnatbind}"
+ if [[ ${base} != ${GCC} ]] ; then
+ local path=$(dirname ${GCC})
+ GNATMAKE="${path}/${GNATMAKE}"
+ GNATBIND="${path}/${GNATBIND}"
+ CXX="${path}/${CXX}"
+ fi
+}
+
+src_unpack() {
+ 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
+
+ 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} ${BTSTRP}.tar.gz"
+ fi
+
+ toolchain_src_unpack
+ if use bootstrap; then
+ rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die
+ fi
+}
+
+src_prepare() {
+ mv ../${P}-src/src/ada gcc/ || die
+ mv ../gcc-interface-${REL}-gpl-${PV}-src gcc/ada/gcc-interface || die
+
+ sed -i \
+ -e "s:gnatmake:${GNATMAKE}:g" \
+ gcc/ada/Make-generated.in || die "sed failed"
+
+ sed -i \
+ -e "/xoscons/s:gnatmake:${GNATMAKE}:g" \
+ gcc/ada/gcc-interface/Makefile.in || die "sed failed"
+
+ mv ../${FSFGCC}/gcc/doc/gcc.info gcc/doc/ || die
+ mv ../${FSFGCC}/libjava . || die
+ rm -r ../${FSFGCC} || die
+
+ cd ..
+ epatch "${FILESDIR}"/${P}-gentoo.patch
+ rm patch/10_all_default-fortify-source.patch
+ rm piepatch/34_all_gcc48_config_i386.patch
+ cd -
+
+ if has_version '<sys-libs/glibc-2.12' ; then
+ ewarn "Your host glibc is too old; disabling automatic fortify."
+ ewarn "Please rebuild gcc after upgrading to >=glibc-2.12 #362315"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+ fi
+
+ # Bug 638056
+ epatch "${FILESDIR}/${P}-bootstrap.patch"
+ # add Finalization_Size Attribute
+ epatch "${FILESDIR}/${P}-finalization.patch"
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+ # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+ [[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+}
+
+src_configure() {
+ 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 \
+ CC=${GCC} \
+ GNATBIND=${GNATBIND} \
+ GNATMAKE=yes
+}
+
+src_compile() {
+ unset ADAFLAGS
+ toolchain_src_compile
+ gcc_do_make "-C gcc gnatlib-shared"
+ ln -s gcc ../build/prev-gcc || die
+ ln -s ${CHOST} ../build/prev-${CHOST} || die
+ gcc_do_make "-C gcc gnattools"
+}
+
+src_install() {
+ 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 "The compiler binary is gcc-${TOOLCHAIN_GCC_PV}"
+ 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"
+}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2019-05-29 17:08 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2019-05-29 17:08 UTC (permalink / raw
To: gentoo-commits
commit: e1ac7f0a4e9e536eeb0f74a2a15263c57f5e7171
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Wed May 29 17:08:10 2019 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Wed May 29 17:08:10 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e1ac7f0a
dev-lang/gnat-gpl: Bump to 2019
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11
dev-lang/gnat-gpl/Manifest | 5 +
dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch | 24 +++
dev-lang/gnat-gpl/gnat-gpl-2019.ebuild | 190 +++++++++++++++++++++
dev-lang/gnat-gpl/metadata.xml | 1 +
4 files changed, 220 insertions(+)
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 03df4fc9209..aaff3cf14dd 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -11,9 +11,14 @@ DIST gcc-6.3.0.tar.bz2 99903185 BLAKE2B 3dc1e965afcad665d659fbb953978ef297ddbdd4
DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab863302943588226d5b599dfa1acf0e495111be1c581f4e130f911c312916669c4f2707eec5218601db090d5060248b2fe481d710 SHA512 79f06deca5753251de82a703f4a9698c117706290df779291a5405edb06f1c225d1d2416bda0e67dcd87cc308bf79504e89d4bd8e22aa0eedfbf06d88bc37f33
DIST gcc-7.3.0-patches-1.8.tar.bz2 14435 BLAKE2B 3e5c1abad56ccd6e0aa7739cb7cd651ec07ef9bf25be554343f1fa0444f251de41bde5fe6f8bb9e85e3f7a5cf8b2b83515647d93d62f338fa7843581fcaff2f8 SHA512 4d9d76b3d47f1af4f23cae15278d165b22065a3d1512323d1e31b5e0cb47e4654733dc43fa11906a3bd18e827621c9a5ec62b73563f8e5ead663c29f7d0d7345
DIST gcc-7.3.0.tar.xz 62462388 BLAKE2B dc8f132b21bd0543c3d9dd17557038aafe65675aa73c540954234a3c972b4c31c939149bd50183d072ab6c8d16919e19daeaaffd619ce2ccd62dbdf9a5bb3302 SHA512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4
+DIST gcc-8-2019-20190517-18C94-src.tar.gz 95266904 BLAKE2B 8dc1983317517e9d7221ffd3d1c804367c98a7142b3964e6382ee037da2cfebc9e044640549c77905646727e97ba108445b00f36916a65c326e862230608a7dc SHA512 50933d7eab927a2d118e01c5cb85336203544f6fbc3f245a148e952320d6f8452fcd5d355019a144e8af03357d129bb145397506db0a62fddf1f746b6671e7fc
+DIST gcc-8.3.0-patches-1.1.tar.bz2 14430 BLAKE2B c702fbdb18c3c952cdb9adead3a193c948d78a4cb4b041beaa51a06b907fd357bb10a2f8d47d55978ebb08590fd7c9a6ec3df8e7a007173e20a55d251d947c72 SHA512 9e2284f597bab6f78ca24ead358b1f50495aefc9e0a416ace24c94723db7b2fb82d48426876138d00c82bcaf9c2f8b4674885988448dcf16dee1b764face9af4
+DIST gcc-8.3.0.tar.xz 63694700 BLAKE2B 71df2ff5bd6874d57519c2e9af6b22152c8c4d7fab906a5f427b41bc4e8e742127592a8684120d9d3c9ce6241439531850be08ec0a4f29dbfdee95435655fdca SHA512 1811337ae3add9680cec64968a2509d085b6dc5b6783fc1e8c295e3e47416196fd1a3ad8dfe7e10be2276b4f62c357659ce2902f239f60a8648548231b4b5802
DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 BLAKE2B 8218ea3a3e3ddb11febb5f2fbcfad69ec25251d3ed6bf4f9c70dc9b3720cc2fb3310d704db40bd0c749be89b17a2b3766ddae3d6158313480073856057ad4bcf SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd
DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 BLAKE2B 934c6dac491abece9a6868d28fe9d2a6a1109238fe25c9b94abe83dfc22a1085489f0e0384626da0a3abeebe7537c5715df49a7e2d40577c96eb7ac897b84fd8 SHA512 5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a
DIST gcc-interface-7-gpl-2018-src.tar.gz 339461 BLAKE2B e6009c0b287b1cd8f055226e6919c12f2ba08f8ef24101608691b05b70a7fb0ca708e2ecd126499fb84a126436d3841f1a13be0b6d3442ef3bd3871391f8e1d5 SHA512 9dc942a39dd983778756be2951b4c66ac3835bf456dc389f80ffbafdacde4ebcb80720ac9eca8fef8734d6d052c061db37c88dba642d85add10940164d120381
+DIST gcc-interface-8-2019-20190510-18F59-src.tar.gz 352408 BLAKE2B d08867737fd5a2e8aa87e61efff47757b587baff67810eb9193fe72b68578bcb130f0c1491599588d130663d908b9c6c9a604b1352aeccb79e9dd3bfef4b9f61 SHA512 c4a048725517e674cc43b7b72e3b1bdb4f1cf9d81fe3b84dd177a2fda8c7af11c3135e883072b640c8aa351625f49573727c859064683e8b5f096fdbd3990c38
+DIST gnat-2019-20190517-18C94-src.tar.gz 8950160 BLAKE2B ce6b8ca0687b3d345db72a8b3216e67ba706cfd7f6ca98f45ec2ae356d9c5b3a42a4b3aac5e89285871157ddaca3aff1b970934de88f8190d84aff060bf1fc4b SHA512 4d57c97fc1f3d5274e0c4ffa536ec056e7c3f1619010affff008cd07a0bfa638d18fee1705a5dd76f12d168baef85677cc34ef40f5e52fd5292ac886c0d4c5ee
DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2
DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e
DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch
new file mode 100644
index 00000000000..0be27c59996
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2019-gentoo.patch
@@ -0,0 +1,24 @@
+--- a/patch/15_all_disable-systemtap-switch.patch 2019-05-28 09:25:40.556754095 +0200
++++ b/patch/15_all_disable-systemtap-switch.patch 2019-05-28 09:25:00.731426775 +0200
+@@ -42,8 +42,8 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+--#line 18451 "configure"
+-+#line 18453 "configure"
++-#line 18497 "configure"
+++#line 18499 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -51,8 +51,8 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+--#line 18557 "configure"
+-+#line 18559 "configure"
++-#line 18603 "configure"
+++#line 18605 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild
new file mode 100644
index 00000000000..9299976fecf
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2019.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PATCH_VER="1.1"
+
+TOOLCHAIN_GCC_PV=8.3.0
+GCC_CONFIG_VER=8.3.1
+
+inherit toolchain-funcs toolchain
+
+REL=8
+MYP=gcc-${REL}-${PV}-20190517-18C94-src
+GNATDIR=gnat-${PV}-20190517-18C94-src
+INTFDIR=gcc-interface-${REL}-${PV}-20190510-18F59-src
+BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
+BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
+
+DESCRIPTION="GNAT Ada Compiler - GPL version"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI+="
+ http://mirrors.cdn.adacore.com/art/5cdf865331e87aa2cdf16b49
+ -> ${GNATDIR}.tar.gz
+ http://mirrors.cdn.adacore.com/art/5cdf8a0731e87a8f1d425049
+ -> ${MYP}.tar.gz
+ http://mirrors.cdn.adacore.com/art/5cdf87cc31e87aa2cdf16b50
+ -> ${INTFDIR}.tar.gz
+ bootstrap? (
+ amd64? (
+ http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
+ ${BTSTRP_AMD64}.tar.gz
+ )
+ x86? (
+ http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
+ ${BTSTRP_X86}.tar.gz
+ )
+ )"
+
+LICENSE+=" GPL-2 GPL-3"
+KEYWORDS="~amd64 ~x86"
+IUSE="+bootstrap"
+
+RDEPEND="!sys-devel/gcc:${GCC_CONFIG_VER}"
+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 )"
+
+pkg_setup() {
+ toolchain_pkg_setup
+
+ if use amd64; then
+ BTSTRP=${BTSTRP_AMD64}
+ else
+ BTSTRP=${BTSTRP_X86}
+ fi
+
+ if use bootstrap; then
+ GCC="${WORKDIR}"/${BTSTRP}/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
+}
+
+src_unpack() {
+ 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
+
+ GCC_A_FAKEIT="
+ ${MYP}.tar.gz
+ ${GNATDIR}.tar.gz
+ ${INTFDIR}.tar.gz"
+ if use bootstrap; then
+ GCC_A_FAKEIT="${GCC_A_FAKEIT} ${BTSTRP}.tar.gz"
+ fi
+
+ toolchain_src_unpack
+ if use bootstrap; then
+ rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die
+ fi
+}
+
+src_prepare() {
+ 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
+
+ cd ..
+ mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die
+ mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die
+ eapply "${FILESDIR}"/${P}-gentoo.patch
+ rm patch/27*.patch || die
+ rm patch/28*.patch || die
+ 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 ${CHOST} ../build/prev-${CHOST} || die
+ gcc_do_make "-C gcc gnattools"
+}
+
+src_install() {
+ 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 () {
+ einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
+ einfo "The compiler binary is ${CTARGET}-gcc-${GCC_CONFIG_VER}"
+ 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 1e906679715..f71e77219b2 100644
--- a/dev-lang/gnat-gpl/metadata.xml
+++ b/dev-lang/gnat-gpl/metadata.xml
@@ -29,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="systemtap">enable systemtap static probe points</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>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2019-11-20 19:38 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2019-11-20 19:38 UTC (permalink / raw
To: gentoo-commits
commit: 4f83cb57122c4d8882f8ba5a3732fae1ee930b86
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 19:38:11 2019 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 19:38:11 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f83cb57
dev-lang/gnat-gpl: EAPI 6
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
dev-lang/gnat-gpl/Manifest | 1 +
dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch | 8 +-
dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild | 211 +++++++++++++++++++++
3 files changed, 216 insertions(+), 4 deletions(-)
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index aaff3cf14dd..f2cf1d8e665 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -2,6 +2,7 @@ DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07
DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 BLAKE2B 96f5ba2028bc6e0ef71e009857c37118a54d13d30de24d697c85e5772f9f2b7853615648cf2e4ee81d8385f6518c64588c0b56675c00f95ef39fca2a808f075e SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517
DIST gcc-4.9-gpl-2016-src.tar.gz 76361760 BLAKE2B 681aac3dd2e04110f58637cc9fe1eb663ce55af16a929a446eb59ce338bec9357e65517890f7fa01d61eec9c5041336722b2b94a5fea27a55ade686fe1fe9fbc SHA512 da1e26b4dbbe0ec634eab4e64d1cdb2632300c24f0885bc72fb57edba6ce29ab92b04eaedd8f8077ea623f1ef1428f53616e8c8d6630328d9790d968b60c67cf
DIST gcc-4.9.4-patches-1.3.tar.bz2 26060 BLAKE2B a61cb29111e8a9e35d810c0c557e901fc0d78e3b62027f5ea622d29becff9492e350c932824b23e5a38604bc3fa6c39fed9db902df4f830a3a362f1a1c2d9f58 SHA512 0214da6712a1b583f028be60e562f742d3d484d930976e2fce7be090113517c0e07faa20f750411b5125902f38a9944fe0c1dc8605d161c5bb11843acdebab75
+DIST gcc-4.9.4-patches-1.4.tar.bz2 27240 BLAKE2B 26b7d08bad4b617ede2564f77ded67cc87ec6b9f6b4d4ff78b5b75c1d5739fc4049480c716075d74c9b8e23a4a3c1889796cacb3456a3982ab04a0781fe3cd04 SHA512 efa60a7f86e684710848182c7d040565c9cec7666e897adc02e5dea9d4c76117deece7b1f7e1f8772cdec9697bb92b762f93408824e47b3f63b4f35029f50a4b
DIST gcc-4.9.4-piepatches-v0.6.4.tar.bz2 14414 BLAKE2B 2eccd4f2a164fbb32d13c7fe91627a2424c0a5570fe0cac97c2bb1c95294ba3d770832da7c445f75c91791466c5139a1e13753a3a40d87ff5e44e42749adee27 SHA512 243fa272ea0e49f700a76508bab3e03bbb353bcb930581b2f87f9a47df5cd3880e29f20b71612b21190adc463849e1e6ac2a38a49c0002b562d93d436f538285
DIST gcc-4.9.4-uclibc-patches-1.0.tar.bz2 2618 BLAKE2B bff85a4088fb94fdb7a8b0bd552be98ace3e6d145889b6f8b4a1f2db2dad14342d155890ab159b42d5b55d88dfb7c392eb7f92590084e1958f6284c561da30f1 SHA512 5a1f44caa9261f4947101379628143869b31dec67fa28605e8e1f3894d4b7120c3f68ba6deb59da7a74fa906e27ab32cd3767761837dc3dfebc37865d349d6db
DIST gcc-4.9.4.tar.bz2 90097606 BLAKE2B 373ff939ea72d6c4a7f3ab899b852b4c919481af2cfe3291281d9354c58a270d2eba73a0f301d90840dfabf423c82b368e113df7a2cb6cc28b2a703b0b6eb585 SHA512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch
index ba037507aff..959ed518312 100644
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch
@@ -1,5 +1,5 @@
---- patch/09_all_default-ssp.patch.old 2017-01-08 16:14:09.377755019 +0100
-+++ patch/09_all_default-ssp.patch 2017-01-08 16:15:48.792764201 +0100
+--- a/patch/09_all_default-ssp.patch 2017-01-08 16:14:09.377755019 +0100
++++ b/patch/09_all_default-ssp.patch 2017-01-08 16:15:48.792764201 +0100
@@ -78,14 +78,14 @@
optimizing. The default value is 32.
--- a/gcc/cp/lang-specs.h
@@ -37,8 +37,8 @@
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1},
{"-",
"%{!E:%e-E or -x required when input is from standard input}\
---- gcc-4.9-gpl-2016-src/gcc/ada/osint.adb.old 2017-03-10 21:58:02.600710156 +0100
-+++ gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100
+--- a/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100
++++ b/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100
@@ -2229,14 +2229,11 @@
for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop
if Name_Buffer (J .. J + Prog'Length - 1) = Prog then
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild
new file mode 100644
index 00000000000..2cbd328b448
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PATCH_VER="1.4"
+UCLIBC_VER="1.0"
+
+# Hardened gcc 4 stuff
+PIE_VER="0.6.4"
+SPECS_VER="0.2.0"
+SPECS_GCC_VER="4.4.3"
+# arch/libc configurations known to be stable with {PIE,SSP}-by-default
+PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
+PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
+SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
+# uclibc need tls and nptl support for SSP support
+# uclibc need to be >= 0.9.33
+SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
+#end Hardened stuff
+
+TOOLCHAIN_GCC_PV=4.9.4
+
+inherit toolchain-funcs toolchain
+
+REL=4.9
+MYP=gcc-${REL}-gpl-${PV}-src
+BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
+BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
+
+DESCRIPTION="GNAT Ada Compiler - GPL version"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI+="
+ http://mirrors.cdn.adacore.com/art/57399304c7a447658e0aff7f
+ -> ${P}-src.tar.gz
+ 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
+ bootstrap? (
+ amd64? (
+ http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
+ ${BTSTRP_AMD64}.tar.gz
+ )
+ x86? (
+ http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
+ ${BTSTRP_X86}.tar.gz
+ )
+ )"
+
+LICENSE+=" GPL-2 GPL-3"
+SLOT="${TOOLCHAIN_GCC_PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="+bootstrap"
+
+RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
+DEPEND="${RDEPEND}
+ elibc_glibc? ( >=sys-libs/glibc-2.8 )
+ >=sys-devel/binutils-2.20"
+
+PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
+
+S="${WORKDIR}"/${MYP}
+
+FSFGCC=gcc-${TOOLCHAIN_GCC_PV}
+
+pkg_setup() {
+ toolchain_pkg_setup
+
+ if use amd64; then
+ BTSTRP=${BTSTRP_AMD64}
+ else
+ BTSTRP=${BTSTRP_X86}
+ fi
+ if use bootstrap; then
+ GCC="${WORKDIR}"/${BTSTRP}/bin/gcc
+ else
+ GCC=${ADA:-$(tc-getCC)}
+ fi
+ CC=${GCC}
+ local base=$(basename ${GCC})
+ CXX="${base/gcc/g++}"
+ GNATMAKE="${base/gcc/gnatmake}"
+ GNATBIND="${base/gcc/gnatbind}"
+ if [[ ${base} != ${GCC} ]] ; then
+ local path=$(dirname ${GCC})
+ GNATMAKE="${path}/${GNATMAKE}"
+ GNATBIND="${path}/${GNATBIND}"
+ CXX="${path}/${CXX}"
+ fi
+}
+
+src_unpack() {
+ 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
+
+ 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} ${BTSTRP}.tar.gz"
+ fi
+
+ toolchain_src_unpack
+ if use bootstrap; then
+ rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die
+ fi
+}
+
+src_prepare() {
+ cd ..
+
+ sed -i \
+ -e "s:gnatmake:${GNATMAKE}:g" \
+ ${P}-src/src/ada/Make-generated.in || die "sed failed"
+ sed -i \
+ -e "/xoscons/s:gnatmake:${GNATMAKE}:g" \
+ gcc-interface-${REL}-gpl-${PV}-src/Makefile.in || die "sed failed"
+
+ mv ${P}-src/src/ada ${MYP}/gcc/ || die
+ mv gcc-interface-${REL}-gpl-${PV}-src ${MYP}/gcc/ada/gcc-interface || die
+ mv ${FSFGCC}/gcc/doc/gcc.info ${MYP}/gcc/doc/ || die
+ mv ${FSFGCC}/libjava ${MYP} || die
+ rm -r ${FSFGCC} || die
+ eapply "${FILESDIR}"/${P}-gentoo.patch
+ cd -
+
+ # Bug 638056
+ eapply "${FILESDIR}/${P}-bootstrap.patch"
+ # add Finalization_Size Attribute
+ eapply "${FILESDIR}/${P}-finalization.patch"
+ # add profile for gnat_util compatibility
+ eapply "${FILESDIR}/${P}-profile.patch"
+
+ EPATCH_EXCLUDE+=" 34_all_gcc48_config_i386.patch"
+ EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
+
+ toolchain_src_prepare
+
+ use vanilla && return 0
+ # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+ [[ ${CHOST} == ${CTARGET} ]] && eapply "${FILESDIR}"/gcc-spec-env-r1.patch
+}
+
+src_configure() {
+ 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 \
+ CC=${GCC} \
+ GNATBIND=${GNATBIND} \
+ GNATMAKE=yes
+}
+
+src_compile() {
+ unset ADAFLAGS
+ toolchain_src_compile
+ gcc_do_make "-C gcc gnatlib-shared"
+ ln -s gcc ../build/prev-gcc || die
+ ln -s ${CHOST} ../build/prev-${CHOST} || die
+ gcc_do_make "-C gcc gnattools"
+}
+
+src_install() {
+ 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 "The compiler binary is gcc-${TOOLCHAIN_GCC_PV}"
+ 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"
+}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2019-11-20 20:42 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2019-11-20 20:42 UTC (permalink / raw
To: gentoo-commits
commit: 8399882e86b57ae98449eb72eddd4357625f3143
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 20 20:42:25 2019 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Wed Nov 20 20:42:25 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8399882e
dev-lang/gnat-gpl: EAPI 6
Package-Manager: Portage-2.3.76, Repoman-2.3.16
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch | 28 +--
dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch | 4 +-
dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild | 193 +++++++++++++++++++++
3 files changed, 209 insertions(+), 16 deletions(-)
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch
index 9df03f8e794..de013cdc0d3 100644
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-gentoo.patch
@@ -1,5 +1,5 @@
---- 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
+--- a/patch/13_all_default-ssp-fix.patch 2017-06-14 11:29:28.997183865 +0200
++++ b/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*}\
@@ -12,8 +12,8 @@
--- 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,
---- gcc-6-gpl-2017-src/gcc/ada/osint.adb.old 2017-03-10 21:58:02.600710156 +0100
-+++ gcc-6-gpl-2017-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100
+--- a/gcc-6-gpl-2017-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100
++++ b/gcc-6-gpl-2017-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100
@@ -2229,14 +2229,11 @@
for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop
if Name_Buffer (J .. J + Prog'Length - 1) = Prog then
@@ -30,8 +30,8 @@
-- Create the new program name
return new String'
---- gcc-6-gpl-2017-src/libgcc/config/i386/linux-unwind.h.old 2017-12-07 20:57:02.737224515 +0100
-+++ gcc-6-gpl-2017-src/libgcc/config/i386/linux-unwind.h 2017-12-07 21:01:59.431929926 +0100
+--- a/gcc-6-gpl-2017-src/libgcc/config/i386/linux-unwind.h 2017-12-07 20:57:02.737224515 +0100
++++ b/gcc-6-gpl-2017-src/libgcc/config/i386/linux-unwind.h 2017-12-07 21:01:59.431929926 +0100
@@ -58,7 +58,7 @@
if (*(unsigned char *)(pc+0) == 0x48
&& *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
@@ -50,8 +50,8 @@
} *rt_ = context->cfa;
/* The void * cast is necessary to avoid an aliasing warning.
The aliasing warning is correct, but should not be a problem
---- gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc.old 2017-12-07 22:05:30.512328872 +0100
-+++ gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2017-12-07 22:05:53.104950070 +0100
+--- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2017-12-07 22:05:30.512328872 +0100
++++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc 2017-12-07 22:05:53.104950070 +0100
@@ -267,7 +267,7 @@
// Alternate stack for signal handling.
@@ -61,8 +61,8 @@
internal_memset(&handler_stack, 0, sizeof(handler_stack));
handler_stack.ss_sp = handler_stack_memory.data();
handler_stack.ss_size = kHandlerStackSize;
---- gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.cc.old 2017-12-07 22:09:04.912731275 +0100
-+++ gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.cc 2017-12-07 22:10:03.150754764 +0100
+--- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.cc 2017-12-07 22:09:04.912731275 +0100
++++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.cc 2017-12-07 22:10:03.150754764 +0100
@@ -546,8 +546,7 @@
}
#endif
@@ -73,8 +73,8 @@
return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
}
---- gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.h.old 2017-12-07 22:10:10.109638062 +0100
-+++ gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.h 2017-12-07 22:10:30.991287828 +0100
+--- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.h 2017-12-07 22:10:10.109638062 +0100
++++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_linux.h 2017-12-07 22:10:30.991287828 +0100
@@ -28,8 +28,7 @@
// Syscall wrappers.
@@ -85,8 +85,8 @@
uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
__sanitizer_sigset_t *oldset);
void internal_sigfillset(__sanitizer_sigset_t *set);
---- gcc-6-gpl-2017-src/libsanitizer/tsan/tsan_platform_linux.cc.old 2017-12-07 22:15:09.626608907 +0100
-+++ gcc-6-gpl-2017-src/libsanitizer/tsan/tsan_platform_linux.cc 2017-12-07 22:15:28.825286145 +0100
+--- a/gcc-6-gpl-2017-src/libsanitizer/tsan/tsan_platform_linux.cc 2017-12-07 22:15:09.626608907 +0100
++++ b/gcc-6-gpl-2017-src/libsanitizer/tsan/tsan_platform_linux.cc 2017-12-07 22:15:28.825286145 +0100
@@ -291,7 +291,7 @@
int ExtractResolvFDs(void *state, int *fds, int nfd) {
#if SANITIZER_LINUX
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch
index 505c23b03a0..4c57b814ce5 100644
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch
@@ -1,5 +1,5 @@
---- a/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:53:11.382114157 +0200
-+++ b/gcc-6-gpl-2017-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:57:10.725037767 +0200
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:53:11.382114157 +0200
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc 2019-04-19 20:57:10.725037767 +0200
@@ -150,7 +150,6 @@
# include <sys/procfs.h>
#endif
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
new file mode 100644
index 00000000000..0ea6d3ee076
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PATCH_VER="1.0"
+
+TOOLCHAIN_GCC_PV=6.3.0
+
+inherit toolchain-funcs toolchain
+
+REL=6
+MYP=gcc-${REL}-gpl-${PV}-src
+BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
+BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
+
+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? (
+ amd64? (
+ http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
+ ${BTSTRP_AMD64}.tar.gz
+ )
+ x86? (
+ http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
+ ${BTSTRP_X86}.tar.gz
+ )
+ )"
+
+LICENSE+=" GPL-2 GPL-3"
+SLOT="${TOOLCHAIN_GCC_PV}"
+KEYWORDS="~amd64 ~x86"
+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 amd64; then
+ BTSTRP=${BTSTRP_AMD64}
+ else
+ BTSTRP=${BTSTRP_X86}
+ fi
+
+ if use bootstrap; then
+ GCC="${WORKDIR}"/${BTSTRP}/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
+}
+
+src_unpack() {
+ 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
+
+ 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} ${BTSTRP}.tar.gz"
+ fi
+
+ toolchain_src_unpack
+ if use bootstrap; then
+ rm ${BTSTRP}/libexec/gcc/${CHOST}/4.7.4/ld || die
+ fi
+}
+
+src_prepare() {
+ 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 ${P}-src/src/ada ${MYP}/gcc/ || die
+ mv gcc-interface-${REL}-gpl-${PV}-src ${MYP}/gcc/ada/gcc-interface || die
+ eapply "${FILESDIR}"/${P}-gentoo.patch
+ cd -
+ sed -i \
+ -e 's:$(P) ::g' \
+ gcc/ada/gcc-interface/Makefile.in \
+ || die "sed failed"
+ # fix missing ustat.h
+ eapply "${FILESDIR}/${P}-ustat.patch"
+
+ 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 ${CHOST} ../build/prev-${CHOST} || die
+ gcc_do_make "-C gcc gnattools"
+}
+
+src_install() {
+ 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 "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}"
+ 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"
+}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2020-06-21 17:31 Sergei Trofimovich
0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2020-06-21 17:31 UTC (permalink / raw
To: gentoo-commits
commit: 814c45af56e731739e80b56c95699b0ec1682e16
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 21 17:31:23 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Jun 21 17:31:23 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=814c45af
dev-lang/gnat-gpl: backport libgomp -Werror fix to 2017
Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
.../files/gnat-gpl-2017-libgomp-Werror.patch | 20 ++++++++++++++++++++
dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild | 1 +
2 files changed, 21 insertions(+)
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libgomp-Werror.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libgomp-Werror.patch
new file mode 100644
index 00000000000..416808a63b1
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libgomp-Werror.patch
@@ -0,0 +1,20 @@
+libgomp does not respect --disable-werror
+
+https://bugs.gentoo.org/229059
+http://gcc.gnu.org/PR38436
+--- a/libgomp/configure.ac
++++ b/libgomp/configure.ac
+@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS"
+ # Add -Wall -Werror if we are using GCC.
+ if test "x$GCC" = "xyes"; then
+- XCFLAGS="$XCFLAGS -Wall -Werror"
++ XCFLAGS="$XCFLAGS -Wall"
+ fi
+--- a/libgomp/configure
++++ b/libgomp/configure
+@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS"
+ # Add -Wall -Werror if we are using GCC.
+ if test "x$GCC" = "xyes"; then
+- XCFLAGS="$XCFLAGS -Wall -Werror"
++ XCFLAGS="$XCFLAGS -Wall"
+ fi
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
index 4e65591d29c..636000b373e 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
@@ -125,6 +125,7 @@ src_prepare() {
eapply "${FILESDIR}/${P}-ustat.patch"
toolchain_src_prepare
+ eapply "${FILESDIR}"/${P}-libgomp-Werror.patch
}
src_configure() {
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2020-06-21 20:37 Sergei Trofimovich
0 siblings, 0 replies; 12+ messages in thread
From: Sergei Trofimovich @ 2020-06-21 20:37 UTC (permalink / raw
To: gentoo-commits
commit: 4c879dd8a26aa2227f51921164ac928f737dd126
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 21 20:36:50 2020 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Jun 21 20:37:11 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c879dd8
dev-lang/gnat-gpl: backport libatomic/libitm -Werror fix to 2017
Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
.../files/gnat-gpl-2017-libatomic-Werror.patch | 19 +++++++++++++++++++
.../gnat-gpl/files/gnat-gpl-2017-libitm-Werror.patch | 19 +++++++++++++++++++
dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild | 2 ++
3 files changed, 40 insertions(+)
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libatomic-Werror.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libatomic-Werror.patch
new file mode 100644
index 00000000000..0550722d170
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libatomic-Werror.patch
@@ -0,0 +1,19 @@
+libatomic does not respect --disable-werror
+
+https://bugs.gentoo.org/475350
+--- a/libatomic/configure.ac
++++ b/libatomic/configure.ac
+@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS"
+ # Add -Wall -Werror if we are using GCC.
+ if test "x$GCC" = "xyes"; then
+- XCFLAGS="$XCFLAGS -Wall -Werror"
++ XCFLAGS="$XCFLAGS -Wall"
+ fi
+--- a/libatomic/configure
++++ b/libatomic/configure
+@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS"
+ # Add -Wall -Werror if we are using GCC.
+ if test "x$GCC" = "xyes"; then
+- XCFLAGS="$XCFLAGS -Wall -Werror"
++ XCFLAGS="$XCFLAGS -Wall"
+ fi
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-libitm-Werror.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libitm-Werror.patch
new file mode 100644
index 00000000000..27181e02cfb
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-libitm-Werror.patch
@@ -0,0 +1,19 @@
+libitm does not respect --disable-werror
+
+https://bugs.gentoo.org/475350
+--- a/libitm/configure.ac
++++ b/libitm/configure.ac
+@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS"
+ # Add -Wall -Werror if we are using GCC.
+ if test "x$GCC" = "xyes"; then
+- XCFLAGS="$XCFLAGS -Wall -Werror"
++ XCFLAGS="$XCFLAGS -Wall"
+ fi
+--- a/libitm/configure
++++ b/libitm/configure
+@@ -4282,4 +4282,4 @@ save_CFLAGS="$CFLAGS"
+ # Add -Wall -Werror if we are using GCC.
+ if test "x$GCC" = "xyes"; then
+- XCFLAGS="$XCFLAGS -Wall -Werror"
++ XCFLAGS="$XCFLAGS -Wall"
+ fi
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
index 636000b373e..bff11256c1f 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017-r1.ebuild
@@ -126,6 +126,8 @@ src_prepare() {
toolchain_src_prepare
eapply "${FILESDIR}"/${P}-libgomp-Werror.patch
+ eapply "${FILESDIR}"/${P}-libatomic-Werror.patch
+ eapply "${FILESDIR}"/${P}-libitm-Werror.patch
}
src_configure() {
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2021-07-11 16:52 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2021-07-11 16:52 UTC (permalink / raw
To: gentoo-commits
commit: 22176cd5fa6d4c27d85d7cf93ff79ac165276bb1
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 11 16:52:07 2021 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Jul 11 16:52:07 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22176cd5
dev-lang/gnat-gpl: remove masked version
Package-Manager: Portage-3.0.20, Repoman-3.0.2
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
dev-lang/gnat-gpl/Manifest | 8 -
dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch | 87 --------
.../gnat-gpl/files/gnat-gpl-2016-bootstrap.patch | 66 -------
.../files/gnat-gpl-2016-finalization.patch | 220 ---------------------
dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch | 57 ------
.../gnat-gpl/files/gnat-gpl-2016-profile.patch | 113 -----------
dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild | 157 ---------------
dev-lang/gnat-gpl/metadata.xml | 2 -
8 files changed, 710 deletions(-)
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index e221b8dc8f6..e569b85df24 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -1,12 +1,6 @@
DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e
DIST gcc-10-2021-20210519-19A74-src.tar.gz 109157702 BLAKE2B 8ec307e4fde35c8726bc7b9702717329695bad928d5222a7bb691cce47500de31a60bcfcbb925129a57cb81d3d7ea92e60599aa7383d5358e63cc087b0482550 SHA512 2e2cc0ec9a3a82816a5d399d2db261c356e106b82a44efd54a1ac882b96549ab8de79c69858127c4397de6e9e9463ce6fb9994fc2e426e7d3d2f98d5efa2edb6
DIST gcc-10.3.0-patches-1.tar.bz2 15282 BLAKE2B ef283e8b108af9bfd3324fabb95c835374113c6ff2cf1430a5568b3d1b27183e6de6751367c1e5720c85ac4c45132848888d5510c63f95e88a1f623b6bcf4000 SHA512 6dc435c8619a1532000fae843b9964d0d1e28d3cc9cc1962ab7391570a0cf1135424ea5c0b0d3d5ec5ea863f02e963be2ec4c94822f217fc692a1d808325404e
-DIST gcc-4.4.3-specs-0.2.0.tar.bz2 2004 BLAKE2B 96f5ba2028bc6e0ef71e009857c37118a54d13d30de24d697c85e5772f9f2b7853615648cf2e4ee81d8385f6518c64588c0b56675c00f95ef39fca2a808f075e SHA512 779ecb0a064d2138b54569c8ae501975b8a6b72e5a3acbf8597619a8db77ee42ef9b0e62608d5192a15e4393e7dfc009bb50b994782236faa744b2c46b5fe517
-DIST gcc-4.9-gpl-2016-src.tar.gz 76361760 BLAKE2B 681aac3dd2e04110f58637cc9fe1eb663ce55af16a929a446eb59ce338bec9357e65517890f7fa01d61eec9c5041336722b2b94a5fea27a55ade686fe1fe9fbc SHA512 da1e26b4dbbe0ec634eab4e64d1cdb2632300c24f0885bc72fb57edba6ce29ab92b04eaedd8f8077ea623f1ef1428f53616e8c8d6630328d9790d968b60c67cf
-DIST gcc-4.9.4-patches-1.4.tar.bz2 27240 BLAKE2B 26b7d08bad4b617ede2564f77ded67cc87ec6b9f6b4d4ff78b5b75c1d5739fc4049480c716075d74c9b8e23a4a3c1889796cacb3456a3982ab04a0781fe3cd04 SHA512 efa60a7f86e684710848182c7d040565c9cec7666e897adc02e5dea9d4c76117deece7b1f7e1f8772cdec9697bb92b762f93408824e47b3f63b4f35029f50a4b
-DIST gcc-4.9.4-piepatches-v0.6.4.tar.bz2 14414 BLAKE2B 2eccd4f2a164fbb32d13c7fe91627a2424c0a5570fe0cac97c2bb1c95294ba3d770832da7c445f75c91791466c5139a1e13753a3a40d87ff5e44e42749adee27 SHA512 243fa272ea0e49f700a76508bab3e03bbb353bcb930581b2f87f9a47df5cd3880e29f20b71612b21190adc463849e1e6ac2a38a49c0002b562d93d436f538285
-DIST gcc-4.9.4-uclibc-patches-1.0.tar.bz2 2618 BLAKE2B bff85a4088fb94fdb7a8b0bd552be98ace3e6d145889b6f8b4a1f2db2dad14342d155890ab159b42d5b55d88dfb7c392eb7f92590084e1958f6284c561da30f1 SHA512 5a1f44caa9261f4947101379628143869b31dec67fa28605e8e1f3894d4b7120c3f68ba6deb59da7a74fa906e27ab32cd3767761837dc3dfebc37865d349d6db
-DIST gcc-4.9.4.tar.bz2 90097606 BLAKE2B 373ff939ea72d6c4a7f3ab899b852b4c919481af2cfe3291281d9354c58a270d2eba73a0f301d90840dfabf423c82b368e113df7a2cb6cc28b2a703b0b6eb585 SHA512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe
DIST gcc-6-gpl-2017-src.tar.gz 88045488 BLAKE2B 5df712eadef723df9057653e49d215cef6b59032e4b4a62c8622a7b735c660f42ec4135dba628a2080a7540d407186a4e4b1eb373e937374bc4e407dc9afe97d SHA512 bf8f786b5ad28a6b7d184fb5263424b7ed62154e308e259b61c24a577efdae56939fbaabc1fc53a0f467702c1e6d8598dc6e489ce074724799130a793cfb146e
DIST gcc-6.3.0-patches-1.0.tar.bz2 7596 BLAKE2B e3c298bd80b83e72d6ea9b4ec777d4f28153bf959da1e54307909383efecd2bf0e7e0cc9d9b27529e5f00b2e27132bf5ff6afd2129d061d3b111f9cfe732a874 SHA512 8fc96086bd3da3726687ee9d180d3b5d0a7d5814141d44eac8eb01566a783ec780c8fb8f55f75d6e9c9006b2e407e20cdb5835d541b0b66a47dd60642861734c
DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab863302943588226d5b599dfa1acf0e495111be1c581f4e130f911c312916669c4f2707eec5218601db090d5060248b2fe481d710 SHA512 79f06deca5753251de82a703f4a9698c117706290df779291a5405edb06f1c225d1d2416bda0e67dcd87cc308bf79504e89d4bd8e22aa0eedfbf06d88bc37f33
@@ -16,7 +10,6 @@ DIST gcc-8.3.0-patches-4.tar.bz2 17095 BLAKE2B 449d83371bf5a70020f4caad38d7b8f79
DIST gcc-9-2020-20200429-19AA7-src.tar.gz 101030094 BLAKE2B 843d7a92f206a08aa6c0fb41b8b93db494eee26c15872b8d8547685c1013559856cd83c5a4139d8ba68aa6737c0270502fd5547664b458cb8fd023f5ce9601e8 SHA512 2eaf999f4ef7f0216b7bab9963ce1cb9dd4be4d4645415183a0e0706ce0f0f119a5437c482d60db16ea152ebcb36186fc7900ec196fc7b8022d4d9cea2e5a631
DIST gcc-9.3.0-patches-4.tar.bz2 15474 BLAKE2B b06fdfce4402850bb1c6c211ace4c3a07ad2114ffa48eac58d1624124d5d1bddd6d2b4faa18be3291a340272c022bea26dfcaf17929828ceb6474a5211401389 SHA512 54904a4a1c4a784f1a707cbdd9f6f498457e4aa550dc6f3d6eff71ed05a75685e23e6b71c2a614b1dea7e506b9f42fb0109ecfde00ef00373275bbc0409cb7e0
DIST gcc-interface-10-2021-20210519-19A75-src.tar.gz 359085 BLAKE2B 75f941a7635f2880cc0192acb49d8e7f567baca7530fb981be14dc6cb1bf46fda0e3c043c8703cdbeeb242b548894e0bc6787adfff0f27198354d150e6e36386 SHA512 0251a93d20c59cc4705963438880fe265e2e0bb94a35b7ddaaf03e9efae60e044e585a2204d0773a46f17b3b774e4d0c73adf852f5d06ba17373d26ed580ca8d
-DIST gcc-interface-4.9-gpl-2016-src.tar.gz 339037 BLAKE2B 8218ea3a3e3ddb11febb5f2fbcfad69ec25251d3ed6bf4f9c70dc9b3720cc2fb3310d704db40bd0c749be89b17a2b3766ddae3d6158313480073856057ad4bcf SHA512 507df314d1890c228c19f458bd51197377deaaa2d6082fe1e71b62b683252ee5fba4adfe2386246e14618b1c77288e0dcb5bf501e2daaca249b6299462c2f6bd
DIST gcc-interface-6-gpl-2017-src.tar.gz 347016 BLAKE2B 934c6dac491abece9a6868d28fe9d2a6a1109238fe25c9b94abe83dfc22a1085489f0e0384626da0a3abeebe7537c5715df49a7e2d40577c96eb7ac897b84fd8 SHA512 5833303fce5bf812ccbc71f3d3726c0cb877937d75327edb15097c0b7dba58024a52688392906695ab92fb4e5d7a6623671eac9a05d17937dc0270bafcde920a
DIST gcc-interface-7-gpl-2018-src.tar.gz 339461 BLAKE2B e6009c0b287b1cd8f055226e6919c12f2ba08f8ef24101608691b05b70a7fb0ca708e2ecd126499fb84a126436d3841f1a13be0b6d3442ef3bd3871391f8e1d5 SHA512 9dc942a39dd983778756be2951b4c66ac3835bf456dc389f80ffbafdacde4ebcb80720ac9eca8fef8734d6d052c061db37c88dba642d85add10940164d120381
DIST gcc-interface-8-2019-20190510-18F59-src.tar.gz 352408 BLAKE2B d08867737fd5a2e8aa87e61efff47757b587baff67810eb9193fe72b68578bcb130f0c1491599588d130663d908b9c6c9a604b1352aeccb79e9dd3bfef4b9f61 SHA512 c4a048725517e674cc43b7b72e3b1bdb4f1cf9d81fe3b84dd177a2fda8c7af11c3135e883072b640c8aa351625f49573727c859064683e8b5f096fdbd3990c38
@@ -26,6 +19,5 @@ DIST gnat-2020-20200429-19B04-src.tar.gz 8485156 BLAKE2B 79683138873b236d8329396
DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201
DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2
DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e
-DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8
DIST gnat-gpl-2017-src.tar.gz 8783473 BLAKE2B b0415b42f4d3a5e8675591a5602ff0a96945670104064671a232c0c12271ee141a3a5d148b8507bdab83cb8a0677c57b78e690060088308c51732bad3715964f SHA512 ae7314a2241107ed4d962dce08306eeb34c5f11e26183935bbb1ccf3a5eb011d6457c1b6fcded93dd0ee9ba31d791971ebe2a5a5a0ae04ff80d87a670325a098
DIST gnat-gpl-2018-src.tar.gz 8706578 BLAKE2B ba245fd91cc5263d5b8c159d9e75caf6bed21dcaa5fa43734af8775a4008ce5f96bfb84a8b5e6e734ff883314ab3219dacec3fe95a5baa33fb712bfb5ff8bce8 SHA512 0ff7e848ef77f7e772e2a1b01905307a91c332f32329456f5238c4b7eb46cc118709e8682a5fc826d98a7d99fd15a92c194f4a278f04bc465165cfa616cc3c2e
diff --git a/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch b/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch
deleted file mode 100644
index a58926836e4..00000000000
--- a/dev-lang/gnat-gpl/files/gcc-spec-env-r1.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-2013-08-22 Magnus Granberg <zorry@gentoo.org>
-
- * gcc/gcc.c (main): Add support for external spec file via the GCC_SPECS env var
- and move the process of the user specifed specs.
-
- This allows us to easily control pie/ssp defaults with gcc-config profiles.
- Original patch by Rob Holland
- Extended to support multiple entries separated by ':' by Kevin F. Quinn
- Modified to use getenv instead of poisoned GET_ENVIRONMENT by Ryan Hill
- Modified to process the GCC_SPECS env var befor DRIVER_SELF_SPECS by Magnus Granberg
-
---- gcc-4.8-20130210/gcc/gcc.c 2013-02-05 16:55:31.000000000 +0100
-+++ gcc-4.8-20130210-work/gcc/gcc.c 2013-07-26 02:32:14.625089864 +0200
-@@ -6427,6 +6428,48 @@ main (int argc, char **argv)
- do_option_spec (option_default_specs[i].name,
- option_default_specs[i].spec);
-
-+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS) || defined (WIN32))
-+ /* Add specs listed in GCC_SPECS. Note; in the process of separating
-+ * each spec listed, the string is overwritten at token boundaries
-+ * (':') with '\0', an effect of strtok_r().
-+ */
-+ specs_file = getenv ("GCC_SPECS");
-+ if (specs_file && (strlen(specs_file) > 0))
-+ {
-+ char *spec, *saveptr;
-+ for (spec=strtok_r(specs_file,":",&saveptr);
-+ spec!=NULL;
-+ spec=strtok_r(NULL,":",&saveptr))
-+ {
-+ struct user_specs *user = (struct user_specs *)
-+ xmalloc (sizeof (struct user_specs));
-+ user->next = (struct user_specs *) 0;
-+ user->filename = spec;
-+ if (user_specs_tail)
-+ user_specs_tail->next = user;
-+ else
-+ user_specs_head = user;
-+ user_specs_tail = user;
-+ }
-+ }
-+#endif
-+ /* Process any user specified specs in the order given on the command
-+ * line. */
-+ for (uptr = user_specs_head; uptr; uptr = uptr->next)
-+ {
-+ char *filename = find_a_file (&startfile_prefixes, uptr->filename,
-+ R_OK, true);
-+ read_specs (filename ? filename : uptr->filename, false, true);
-+ }
-+ /* Process any user self specs. */
-+ {
-+ struct spec_list *sl;
-+ for (sl = specs; sl; sl = sl->next)
-+ if (sl->name_len == sizeof "self_spec" - 1
-+ && !strcmp (sl->name, "self_spec"))
-+ do_self_spec (*sl->ptr_spec);
-+ }
-+
- /* Process DRIVER_SELF_SPECS, adding any new options to the end
- of the command line. */
-
-@@ -6535,24 +6578,6 @@ main (int argc, char **argv)
- PREFIX_PRIORITY_LAST, 0, 1);
- }
-
-- /* Process any user specified specs in the order given on the command
-- line. */
-- for (uptr = user_specs_head; uptr; uptr = uptr->next)
-- {
-- char *filename = find_a_file (&startfile_prefixes, uptr->filename,
-- R_OK, true);
-- read_specs (filename ? filename : uptr->filename, false, true);
-- }
--
-- /* Process any user self specs. */
-- {
-- struct spec_list *sl;
-- for (sl = specs; sl; sl = sl->next)
-- if (sl->name_len == sizeof "self_spec" - 1
-- && !strcmp (sl->name, "self_spec"))
-- do_self_spec (*sl->ptr_spec);
-- }
--
- if (compare_debug)
- {
- enum save_temps save;
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch
deleted file mode 100644
index aed1ad0e90b..00000000000
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 41a4aa66eac45c8862a79351647ec06dd03bd1f5 Mon Sep 17 00:00:00 2001
-From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Sat, 13 Dec 2014 11:24:37 +0000
-Subject: [PATCH] PR bootstrap/64023 * Makefile.tpl
- (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS to POSTSTAGE1_LDFLAGS and
- STAGE1_LIBS to POSTSTAGE1_LIBS. Add -B to libstdc++-v3/src/.libs and
- libstdc++-v3/libsupc++/.libs to CXX. * Makefile.in: Regenerated.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218705 138bc75d-0d04-0410-961f-82ee72b054a4
----
- ChangeLog | 9 +++++++++
- Makefile.in | 6 +++++-
- Makefile.tpl | 6 +++++-
- 3 files changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index ba5ae4c2ecb..8ffc313f157 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -835,7 +835,9 @@ EXTRA_TARGET_FLAGS = \
- 'AS=$(COMPILER_AS_FOR_TARGET)' \
- 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
-- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
-+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
- 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
- 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-@@ -853,6 +855,8 @@ EXTRA_TARGET_FLAGS = \
- 'WINDRES=$$(WINDRES_FOR_TARGET)' \
- 'WINDMC=$$(WINDMC_FOR_TARGET)' \
- 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
-+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
-+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
- "TFLAGS=$$TFLAGS"
-
- TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
-diff --git a/Makefile.tpl b/Makefile.tpl
-index dcbc6b1b143..bb8227eaafa 100644
---- a/Makefile.tpl
-+++ b/Makefile.tpl
-@@ -641,7 +641,9 @@ EXTRA_TARGET_FLAGS = \
- 'AS=$(COMPILER_AS_FOR_TARGET)' \
- 'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
-- 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-+ 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
-+ -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
-+ $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
- 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
- 'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
-@@ -659,6 +661,8 @@ EXTRA_TARGET_FLAGS = \
- 'WINDRES=$$(WINDRES_FOR_TARGET)' \
- 'WINDMC=$$(WINDMC_FOR_TARGET)' \
- 'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
-+ 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
-+ 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
- "TFLAGS=$$TFLAGS"
-
- TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
---
-2.15.0
-
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch
deleted file mode 100644
index 44503ae6b72..00000000000
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-finalization.patch
+++ /dev/null
@@ -1,220 +0,0 @@
---- a/gcc/ada/exp_attr.adb 2018-11-16 20:23:21.775906196 +0100
-+++ b/gcc/ada/exp_attr.adb 2018-11-16 20:25:57.418211404 +0100
-@@ -3121,6 +3121,121 @@
- Analyze_And_Resolve (N, Standard_String);
- end External_Tag;
-
-+ -----------------------
-+ -- Finalization_Size --
-+ -----------------------
-+
-+ when Attribute_Finalization_Size => Finalization_Size : declare
-+ function Calculate_Header_Size return Node_Id;
-+ -- Generate a runtime call to calculate the size of the hidden header
-+ -- along with any added padding which would precede a heap-allocated
-+ -- object of the prefix type.
-+
-+ ---------------------------
-+ -- Calculate_Header_Size --
-+ ---------------------------
-+
-+ function Calculate_Header_Size return Node_Id is
-+ begin
-+ -- Generate:
-+ -- Universal_Integer
-+ -- (Header_Size_With_Padding (Pref'Alignment))
-+
-+ return
-+ Convert_To (Universal_Integer,
-+ Make_Function_Call (Loc,
-+ Name =>
-+ New_Occurrence_Of (RTE (RE_Header_Size_With_Padding), Loc),
-+
-+ Parameter_Associations => New_List (
-+ Make_Attribute_Reference (Loc,
-+ Prefix => New_Copy_Tree (Pref),
-+ Attribute_Name => Name_Alignment))));
-+ end Calculate_Header_Size;
-+
-+ -- Local variables
-+
-+ Size : Entity_Id;
-+
-+ -- Start of Finalization_Size
-+
-+ begin
-+ -- An object of a class-wide type first requires a runtime check to
-+ -- determine whether it is actually controlled or not. Depending on
-+ -- the outcome of this check, the Finalization_Size of the object
-+ -- may be zero or some positive value.
-+ --
-+ -- In this scenario, Pref'Finalization_Size is expanded into
-+ --
-+ -- Size : Integer := 0;
-+ --
-+ -- if Needs_Finalization (Pref'Tag) then
-+ -- Size :=
-+ -- Universal_Integer
-+ -- (Header_Size_With_Padding (Pref'Alignment));
-+ -- end if;
-+ --
-+ -- and the attribute reference is replaced with a reference to Size.
-+
-+ if Is_Class_Wide_Type (Ptyp) then
-+ Size := Make_Temporary (Loc, 'S');
-+
-+ Insert_Actions (N, New_List (
-+
-+ -- Generate:
-+ -- Size : Integer := 0;
-+
-+ Make_Object_Declaration (Loc,
-+ Defining_Identifier => Size,
-+ Object_Definition =>
-+ New_Occurrence_Of (Standard_Integer, Loc),
-+ Expression => Make_Integer_Literal (Loc, 0)),
-+
-+ -- Generate:
-+ -- if Needs_Finalization (Pref'Tag) then
-+ -- Size :=
-+ -- Universal_Integer
-+ -- (Header_Size_With_Padding (Pref'Alignment));
-+ -- end if;
-+
-+ Make_If_Statement (Loc,
-+ Condition =>
-+ Make_Function_Call (Loc,
-+ Name =>
-+ New_Occurrence_Of (RTE (RE_Needs_Finalization), Loc),
-+
-+ Parameter_Associations => New_List (
-+ Make_Attribute_Reference (Loc,
-+ Prefix => New_Copy_Tree (Pref),
-+ Attribute_Name => Name_Tag))),
-+
-+ Then_Statements => New_List (
-+ Make_Assignment_Statement (Loc,
-+ Name => New_Occurrence_Of (Size, Loc),
-+ Expression => Calculate_Header_Size)))));
-+
-+ Rewrite (N, New_Occurrence_Of (Size, Loc));
-+
-+ -- The prefix is known to be controlled at compile time. Calculate
-+ -- Finalization_Size by calling function Header_Size_With_Padding.
-+
-+ elsif Needs_Finalization (Ptyp) then
-+ Rewrite (N, Calculate_Header_Size);
-+
-+ -- The prefix is not an object with controlled parts, so its
-+ -- Finalization_Size is zero.
-+
-+ else
-+ Rewrite (N, Make_Integer_Literal (Loc, 0));
-+ end if;
-+
-+ -- Due to cases where the entity type of the attribute is already
-+ -- resolved the rewritten N must get re-resolved to its appropriate
-+ -- type.
-+
-+ Analyze_And_Resolve (N, Typ);
-+ end Finalization_Size;
-+
- -----------
- -- First --
- -----------
---- a/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200
---- b/gcc/ada/snames.ads-tmpl 2016-05-16 11:29:28.000000000 +0200
-@@ -884,6 +884,7 @@
- Name_Exponent : constant Name_Id := N + $;
- Name_External_Tag : constant Name_Id := N + $;
- Name_Fast_Math : constant Name_Id := N + $; -- GNAT
-+ Name_Finalization_Size : constant Name_Id := N + $; -- GNAT
- Name_First : constant Name_Id := N + $;
- Name_First_Bit : constant Name_Id := N + $;
- Name_First_Valid : constant Name_Id := N + $; -- Ada 12
-@@ -1523,6 +1524,7 @@
- Attribute_Exponent,
- Attribute_External_Tag,
- Attribute_Fast_Math,
-+ Attribute_Finalization_Size,
- Attribute_First,
- Attribute_First_Bit,
- Attribute_First_Valid,
---- a/gcc/ada/sem_attr.ads 2018-11-16 21:35:46.821279875 +0100
-+++ b/gcc/ada/sem_attr.ads 2018-11-16 21:36:00.028057464 +0100
-@@ -242,6 +242,16 @@
- -- enumeration value. Constraint_Error is raised if no value of the
- -- enumeration type corresponds to the given integer value.
-
-+ -----------------------
-+ -- Finalization_Size --
-+ -----------------------
-+
-+ Attribute_Finalization_Size => True,
-+ -- For every object or non-class-wide-type, Finalization_Size returns
-+ -- the size of the hidden header used for finalization purposes as if
-+ -- the object or type was allocated on the heap. The size of the header
-+ -- does take into account any extra padding due to alignment issues.
-+
- -----------------
- -- Fixed_Value --
- -----------------
---- a/gcc/ada/sem_attr.adb 2018-11-16 21:35:49.698231429 +0100
-+++ b/gcc/ada/sem_attr.adb 2018-11-16 21:36:00.028057464 +0100
-@@ -3828,6 +3828,42 @@
- Check_Standard_Prefix;
- Rewrite (N, New_Occurrence_Of (Boolean_Literals (Fast_Math), Loc));
-
-+ -----------------------
-+ -- Finalization_Size --
-+ -----------------------
-+
-+ when Attribute_Finalization_Size =>
-+ Check_E0;
-+
-+ -- The prefix denotes an object
-+
-+ if Is_Object_Reference (P) then
-+ Check_Object_Reference (P);
-+
-+ -- The prefix denotes a type
-+
-+ elsif Is_Entity_Name (P) and then Is_Type (Entity (P)) then
-+ Check_Type;
-+ Check_Not_Incomplete_Type;
-+
-+ -- Attribute 'Finalization_Size is not defined for class-wide
-+ -- types because it is not possible to know statically whether
-+ -- a definite type will have controlled components or not.
-+
-+ if Is_Class_Wide_Type (Etype (P)) then
-+ Error_Attr_P
-+ ("prefix of % attribute cannot denote a class-wide type");
-+ end if;
-+
-+ -- The prefix denotes an illegal construct
-+
-+ else
-+ Error_Attr_P
-+ ("prefix of % attribute must be a definite type or an object");
-+ end if;
-+
-+ Set_Etype (N, Universal_Integer);
-+
- -----------
- -- First --
- -----------
-@@ -8264,6 +8300,13 @@
- Fold_Uint (N,
- Eval_Fat.Exponent (P_Base_Type, Expr_Value_R (E1)), Static);
-
-+ -----------------------
-+ -- Finalization_Size --
-+ -----------------------
-+
-+ when Attribute_Finalization_Size =>
-+ null;
-+
- -----------
- -- First --
- -----------
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch
deleted file mode 100644
index 959ed518312..00000000000
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-gentoo.patch
+++ /dev/null
@@ -1,57 +0,0 @@
---- a/patch/09_all_default-ssp.patch 2017-01-08 16:14:09.377755019 +0100
-+++ b/patch/09_all_default-ssp.patch 2017-01-08 16:15:48.792764201 +0100
-@@ -78,14 +78,14 @@
- optimizing. The default value is 32.
- --- a/gcc/cp/lang-specs.h
- +++ b/gcc/cp/lang-specs.h
--@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3. If not see
-+@@ -46,7 +46,7 @@
- %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\
- cc1plus %{save-temps*|no-integrated-cpp:-fpreprocessed %{save-temps*:%b.ii} %{!save-temps*:%g.ii}}\
- %{!save-temps*:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- - %(cc1_options) %2\
- + %(cc1_options) %(ssp_default) %2\
-- %{!fsyntax-only:%{!fdump-ada-spec*:-o %g.s %{!o*:--output-pch=%i.gch}\
-- %W{o*:--output-pch=%*}}%V}}}}",
-+ %{!fsyntax-only:-o %g.s %{!fdump-ada-spec*:%{!fdump-xref*:%{!o*:--output-pch=%i.gch}\
-+ %W{o*:--output-pch=%*}}}%V}}}}",
- CPLUSPLUS_CPP_SPEC, 0, 0},
- @@ -57,11 +57,11 @@ along with GCC; see the file COPYING3. If not see
- %(cpp_options) %2 -o %{save-temps*:%b.ii} %{!save-temps*:%g.ii} \n}\
-@@ -151,14 +151,14 @@
- /* This contains cpp options which are not passed when the preprocessor
- output will be used by another program. */
- @@ -1015,9 +1024,9 @@ static const struct compiler default_compilers[] =
-- %{save-temps*|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
-+ %{save-temps*|fdump-scos|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
- %(cpp_options) -o %{save-temps*:%b.i} %{!save-temps*:%g.i} \n\
- cc1 -fpreprocessed %{save-temps*:%b.i} %{!save-temps*:%g.i} \
- - %(cc1_options)}\
- + %(cc1_options) %(ssp_default)}\
-- %{!save-temps*:%{!traditional-cpp:%{!no-integrated-cpp:\
--- cc1 %(cpp_unique_options) %(cc1_options)}}}\
--+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\
-+ %{!save-temps*:%{!fdump-scos:%{!traditional-cpp:%{!no-integrated-cpp:\
-+- cc1 %(cpp_unique_options) %(cc1_options)}}}}\
-++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}}\
- %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 1},
- {"-",
- "%{!E:%e-E or -x required when input is from standard input}\
---- a/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100
-+++ b/gcc-4.9-gpl-2016-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100
-@@ -2229,14 +2229,11 @@
- for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop
- if Name_Buffer (J .. J + Prog'Length - 1) = Prog then
- End_Of_Prefix := J - 1;
-+ Start_Of_Suffix := J + Prog'Length;
- exit;
- end if;
- end loop;
-
-- if End_Of_Prefix > 1 then
-- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1;
-- end if;
--
- -- Create the new program name
-
- return new String'
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch
deleted file mode 100644
index 561c012a23e..00000000000
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch
+++ /dev/null
@@ -1,113 +0,0 @@
---- a/gcc/ada/s-rident.ads 2018-11-18 18:47:39.042412895 +0100
-+++ b/gcc/ada/s-rident.ads 2018-11-18 19:02:31.736559044 +0100
-@@ -378,15 +378,17 @@
- type Profile_Name is
- (No_Profile,
- No_Implementation_Extensions,
-+ Restricted_Tasking,
-+ Restricted,
- Ravenscar,
- GNAT_Extended_Ravenscar,
-- Restricted);
-+ GNAT_Ravenscar_EDF);
- -- Names of recognized profiles. No_Profile is used to indicate that a
- -- restriction came from pragma Restrictions[_Warning], as opposed to
- -- pragma Profile[_Warning].
-
- subtype Profile_Name_Actual is Profile_Name
-- range No_Implementation_Extensions .. Restricted;
-+ range No_Implementation_Extensions .. Profile_Name'Last;
- -- Actual used profile names
-
- type Profile_Data is record
-@@ -456,6 +458,40 @@
- Max_Task_Entries => 0,
- others => 0)),
-
-+ -- Restricted_Tasking Profile
-+
-+ Restricted_Tasking =>
-+
-+ -- Restrictions for Restricted_Tasking profile
-+
-+ (Set =>
-+ (No_Abort_Statements => True,
-+ No_Asynchronous_Control => True,
-+ No_Dynamic_Attachment => True,
-+ No_Dynamic_Priorities => True,
-+ No_Entry_Queue => True,
-+ No_Local_Protected_Objects => True,
-+ No_Protected_Type_Allocators => True,
-+ No_Requeue_Statements => True,
-+ No_Task_Allocators => True,
-+ No_Task_Attributes_Package => True,
-+ No_Task_Hierarchy => True,
-+ No_Terminate_Alternatives => True,
-+ Max_Asynchronous_Select_Nesting => True,
-+ Max_Protected_Entries => True,
-+ Max_Select_Alternatives => True,
-+ Max_Task_Entries => True,
-+ others => False),
-+
-+ -- Value settings for Restricted profile
-+
-+ Value =>
-+ (Max_Asynchronous_Select_Nesting => 0,
-+ Max_Protected_Entries => 1,
-+ Max_Select_Alternatives => 0,
-+ Max_Task_Entries => 0,
-+ others => 0)),
-+
- -- Ravenscar Profile
-
- -- Note: the table entries here only represent the
-@@ -509,6 +545,49 @@
- Max_Task_Entries => 0,
- others => 0)),
-
-+ GNAT_Ravenscar_EDF =>
-+
-+ -- Restrictions for Ravenscar = Restricted profile ..
-+
-+ (Set =>
-+ (No_Abort_Statements => True,
-+ No_Asynchronous_Control => True,
-+ No_Dynamic_Attachment => True,
-+ No_Dynamic_Priorities => True,
-+ No_Entry_Queue => True,
-+ No_Local_Protected_Objects => True,
-+ No_Protected_Type_Allocators => True,
-+ No_Requeue_Statements => True,
-+ No_Task_Allocators => True,
-+ No_Task_Attributes_Package => True,
-+ No_Task_Hierarchy => True,
-+ No_Terminate_Alternatives => True,
-+ Max_Asynchronous_Select_Nesting => True,
-+ Max_Protected_Entries => True,
-+ Max_Select_Alternatives => True,
-+ Max_Task_Entries => True,
-+
-+ -- plus these additional restrictions:
-+
-+ No_Calendar => True,
-+ No_Implicit_Heap_Allocations => True,
-+ No_Local_Timing_Events => True,
-+ No_Relative_Delay => True,
-+ No_Select_Statements => True,
-+ No_Specific_Termination_Handlers => True,
-+ No_Task_Termination => True,
-+ Simple_Barriers => True,
-+ others => False),
-+
-+ -- Value settings for Ravenscar (same as Restricted)
-+
-+ Value =>
-+ (Max_Asynchronous_Select_Nesting => 0,
-+ Max_Protected_Entries => 1,
-+ Max_Select_Alternatives => 0,
-+ Max_Task_Entries => 0,
-+ others => 0)),
-+
- GNAT_Extended_Ravenscar =>
-
- -- Restrictions for GNAT_Extended_Ravenscar =
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild
deleted file mode 100644
index d9b01134a7c..00000000000
--- a/dev-lang/gnat-gpl/gnat-gpl-2016-r4.ebuild
+++ /dev/null
@@ -1,157 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PATCH_GCC_VER=4.9.4
-PATCH_VER="1.4"
-UCLIBC_VER="1.0"
-
-# Hardened gcc 4 stuff
-PIE_VER="0.6.4"
-SPECS_VER="0.2.0"
-SPECS_GCC_VER="4.4.3"
-# arch/libc configurations known to be stable with {PIE,SSP}-by-default
-PIE_GLIBC_STABLE="x86 amd64 mips ppc ppc64 arm ia64"
-PIE_UCLIBC_STABLE="x86 arm amd64 mips ppc ppc64"
-SSP_STABLE="amd64 x86 mips ppc ppc64 arm"
-# uclibc need tls and nptl support for SSP support
-# uclibc need to be >= 0.9.33
-SSP_UCLIBC_STABLE="x86 amd64 mips ppc ppc64 arm"
-#end Hardened stuff
-
-TOOLCHAIN_GCC_PV=4.9.4
-
-REL=4.9
-MYP=gcc-${REL}-gpl-${PV}-src
-BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
-BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
-
-inherit toolchain-funcs toolchain
-
-DESCRIPTION="GNAT Ada Compiler - GPL version"
-HOMEPAGE="http://libre.adacore.com/"
-# we provide own tarball below
-SRC_URI+="
- http://mirrors.cdn.adacore.com/art/57399304c7a447658e0aff7f
- -> ${P}-src.tar.gz
- 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
- bootstrap? (
- amd64? (
- http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
- ${BTSTRP_AMD64}.tar.gz
- )
- x86? (
- http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
- ${BTSTRP_X86}.tar.gz
- )
- )"
-
-LICENSE+=" GPL-2 GPL-3"
-SLOT="${TOOLCHAIN_GCC_PV}"
-KEYWORDS="amd64 x86"
-IUSE="+ada +bootstrap"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
-DEPEND="${RDEPEND}
- elibc_glibc? ( >=sys-libs/glibc-2.8 )
- >=sys-devel/binutils-2.20"
-
-PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.8 )"
-
-S="${WORKDIR}"/${MYP}
-
-FSFGCC=gcc-${TOOLCHAIN_GCC_PV}
-
-src_unpack() {
- 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
-
- toolchain_src_unpack
-}
-
-src_prepare() {
- if use amd64; then
- BTSTRP=${BTSTRP_AMD64}
- else
- BTSTRP=${BTSTRP_X86}
- fi
- if use bootstrap; then
- GCC="${WORKDIR}"/${BTSTRP}/bin/gcc
- else
- GCC=${ADA:-$(tc-getCC)}
- fi
- CC=${GCC}
- local base=$(basename ${GCC})
- CXX="${base/gcc/g++}"
- GNATMAKE="${base/gcc/gnatmake}"
- GNATBIND="${base/gcc/gnatbind}"
- if [[ ${base} != ${GCC} ]] ; then
- local path=$(dirname ${GCC})
- GNATMAKE="${path}/${GNATMAKE}"
- GNATBIND="${path}/${GNATBIND}"
- CXX="${path}/${CXX}"
- fi
- if use bootstrap; then
- rm ../${BTSTRP}/libexec/gcc/*/4.7.4/ld || die
- fi
-
- cd ..
-
- sed -i \
- -e "s:gnatmake:${GNATMAKE}:g" \
- ${P}-src/src/ada/Make-generated.in || die "sed failed"
- sed -i \
- -e "/xoscons/s:gnatmake:${GNATMAKE}:g" \
- gcc-interface-${REL}-gpl-${PV}-src/Makefile.in || die "sed failed"
-
- mv ${P}-src/src/ada ${MYP}/gcc/ || die
- mv gcc-interface-${REL}-gpl-${PV}-src ${MYP}/gcc/ada/gcc-interface || die
- mv ${FSFGCC}/gcc/doc/gcc.info ${MYP}/gcc/doc/ || die
- mv ${FSFGCC}/libjava ${MYP} || die
- rm -r ${FSFGCC} || die
- eapply "${FILESDIR}"/${P}-gentoo.patch
- cd -
-
- # Bug 638056
- eapply "${FILESDIR}/${P}-bootstrap.patch"
- # add Finalization_Size Attribute
- eapply "${FILESDIR}/${P}-finalization.patch"
- # add profile for gnat_util compatibility
- eapply "${FILESDIR}/${P}-profile.patch"
-
- EPATCH_EXCLUDE+=" 34_all_gcc48_config_i386.patch"
- EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
-
- toolchain_src_prepare
-
- use vanilla && return 0
- # Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
- [[ ${CHOST} == ${CTARGET} ]] && eapply "${FILESDIR}"/gcc-spec-env-r1.patch
-}
-
-src_configure() {
- downgrade_arch_flags "$(gcc-version)"
- toolchain_src_configure \
- CC=${GCC} \
- GNATBIND=${GNATBIND} \
- GNATMAKE=yes
-}
-
-pkg_postinst() {
- toolchain_pkg_postinst
- einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
- einfo "The compiler binary is gcc-${TOOLCHAIN_GCC_PV}"
- 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 d22ee4a1f67..3a9e3dea830 100644
--- a/dev-lang/gnat-gpl/metadata.xml
+++ b/dev-lang/gnat-gpl/metadata.xml
@@ -23,8 +23,6 @@
than use the code in the C library (DO NOT ENABLE THIS IF YOU DON'T
KNOW WHAT IT DOES)</flag>
<flag name="lto">Build using Link Time Optimizations (LTO)</flag>
- <flag name="nopie">Disable PIE support (NOT FOR GENERAL USE)</flag>
- <flag name="nossp">Disable SSP support (NOT FOR GENERAL USE)</flag>
<flag name="nptl">Enable support for Native POSIX Threads Library, the new threading module (requires linux-2.6 or better usually)</flag>
<flag name="objc">Build support for the Objective C code language
</flag>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2022-01-01 21:44 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2022-01-01 21:44 UTC (permalink / raw
To: gentoo-commits
commit: eb143fae3bca40c52cfbf6f96b9a439dc26b0976
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 1 21:43:43 2022 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Jan 1 21:43:43 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eb143fae
dev-lang/gnat-gpl: fix cet detection
Closes: https://bugs.gentoo.org/830345
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch | 10 ++++++++++
dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild | 7 ++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
index 3caa2a6d996e..2bfc54c551a9 100644
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
@@ -39,3 +39,13 @@
+ %{fdump-scos:-fpreserve-decisions-generic}\
%{fprofile-arcs|fprofile-generate*|coverage:\
- %{!fprofile-update=singel:\
+--- a/gcc-10-2021-20210519-19A74-src/config/cet.m4 2022-01-01 11:18:09.663425422 +0100
++++ b/gcc-10-2021-20210519-19A74-src/config/cet.m4 2022-01-01 11:18:14.809345911 +0100
+@@ -62,7 +62,6 @@
+ i[[34567]]86-*-linux* | x86_64-*-linux*)
+ may_have_cet=yes
+ save_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -fcf-protection"
+ case "$enable_cet" in
+ auto)
+ # Check if target supports multi-byte NOPs
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild
index 3502c2c009fd..60a6e2908ead 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2021-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -87,6 +87,11 @@ src_prepare() {
ln -s /usr/bin/$CHOST-ld \
"${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \
|| die
+ rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \
+ || die
+ ln -s /usr/bin/$CHOST-as \
+ "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/as \
+ || die
fi
CC=${GCC}
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/
@ 2022-11-26 19:47 Alfredo Tupone
0 siblings, 0 replies; 12+ messages in thread
From: Alfredo Tupone @ 2022-11-26 19:47 UTC (permalink / raw
To: gentoo-commits
commit: 13a52394b9e634151204ccc70840c0c0e91ea4d1
Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 26 19:46:37 2022 +0000
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Nov 26 19:46:37 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13a52394
dev-lang/gnat-gpl: drop 2020
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
dev-lang/gnat-gpl/Manifest | 4 -
dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch | 53 --------
dev-lang/gnat-gpl/gnat-gpl-2020.ebuild | 138 ---------------------
3 files changed, 195 deletions(-)
diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index b6481237bd30..4d012eaa794c 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -1,11 +1,7 @@
DIST gcc-10-2021-20210519-19A74-src.tar.gz 109157702 BLAKE2B 8ec307e4fde35c8726bc7b9702717329695bad928d5222a7bb691cce47500de31a60bcfcbb925129a57cb81d3d7ea92e60599aa7383d5358e63cc087b0482550 SHA512 2e2cc0ec9a3a82816a5d399d2db261c356e106b82a44efd54a1ac882b96549ab8de79c69858127c4397de6e9e9463ce6fb9994fc2e426e7d3d2f98d5efa2edb6
DIST gcc-10.3.0-patches-3.tar.bz2 18935 BLAKE2B 13eaf1e055b5b63069aed1575ed93f6bc822b5e3f2181ddfc88f4e7ff801f58997cd131b2efd79b90469b1f861db994feb2adcaecacf165442078f76e233fd9a SHA512 c3d6a6f32863cc0ff7c877314ff0c00a892e473f64d16b82d46b4a77aa97c3e7a575492d27f0d423acb2621c86c9a49bca0e26e45bda9e697495444fcac85084
DIST gcc-10.3.0-patches-4.tar.xz 18460 BLAKE2B 7c4b91c3beebc5fd91c0fdbeec6512c141bd78759a02aa7fff32dd30025ef41db1d57280e50db575f46cc0061a480ced9259410e9875b1dc0048886df469c4c9 SHA512 3befbcdec84e583966aad37d1a08c1863f39eb877296c5991348db9d37cc8359197f23cb3b8fa1b0f4d01497dfd2ebaa393e1a459267c19a0976fb535e463ec8
-DIST gcc-9-2020-20200429-19AA7-src.tar.gz 101030094 BLAKE2B 843d7a92f206a08aa6c0fb41b8b93db494eee26c15872b8d8547685c1013559856cd83c5a4139d8ba68aa6737c0270502fd5547664b458cb8fd023f5ce9601e8 SHA512 2eaf999f4ef7f0216b7bab9963ce1cb9dd4be4d4645415183a0e0706ce0f0f119a5437c482d60db16ea152ebcb36186fc7900ec196fc7b8022d4d9cea2e5a631
-DIST gcc-9.3.0-patches-5.tar.bz2 18336 BLAKE2B 8aefb94bfec041da69efdd751fe9df58cc2352e66afe7ec2090da698912e31de8a82ef588e393929f50dbc6d5967bb015f8e807f868ec19c7cf9813495fa4687 SHA512 0eedc2a33b7fa1a846a30055dcaf38ea9882d5c7b3d8a7d9145fe768d778747413b7822fc625135fa010e749fbbda51f7460e03c989dee8551c50b798a9d1aba
DIST gcc-interface-10-2021-20210519-19A75-src.tar.gz 359085 BLAKE2B 75f941a7635f2880cc0192acb49d8e7f567baca7530fb981be14dc6cb1bf46fda0e3c043c8703cdbeeb242b548894e0bc6787adfff0f27198354d150e6e36386 SHA512 0251a93d20c59cc4705963438880fe265e2e0bb94a35b7ddaaf03e9efae60e044e585a2204d0773a46f17b3b774e4d0c73adf852f5d06ba17373d26ed580ca8d
-DIST gcc-interface-9-2020-20200429-19B10-src.tar.gz 351113 BLAKE2B a786532194a5ac57dd91b5c207aaf4543e99a3305dccf175908bee80cc96d112b9c5531497516ad1edc33e9bcff62374dd473aed93bfb1d0aea13e017473d98e SHA512 445744a745eee5e3a686ec59f7880a3792d4fd30425a38090e40e5cc85379e6f877745d7ea61ffabb42ed177ee90f01e2309dfdd5f060027cfc86ac77fddebba
-DIST gnat-2020-20200429-19B04-src.tar.gz 8485156 BLAKE2B 79683138873b236d832939602f084058723a908e1b709b4bab72e7ae5404336d0ad7b8417eca80e1e1e3a1c260d953ac8326da41429c95729129f88caa2dd3e7 SHA512 bf93a7b877b44422513a4658b29ddd9edcc320d8ac73d3044f4ce868f10be368993e915e710ed45be287e07e9d6c117e51fa73027ed311b04458c9cae1984253
DIST gnat-2021-20210519-19A70-src.tar.gz 8765762 BLAKE2B ef48f54c6109566e37bfa5dee9262305d0529b3dfd333ee28bc4e66f4709a0673f673d742bc04deb15dc145404f7618d350dbdf3f2a7ab37c861e57d011946fa SHA512 3cb79be024fdd9b738d99ffc8e224d32bb382b5da2d02b97b2061a5ea58456f33d4564c92e224af2713ce15fd5481edd715e5b9a52abc74fdc142f27e103c201
DIST gnat-gpl-2014-x86-linux-bin.tar.gz 233049287 BLAKE2B 2e8bab113f6a319533ec12fdf71c481f72aee227c22bd0cc42a53bd727b323caba1e7b6298053db8b4d3016236b31649b0b255f4ebcbb81a08a69f29f78f13fc SHA512 ac7f53fb4bd71b0e8fbd62abc45de76f7f8f2f405b80e9b60b4b65a6cef6ee98e3b06848e4b752af3c8268237e5a0529cf6145ebc5b33cd6e5cf4928d85f5be2
DIST gnat-gpl-2014-x86_64-linux-bin.tar.gz 236253400 BLAKE2B c1db70db9442ba24688b8e323d5a02e2e9707ba1f02835ea551038d0a09aafede93a224091e5186f2f2a9d0f96144027af2184ee05ca1c19cc997a6cf3902df7 SHA512 5e40a251baac3d0ace78352956ca21a7d294d902d344a9ed7a8d376e900468c283721ebfb773adfedbf4d623ace02536505c0147815a0c1908933ad611ea085e
diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch
deleted file mode 100644
index a4987b54f610..000000000000
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch
+++ /dev/null
@@ -1,53 +0,0 @@
---- a/gcc-9-2020-20200429-19AA7-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100
-+++ b/gcc-9-2020-20200429-19AA7-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100
-@@ -2229,14 +2229,11 @@
- for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop
- if Name_Buffer (J .. J + Prog'Length - 1) = Prog then
- End_Of_Prefix := J - 1;
-+ Start_Of_Suffix := J + Prog'Length;
- exit;
- end if;
- end loop;
-
-- if End_Of_Prefix > 1 then
-- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1;
-- end if;
--
- -- Create the new program name
-
- return new String'
---- a/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:37:05.733985417 +0200
-+++ b/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:38:02.925029050 +0200
-@@ -4,7 +4,7 @@
- --- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200
- +++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100
- @@ -857,6 +857,12 @@ proper position among the other output f
-- #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G"
-+ #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
- #endif
-
- +#ifdef ENABLE_DEFAULT_SSP
-@@ -19,9 +19,9 @@
- @@ -1131,7 +1148,7 @@ static const char *cc1_options =
- %{-version:--version}\
- %{-help=*:--help=%*}\
-- %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
-+ %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
- - %{fsyntax-only:-o %j} %{-param*}\
- + %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
- %{coverage:-fprofile-arcs -ftest-coverage}\
-+ %{fdump-scos:-fpreserve-decisions-generic}\
- %{fprofile-arcs|fprofile-generate*|coverage:\
-- %{!fprofile-update=singel:\
---- a/gcc-9-2020-20200429-19AA7-src/gcc/ada/init.c 2021-12-10 22:12:34.061054044 +0100
-+++ b/gcc-9-2020-20200429-19AA7-src/gcc/ada/init.c 2021-12-10 22:13:36.033109326 +0100
-@@ -581,9 +581,6 @@
- #define HAVE_GNAT_ALTERNATE_STACK 1
- /* This must be in keeping with System.OS_Interface.Alternate_Stack_Size.
- It must be larger than MINSIGSTKSZ and hopefully near 2 * SIGSTKSZ. */
--# if 16 * 1024 < MINSIGSTKSZ
--# error "__gnat_alternate_stack too small"
--# endif
- char __gnat_alternate_stack[16 * 1024];
- #endif
-
diff --git a/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild
deleted file mode 100644
index a70c2cc890dc..000000000000
--- a/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PATCH_GCC_VER=9.3.0
-PATCH_VER="5"
-
-TOOLCHAIN_GCC_PV=9.3.1
-
-REL=9
-MYP=gcc-${REL}-${PV}-20200429-19AA7-src
-GNATDIR=gnat-${PV}-20200429-19B04-src
-INTFDIR=gcc-interface-${REL}-${PV}-20200429-19B10-src
-BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
-BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
-
-# we provide own tarball below
-GCC_TARBALL_SRC_URI="
- https://community.download.adacore.com/v1/649a561ec6de9e476c54b02715b79f7503600ce5?filename=${GNATDIR}.tar.gz
- -> ${GNATDIR}.tar.gz
- https://community.download.adacore.com/v1/e6b6a3e318e13248456bd37b758435e602b367da?filename=${MYP}.tar.gz
- -> ${MYP}.tar.gz
- https://community.download.adacore.com/v1/c7a97636b31f3575df85f1eb0965462a353630dd?filename=${INTFDIR}.tar.gz
- -> ${INTFDIR}.tar.gz
- bootstrap? (
- amd64? (
- http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
- ${BTSTRP_AMD64}.tar.gz
- )
- x86? (
- http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
- ${BTSTRP_X86}.tar.gz
- )
- )"
-
-inherit toolchain-funcs toolchain
-
-DESCRIPTION="GNAT Ada Compiler - GPL version"
-HOMEPAGE="http://libre.adacore.com/"
-
-LICENSE+=" GPL-2 GPL-3"
-KEYWORDS="amd64 x86"
-IUSE="+ada +bootstrap"
-RESTRICT="test"
-
-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 )"
-
-src_prepare() {
- if use amd64; then
- BTSTRP=${BTSTRP_AMD64}
- else
- BTSTRP=${BTSTRP_X86}
- fi
-
- if use bootstrap; then
- GCC="${WORKDIR}"/${BTSTRP}/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 or"
- eerror "3) set ADA to a working gcc ada compiler"
- die "ada compiler not available"
- fi
-
- if use bootstrap; then
- rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \
- || die
- ln -s /usr/bin/$CHOST-ld \
- "${WORKDIR}"/${BTSTRP}/libexec/gcc/x86_64-pc-linux-gnu/4.7.4/ld \
- || die
- fi
-
- 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 $(type -P ${GCC}) bin/gcc || die
- ln -s $(type -P ${CXX}) bin/g++ || die
- ln -s $(type -P ${GNATMAKE}) bin/gnatmake || die
- ln -s $(type -P ${GNATBIND}) bin/gnatbind || die
- ln -s $(type -P ${GNATLINK}) bin/gnatlink || die
- ln -s $(type -P ${GNATLS}) bin/gnatls || die
-
- cd ..
- mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die
- mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die
- eapply "${FILESDIR}"/${P}-gentoo.patch
- rm patch/32*.patch || die
- 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}
- downgrade_arch_flags "$(gcc-version)"
- toolchain_src_configure
-}
-
-pkg_postinst() {
- toolchain_pkg_postinst
- einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
- einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}"
- 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"
-}
^ permalink raw reply related [flat|nested] 12+ messages in thread
end of thread, other threads:[~2022-11-26 19:47 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-11 20:46 [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/, dev-lang/gnat-gpl/files/ Alfredo Tupone
-- strict thread matches above, loose matches on Subject: below --
2017-03-26 19:04 Alfredo Tupone
2017-06-17 15:43 Alfredo Tupone
2018-11-17 14:08 Alfredo Tupone
2019-05-29 17:08 Alfredo Tupone
2019-11-20 19:38 Alfredo Tupone
2019-11-20 20:42 Alfredo Tupone
2020-06-21 17:31 Sergei Trofimovich
2020-06-21 20:37 Sergei Trofimovich
2021-07-11 16:52 Alfredo Tupone
2022-01-01 21:44 Alfredo Tupone
2022-11-26 19:47 Alfredo Tupone
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox