public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2017-06-22 20:00 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2017-06-22 20:00 UTC (permalink / raw
  To: gentoo-commits

commit:     27440b1aa409e5471622a0ad0bbebbf97e7f79c8
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 22 19:59:41 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Thu Jun 22 19:59:41 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27440b1a

dev-lang/gnat-gpl: Remove tool description file (to be put on gprbuild)

Package-Manager: Portage-2.3.5, Repoman-2.3.1

 dev-lang/gnat-gpl/files/gnat-gpl.xml   | 94 ----------------------------------
 dev-lang/gnat-gpl/gnat-gpl-2016.ebuild |  4 --
 dev-lang/gnat-gpl/gnat-gpl-2017.ebuild |  4 --
 3 files changed, 102 deletions(-)

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl.xml b/dev-lang/gnat-gpl/files/gnat-gpl.xml
deleted file mode 100644
index 7d321e03b6a..00000000000
--- a/dev-lang/gnat-gpl/files/gnat-gpl.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?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";
-      for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@");
-   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 5f8e52f2347..8ad45cb76a1 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
@@ -94,8 +94,6 @@ 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
 
@@ -153,8 +151,6 @@ src_compile() {
 }
 
 src_install() {
-	insinto /usr/share/gprconfig
-	doins ${P}.xml
 	toolchain_src_install
 	cd "${D}"${BINPATH}
 	for x in gnat*; do

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
index 2dc7360a8d3..a050c6bba30 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
@@ -82,8 +82,6 @@ src_unpack() {
 }
 
 src_prepare() {
-	sed -e "s:@VER@:${TOOLCHAIN_GCC_PV}:g" "${FILESDIR}"/${PN}.xml > ${P}.xml
-
 	CC=${GCC}
 	CXX="${gnatbase/gcc/g++}"
 	GNATBIND="${gnatbase/gcc/gnatbind}"
@@ -138,8 +136,6 @@ 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] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2017-11-26 15:58 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2017-11-26 15:58 UTC (permalink / raw
  To: gentoo-commits

commit:     af55f60843d42cc9481885063742d4c7543e6760
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 26 15:58:06 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Nov 26 15:58:06 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af55f608

dev-lang/gnat-gpl: align gnat-gpl-2016 ebuild to gcc-4.9.4

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 dev-lang/gnat-gpl/Manifest                         |  2 +-
 .../gnat-gpl/files/gnat-gpl-2016-bootstrap.patch   | 66 ++++++++++++++++++++++
 dev-lang/gnat-gpl/gnat-gpl-2016.ebuild             | 13 ++++-
 3 files changed, 77 insertions(+), 4 deletions(-)

diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 3752c9a9382..f60bded56f3 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -1,7 +1,7 @@
 DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e
 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.0.tar.bz2 22266 BLAKE2B 38536e8a86a8296754311633b73da0bd7dddb3a6ac65e4b5ba1dde352789e9114a1129aad11bcb988a1baadec6fdf893290c6af83bb9fad5613f35a37ebbb12e SHA512 cc2407221f858bad38b57d31f635314f91794293695e23d255685d8bec20b9db19c7dc76bbf5e8184c2ba0ccb530958b09bae4d8a402ca27cadf463f46bfb995
+DIST gcc-4.9.4-patches-1.2.tar.bz2 25447 BLAKE2B 3141897688409c84cab4ffea67deb220d2218107f279a0cc1758d08c858f3a3856150df48ae37d2f14c6f69bc82de1e87f22cc356f179dfdf47ae9eef28a4182 SHA512 61b1e86e8dbc2838e7b5c88c4a3bab9ed5b6485258b7971799850ffd97cb67ad2564552af4e9ebc860dcc2a4b786c91d2079469468fb95f8e28e2fc981b4c812
 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-bootstrap.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch
new file mode 100644
index 00000000000..aed1ad0e90b
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-bootstrap.patch
@@ -0,0 +1,66 @@
+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/gnat-gpl-2016.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
index 89ff9031378..8a347c7803b 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016.ebuild
@@ -1,9 +1,9 @@
 # Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI="5"
 
-PATCH_VER="1.0"
+PATCH_VER="1.2"
 UCLIBC_VER="1.0"
 
 # Hardened gcc 4 stuff
@@ -48,11 +48,15 @@ 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 bootstrap; then
 		GCC="${WORKDIR}"/gnat-gpl-2014-x86_64-linux-bin/bin/gcc
 	else
@@ -120,10 +124,13 @@ src_prepare() {
 		EPATCH_EXCLUDE+=" 10_all_default-fortify-source.patch"
 	fi
 
+	# Bug 638056
+	epatch "${FILESDIR}/${P}-bootstrap.patch"
+
 	toolchain_src_prepare
 
 	use vanilla && return 0
-	#Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
+	# Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
 	[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
 }
 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2018-06-09 18:42 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2018-06-09 18:42 UTC (permalink / raw
  To: gentoo-commits

commit:     e547d8901c640355c266a003976053ebcfd6884d
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Jun  9 18:39:25 2018 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Jun  9 18:41:13 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e547d890

dev-lang/gnat-gpl: Version bump to gnat-gpl-2018

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 dev-lang/gnat-gpl/Manifest                         |   5 +
 dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch |  18 ++
 dev-lang/gnat-gpl/gnat-gpl-2018.ebuild             | 192 +++++++++++++++++++++
 3 files changed, 215 insertions(+)

diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 0b0f6a1f33a..0257e4a64d0 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -8,9 +8,14 @@ DIST gcc-4.9.4.tar.bz2 90097606 BLAKE2B 373ff939ea72d6c4a7f3ab899b852b4c919481af
 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-6.3.0.tar.bz2 99903185 BLAKE2B 3dc1e965afcad665d659fbb953978ef297ddbdd4d8918d36b35e977f8a2786b986f6875af2f12c599cc827b2b725d8b79ac021c9b51fb1d6d274318a59aa182c SHA512 234dd9b1bdc9a9c6e352216a7ef4ccadc6c07f156006a59759c5e0e6a69f0abcdc14630eff11e3826dd6ba5933a8faa43043f3d1d62df6bd5ab1e82862f9bf78
+DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab863302943588226d5b599dfa1acf0e495111be1c581f4e130f911c312916669c4f2707eec5218601db090d5060248b2fe481d710 SHA512 79f06deca5753251de82a703f4a9698c117706290df779291a5405edb06f1c225d1d2416bda0e67dcd87cc308bf79504e89d4bd8e22aa0eedfbf06d88bc37f33
+DIST gcc-7.3.0-patches-1.4.tar.bz2 8238 BLAKE2B 72a5dcb046558c8f5c3a75040fe24ce1106c43af7510d6febf667b4377cb9caea5ebe9e1287af90e4ebfffa3f3f22ca85f533acf57c2e2d896f92adc1659b9f5 SHA512 24ed0d82240426efb111bbf48913b96fdc824ae3aa5a653298a726ebe64a40791f484229bbab9cc58f73d658e0b4b83ccd13081cfbea6e1673ef1d076cca3b33
+DIST gcc-7.3.0.tar.xz 62462388 BLAKE2B dc8f132b21bd0543c3d9dd17557038aafe65675aa73c540954234a3c972b4c31c939149bd50183d072ab6c8d16919e19daeaaffd619ce2ccd62dbdf9a5bb3302 SHA512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4
 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 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/gnat-gpl-2018-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch
new file mode 100644
index 00000000000..b778900083e
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch
@@ -0,0 +1,18 @@
+--- gcc-7-gpl-2018-src/gcc/ada/osint.adb.old	2017-03-10 21:58:02.600710156 +0100
++++ gcc-7-gpl-2018-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/gnat-gpl-2018.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2018.ebuild
new file mode 100644
index 00000000000..ad01178879b
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2018.ebuild
@@ -0,0 +1,192 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PATCH_VER="1.4"
+
+TOOLCHAIN_GCC_PV=7.3.0
+
+inherit eutils toolchain-funcs toolchain
+
+REL=7
+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/5b0819dfc7a447df26c27aa5
+		-> ${P}-src.tar.gz
+	http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa7
+		-> ${MYP}.tar.gz
+	http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa6
+		-> 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
+	epatch "${FILESDIR}"/${P}-gentoo.patch
+	rm patch/91_all_bmi-i386-PR-target-81763.patch || die
+	rm patch/93_all_copy-constructible-fix.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 () {
+	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] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2018-11-18 20:56 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2018-11-18 20:56 UTC (permalink / raw
  To: gentoo-commits

commit:     651fd651dceb78fb082b79aec1ac44302640e239
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 18 20:56:42 2018 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sun Nov 18 20:56:42 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=651fd651

dev-lang/gnat-gpl: Add some profile definitions from 2017

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 .../gnat-gpl/files/gnat-gpl-2016-profile.patch     | 113 +++++++++++
 dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild          | 218 +++++++++++++++++++++
 2 files changed, 331 insertions(+)

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch
new file mode 100644
index 00000000000..561c012a23e
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-profile.patch
@@ -0,0 +1,113 @@
+--- 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-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
new file mode 100644
index 00000000000..d0a087fcbda
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
@@ -0,0 +1,218 @@
+# 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"
+	# add profile for gnat_util compatibility
+	epatch "${FILESDIR}/${P}-profile.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] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2019-04-19 19:40 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2019-04-19 19:40 UTC (permalink / raw
  To: gentoo-commits

commit:     6037fa1f1074bcf0fa9ef762d58fc79ca4a2b915
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 19 19:40:08 2019 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Fri Apr 19 19:40:08 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6037fa1f

dev-lang/gnat-gpl: Fix missing ustat.h for gnat-gpl-2016

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11

 dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch | 31 +++++++++++++++++++++++
 dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild         |  4 ++-
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch
new file mode 100644
index 00000000000..ee0d22dcc9f
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2016-ustat.patch
@@ -0,0 +1,31 @@
+--- a/gcc-4.9-gpl-2016-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2019-04-19 20:53:11.382114157 +0200
++++ b/gcc-4.9-gpl-2016-src/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc	2019-04-19 20:57:10.725037767 +0200
+@@ -81,7 +81,6 @@
+ #include <sys/statvfs.h>
+ #include <sys/timex.h>
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -163,7 +162,19 @@
+   unsigned struct_old_utsname_sz = sizeof(struct old_utsname);
+   unsigned struct_oldold_utsname_sz = sizeof(struct oldold_utsname);
+   unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
+-  unsigned struct_ustat_sz = sizeof(struct ustat);
++  // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++  // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++  || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++  || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++  || defined(__powerpc__) || defined(__s390__)  || defined(__sparc__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++  unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+ #endif // SANITIZER_LINUX
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
index b9eabc78636..86322c8996a 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2016-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="5"
@@ -146,6 +146,8 @@ src_prepare() {
 	epatch "${FILESDIR}/${P}-finalization.patch"
 	# add profile for gnat_util compatibility
 	epatch "${FILESDIR}/${P}-profile.patch"
+	# fix missing ustat.h
+	epatch "${FILESDIR}/${P}-ustat.patch"
 
 	toolchain_src_prepare
 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2019-04-20  6:50 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2019-04-20  6:50 UTC (permalink / raw
  To: gentoo-commits

commit:     60e4b58db180cbef7dc2c98b607b459afb3af965
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 20 06:50:30 2019 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat Apr 20 06:50:30 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60e4b58d

dev-lang/gnat-gpl: Fix build withouy ustat

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11

 dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch | 31 +++++++++++++++++++++++
 dev-lang/gnat-gpl/gnat-gpl-2017.ebuild            |  5 +++-
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch
new file mode 100644
index 00000000000..505c23b03a0
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2017-ustat.patch
@@ -0,0 +1,31 @@
+--- 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
+@@ -150,7 +150,6 @@
+ # include <sys/procfs.h>
+ #endif
+ #include <sys/user.h>
+-#include <sys/ustat.h>
+ #include <linux/cyclades.h>
+ #include <linux/if_eql.h>
+ #include <linux/if_plip.h>
+@@ -243,7 +242,19 @@
+ #endif // SANITIZER_LINUX || SANITIZER_FREEBSD
+ 
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+-  unsigned struct_ustat_sz = sizeof(struct ustat);
++  // Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
++  // has been removed from glibc 2.28.
++#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
++  || defined(__powerpc64__) || defined(__arch64__) || defined(__sparcv9) \
++  || defined(__x86_64__)
++#define SIZEOF_STRUCT_USTAT 32
++#elif defined(__arm__) || defined(__i386__) || defined(__mips__) \
++  || defined(__powerpc__) || defined(__s390__)  || defined(__sparc__)
++#define SIZEOF_STRUCT_USTAT 20
++#else
++#error Unknown size of struct ustat
++#endif
++  unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT;
+   unsigned struct_rlimit64_sz = sizeof(struct rlimit64);
+   unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
+ #endif // SANITIZER_LINUX && !SANITIZER_ANDROID

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
index bdcc9a45caf..92ca3436505 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2017.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI="5"
@@ -125,6 +125,9 @@ src_prepare() {
 		-e 's:$(P) ::g' \
 		gcc/ada/gcc-interface/Makefile.in \
 		|| die "sed failed"
+	# fix missing ustat.h
+	epatch "${FILESDIR}/${P}-ustat.patch"
+
 	toolchain_src_prepare
 }
 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2019-11-21 19:23 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2019-11-21 19:23 UTC (permalink / raw
  To: gentoo-commits

commit:     407d05f11397748b2a14b4689ab4f0928feef7ce
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 21 19:23:28 2019 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Thu Nov 21 19:23:28 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=407d05f1

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-2018-gentoo.patch |   4 +-
 dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild          | 193 +++++++++++++++++++++
 2 files changed, 195 insertions(+), 2 deletions(-)

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch
index b778900083e..5d6a38af14e 100644
--- a/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2018-gentoo.patch
@@ -1,5 +1,5 @@
---- gcc-7-gpl-2018-src/gcc/ada/osint.adb.old	2017-03-10 21:58:02.600710156 +0100
-+++ gcc-7-gpl-2018-src/gcc/ada/osint.adb	2017-03-10 21:59:38.033983293 +0100
+--- a/gcc-7-gpl-2018-src/gcc/ada/osint.adb	2017-03-10 21:58:02.600710156 +0100
++++ b/gcc-7-gpl-2018-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-2018-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild
new file mode 100644
index 00000000000..00f3295d1ce
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2018-r3.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.8"
+
+TOOLCHAIN_GCC_PV=7.3.0
+GCC_CONFIG_VER=7.3.1
+
+inherit toolchain-funcs toolchain
+
+REL=7
+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/5b0819dfc7a447df26c27aa5
+		-> ${P}-src.tar.gz
+	http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa7
+		-> ${MYP}.tar.gz
+	http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27aa6
+		-> 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"
+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 )"
+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
+
+	cd ..
+	sed -i \
+		-e 's:$(P) ::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
+	eapply "${FILESDIR}"/${P}-gentoo.patch
+	cd -
+
+	EPATCH_EXCLUDE+=" 91_all_bmi-i386-PR-target-81763.patch"
+	EPATCH_EXCLUDE+=" 93_all_copy-constructible-fix.patch"
+	EPATCH_EXCLUDE+=" 95_all_libsanitizer-avoidustat.h-glibc-2.28-part-1.patch"
+	EPATCH_EXCLUDE+=" 98_all_msp430-partial-int.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] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2020-06-21 16:58 Sergei Trofimovich
  0 siblings, 0 replies; 10+ messages in thread
From: Sergei Trofimovich @ 2020-06-21 16:58 UTC (permalink / raw
  To: gentoo-commits

commit:     13294ad1c51cc6f1921577c717aaba643226db08
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 21 16:58:29 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Jun 21 16:58:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13294ad1

dev-lang/gnat-gpl: backport libsanitizer fix to 2018

Reported-by: Agostino Sarubbo
Bug: https://bugs.gentoo.org/726752
Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 .../files/gnat-gpl-2018-libsanitizer-p1.patch      | 32 ++++++++++++
 .../files/gnat-gpl-2018-libsanitizer-p2.patch      | 59 ++++++++++++++++++++++
 dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild          |  2 +
 3 files changed, 93 insertions(+)

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p1.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p1.patch
new file mode 100644
index 00000000000..80cc074d7f3
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p1.patch
@@ -0,0 +1,32 @@
+From 54d87ffe4b34052f159ac5b72b250129ce813b2a Mon Sep 17 00:00:00 2001
+From: Jakub Jelinek <jakub@redhat.com>
+Date: Fri, 14 Feb 2020 12:33:27 +0100
+Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
+ bootstrap due to libsanitizer)
+
+	Backported from mainline
+	2019-10-22  Tamar Christina  <tamar.christina@arm.com>
+
+	PR sanitizer/92154
+	* sanitizer_common/sanitizer_platform_limits_posix.cc:
+	Cherry-pick compiler-rt revision r375220.
+---
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -1147,8 +1147,12 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
+ CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
+ CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
+ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
+-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
++#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
++    !defined(__arm__)
+ /* On aarch64 glibc 2.20 and earlier provided incorrect mode field.  */
++/* On Arm glibc 2.31 and later provide a different mode field, this field is
++   never used by libsanitizer so we can simply ignore this assert for all glibc
++   versions.  */
+ CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
+ #endif
+ 
+-- 
+2.25.2
+

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p2.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p2.patch
new file mode 100644
index 00000000000..bdd8dcbe3d0
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2018-libsanitizer-p2.patch
@@ -0,0 +1,59 @@
+From dbdf86838aaaef76620c00c53096cfe157d5af6e Mon Sep 17 00:00:00 2001
+From: Jakub Jelinek <jakub@redhat.com>
+Date: Fri, 14 Feb 2020 12:38:30 +0100
+Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
+ bootstrap due to libsanitizer)
+
+	Backported from mainline
+	2019-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/92154
+	* sanitizer_common/sanitizer_platform_limits_posix.h: Cherry-pick
+	llvm-project revision 947f9692440836dcb8d88b74b69dd379d85974ce.
+	* sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.
+---
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
+@@ -1147,12 +1147,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
+ CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
+ CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
+ CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
+-#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
+-    !defined(__arm__)
+-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field.  */
+-/* On Arm glibc 2.31 and later provide a different mode field, this field is
+-   never used by libsanitizer so we can simply ignore this assert for all glibc
+-   versions.  */
++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
++   on many architectures.  */
+ CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
+ #endif
+ 
+--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+@@ -210,20 +210,13 @@ namespace __sanitizer {
+     unsigned long __unused1;
+     unsigned long __unused2;
+ #elif defined(__sparc__)
+-# if defined(__arch64__)
+     unsigned mode;
+-    unsigned short __pad1;
+-# else
+-    unsigned short __pad1;
+-    unsigned short mode;
+     unsigned short __pad2;
+-# endif
+     unsigned short __seq;
+     unsigned long long __unused1;
+     unsigned long long __unused2;
+ #else
+-    unsigned short mode;
+-    unsigned short __pad1;
++    unsigned int mode;
+     unsigned short __seq;
+     unsigned short __pad2;
+ #if defined(__x86_64__) && !defined(_LP64)
+-- 
+2.25.2
+

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild
index 7dbb27439ea..bb4782b8d4b 100644
--- a/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild
+++ b/dev-lang/gnat-gpl/gnat-gpl-2018-r3.ebuild
@@ -123,6 +123,8 @@ src_prepare() {
 	EPATCH_EXCLUDE+=" 95_all_libsanitizer-avoidustat.h-glibc-2.28-part-1.patch"
 	EPATCH_EXCLUDE+=" 98_all_msp430-partial-int.patch"
 	toolchain_src_prepare
+	eapply "${FILESDIR}"/${P}-libsanitizer-p1.patch
+	eapply "${FILESDIR}"/${P}-libsanitizer-p2.patch
 }
 
 src_configure() {


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2021-05-11 17:06 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2021-05-11 17:06 UTC (permalink / raw
  To: gentoo-commits

commit:     dbb08ba67ee56006c5584bded7b43f16e9c5f6aa
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Tue May 11 17:06:09 2021 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Tue May 11 17:06:09 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbb08ba6

dev-lang/gnat-gpl: version bump to 2020

Package-Manager: Portage-3.0.18, Repoman-3.0.2
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 |  41 ++++++
 dev-lang/gnat-gpl/gnat-gpl-2020.ebuild             | 140 +++++++++++++++++++++
 dev-lang/gnat-gpl/metadata.xml                     |   2 +
 4 files changed, 187 insertions(+)

diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 13cdef5417f..84616d9f3bc 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -11,11 +11,15 @@ DIST gcc-7-gpl-2018-src.tar.gz 90302033 BLAKE2B 2f79137e176bff04c4fb17ab86330294
 DIST gcc-7.3.0-patches-1.8.tar.bz2 14435 BLAKE2B 3e5c1abad56ccd6e0aa7739cb7cd651ec07ef9bf25be554343f1fa0444f251de41bde5fe6f8bb9e85e3f7a5cf8b2b83515647d93d62f338fa7843581fcaff2f8 SHA512 4d9d76b3d47f1af4f23cae15278d165b22065a3d1512323d1e31b5e0cb47e4654733dc43fa11906a3bd18e827621c9a5ec62b73563f8e5ead663c29f7d0d7345
 DIST gcc-8-2019-20190517-18C94-src.tar.gz 95266904 BLAKE2B 8dc1983317517e9d7221ffd3d1c804367c98a7142b3964e6382ee037da2cfebc9e044640549c77905646727e97ba108445b00f36916a65c326e862230608a7dc SHA512 50933d7eab927a2d118e01c5cb85336203544f6fbc3f245a148e952320d6f8452fcd5d355019a144e8af03357d129bb145397506db0a62fddf1f746b6671e7fc
 DIST gcc-8.3.0-patches-4.tar.bz2 17095 BLAKE2B 449d83371bf5a70020f4caad38d7b8f79bc4b3aeb13b060d28b56506fdd33e15527ab38c41baa3134dc9a25208dadfafab5992e93b2e9719dda420f830e7a8bf SHA512 0dcc5ce887b5c1dd9977ca1b1d8760563edf7ce2d39644f6212397c55c325ee441e1e02aea623bff157d95827db25528791137edc24931a88baad6499d0d15d5
+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-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 gcc-interface-9-2020-20200429-19B10-src.tar.gz 351113 BLAKE2B a786532194a5ac57dd91b5c207aaf4543e99a3305dccf175908bee80cc96d112b9c5531497516ad1edc33e9bcff62374dd473aed93bfb1d0aea13e017473d98e SHA512 445744a745eee5e3a686ec59f7880a3792d4fd30425a38090e40e5cc85379e6f877745d7ea61ffabb42ed177ee90f01e2309dfdd5f060027cfc86ac77fddebba
 DIST gnat-2019-20190517-18C94-src.tar.gz 8950160 BLAKE2B ce6b8ca0687b3d345db72a8b3216e67ba706cfd7f6ca98f45ec2ae356d9c5b3a42a4b3aac5e89285871157ddaca3aff1b970934de88f8190d84aff060bf1fc4b SHA512 4d57c97fc1f3d5274e0c4ffa536ec056e7c3f1619010affff008cd07a0bfa638d18fee1705a5dd76f12d168baef85677cc34ef40f5e52fd5292ac886c0d4c5ee
+DIST gnat-2020-20200429-19B04-src.tar.gz 8485156 BLAKE2B 79683138873b236d832939602f084058723a908e1b709b4bab72e7ae5404336d0ad7b8417eca80e1e1e3a1c260d953ac8326da41429c95729129f88caa2dd3e7 SHA512 bf93a7b877b44422513a4658b29ddd9edcc320d8ac73d3044f4ce868f10be368993e915e710ed45be287e07e9d6c117e51fa73027ed311b04458c9cae1984253
 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-2020-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch
new file mode 100644
index 00000000000..878b4f82cf5
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2020-gentoo.patch
@@ -0,0 +1,41 @@
+--- 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:\

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild
new file mode 100644
index 00000000000..1e59a7091c9
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2020.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_GCC_VER=9.3.0
+PATCH_VER="4"
+
+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 )"
+
+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
+
+	toolchain_src_unpack
+	if use bootstrap; then
+		rm ${BTSTRP}/libexec/gcc/*/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/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"
+}

diff --git a/dev-lang/gnat-gpl/metadata.xml b/dev-lang/gnat-gpl/metadata.xml
index d3aadec0e51..d22ee4a1f67 100644
--- a/dev-lang/gnat-gpl/metadata.xml
+++ b/dev-lang/gnat-gpl/metadata.xml
@@ -10,6 +10,7 @@
 			Window Toolkit (AWT) peer support on top of GTK+</flag>
 		<flag name="bootstrap">Used to bootstrap gnat-gpl</flag>
 		<flag name="cilk">Support the Cilk Plus language (C/C++ based languages for parallel programming)</flag>
+		<flag name="d">Enable support for the D programming language</flag>
 		<flag name="fixed-point">Enable fixed-point arithmetic support for MIPS
 			targets in gcc (Warning: significantly increases compile time!)
 		</flag>
@@ -21,6 +22,7 @@
 		<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="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>


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/
@ 2021-05-29 13:37 Alfredo Tupone
  0 siblings, 0 replies; 10+ messages in thread
From: Alfredo Tupone @ 2021-05-29 13:37 UTC (permalink / raw
  To: gentoo-commits

commit:     f7fb0c64c5349cc36f226e5f94fc458181b5d780
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Sat May 29 13:37:20 2021 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Sat May 29 13:37:20 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7fb0c64

dev-lang/gnat-gpl: version bump to 2021

Package-Manager: Portage-3.0.18, Repoman-3.0.2
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-lang/gnat-gpl/Manifest                         |   4 +
 dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch |  41 +++++++
 dev-lang/gnat-gpl/gnat-gpl-2021.ebuild             | 132 +++++++++++++++++++++
 3 files changed, 177 insertions(+)

diff --git a/dev-lang/gnat-gpl/Manifest b/dev-lang/gnat-gpl/Manifest
index 84616d9f3bc..e221b8dc8f6 100644
--- a/dev-lang/gnat-gpl/Manifest
+++ b/dev-lang/gnat-gpl/Manifest
@@ -1,4 +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
@@ -13,6 +15,7 @@ DIST gcc-8-2019-20190517-18C94-src.tar.gz 95266904 BLAKE2B 8dc1983317517e9d7221f
 DIST gcc-8.3.0-patches-4.tar.bz2 17095 BLAKE2B 449d83371bf5a70020f4caad38d7b8f79bc4b3aeb13b060d28b56506fdd33e15527ab38c41baa3134dc9a25208dadfafab5992e93b2e9719dda420f830e7a8bf SHA512 0dcc5ce887b5c1dd9977ca1b1d8760563edf7ce2d39644f6212397c55c325ee441e1e02aea623bff157d95827db25528791137edc24931a88baad6499d0d15d5
 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
@@ -20,6 +23,7 @@ DIST gcc-interface-8-2019-20190510-18F59-src.tar.gz 352408 BLAKE2B d08867737fd5a
 DIST gcc-interface-9-2020-20200429-19B10-src.tar.gz 351113 BLAKE2B a786532194a5ac57dd91b5c207aaf4543e99a3305dccf175908bee80cc96d112b9c5531497516ad1edc33e9bcff62374dd473aed93bfb1d0aea13e017473d98e SHA512 445744a745eee5e3a686ec59f7880a3792d4fd30425a38090e40e5cc85379e6f877745d7ea61ffabb42ed177ee90f01e2309dfdd5f060027cfc86ac77fddebba
 DIST gnat-2019-20190517-18C94-src.tar.gz 8950160 BLAKE2B ce6b8ca0687b3d345db72a8b3216e67ba706cfd7f6ca98f45ec2ae356d9c5b3a42a4b3aac5e89285871157ddaca3aff1b970934de88f8190d84aff060bf1fc4b SHA512 4d57c97fc1f3d5274e0c4ffa536ec056e7c3f1619010affff008cd07a0bfa638d18fee1705a5dd76f12d168baef85677cc34ef40f5e52fd5292ac886c0d4c5ee
 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
 DIST gnat-gpl-2016-src.tar.gz 8857249 BLAKE2B 3ff0fe247990e2a612ac989aa389e9ccae2e29c16177975c327b53ae1471030d0a70e5a2e3af219ad9a3288c241f2d18da349d0650f7fde01d439f4e4720de88 SHA512 4a5cb58ede5b4ae2887e64f0f2e12e0e06470d320796f06d02f7ddd932ff0d3b40e6d3e98a81138fff6906548a55153c2a186ff4a6e3d23b9dbe01ca582da1f8

diff --git a/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
new file mode 100644
index 00000000000..3caa2a6d996
--- /dev/null
+++ b/dev-lang/gnat-gpl/files/gnat-gpl-2021-gentoo.patch
@@ -0,0 +1,41 @@
+--- a/gcc-10-2021-20210519-19A74-src/gcc/ada/osint.adb	2017-03-10 21:58:02.600710156 +0100
++++ b/gcc-10-2021-20210519-19A74-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:\

diff --git a/dev-lang/gnat-gpl/gnat-gpl-2021.ebuild b/dev-lang/gnat-gpl/gnat-gpl-2021.ebuild
new file mode 100644
index 00000000000..81b52d26bad
--- /dev/null
+++ b/dev-lang/gnat-gpl/gnat-gpl-2021.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PATCH_GCC_VER=10.3.0
+PATCH_VER="1"
+
+TOOLCHAIN_GCC_PV=10.3.1
+
+REL=10
+MYP=gcc-${REL}-${PV}-20210519-19A74-src
+GNATDIR=gnat-${PV}-20210519-19A70-src
+INTFDIR=gcc-interface-${REL}-${PV}-20210519-19A75-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/005d2b2eff627177986d2517eb31e1959bec6f3a?filename=${GNATDIR}.tar.gz
+		-> ${GNATDIR}.tar.gz
+	https://community.download.adacore.com/v1/44cd393be0b468cc253bf2cf9cf7804c993e7b5b?filename=${MYP}.tar.gz
+		-> ${MYP}.tar.gz
+	https://community.download.adacore.com/v1/8ace7d06e469d36d726cc8badb0ed78411e727f3?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}"
+BDEPEND=sys-devel/binutils
+
+S="${WORKDIR}"/${MYP}
+
+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
+
+	gnatbase=$(basename ${GCC})
+	gnatpath=$(dirname ${GCC})
+
+	GNATMAKE=${gnatbase/gcc/gnatmake}
+	if [[ ${gnatpath} != "." ]] ; then
+		GNATMAKE="${gnatpath}/${GNATMAKE}"
+	fi
+	if use bootstrap; then
+		rm "${WORKDIR}"/${BTSTRP}/libexec/gcc/*/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 $(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
+	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] 10+ messages in thread

end of thread, other threads:[~2021-05-29 13:37 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-29 13:37 [gentoo-commits] repo/gentoo:master commit in: dev-lang/gnat-gpl/files/, dev-lang/gnat-gpl/ Alfredo Tupone
  -- strict thread matches above, loose matches on Subject: below --
2021-05-11 17:06 Alfredo Tupone
2020-06-21 16:58 Sergei Trofimovich
2019-11-21 19:23 Alfredo Tupone
2019-04-20  6:50 Alfredo Tupone
2019-04-19 19:40 Alfredo Tupone
2018-11-18 20:56 Alfredo Tupone
2018-06-09 18:42 Alfredo Tupone
2017-11-26 15:58 Alfredo Tupone
2017-06-22 20:00 Alfredo Tupone

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox