public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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")
+             &amp; 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 " &amp;
+           "  (Body_File_Name  => ""*%b""," &amp;
+           "   Casing          => %c," &amp;
+           "   Dot_Replacement => ""%d"");";
+      for Config_Spec_File_Name_Pattern ("Ada") use
+           "pragma Source_File_Name_Project " &amp;
+           "  (Spec_File_Name  => ""*%s""," &amp;
+           "   Casing          => %c," &amp;
+           "   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