summaryrefslogtreecommitdiff
path: root/dev-ada
diff options
context:
space:
mode:
authorPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
committerPalica <palica+gitlab@liguros.net>2020-06-23 22:35:08 +0200
commitecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch)
treeb89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-ada
parent1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff)
downloadbaldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz
baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip
Updating liguros repo
Diffstat (limited to 'dev-ada')
-rw-r--r--dev-ada/asis/Manifest2
-rw-r--r--dev-ada/asis/asis-2016-r1.ebuild48
-rw-r--r--dev-ada/asis/asis-2019-r1.ebuild51
-rw-r--r--dev-ada/asis/files/asis-2016-gentoo.patch37
-rw-r--r--dev-ada/asis/files/asis-2017-gentoo.patch50
-rw-r--r--dev-ada/asis/metadata.xml14
-rw-r--r--dev-ada/aunit/Manifest2
-rw-r--r--dev-ada/aunit/aunit-2019-r1.ebuild47
-rw-r--r--dev-ada/aunit/aunit-2020.ebuild47
-rw-r--r--dev-ada/aunit/files/aunit-2016-gentoo.patch11
-rw-r--r--dev-ada/aunit/metadata.xml17
-rw-r--r--dev-ada/aws/Manifest3
-rw-r--r--dev-ada/aws/aws-2018-r2.ebuild44
-rw-r--r--dev-ada/aws/aws-2019-r1.ebuild43
-rw-r--r--dev-ada/aws/aws-2020.ebuild43
-rw-r--r--dev-ada/aws/files/aws-2016-gentoo.patch28
-rw-r--r--dev-ada/aws/files/aws-2018-gentoo.patch56
-rw-r--r--dev-ada/aws/files/aws-2020-gentoo.patch11
-rw-r--r--dev-ada/aws/metadata.xml16
-rw-r--r--dev-ada/gnat-suite-bin/Manifest6
-rw-r--r--dev-ada/gnat-suite-bin/gnat-suite-bin-2014.ebuild111
-rw-r--r--dev-ada/gnat-suite-bin/gnat-suite-bin-2016.ebuild106
-rw-r--r--dev-ada/gnat-suite-bin/gnat-suite-bin-2017.ebuild106
-rw-r--r--dev-ada/gnat-suite-bin/gnat-suite-bin-2018.ebuild86
-rw-r--r--dev-ada/gnat-suite-bin/gnat-suite-bin-2019.ebuild86
-rw-r--r--dev-ada/gnat-suite-bin/metadata.xml8
-rw-r--r--dev-ada/gnat_util/Manifest3
-rw-r--r--dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch70
-rw-r--r--dev-ada/gnat_util/gnat_util-2017-r2.ebuild55
-rw-r--r--dev-ada/gnat_util/gnat_util-2018-r2.ebuild54
-rw-r--r--dev-ada/gnat_util/gnat_util-2019-r1.ebuild54
-rw-r--r--dev-ada/gnat_util/metadata.xml21
-rw-r--r--dev-ada/gnatcoll-bindings/Manifest2
-rw-r--r--dev-ada/gnatcoll-bindings/gnatcoll-bindings-2019-r1.ebuild86
-rw-r--r--dev-ada/gnatcoll-bindings/gnatcoll-bindings-2020.ebuild86
-rw-r--r--dev-ada/gnatcoll-bindings/metadata.xml26
-rw-r--r--dev-ada/gnatcoll-core/Manifest2
-rw-r--r--dev-ada/gnatcoll-core/files/gnatcoll-core-2018-gentoo.patch12
-rw-r--r--dev-ada/gnatcoll-core/gnatcoll-core-2019-r1.ebuild73
-rw-r--r--dev-ada/gnatcoll-core/gnatcoll-core-2020.ebuild74
-rw-r--r--dev-ada/gnatcoll-core/metadata.xml26
-rw-r--r--dev-ada/gnatcoll-db/Manifest1
-rw-r--r--dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch11
-rw-r--r--dev-ada/gnatcoll-db/gnatcoll-db-2019.ebuild119
-rw-r--r--dev-ada/gnatcoll-db/metadata.xml30
-rw-r--r--dev-ada/gnatmem/Manifest1
-rw-r--r--dev-ada/gnatmem/files/gnatmem-2018-gentoo.patch88
-rw-r--r--dev-ada/gnatmem/gnatmem-2019-r1.ebuild45
-rw-r--r--dev-ada/gnatmem/metadata.xml23
-rw-r--r--dev-ada/gnatsymbolize/Manifest1
-rw-r--r--dev-ada/gnatsymbolize/gnatsymbolize-2019-r1.ebuild32
-rw-r--r--dev-ada/gnatsymbolize/metadata.xml12
-rw-r--r--dev-ada/gprbuild/Manifest6
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2017-config.patch122
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2017-gentoo.patch94
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch274
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2020-gentoo.patch286
-rw-r--r--dev-ada/gprbuild/gprbuild-2017-r2.ebuild89
-rw-r--r--dev-ada/gprbuild/gprbuild-2019-r1.ebuild80
-rw-r--r--dev-ada/gprbuild/gprbuild-2020.ebuild80
-rw-r--r--dev-ada/gprbuild/metadata.xml18
-rw-r--r--dev-ada/gps/Manifest4
-rw-r--r--dev-ada/gps/files/gps-2019-gentoo.patch77
-rw-r--r--dev-ada/gps/gps-2019-r1.ebuild114
-rw-r--r--dev-ada/gps/metadata.xml13
-rw-r--r--dev-ada/gtkada/Manifest3
-rw-r--r--dev-ada/gtkada/files/gtkada-2017-r1-gentoo.patch50
-rw-r--r--dev-ada/gtkada/files/gtkada-2019-gentoo.patch11
-rw-r--r--dev-ada/gtkada/gtkada-2017-r1.ebuild60
-rw-r--r--dev-ada/gtkada/gtkada-2018-r2.ebuild60
-rw-r--r--dev-ada/gtkada/gtkada-2019-r1.ebuild63
-rw-r--r--dev-ada/gtkada/metadata.xml14
-rw-r--r--dev-ada/langkit/Manifest2
-rw-r--r--dev-ada/langkit/files/langkit-2018-gentoo.patch60
-rw-r--r--dev-ada/langkit/files/langkit-2019-gentoo.patch71
-rw-r--r--dev-ada/langkit/files/langkit-2019-gnarl.patch10
-rw-r--r--dev-ada/langkit/files/langkit-2019-pyyaml.patch11
-rw-r--r--dev-ada/langkit/langkit-2018.ebuild49
-rw-r--r--dev-ada/langkit/langkit-2019-r1.ebuild52
-rw-r--r--dev-ada/langkit/langkit-2019.ebuild51
-rw-r--r--dev-ada/langkit/metadata.xml18
-rw-r--r--dev-ada/libadalang-tools/Manifest1
-rw-r--r--dev-ada/libadalang-tools/libadalang-tools-2019-r1.ebuild40
-rw-r--r--dev-ada/libadalang-tools/metadata.xml8
-rw-r--r--dev-ada/libadalang/Manifest2
-rw-r--r--dev-ada/libadalang/files/libadalang-2017-gentoo.patch20
-rw-r--r--dev-ada/libadalang/files/libadalang-2018-gentoo.patch11
-rw-r--r--dev-ada/libadalang/files/libadalang-2019-gentoo.patch55
-rw-r--r--dev-ada/libadalang/files/libadalang-2019-pyyaml.patch11
-rw-r--r--dev-ada/libadalang/libadalang-2018-r2.ebuild69
-rw-r--r--dev-ada/libadalang/libadalang-2019-r1.ebuild77
-rw-r--r--dev-ada/libadalang/metadata.xml17
-rw-r--r--dev-ada/libgpr/Manifest2
-rw-r--r--dev-ada/libgpr/files/libgpr-2019-gentoo.patch55
-rw-r--r--dev-ada/libgpr/files/libgpr-2020-gentoo.patch11
-rw-r--r--dev-ada/libgpr/libgpr-2019-r1.ebuild62
-rw-r--r--dev-ada/libgpr/libgpr-2020.ebuild62
-rw-r--r--dev-ada/libgpr/metadata.xml22
-rw-r--r--dev-ada/metadata.xml40
-rw-r--r--dev-ada/xmlada/Manifest2
-rw-r--r--dev-ada/xmlada/files/xmlada-2019-gentoo.patch30
-rw-r--r--dev-ada/xmlada/metadata.xml24
-rw-r--r--dev-ada/xmlada/xmlada-2019-r1.ebuild80
-rw-r--r--dev-ada/xmlada/xmlada-2020.ebuild86
104 files changed, 4715 insertions, 0 deletions
diff --git a/dev-ada/asis/Manifest b/dev-ada/asis/Manifest
new file mode 100644
index 000000000000..6b39cfd014ab
--- /dev/null
+++ b/dev-ada/asis/Manifest
@@ -0,0 +1,2 @@
+DIST asis-2019-20190517-18AB5-src.tar.gz 6173053 BLAKE2B 2ce8ba783f5d58503f6b792329779eb8a5f99746b3b03225f13da058ed5a757aef49c6ae8729b71079c67da6537c35db1c7173a569a2d7063421da5d2adee2c4 SHA512 3ca32fa2eeee10ef2d0e6eb8ab555c3e31b417bdab6749fdd8bd264efa2c93a388a5731c40705782a3a28f16e0c385af195f69d95020e265b2230ead1c91977f
+DIST asis-gpl-2016-src.tar.gz 5240554 BLAKE2B b95be816f5f52ac2b29814c09166774884dc166df6e08b26769c9502443f9797c42a1f9b6168336636add6515b748b3ef4b38c6a1dc6f49c1afb9ecec8e50c50 SHA512 439195d4cb5d58328dcc8c815cb6a32c5f8ed1d6581246dfa5dcca7c212ffad38dd63df25e490c4ac628eaf8c8e6d286f8ea036b7f39499704565b60c1bba8ee
diff --git a/dev-ada/asis/asis-2016-r1.ebuild b/dev-ada/asis/asis-2016-r1.ebuild
new file mode 100644
index 000000000000..1918e6f75d29
--- /dev/null
+++ b/dev-ada/asis/asis-2016-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7} )
+inherit ada multiprocessing
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="To develop tools for Ada software"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/57399029c7a447658e0aff71
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-ada/gnat_util[${ADA_USEDEP}]
+ dev-ada/gnatcoll-core[${ADA_USEDEP},shared]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ emake PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD_FLAGS="-vl"
+ emake tools PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD_FLAGS="-vl \
+ -XGPR_BUILD=relocatable \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
+
+src_install() {
+ emake prefix="${D}"/usr install
+ emake prefix="${D}"/usr install-tools \
+ GPRINSTALL="gprinstall \
+ -XGPR_BUILD=relocatable \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
diff --git a/dev-ada/asis/asis-2019-r1.ebuild b/dev-ada/asis/asis-2019-r1.ebuild
new file mode 100644
index 000000000000..ce52378a7851
--- /dev/null
+++ b/dev-ada/asis/asis-2019-r1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{7,8,9} )
+inherit ada multiprocessing
+MYP=${P}-20190517-18AB5-src
+
+DESCRIPTION="To develop tools for Ada software"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf849031e87aa2cdf16b10
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ dev-ada/gnat_util[${ADA_USEDEP}]
+ dev-ada/gnatcoll-core[${ADA_USEDEP},shared]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
+
+src_compile() {
+ emake PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD_FLAGS="-vl"
+ emake tools PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD_FLAGS="-vl \
+ -XGPR_BUILD=relocatable \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
+
+src_install() {
+ emake prefix="${D}"/usr install
+ emake prefix="${D}"/usr install-tools \
+ GPRINSTALL="gprinstall \
+ -XGPR_BUILD=relocatable \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ mv "${D}"/usr/bin/gnatpp{,-asis} || die
+}
diff --git a/dev-ada/asis/files/asis-2016-gentoo.patch b/dev-ada/asis/files/asis-2016-gentoo.patch
new file mode 100644
index 000000000000..11a83e0fda9f
--- /dev/null
+++ b/dev-ada/asis/files/asis-2016-gentoo.patch
@@ -0,0 +1,37 @@
+--- a/Makefile 2017-01-03 13:59:38.106788092 +0000
++++ b/Makefile 2017-01-03 14:01:43.735605615 +0000
+@@ -10,15 +10,19 @@
+ # ==================================================== build
+
+ all:
+- $(GPRBUILD) -p -j0 -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
+- $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=$(COMPS) build_asis.gpr
++ $(GPRBUILD) -p -j$(PROCESSORS) -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
++ $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=$(COMPS) build_asis.gpr \
++ -cargs $(ADAFLAGS)
+
+ tools: setup
+- $(GPRBUILD) -p -j0 -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
+- $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=tools build_asis.gpr
++ $(GPRBUILD) -p -j$(PROCESSORS) -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
++ $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=tools build_asis.gpr \
++ -cargs $(ADAFLAGS)
+
+ setup:
+- $(GPRBUILD) -p -XBLD=$(BLD) tools/tool_utils/generate_factory.gpr
++ $(GPRBUILD) -p -j$(PROCESSORS) -XBLD=$(BLD) \
++ $(GPRBUILD_FLAGS) tools/tool_utils/generate_factory.gpr \
++ -cargs $(ADAFLAGS)
+ rm -rf tools/tool_utils/ada_trees-factory.ads tools/tool_utils/ada_trees-factory.adb
+ rm -rf tools/gnat2xml/ada_trees-factory.ads tools/gnat2xml/ada_trees-factory.adb
+ cd tools/tool_utils ; ./ada_trees-generate_factory$(exe_ext)
+--- a/Makefile.stub 2017-04-06 21:16:41.802376709 +0200
++++ b/Makefile.stub 2017-04-06 21:17:01.627023825 +0200
+@@ -3,7 +3,6 @@
+
+ # Where Asis library should be installed
+ # Default is into current GNAT directory
+-INSTALL_DIR = $(dir $(shell which gnatls))..
+ prefix=$(INSTALL_DIR)
+
+ # System commands
diff --git a/dev-ada/asis/files/asis-2017-gentoo.patch b/dev-ada/asis/files/asis-2017-gentoo.patch
new file mode 100644
index 000000000000..3c3ab73618fc
--- /dev/null
+++ b/dev-ada/asis/files/asis-2017-gentoo.patch
@@ -0,0 +1,50 @@
+--- asis-gpl-2015-src/Makefile.old 2017-01-03 13:59:38.106788092 +0000
++++ asis-gpl-2015-src/Makefile 2017-01-03 14:01:43.735605615 +0000
+@@ -10,18 +10,21 @@
+
+ .PHONY: all
+ all: setup-snames
+- $(GPRBUILD) -p -j0 -XBLD=$(BLD) -XOPSYS=$(OPSYS) -XGNSA=$(GNSA) \
+- $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=$(COMPS) build_asis.gpr
++ $(GPRBUILD) -p -j$(PROCESSORS) -XBLD=$(BLD) -XOPSYS=$(OPSYS) -XGNSA=$(GNSA) \
++ $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=$(COMPS) build_asis.gpr \
++ -cargs $(ADAFLAGS)
+
+ .PHONY: tools
+ tools: setup
+- $(GPRBUILD) -p -j0 -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
+- $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=tools build_asis.gpr
++ $(GPRBUILD) -p -j$(PROCESSORS) -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
++ $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=tools build_asis.gpr \
++ -cargs $(ADAFLAGS)
+
+ .PHONY: toolsdev
+ toolsdev: setup
+- $(GPRBUILD) -p -j0 -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
+- $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=toolsdev build_asis.gpr
++ $(GPRBUILD) -p -j$(PROCESSORS) -XBLD=$(BLD) -XOPSYS=$(OPSYS) \
++ $(GPRBUILD_FLAGS) -XASIS_COMPONENTS=toolsdev build_asis.gpr \
++ -cargs $(ADAFLAGS)
+
+ # The setup target re-generates 4 generated Ada files. We avoid changing the
+ # timestamps of unchanged files, to avoid triggering recompilation of
+@@ -34,7 +37,8 @@
+
+ .PHONY: setup-snames
+ setup-snames: gnat/snames.ads-tmpl gnat/snames.adb-tmpl gnat/xutil.ads gnat/xutil.adb
+- $(GPRBUILD) -p -XBLD=$(BLD) $(GPRBUILD_FLAGS) gnat/snames.gpr
++ $(GPRBUILD) -p -XBLD=$(BLD) $(GPRBUILD_FLAGS) gnat/snames.gpr \
++ -cargs $(ADAFLAGS)
+ cd gnat ; ./xsnamest$(exe_ext)
+ if cmp --quiet gnat/snames.ns gnat/snames.ads; then \
+ echo "snames.ads unchanged"; \
+@@ -52,7 +56,8 @@
+ .PHONY: setup-factory
+ setup-factory:
+ $(GPRBUILD) -p -XBLD=$(BLD) $(GPRBUILD_FLAGS) \
+- tools/tool_utils/generate_factory.gpr
++ tools/tool_utils/generate_factory.gpr \
++ -cargs $(ADAFLAGS)
+ cd tools/tool_utils ; \
+ ./ada_trees-generate_factory$(exe_ext)
+ if cmp --quiet tools/tool_utils/ada_trees-factory.ns tools/tool_utils/ada_trees-factory.ads; then \
diff --git a/dev-ada/asis/metadata.xml b/dev-ada/asis/metadata.xml
new file mode 100644
index 000000000000..fdaf7b56637f
--- /dev/null
+++ b/dev-ada/asis/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ ASIS is a library that gives applications access to the complete
+ syntactic and semantic structure of an Ada compilation unit. This
+ library is typically used by tools that need to perform some sort of
+ static analysis on an Ada program.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/aunit/Manifest b/dev-ada/aunit/Manifest
new file mode 100644
index 000000000000..4bb8670298d5
--- /dev/null
+++ b/dev-ada/aunit/Manifest
@@ -0,0 +1,2 @@
+DIST aunit-2019-20190429-18B77-src.tar.gz 624683 BLAKE2B 455c3566ed46138116f258b175e883a59102dc334b41040cd6a332175fc4138d7ccdab1357c5b8886f14e551e3a6f4f4aa73eb755ade4a7a1663ac2d999973ca SHA512 9b1834ebacb9dbaa7a01f702455a44921a26a8d8d00f55ecc2fc8ddf2d884ef2ef2bba0f62551421f5a47d558d0fba88cbd57671459bba0c9f90c6310d714b19
+DIST aunit-2020-20200429-19B6C-src.tar.gz 615443 BLAKE2B b7d31dc8e198b3ceb94d043d701dceadbc1e20596a71a4f25a140bdd3f9ad54f7d7e4d4bfb587fbc31b9a6a046407c2d0dbd77dd2d045878e9aa2da3954d2964 SHA512 2d61db882cd7eaf66be101ffabafafdab1834578df162f0ef1947b517265033285cef3d84a76a3b0f1cb05d0adf12a1910b652bfbaeb56fc022157f44b34de86
diff --git a/dev-ada/aunit/aunit-2019-r1.ebuild b/dev-ada/aunit/aunit-2019-r1.ebuild
new file mode 100644
index 000000000000..ebb8f8545ce4
--- /dev/null
+++ b/dev-ada/aunit/aunit-2019-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MYP=${P}-20190429-18B77-src
+
+DESCRIPTION="Ada unit testing framework"
+HOMEPAGE="http://libre.adacore.com/tools/aunit/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf859431e87aa2cdf16b18
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-gentoo.patch )
+
+src_compile() {
+ emake GPRBUILD="gprbuild -j$(makeopts_jobs) -v"
+}
+
+src_install() {
+ emake INSTALL="${D}"/usr install
+ einstalldocs
+ mv "${D}"/usr/share/doc/${PN}/* "${D}"/usr/share/doc/${PF}/ || die
+ rmdir "${D}"/usr/share/doc/${PN} || die
+ mv "${D}"/usr/share/examples/${PN} "${D}"/usr/share/doc/${PF}/examples || die
+ rmdir "${D}"/usr/share/examples || die
+ rm -r "${D}"/usr/share/gpr/manifests || die
+}
+
+src_test() {
+ emake PROJECT_PATH_ARG="ADA_PROJECT_PATH=$(pwd)/lib/gnat" -C test
+}
diff --git a/dev-ada/aunit/aunit-2020.ebuild b/dev-ada/aunit/aunit-2020.ebuild
new file mode 100644
index 000000000000..c2cfc06360d6
--- /dev/null
+++ b/dev-ada/aunit/aunit-2020.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MYP=${P}-20200429-19B6C-src
+
+DESCRIPTION="Ada unit testing framework"
+HOMEPAGE="http://libre.adacore.com/tools/aunit/"
+SRC_URI="https://community.download.adacore.com/v1/6c8702d4a3c4a39f5da077716e44bef980377ba8?filename=$MYP}.tar.gz
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-gentoo.patch )
+
+src_compile() {
+ emake GPRBUILD="gprbuild -j$(makeopts_jobs) -v"
+}
+
+src_install() {
+ emake INSTALL="${D}"/usr install
+ einstalldocs
+ mv "${D}"/usr/share/doc/${PN}/* "${D}"/usr/share/doc/${PF}/ || die
+ rmdir "${D}"/usr/share/doc/${PN} || die
+ mv "${D}"/usr/share/examples/${PN} "${D}"/usr/share/doc/${PF}/examples || die
+ rmdir "${D}"/usr/share/examples || die
+ rm -r "${D}"/usr/share/gpr/manifests || die
+}
+
+src_test() {
+ emake PROJECT_PATH_ARG="ADA_PROJECT_PATH=$(pwd)/lib/gnat" -C test
+}
diff --git a/dev-ada/aunit/files/aunit-2016-gentoo.patch b/dev-ada/aunit/files/aunit-2016-gentoo.patch
new file mode 100644
index 000000000000..eeace666b45e
--- /dev/null
+++ b/dev-ada/aunit/files/aunit-2016-gentoo.patch
@@ -0,0 +1,11 @@
+--- aunit-3.8.0w-src/Makefile.old 2017-01-04 18:13:29.634899987 +0100
++++ aunit-3.8.0w-src/Makefile 2017-01-04 18:15:59.013219503 +0100
+@@ -29,7 +29,7 @@
+ .PHONY: all clean targets install_clean install
+
+ all:
+- $(GPRBUILD) -p $(GPROPTS) lib/gnat/aunit.gpr
++ $(GPRBUILD) -p $(GPROPTS) lib/gnat/aunit.gpr -cargs $(ADAFLAGS)
+
+ clean-lib:
+ $(RM) -fr lib/aunit lib/aunit-obj
diff --git a/dev-ada/aunit/metadata.xml b/dev-ada/aunit/metadata.xml
new file mode 100644
index 000000000000..760b4e3dc1ce
--- /dev/null
+++ b/dev-ada/aunit/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ AUnit is a set of Ada packages based on the xUnit family of unit test
+ frameworks. It’s intended as a developer’s tool to facilitate confident
+ writing and evolution of Ada software. It is purposely lightweight, as
+ one of its main goals is to make it easy to develop and run unit tests,
+ rather than to generate artifacts for process management. The framework
+ supports easy composition of sets of unit tests to provide flexibility
+ in determining what tests to run for a given purpose.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/aws/Manifest b/dev-ada/aws/Manifest
new file mode 100644
index 000000000000..2c16f18538ff
--- /dev/null
+++ b/dev-ada/aws/Manifest
@@ -0,0 +1,3 @@
+DIST aws-2019-20190512-18AB9-src.tar.gz 4241817 BLAKE2B 1054c17c0e79ea4992a7e29fdb1996caa663321407b64ae88cb76cb03d953b7ea36a8c91a28f60328ea2ec3223c1d7f8c2f052f4f181f03b1f59cf33443ee27e SHA512 989043f75504ee8b3736800fa36f4d3a98a6bc745ff4bef38dd4f7c8a7072d5d1ea383dfd2fc090d8558a6d6442953e5f3c65e4633ab16bfb3dacf60ebf79a3b
+DIST aws-2020-20200429-19A9F-src.tar.gz 4120886 BLAKE2B 44156b532dd4382995e5b33eedbb39b4d4fa542f57f3a7d596875a25c1eb59c3e4cc0085cfc60f385566842f2b047086a66a966dc3b9dcd8f48ae7da0c07c01e SHA512 284331bcd07955737ebc6b95a0a72984ace55a1911f1ed809b0ba8e525b03df57a668ccd92d0edfde42be2e06c09a3225e84f5d0501a488a004eb3eeaa746a61
+DIST aws-gpl-2018-src.tar.gz 4193276 BLAKE2B 31fa99fc3324f2514799a33cbd282f68a26d133da14ee2a70d3f5091c3670e82a7b77f9f941e593e914a755dd54d5a1e352d201a9dc097991b7bd50aa9f54b3b SHA512 62b85f70dd722148bbf3ad85bfd6cde2d0ab1d8029f673eb7ee42b0890c3dbf0f023c321e96eca99ccd2f0b235347ab577cfb558e7d81993d166683ec815dbe4
diff --git a/dev-ada/aws/aws-2018-r2.ebuild b/dev-ada/aws/aws-2018-r2.ebuild
new file mode 100644
index 000000000000..db8d0fb6fa7a
--- /dev/null
+++ b/dev-ada/aws/aws-2018-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MY_P=${PN}-gpl-${PV}-src
+
+DESCRIPTION="A complete Web development framework"
+HOMEPAGE="http://libre.adacore.com/tools/aws/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819e0c7a447df26c27abd
+ -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-ada/xmlada[${ADA_USEDEP},shared,static-libs]"
+DEPEND="${RDEPEND}
+ dev-ada/asis[${ADA_USEDEP}]
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2016-gentoo.patch
+ "${FILESDIR}"/${PN}-2018-gentoo.patch
+)
+
+src_configure() {
+ emake -j1 setup prefix=/usr ENABLE_SHARED=true \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
+
+src_compile() {
+ emake \
+ PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
diff --git a/dev-ada/aws/aws-2019-r1.ebuild b/dev-ada/aws/aws-2019-r1.ebuild
new file mode 100644
index 000000000000..536310bea463
--- /dev/null
+++ b/dev-ada/aws/aws-2019-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_2019 )
+inherit ada multiprocessing
+
+MY_P=${P}-20190512-18AB9-src
+
+DESCRIPTION="A complete Web development framework"
+HOMEPAGE="http://libre.adacore.com/tools/aws/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf85a031e87aa2cdf16b19
+ -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-ada/xmlada[${ADA_USEDEP},shared,static-libs]"
+DEPEND="${RDEPEND}
+ dev-ada/asis[${ADA_USEDEP}]
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2016-gentoo.patch
+)
+
+src_configure() {
+ emake -j1 setup prefix=/usr ENABLE_SHARED=true \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
+
+src_compile() {
+ emake \
+ PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
diff --git a/dev-ada/aws/aws-2020.ebuild b/dev-ada/aws/aws-2020.ebuild
new file mode 100644
index 000000000000..9efa0313e567
--- /dev/null
+++ b/dev-ada/aws/aws-2020.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_2019 )
+inherit ada multiprocessing
+
+MYP=${P}-20200429-19A9F-src
+
+DESCRIPTION="A complete Web development framework"
+HOMEPAGE="http://libre.adacore.com/tools/aws/"
+SRC_URI="https://community.download.adacore.com/v1/c1b0f6863d1a30acaee1df022a65ad11d5737a84?filename=${MYP}.tar.gz
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-ada/xmlada[${ADA_USEDEP},shared,static-libs]"
+DEPEND="${RDEPEND}
+ dev-ada/asis[${ADA_USEDEP}]
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_configure() {
+ emake -j1 setup prefix=/usr ENABLE_SHARED=true \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
+
+src_compile() {
+ emake \
+ PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
diff --git a/dev-ada/aws/files/aws-2016-gentoo.patch b/dev-ada/aws/files/aws-2016-gentoo.patch
new file mode 100644
index 000000000000..8894e014e333
--- /dev/null
+++ b/dev-ada/aws/files/aws-2016-gentoo.patch
@@ -0,0 +1,28 @@
+--- a/shared.gpr 2017-01-30 20:00:39.022743691 +0100
++++ b/shared.gpr 2017-01-30 20:01:20.524985069 +0100
+@@ -151,11 +151,11 @@
+ end case;
+
+ for Switches ("aws-attachments.adb")
+- use Common_Options & Debug_Options & ("-gnatVn");
++ use Common_Options & Debug_Options & ("-gnatVn") & Adaflags;
+ for Switches ("aws-session.adb")
+- use Common_Options & Debug_Options & ("-gnatVn");
++ use Common_Options & Debug_Options & ("-gnatVn") & Adaflags;
+ for Switches ("templates_parser.adb")
+- use Common_Options & Debug_Options & ("-gnatVn");
++ use Common_Options & Debug_Options & ("-gnatVn") & Adaflags;
+ -- Disable validity check on this unit to work-around N728-028
+
+ -- ADAFLAGS and CFLAGS should come last so that command line
+--- a/include/include.gpr 2017-02-17 22:09:14.361695926 +0100
++++ b/include/include.gpr 2017-02-17 22:11:36.497215517 +0100
+@@ -54,7 +54,7 @@
+
+ when "Release" =>
+ for Default_Switches ("Ada") use
+- ("-gnat2012", "-O2", "-gnatws", "-gnatn") & Shared.Global_Options;
++ ("-gnat2012", "-O2", "-gnatws", "-gnatn") & Shared.Adaflags & Shared.Global_Options;
+ end case;
+
+ case Shared.S_Target is
diff --git a/dev-ada/aws/files/aws-2018-gentoo.patch b/dev-ada/aws/files/aws-2018-gentoo.patch
new file mode 100644
index 000000000000..5c615d32dba0
--- /dev/null
+++ b/dev-ada/aws/files/aws-2018-gentoo.patch
@@ -0,0 +1,56 @@
+--- a/config/src/aws-net-std__gnat.adb 2019-05-31 19:03:42.565961279 +0200
++++ b/config/src/aws-net-std__gnat.adb 2019-05-31 19:05:23.895245892 +0200
+@@ -132,7 +132,7 @@
+
+ if Reuse_Address then
+ Sockets.Set_Socket_Option
+- (Socket.S.FD, Option => (Sockets.Reuse_Address, Enabled => True));
++ (Socket.S.FD, Sockets.Socket_Level, (Sockets.Reuse_Address, Enabled => True));
+ end if;
+
+ Sockets.Bind_Socket
+@@ -263,7 +263,7 @@
+ package SC renames OS_Lib;
+
+ Option : constant Option_Type :=
+- Get_Socket_Option (Socket.S.FD, Name => Error);
++ Get_Socket_Option (Socket.S.FD, Socket_Level, Error);
+ begin
+ case Option.Error is
+ when Success =>
+@@ -439,7 +439,7 @@
+ is
+ use Sockets;
+ begin
+- return Get_Socket_Option (Socket.S.FD, Name => Receive_Buffer).Size;
++ return Get_Socket_Option (Socket.S.FD, Socket_Level, Receive_Buffer).Size;
+ exception
+ when E : Sockets.Socket_Error =>
+ Raise_Exception (E, "Get_Receive_Buffer_Size", Socket);
+@@ -454,7 +454,7 @@
+ is
+ use Sockets;
+ begin
+- return Get_Socket_Option (Socket.S.FD, Name => Send_Buffer).Size;
++ return Get_Socket_Option (Socket.S.FD, Socket_Level, Send_Buffer).Size;
+ exception
+ when E : Sockets.Socket_Error =>
+ Raise_Exception (E, "Get_Send_Buffer_Size", Socket);
+@@ -709,7 +709,7 @@
+ is
+ use Sockets;
+ begin
+- Set_Socket_Option (Socket.S.FD, Option => (Receive_Buffer, Size));
++ Set_Socket_Option (Socket.S.FD, Socket_Level, (Receive_Buffer, Size));
+ exception
+ when E : Sockets.Socket_Error =>
+ Raise_Exception (E, "Set_Receive_Buffer_Size", Socket);
+@@ -725,7 +725,7 @@
+ is
+ use Sockets;
+ begin
+- Set_Socket_Option (Socket.S.FD, Option => (Send_Buffer, Size));
++ Set_Socket_Option (Socket.S.FD, Socket_Level, (Send_Buffer, Size));
+ exception
+ when E : Sockets.Socket_Error =>
+ Raise_Exception (E, "Set_Send_Buffer_Size", Socket);
diff --git a/dev-ada/aws/files/aws-2020-gentoo.patch b/dev-ada/aws/files/aws-2020-gentoo.patch
new file mode 100644
index 000000000000..23f3dc38f1ee
--- /dev/null
+++ b/dev-ada/aws/files/aws-2020-gentoo.patch
@@ -0,0 +1,11 @@
+--- a/include/include.gpr 2017-02-17 22:09:14.361695926 +0100
++++ b/include/include.gpr 2017-02-17 22:11:36.497215517 +0100
+@@ -54,7 +54,7 @@
+
+ when "Release" =>
+ for Default_Switches ("Ada") use
+- ("-gnat2012", "-O2", "-gnatws", "-gnatn") & Shared.Global_Options;
++ ("-gnat2012", "-O2", "-gnatws", "-gnatn") & Shared.Adaflags & Shared.Global_Options;
+ end case;
+
+ case Shared.S_Target is
diff --git a/dev-ada/aws/metadata.xml b/dev-ada/aws/metadata.xml
new file mode 100644
index 000000000000..9ac4b1cbd171
--- /dev/null
+++ b/dev-ada/aws/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ AWS is a complete framework to develop Web based applications. The main part
+ of the framework is the embedded Web server. This small yet powerful Web
+ server can be embedded into your application so your application will be
+ able to talk with a standard Web browser like Microsoft Internet Explorer or
+ Firefox for example. Around this Web server a lot of services have been
+ developed.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gnat-suite-bin/Manifest b/dev-ada/gnat-suite-bin/Manifest
new file mode 100644
index 000000000000..7e40913c9dc2
--- /dev/null
+++ b/dev-ada/gnat-suite-bin/Manifest
@@ -0,0 +1,6 @@
+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-x86_64-linux-bin.tar.gz 372813330 BLAKE2B a0374ad730ae275aaedcf5663c30f8e0221af32f14391fe87a3ce0630d4498a1e90671c02830d62f78857571a5a521af91f6db409a7b3c367c7b0f059571eefd SHA512 5115ac3be0badc5125ee048a98230f18363d72107da3325ce602c0e618cee2e3646a0decc00a2388f14bc61bfed51dd0622f365f5f7ee8b0cec2187ebcf8e075
+DIST gnat-gpl-2017-x86_64-linux-bin.tar.gz 496338280 BLAKE2B b3eee6d311fb9c20bc8fa7217c0731ca1e91ced38700df1d63d91a16c3fa28dfd44c7c8e867c3a857b88e4f0c8b2a7200fb6a8a630b8403538c4784f8914d1a5 SHA512 01a8f3be9b7b7e83cc5bd4a45137b1d35c6448bc22a88bcaf5d312cd63e11081b6b2fe9f09ad2a27d8f0b6471fc5c1a99573bf3bcee1589329054074eaeef04f
+DIST gnat-suite-bin-2018.txz 337235688 BLAKE2B cf1b8f0253907b8fc97b9c7218b23dcda8f1557be5e12293eab59e09427418a8814c1bafbcb3f89c1e5dd755a161c5dfa8a852631d137f17acb3167bf51dadbb SHA512 9b57709c05a121b0a0adabe3232128e3f27659d1928857fbd6883b73a7487c3d457317e8f236df3d16ced635514af8afbafc584cc74d865e11288820ac9c4f77
+DIST gnat-suite-bin-2019.txz 518461388 BLAKE2B 31ca194d15cafd66abe1d0896f1444e746c1484149db26545855561512c251b84eea5b4d0932860dfed23cac7f0b3c94a9884c586f509ceb6da8b9becd29e913 SHA512 a640e451a1badc2a9c64abb80f1ae1b49b5389e265d14dfe9b22891d23b3d13a9770841a43cc50ceba81c2728777ed9da854654afe6198c79dd4e0fed536907c
diff --git a/dev-ada/gnat-suite-bin/gnat-suite-bin-2014.ebuild b/dev-ada/gnat-suite-bin/gnat-suite-bin-2014.ebuild
new file mode 100644
index 000000000000..1563a86ca648
--- /dev/null
+++ b/dev-ada/gnat-suite-bin/gnat-suite-bin-2014.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+MYP=gnat-gpl-${PV}
+DESCRIPTION="GNAT Ada suite"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="
+ x86? ( http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248
+ -> ${MYP}-x86-linux-bin.tar.gz )
+ amd64? ( http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c
+ -> ${MYP}-x86_64-linux-bin.tar.gz )"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="${PV}"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ sys-devel/binutils
+ sys-devel/gdb"
+
+S="${WORKDIR}"
+
+PREFIX=/opt/${P}
+
+src_prepare() {
+ default
+ cd ${MYP}-$(usex amd64 x86_64 x86)-linux-bin
+ cd share/examples/gnat
+ cat header.xml \
+ full_project/full.xml \
+ options/options.xml \
+ other_languages/cpp_main/cpp_main.xml \
+ other_languages/cpp_pragmas/cpp_pragmas.xml \
+ other_languages/import_from_c/import_from_c.xml \
+ plugins/plugins.xml \
+ stream_io/stream_io.xml \
+ simple_project/simple.xml \
+ starter/starter.xml \
+ xml_stream/xml_stream.xml \
+ containers/anagram/anagram.xml \
+ containers/genealogy/genealogy.xml \
+ containers/hash/hash.xml \
+ containers/library/library.xml \
+ containers/shapes/shapes.xml \
+ containers/spellcheck/spellcheck.xml \
+ containers/wordcount/wordcount.xml \
+ containers/wordfreq/wordfreq.xml \
+ oo_interfaces/oo_interfaces.xml \
+ oo_airline/oo_airline.xml \
+ altivec/altivec.xml \
+ footer.xml \
+ > gnat-examples.xml \
+ || die
+ sed -i \
+ -e "s:PREFIX:${PREFIX}:" \
+ gnat-examples.xml || die
+ cd ../../..
+
+ # Remove objects from binutils
+ cd bin
+ rm addr2line c++filt gprof objdump || die
+ cd ..
+ rm share/doc/gnat/info/{as,bfd,binutils,ld}.info || die
+ rm lib*/libiberty.a || die
+
+ # Remove objects from gdb
+ cd bin
+ rm gdb gdbserver gcore || die
+ cd ..
+ rm -r include/gdb || die
+ rm lib*/libinproctrace.so || die
+ rm -r share/gdb-* || die
+ rm share/doc/gnat/info/gdb.info || die
+
+ basever=4.7.4
+ machine=$(usex amd64 x86_64 x86)-pc-linux-gnu
+ rm libexec//gcc/${machine}/${basever}/ld || die
+}
+
+src_install() {
+ cd ${MYP}-$(usex amd64 x86_64 x86)-linux-bin
+ into ${PREFIX}
+ dobin bin/*
+ insinto ${PREFIX}
+ doins -r etc include lib* share
+ insinto ${PREFIX}/share/gps/plug-ins
+ doins share/examples/gnat/gnat-examples.xml
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1plus
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/collect2
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/gnat1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/liblto_plugin.so.0.0.0
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto-wrapper
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprbind
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprlib
+}
+
+pkg_postinst() {
+ einfo "GNAT GPL is now installed. To launch it, you must put"
+ einfo " ${PREFIX}/bin"
+ einfo "in front of your PATH environment variable. The following"
+ einfo "commands enable you to do this:"
+ einfo " PATH=${PREFIX}/bin:\$PATH; export PATH (Bourne shell)"
+ einfo " setenv PATH ${PREFIX}/bin:\$PATH (C shell)"
+ einfo " Thank you for installing GNAT GPL Edition"
+}
diff --git a/dev-ada/gnat-suite-bin/gnat-suite-bin-2016.ebuild b/dev-ada/gnat-suite-bin/gnat-suite-bin-2016.ebuild
new file mode 100644
index 000000000000..cd65dfa8890a
--- /dev/null
+++ b/dev-ada/gnat-suite-bin/gnat-suite-bin-2016.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+MYP=gnat-gpl-${PV}
+DESCRIPTION="GNAT Ada suite"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5739cefdc7a447658e0b016b
+ -> ${MYP}-x86_64-linux-bin.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="${PV}"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ sys-devel/binutils
+ sys-devel/gdb"
+
+S="${WORKDIR}"/${MYP}-x86_64-linux-bin
+
+PREFIX=/opt/${P}
+
+src_prepare() {
+ default
+ rm Makefile
+ cd share/examples/gnat
+ cat header.xml \
+ full_project/full.xml \
+ options/options.xml \
+ other_languages/cpp_main/cpp_main.xml \
+ other_languages/cpp_pragmas/cpp_pragmas.xml \
+ other_languages/import_from_c/import_from_c.xml \
+ plugins/plugins.xml \
+ stream_io/stream_io.xml \
+ simple_project/simple.xml \
+ starter/starter.xml \
+ xml_stream/xml_stream.xml \
+ containers/anagram/anagram.xml \
+ containers/genealogy/genealogy.xml \
+ containers/hash/hash.xml \
+ containers/library/library.xml \
+ containers/shapes/shapes.xml \
+ containers/spellcheck/spellcheck.xml \
+ containers/wordcount/wordcount.xml \
+ containers/wordfreq/wordfreq.xml \
+ oo_interfaces/oo_interfaces.xml \
+ oo_airline/oo_airline.xml \
+ altivec/altivec.xml \
+ footer.xml \
+ > gnat-examples.xml \
+ || die
+ sed -i \
+ -e "s:PREFIX:${PREFIX}:" \
+ gnat-examples.xml || die
+ cd ../../..
+
+ # Remove objects from binutils
+ cd bin
+ rm addr2line ar c++filt gprof nm objdump ranlib || die
+ cd ..
+ rm share/doc/gnat/info/{as,bfd,binutils,ld}.info || die
+
+ # Remove objects from gdb
+ cd bin
+ rm gdb gdbserver gcore || die
+ cd ..
+ rm -r include/gdb || die
+ rm lib*/libinproctrace.so || die
+ rm -r share/gdb-* || die
+ rm share/doc/gnat/info/gdb.info || die
+
+ basever=4.9.4
+ machine=x86_64-pc-linux-gnu
+ rm libexec//gcc/${machine}/${basever}/ld || die
+}
+
+src_install() {
+ into ${PREFIX}
+ dobin bin/*
+ insinto ${PREFIX}
+ doins -r etc include lib* share
+ insinto ${PREFIX}/share/gps/plug-ins
+ doins share/examples/gnat/gnat-examples.xml
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1plus
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/collect2
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/gnat1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/liblto_plugin.so.0.0.0
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto-wrapper
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprbind
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprlib
+}
+
+pkg_postinst() {
+ einfo "GNAT GPL is now installed. To launch it, you must put"
+ einfo " ${PREFIX}/bin"
+ einfo "in front of your PATH environment variable. The following"
+ einfo "commands enable you to do this:"
+ einfo " PATH=${PREFIX}/bin:\$PATH; export PATH (Bourne shell)"
+ einfo " setenv PATH ${PREFIX}/bin:\$PATH (C shell)"
+ einfo " Thank you for installing GNAT GPL Edition"
+}
diff --git a/dev-ada/gnat-suite-bin/gnat-suite-bin-2017.ebuild b/dev-ada/gnat-suite-bin/gnat-suite-bin-2017.ebuild
new file mode 100644
index 000000000000..47430b2c1028
--- /dev/null
+++ b/dev-ada/gnat-suite-bin/gnat-suite-bin-2017.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+MYP=gnat-gpl-${PV}
+DESCRIPTION="GNAT Ada suite"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7
+ -> ${MYP}-x86_64-linux-bin.tar.gz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="${PV}"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ sys-devel/binutils
+ sys-devel/gdb"
+
+S="${WORKDIR}"/${MYP}-x86_64-linux-bin
+
+PREFIX=/opt/${P}
+
+src_prepare() {
+ default
+ rm Makefile
+ cd share/examples/gnat
+ cat header.xml \
+ full_project/full.xml \
+ options/options.xml \
+ other_languages/cpp_main/cpp_main.xml \
+ other_languages/cpp_pragmas/cpp_pragmas.xml \
+ other_languages/import_from_c/import_from_c.xml \
+ plugins/plugins.xml \
+ stream_io/stream_io.xml \
+ simple_project/simple_project.xml \
+ starter/starter.xml \
+ xml_stream/xml_stream.xml \
+ containers/anagram/anagram.xml \
+ containers/genealogy/genealogy.xml \
+ containers/hash/hash.xml \
+ containers/library/library.xml \
+ containers/shapes/shapes.xml \
+ containers/spellcheck/spellcheck.xml \
+ containers/wordcount/wordcount.xml \
+ containers/wordfreq/wordfreq.xml \
+ oo_interfaces/oo_interfaces.xml \
+ oo_airline/oo_airline.xml \
+ altivec/altivec.xml \
+ footer.xml \
+ > gnat-examples.xml \
+ || die
+ sed -i \
+ -e "s:PREFIX:${PREFIX}:" \
+ gnat-examples.xml || die
+ cd ../../..
+
+ # Remove objects from binutils
+ cd bin
+ rm addr2line ar c++filt gprof ld.* nm obj* r* s* || die
+ cd ..
+ rm share/doc/gnat/info/{as,bfd,binutils,ld}.info || die
+
+ # Remove objects from gdb
+ cd bin
+ rm gdb gdbserver gcore || die
+ cd ..
+ rm -r include/gdb || die
+ rm lib*/libinproctrace.so || die
+ rm -r share/gdb-* || die
+ rm share/doc/gnat/info/gdb.info || die
+
+ basever=6.3.1
+ machine=x86_64-pc-linux-gnu
+ rm libexec//gcc/${machine}/${basever}/ld || die
+}
+
+src_install() {
+ into ${PREFIX}
+ dobin bin/*
+ insinto ${PREFIX}
+ doins -r etc include lib* share
+ insinto ${PREFIX}/share/gps/plug-ins
+ doins share/examples/gnat/gnat-examples.xml
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1plus
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/collect2
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/gnat1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/liblto_plugin.so.0.0.0
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto-wrapper
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprbind
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprlib
+}
+
+pkg_postinst() {
+ einfo "GNAT GPL is now installed. To launch it, you must put"
+ einfo " ${PREFIX}/bin"
+ einfo "in front of your PATH environment variable. The following"
+ einfo "commands enable you to do this:"
+ einfo " PATH=${PREFIX}/bin:\$PATH; export PATH (Bourne shell)"
+ einfo " setenv PATH ${PREFIX}/bin:\$PATH (C shell)"
+ einfo " Thank you for installing GNAT GPL Edition"
+}
diff --git a/dev-ada/gnat-suite-bin/gnat-suite-bin-2018.ebuild b/dev-ada/gnat-suite-bin/gnat-suite-bin-2018.ebuild
new file mode 100644
index 000000000000..04ffaf338d72
--- /dev/null
+++ b/dev-ada/gnat-suite-bin/gnat-suite-bin-2018.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+MYP=gnat-gpl-${PV}
+DESCRIPTION="GNAT Ada suite"
+HOMEPAGE="http://libre.adacore.com/"
+# Extracted and repacked from http://mirrors.cdn.adacore.com/art/5b0d7bffa3f5d709751e3e04
+SRC_URI="https://dev.gentoo.org/~tupone/distfiles/${P}.txz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="${PV}"
+KEYWORDS="amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ sys-devel/binutils
+ sys-devel/gdb"
+
+PREFIX=/opt/${P}
+
+src_prepare() {
+ default
+ rm Makefile
+ cd share/examples/gnat
+ cat header.xml \
+ full_project/full.xml \
+ options/options.xml \
+ other_languages/cpp_main/cpp_main.xml \
+ other_languages/cpp_pragmas/cpp_pragmas.xml \
+ other_languages/import_from_c/import_from_c.xml \
+ plugins/plugins.xml \
+ stream_io/stream_io.xml \
+ simple_project/simple_project.xml \
+ starter/starter.xml \
+ xml_stream/xml_stream.xml \
+ containers/anagram/anagram.xml \
+ containers/genealogy/genealogy.xml \
+ containers/hash/hash.xml \
+ containers/library/library.xml \
+ containers/shapes/shapes.xml \
+ containers/spellcheck/spellcheck.xml \
+ containers/wordcount/wordcount.xml \
+ containers/wordfreq/wordfreq.xml \
+ oo_interfaces/oo_interfaces.xml \
+ oo_airline/oo_airline.xml \
+ altivec/altivec.xml \
+ footer.xml \
+ > gnat-examples.xml \
+ || die
+ sed -i \
+ -e "s:PREFIX:${PREFIX}:" \
+ gnat-examples.xml || die
+}
+
+src_install() {
+ into ${PREFIX}
+ dobin bin/*
+ insinto ${PREFIX}
+ doins -r etc include lib* share
+ insinto ${PREFIX}/share/gps/plug-ins
+ doins share/examples/gnat/gnat-examples.xml
+ basever=7.3.1
+ machine=x86_64-pc-linux-gnu
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1plus
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/collect2
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/gnat1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/liblto_plugin.so.0.0.0
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto-wrapper
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprbind
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprlib
+}
+
+pkg_postinst() {
+ einfo "GNAT GPL is now installed. To launch it, you must put"
+ einfo " ${PREFIX}/bin"
+ einfo "in front of your PATH environment variable. The following"
+ einfo "commands enable you to do this:"
+ einfo " PATH=${PREFIX}/bin:\$PATH; export PATH (Bourne shell)"
+ einfo " setenv PATH ${PREFIX}/bin:\$PATH (C shell)"
+ einfo " Thank you for installing GNAT GPL Edition"
+}
diff --git a/dev-ada/gnat-suite-bin/gnat-suite-bin-2019.ebuild b/dev-ada/gnat-suite-bin/gnat-suite-bin-2019.ebuild
new file mode 100644
index 000000000000..8e8d445e3d3d
--- /dev/null
+++ b/dev-ada/gnat-suite-bin/gnat-suite-bin-2019.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+MYP=gnat-gpl-${PV}
+DESCRIPTION="GNAT Ada suite"
+HOMEPAGE="http://libre.adacore.com/"
+# Extracted and repacked from gnat-community-2019-20190517-x86_64-linux-bin
+SRC_URI="https://dev.gentoo.org/~tupone/distfiles/${P}.txz"
+
+LICENSE="GPL-2 GPL-3"
+SLOT="${PV}"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ sys-devel/binutils
+ sys-devel/gdb"
+
+PREFIX=/opt/${P}
+
+src_prepare() {
+ default
+ rm Makefile
+ cd share/examples/gnat
+ cat header.xml \
+ full_project/full.xml \
+ options/options.xml \
+ other_languages/cpp_main/cpp_main.xml \
+ other_languages/cpp_pragmas/cpp_pragmas.xml \
+ other_languages/import_from_c/import_from_c.xml \
+ plugins/plugins.xml \
+ stream_io/stream_io.xml \
+ simple_project/simple_project.xml \
+ starter/starter.xml \
+ xml_stream/xml_stream.xml \
+ containers/anagram/anagram.xml \
+ containers/genealogy/genealogy.xml \
+ containers/hash/hash.xml \
+ containers/library/library.xml \
+ containers/shapes/shapes.xml \
+ containers/spellcheck/spellcheck.xml \
+ containers/wordcount/wordcount.xml \
+ containers/wordfreq/wordfreq.xml \
+ oo_interfaces/oo_interfaces.xml \
+ oo_airline/oo_airline.xml \
+ altivec/altivec.xml \
+ footer.xml \
+ > gnat-examples.xml \
+ || die
+ sed -i \
+ -e "s:PREFIX:${PREFIX}:" \
+ gnat-examples.xml || die
+}
+
+src_install() {
+ into ${PREFIX}
+ dobin bin/*
+ insinto ${PREFIX}
+ doins -r etc include lib* share
+ insinto ${PREFIX}/share/gps/plug-ins
+ doins share/examples/gnat/gnat-examples.xml
+ basever=8.3.1
+ machine=x86_64-pc-linux-gnu
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/cc1plus
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/collect2
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/gnat1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/liblto_plugin.so.0.0.0
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto1
+ fperms 755 ${PREFIX}/libexec/gcc/${machine}/${basever}/lto-wrapper
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprbind
+ fperms 755 ${PREFIX}/libexec/gprbuild/gprlib
+}
+
+pkg_postinst() {
+ einfo "GNAT GPL is now installed. To launch it, you must put"
+ einfo " ${PREFIX}/bin"
+ einfo "in front of your PATH environment variable. The following"
+ einfo "commands enable you to do this:"
+ einfo " PATH=${PREFIX}/bin:\$PATH; export PATH (Bourne shell)"
+ einfo " setenv PATH ${PREFIX}/bin:\$PATH (C shell)"
+ einfo " Thank you for installing GNAT GPL Edition"
+}
diff --git a/dev-ada/gnat-suite-bin/metadata.xml b/dev-ada/gnat-suite-bin/metadata.xml
new file mode 100644
index 000000000000..c3ea21410318
--- /dev/null
+++ b/dev-ada/gnat-suite-bin/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gnat_util/Manifest b/dev-ada/gnat_util/Manifest
new file mode 100644
index 000000000000..b61c1147b488
--- /dev/null
+++ b/dev-ada/gnat_util/Manifest
@@ -0,0 +1,3 @@
+DIST gnat_util-2019-20190517-18c94-src.tar.gz 906682 BLAKE2B d00ae8b92429f9a7d7476ff6437148a869555fb66435f9355b8ba1ec3d827cd32063e9b64a6862b99a4b26e570e1a1a7b4dfabd67d1aa1b997fb5510e9b43324 SHA512 fbf9114a75f6f794705384a67581f1630460292b8d640c34323c8147bea280bdf2ac8b6097313992d27716f2edc814e587d9396d85d28158ea82ee6002e47425
+DIST gnat_util-gpl-2017-src.tar.gz 868496 BLAKE2B d105a59f0533428a4d57b3c81c0818f4d1bd457b113d775fe97f35f7352e03b602ac0e6d7b970e408fb3dd6d30f0d4e60feffccf42dbdc0723a76855b0164ee0 SHA512 d5e48c6fafc870f36094d2dfd5f45f2d5b5729c97596afff7475b7838c1c7c029ef57395ca1011ee74d8a4195597ea1f502732e654a02561a7abc72c8a7d3a6a
+DIST gnat_util-gpl-2018-src.tar.gz 883945 BLAKE2B e30ee379f4ea9525337b0794d4fc91c80458b3b1dd3d10cbc455c6f566d4d073b6753c171ffbbabd85995717de249cdee7c094b7ba00d752a13e18d0f54da192 SHA512 490b0fa944f4b9fee2a4e78c1181658eb8f95262314455c41beb3ebe9db5dd540090d1f9840357572969721966fa11085dc680f3498dc539631ef3f4dbf56426
diff --git a/dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch b/dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch
new file mode 100644
index 000000000000..59cb7cf66467
--- /dev/null
+++ b/dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch
@@ -0,0 +1,70 @@
+--- gnat_util-gpl-2014-src/Makefile.old 2016-12-28 09:56:49.378950217 +0100
++++ gnat_util-gpl-2014-src/Makefile 2016-12-28 09:57:12.301562519 +0100
+@@ -21,21 +21,30 @@
+
+ .PHONY: all
+ all: generate_sources
+- ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+- -XLIBRARY_TYPE=static -Pgnat_util -p
++ $(MAKE) build-static
+ ifeq ($(ENABLE_SHARED), yes)
+- ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+- -XLIBRARY_TYPE=relocatable -Pgnat_util -p
++ $(MAKE) build-shared
+ endif
++ $(MAKE) build-static-pic
++build-static:
++ ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
++ -XLIBRARY_TYPE=static -Pgnat_util -p -XCC=${CC} \
++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
++build-shared:
++ ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
++ -XLIBRARY_TYPE=relocatable -Pgnat_util -p -XCC=${CC} \
++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
++build-static-pic:
+ ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+- -XLIBRARY_TYPE=static-pic -Pgnat_util -p
++ -XLIBRARY_TYPE=static-pic -Pgnat_util -p -XCC=${CC} \
++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
+
+ .PHONY: generate_sources
+ generate_sources:
+ $(MKDIR) $(SRC)
+ $(CP) xsnamest.adb xutil.* snames.adb-tmpl snames.ads-tmpl snames.h-tmpl $(SRC)
+ (cd $(SRC) && \
+- gnatmake -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
++ ${GNATMAKE} -gnatf -gnatwae -gnatyg -gnatyS xsnamest && \
+ ./xsnamest && mv snames.ns snames.ads && mv snames.nb snames.adb)
+ $(CP) sdefault_adb.gnat_util $(SRC)/sdefault.adb
+
+@@ -47,6 +56,12 @@
+
+ .PHONY: install
+ install: install-clean
++ ${MAKE} install-static
++ifeq ($(ENABLE_SHARED), yes)
++ ${MAKE} install-shared
++endif
++ ${MAKE} install-static-pic
++install-static:
+ ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+ -XLIBRARY_TYPE=static \
+ --prefix=$(prefix) \
+@@ -54,7 +69,7 @@
+ --lib-subdir=lib/gnat_util/static \
+ --project-subdir=lib/gnat \
+ --build-var=LIBRARY_TYPE --build-name=static -Pgnat_util
+-ifeq ($(ENABLE_SHARED), yes)
++install-shared:
+ ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+ -XLIBRARY_TYPE=relocatable \
+ --prefix=$(prefix) \
+@@ -62,7 +77,7 @@
+ --lib-subdir=lib/gnat_util/relocatable \
+ --project-subdir=lib/gnat \
+ --build-var=LIBRARY_TYPE --build-name=relocatable -Pgnat_util
+-endif
++install-static-pic:
+ ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+ -XLIBRARY_TYPE=static-pic \
+ --prefix=$(prefix) \
diff --git a/dev-ada/gnat_util/gnat_util-2017-r2.ebuild b/dev-ada/gnat_util/gnat_util-2017-r2.ebuild
new file mode 100644
index 000000000000..fa96acade333
--- /dev/null
+++ b/dev-ada/gnat_util/gnat_util-2017-r2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7} )
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="Provides access to GNAT compiler internals for AdaCore utilities"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed037
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs static-pic"
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ emake GNATMAKE="gnatmake ${ADAFLAGS}" \
+ BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
+ if use static-libs; then
+ emake BUILDER="gprbuild -v -j$(makeopts_jobs)" build-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake BUILDER="gprbuild -v -j$(makeopts_jobs)" \
+ build-${kind}
+ fi
+ done
+}
+
+src_install() {
+ if use static-libs; then
+ emake prefix="${D}"/usr install-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake prefix="${D}"/usr install-${kind}
+ fi
+ done
+ einstalldocs
+}
diff --git a/dev-ada/gnat_util/gnat_util-2018-r2.ebuild b/dev-ada/gnat_util/gnat_util-2018-r2.ebuild
new file mode 100644
index 000000000000..6a6c7fabb650
--- /dev/null
+++ b/dev-ada/gnat_util/gnat_util-2018-r2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{8,9} )
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="Provides access to GNAT compiler internals for AdaCore utilities"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a6b
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs static-pic"
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
+
+src_compile() {
+ emake GNATMAKE="gnatmake ${ADAFLAGS}" \
+ BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
+ if use static-libs; then
+ emake BUILDER="gprbuild -v -j$(makeopts_jobs)" build-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake BUILDER="gprbuild -v -j$(makeopts_jobs)" \
+ build-${kind}
+ fi
+ done
+}
+
+src_install() {
+ if use static-libs; then
+ emake prefix="${D}"/usr install-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake prefix="${D}"/usr install-${kind}
+ fi
+ done
+ einstalldocs
+}
diff --git a/dev-ada/gnat_util/gnat_util-2019-r1.ebuild b/dev-ada/gnat_util/gnat_util-2019-r1.ebuild
new file mode 100644
index 000000000000..d5c480d1d591
--- /dev/null
+++ b/dev-ada/gnat_util/gnat_util-2019-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_2019 )
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${P}-20190517
+
+DESCRIPTION="Provides access to GNAT compiler internals for AdaCore utilities"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8e5031e87a8f1d425090
+ -> ${MYP}-18c94-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs static-pic"
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-194CA-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
+
+src_compile() {
+ emake GNATMAKE="gnatmake ${ADAFLAGS}" \
+ BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
+ if use static-libs; then
+ emake BUILDER="gprbuild -v -j$(makeopts_jobs)" build-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake BUILDER="gprbuild -v -j$(makeopts_jobs)" \
+ build-${kind}
+ fi
+ done
+}
+
+src_install() {
+ if use static-libs; then
+ emake prefix="${D}"/usr install-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake prefix="${D}"/usr install-${kind}
+ fi
+ done
+ einstalldocs
+}
diff --git a/dev-ada/gnat_util/metadata.xml b/dev-ada/gnat_util/metadata.xml
new file mode 100644
index 000000000000..3afc354002d0
--- /dev/null
+++ b/dev-ada/gnat_util/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shared">Build gnat_util shared library</flag>
+ <flag name="static-pic">Build gnat_util static library with pic code</flag>
+ </use>
+ <longdescription lang="en">
+ Gnat_Util is a library uniting a number of GNAT sources that are used by
+ different tools. At the moment Gnat_Util provides GNAT sources needed by ASIS,
+ GNATCOLL and Gprbuild. Its main purpose is allowing to simultaneously use
+ tools like ASIS and GNATCOLL (and other ones based on GNAT sources, if they
+ are to come), which would normally cause name conflicts between the same GNAT
+ sources that they use. Building both of them using same set of sources that
+ is Gnat_Util solves this problem.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gnatcoll-bindings/Manifest b/dev-ada/gnatcoll-bindings/Manifest
new file mode 100644
index 000000000000..c38f9f737194
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/Manifest
@@ -0,0 +1,2 @@
+DIST gnatcoll-bindings-20.0-20191009-1B2EA-src.tar.gz 139910 BLAKE2B 5441c277d5888b040930960ed656a1b1264c7de02834995c6040c891b99bf7e8773029b9f722d5a3ed30036e7bd441318989ce3f7839d47928af5f4f7c396f90 SHA512 2b723ba4327966dc06594ccff45da3a01f65b8f8b91130ddc44d1b727d23ccbfe35f082c73810418da9d0705f1dc8ca9b471748eecee42adce34be722a4a201b
+DIST gnatcoll-bindings-2019-20190430-1928C-src.tar.gz 138935 BLAKE2B c72398b51bf383b163ac10000c4dd5441334a6f24d7ad075d8115f25c030b43bc1dace6a1121e1e69add1eead93a5389aff09ef013deb4682ccb1d31bb85313f SHA512 6db1d35a1cdf5188001084750f7aa32b193768f8c3dfb6d7db8a8314c745fc054b0a6d2234a6dd64c5acd4b1bafffa7ce7f1080bd51fbb8bc88edfcc855b7a48
diff --git a/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2019-r1.ebuild b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2019-r1.ebuild
new file mode 100644
index 000000000000..fae30e62e54a
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2019-r1.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multilib multiprocessing python-single-r1
+
+MYP=${P}-20190430-1928C
+
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8afa31e87a8f1d425054
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gmp iconv python readline +shared static-libs static-pic syslog"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ ${ADA_DEPS}
+ dev-ada/gnatcoll-core[${ADA_USEDEP},shared?,static-libs?,static-pic?]
+ gmp? ( dev-libs/gmp:* )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ ${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ ada_pkg_setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -j$(makeopts_jobs) -m -p -v \
+ -XGPR_BUILD=$2 -XGNATCOLL_CORE_BUILD=$2 \
+ -XLIBRARY_TYPE=$2 -P $1/gnatcoll_$1.gpr -XBUILD="PROD" \
+ -XGNATCOLL_ICONV_OPT= -XGNATCOLL_PYTHON_CFLAGS="-I$(python_get_includedir)" \
+ -XGNATCOLL_PYTHON_LIBS=$(python_get_library_path) \
+ -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die "gprbuild failed"
+ }
+ for kind in shared static-libs static-pic ; do
+ if use $kind; then
+ lib=${kind%-libs}
+ lib=${lib/shared/relocatable}
+ for dir in gmp iconv python readline syslog ; do
+ if use $dir; then
+ build $dir $lib
+ fi
+ done
+ fi
+ done
+}
+
+src_install() {
+ build () {
+ gprinstall -p -f -XBUILD=PROD --prefix="${D}"/usr -XLIBRARY_TYPE=$2 \
+ -XGPR_BUILD=$2 -XGNATCOLL_CORE_BUILD=$2 \
+ -XGNATCOLL_ICONV_OPT= -P $1/gnatcoll_$1.gpr --build-name=$2
+ }
+ for kind in shared static-libs static-pic ; do
+ if use $kind; then
+ lib=${kind%-libs}
+ lib=${lib/shared/relocatable}
+ for dir in gmp iconv python readline syslog ; do
+ if use $dir; then
+ build $dir $lib
+ fi
+ done
+ fi
+ done
+ if use iconv; then
+ sed -i \
+ -e "s:GNATCOLL_ICONV_BUILD:LIBRARY_TYPE:" \
+ "${D}"/usr/share/gpr/gnatcoll_iconv.gpr \
+ || die
+ fi
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2020.ebuild b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2020.ebuild
new file mode 100644
index 000000000000..82893ce57cab
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2020.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multilib multiprocessing python-single-r1
+
+MYP=${PN}-20.0-20191009-1B2EA
+
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="https://community.download.adacore.com/v1/3c54db553121bf88877e2f56ac4fca36765186eb?filename=${MYP}-src.tar.gz
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gmp iconv python readline +shared static-libs static-pic syslog"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ ${ADA_DEPS}
+ dev-ada/gnatcoll-core[${ADA_USEDEP},shared?,static-libs?,static-pic?]
+ gmp? ( dev-libs/gmp:* )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )
+ ${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ ada_pkg_setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -j$(makeopts_jobs) -m -p -v \
+ -XGPR_BUILD=$2 -XGNATCOLL_CORE_BUILD=$2 \
+ -XLIBRARY_TYPE=$2 -P $1/gnatcoll_$1.gpr -XBUILD="PROD" \
+ -XGNATCOLL_ICONV_OPT= -XGNATCOLL_PYTHON_CFLAGS="-I$(python_get_includedir)" \
+ -XGNATCOLL_PYTHON_LIBS=$(python_get_library_path) \
+ -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die "gprbuild failed"
+ }
+ for kind in shared static-libs static-pic ; do
+ if use $kind; then
+ lib=${kind%-libs}
+ lib=${lib/shared/relocatable}
+ for dir in gmp iconv python readline syslog ; do
+ if use $dir; then
+ build $dir $lib
+ fi
+ done
+ fi
+ done
+}
+
+src_install() {
+ build () {
+ gprinstall -p -f -XBUILD=PROD --prefix="${D}"/usr -XLIBRARY_TYPE=$2 \
+ -XGPR_BUILD=$2 -XGNATCOLL_CORE_BUILD=$2 \
+ -XGNATCOLL_ICONV_OPT= -P $1/gnatcoll_$1.gpr --build-name=$2
+ }
+ for kind in shared static-libs static-pic ; do
+ if use $kind; then
+ lib=${kind%-libs}
+ lib=${lib/shared/relocatable}
+ for dir in gmp iconv python readline syslog ; do
+ if use $dir; then
+ build $dir $lib
+ fi
+ done
+ fi
+ done
+ if use iconv; then
+ sed -i \
+ -e "s:GNATCOLL_ICONV_BUILD:LIBRARY_TYPE:" \
+ "${D}"/usr/share/gpr/gnatcoll_iconv.gpr \
+ || die
+ fi
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/gnatcoll-bindings/metadata.xml b/dev-ada/gnatcoll-bindings/metadata.xml
new file mode 100644
index 000000000000..c4d8cad4fbb3
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shared">Build shared library</flag>
+ <flag name="static-pic">Build shared library</flag>
+ </use>
+ <longdescription lang="en">
+ The reusable library known as the GNAT Component Collection (GNATColl)
+ is based on one main principle: general-purpose packages that are part
+ of the GNAT technology should also be available to GNAT user
+ application code. The compiler front end, the GNAT Programming Studio
+ (GPS) Interactive Development Environment, and the GNAT Tracker
+ web-based interface all served as sources for the components.
+
+ The GNATColl components complement the predefined Ada and GNAT
+ libraries and deal with a range of common programming issues including
+ string and text processing, memory management, and file handling.
+ Several of the components are especially useful in enterprise
+ applications.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gnatcoll-core/Manifest b/dev-ada/gnatcoll-core/Manifest
new file mode 100644
index 000000000000..88b8a3deb11e
--- /dev/null
+++ b/dev-ada/gnatcoll-core/Manifest
@@ -0,0 +1,2 @@
+DIST gnatcoll-core-2019-20190515-24AD8-src.tar.gz 1423276 BLAKE2B 154b7a7f77c1f0d6414cb407958d64b84be8d19b7e3a12f69bd3dd1253b71df394aa0c842d2caf9d2de071ea5466589111526329155291f0d967c8b4cc2b18ac SHA512 9b2101448b96ac46cebada1fe3cb7b583cbf296f9b7d627771e83c56c78ce72c50ede5474f64f16feba252a18fd46b473901820766902b0c68d63beaf55a884a
+DIST gnatcoll-core-2020-20200429-19B7C-src.tar.gz 1396475 BLAKE2B 329e7f799ad62dfc6f71ca78a736bfc8c768a576f817d03b0d73e25b6e97ae0de0ad5a055bb800f7b83d7449ef8fe703c2779f73fc13a09bbcc1d3d8cc880fd1 SHA512 320878335f2ea1ce91a7770cc181e9cc228c80b1f7a3926a4e27c3822eb8f58726c62a014e2fa4c3f8699851ea87424be26d619ab4931b2e969e3a2e96e58b73
diff --git a/dev-ada/gnatcoll-core/files/gnatcoll-core-2018-gentoo.patch b/dev-ada/gnatcoll-core/files/gnatcoll-core-2018-gentoo.patch
new file mode 100644
index 000000000000..dcbe89df7837
--- /dev/null
+++ b/dev-ada/gnatcoll-core/files/gnatcoll-core-2018-gentoo.patch
@@ -0,0 +1,12 @@
+--- a/src/gnatcoll-projects.ads.old 2017-11-25 14:50:06.919939453 +0100
++++ b/src/gnatcoll-projects.ads 2017-11-25 14:50:38.932387204 +0100
+@@ -1917,7 +1917,8 @@
+ Predefined_Source_Files : GNATCOLL.VFS.File_Array_Access;
+ -- The list of source files in Predefined_Source_Path
+
+- Default_Gnatls : GNAT.Strings.String_Access := new String'("gnatls");
++ Default_Gnatls : GNAT.Strings.String_Access :=
++ new String'("@GNATLS@");
+ -- The default gnatls command to run.
+
+ Xrefs_Subdir : GNAT.Strings.String_Access;
diff --git a/dev-ada/gnatcoll-core/gnatcoll-core-2019-r1.ebuild b/dev-ada/gnatcoll-core/gnatcoll-core-2019-r1.ebuild
new file mode 100644
index 000000000000..a1f0dc711f42
--- /dev/null
+++ b/dev-ada/gnatcoll-core/gnatcoll-core-2019-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MYP=${P}-20190515-24AD8
+
+DESCRIPTION="GNAT Component Collection Core packages"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8ae231e87a8f1d425052
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs static-pic"
+
+RDEPEND="
+ ~dev-ada/libgpr-2019[${ADA_USEDEP},shared?,static-libs?,static-pic?]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2018-gentoo.patch )
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@GNATLS@:${GNATLS}:g" \
+ src/gnatcoll-projects.ads \
+ || die
+}
+
+src_configure() {
+ emake prefix="${D}"/usr PROCESSORS=$(makeopts_jobs) setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -p -m -j$(makeopts_jobs) \
+ -XBUILD=PROD -v -XGNATCOLL_VERSION=${PV} \
+ -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$* -XGPR_BUILD=$1 \
+ gnatcoll.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+ if use static-libs; then
+ build static
+ fi
+}
+
+src_install() {
+ if use shared; then
+ emake install-relocatable
+ fi
+ if use static-pic; then
+ emake install-static-pic
+ fi
+ if use static-libs; then
+ emake install-static
+ fi
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/gnatcoll-core/gnatcoll-core-2020.ebuild b/dev-ada/gnatcoll-core/gnatcoll-core-2020.ebuild
new file mode 100644
index 000000000000..5eedcf63d7e7
--- /dev/null
+++ b/dev-ada/gnatcoll-core/gnatcoll-core-2020.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MYP=${P}-20200429-19B7C
+
+DESCRIPTION="GNAT Component Collection Core packages"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="https://community.download.adacore.com/v1/c94f2ac914cb305f6bef174329fa0b5003d84935?filename=${MYP}-src.tar.gz
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+shared static-libs static-pic"
+
+RDEPEND="
+ >=dev-ada/libgpr-2020[${ADA_USEDEP},shared?,static-libs?,static-pic?]
+"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2018-gentoo.patch )
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@GNATLS@:${GNATLS}:g" \
+ src/gnatcoll-projects.ads \
+ || die
+}
+
+src_configure() {
+ emake prefix="${D}"/usr PROCESSORS=$(makeopts_jobs) setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -p -m -j$(makeopts_jobs) \
+ -XBUILD=PROD -v -XGNATCOLL_VERSION=${PV} \
+ -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$* -XGPR_BUILD=$1 \
+ gnatcoll.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+ if use static-libs; then
+ build static
+ fi
+}
+
+src_install() {
+ if use shared; then
+ emake install-relocatable
+ fi
+ if use static-pic; then
+ emake install-static-pic
+ fi
+ if use static-libs; then
+ emake install-static
+ fi
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/gnatcoll-core/metadata.xml b/dev-ada/gnatcoll-core/metadata.xml
new file mode 100644
index 000000000000..9be04bbd36f4
--- /dev/null
+++ b/dev-ada/gnatcoll-core/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shared">Build shared library</flag>
+ <flag name="static-pic">Build static library with pic code</flag>
+ </use>
+ <longdescription lang="en">
+ The reusable library known as the GNAT Component Collection (GNATColl)
+ is based on one main principle: general-purpose packages that are part
+ of the GNAT technology should also be available to GNAT user
+ application code. The compiler front end, the GNAT Programming Studio
+ (GPS) Interactive Development Environment, and the GNAT Tracker
+ web-based interface all served as sources for the components.
+
+ The GNATColl components complement the predefined Ada and GNAT
+ libraries and deal with a range of common programming issues including
+ string and text processing, memory management, and file handling.
+ Several of the components are especially useful in enterprise
+ applications.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gnatcoll-db/Manifest b/dev-ada/gnatcoll-db/Manifest
new file mode 100644
index 000000000000..ecb7f53f2007
--- /dev/null
+++ b/dev-ada/gnatcoll-db/Manifest
@@ -0,0 +1 @@
+DIST gnatcoll-db-2019-src.tar.gz 2405755 BLAKE2B 70db599e8fe90a1312c2078379c6cddf518159fd8eea8c958d1abf4f4ccc504c8296e0018b03fe7f145619b6f73d6ce38b7a43cfd73dd5e1df7eb1949aa81043 SHA512 89e941a786b1d9591f4cb9f5f7db02875bb37638be7efb88e31087900c8c10ac52680f1246f90cda6fbac1b9ab213bf364d88bf583ad262f17c0a647492019a3
diff --git a/dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch b/dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch
new file mode 100644
index 000000000000..9d95a9bfc1c4
--- /dev/null
+++ b/dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch
@@ -0,0 +1,11 @@
+--- a/sqlite/gnatcoll_sqlite.gpr 2018-06-24 14:08:52.477478654 +0200
++++ b/sqlite/gnatcoll_sqlite.gpr 2018-06-24 14:08:59.149372684 +0200
+@@ -42,7 +42,7 @@
+ for Library_Name use Name;
+ for Library_Version use "lib" & Name & Gnatcoll.So_Ext & "." & Version;
+
+- for Languages use ("Ada", "C");
++ for Languages use ("Ada");
+
+ Thread_Lib := ();
+
diff --git a/dev-ada/gnatcoll-db/gnatcoll-db-2019.ebuild b/dev-ada/gnatcoll-db/gnatcoll-db-2019.ebuild
new file mode 100644
index 000000000000..58c774b5e3c6
--- /dev/null
+++ b/dev-ada/gnatcoll-db/gnatcoll-db-2019.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 )
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multilib multiprocessing autotools python-single-r1
+
+commitId="fbc46346dc67dfa83ae5132ef72fdd64fbe7e199"
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="https://github.com/AdaCore/${PN}/archive/${commitId}.tar.gz
+ -> ${P}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="db2ada gnatinspect postgres
+ +shared sql sqlite static-libs static-pic xref"
+
+RDEPEND="dev-ada/gnatcoll-core[${ADA_USEDEP},shared?,static-libs?,static-pic?]
+ sqlite? ( dev-db/sqlite:3 )
+ postgres? ( dev-db/postgresql:* )
+ xref? (
+ dev-ada/gnatcoll-bindings[${ADA_USEDEP},iconv,shared?,static-libs?,static-pic?]
+ )
+ ${ADA_DEPS}
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="gnatinspect? ( xref )
+ xref? ( sqlite )
+ sqlite? ( sql )
+ db2ada? ( sql )
+ ${ADA_REQUIRED_USE}
+ ${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}"/${PN}-${commitId}
+
+PATCHES=( "${FILESDIR}"/${PN}-2018-gentoo.patch )
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ ada_setup
+}
+
+src_compile() {
+ build () {
+ GPR_PROJECT_PATH="${S}/sql":"${S}/sqlite":"${S}/xref" \
+ gprbuild -p -m -v -j$(makeopts_jobs) -XGNATCOLL_SQLITE=external \
+ -XGNATCOLL_VERSION=2018 \
+ -XBUILD=PROD -XLIBRARY_TYPE=$2 -XXMLADA_BUILD=$2 -XGPR_BUILD=$2 \
+ -P $1/$3.gpr \
+ -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die "gprbuild failed"
+ }
+ local lib
+ for kind in shared static-libs static-pic ; do
+ if use $kind; then
+ lib=${kind%-libs}
+ lib=${lib/shared/relocatable}
+ for dir in sql sqlite xref postgres ; do
+ if use $dir; then
+ build $dir $lib gnatcoll_${dir}
+ fi
+ done
+ fi
+ done
+ if use shared; then
+ lib=relocatable
+ elif use static-libs; then
+ lib=static
+ else
+ lib=static-pic
+ fi
+ if use gnatinspect; then
+ build gnatinspect ${lib} gnatinspect
+ fi
+ if use db2ada; then
+ build gnatcoll_db2ada ${lib} gnatcoll_db2ada
+ fi
+}
+
+src_install() {
+ build () {
+ GPR_PROJECT_PATH="${D}/usr/share/gpr" gprinstall -p -f \
+ -XBUILD=PROD -XGNATCOLL_VERSION=2018 \
+ --prefix="${D}"/usr -XLIBRARY_TYPE=$2 -XXMLADA_BUILD=$2 \
+ -XGPR_BUILD=$2 --build-name=$2 --build-var=LIBRARY_TYPE \
+ -P $1/$3.gpr
+ }
+ local lib
+ for kind in shared static-libs static-pic ; do
+ if use $kind; then
+ lib=${kind%-libs}
+ lib=${lib/shared/relocatable}
+ for dir in sql sqlite xref postgres ; do
+ if use $dir; then
+ build $dir $lib gnatcoll_${dir}
+ fi
+ done
+ fi
+ done
+ if use shared; then
+ lib=relocatable
+ elif use static-libs; then
+ lib=static
+ else
+ lib=static-pic
+ fi
+ if use gnatinspect; then
+ build gnatinspect ${lib} gnatinspect
+ fi
+ if use db2ada; then
+ build gnatcoll_db2ada ${lib} gnatcoll_db2ada
+ fi
+ rm -rf "${D}"/usr/share/gpr/manifests
+ einstalldocs
+}
diff --git a/dev-ada/gnatcoll-db/metadata.xml b/dev-ada/gnatcoll-db/metadata.xml
new file mode 100644
index 000000000000..520b5c112351
--- /dev/null
+++ b/dev-ada/gnatcoll-db/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="db2ada">Build gnatcoll_db2ada</flag>
+ <flag name="gnatinspect">Build gnatinspect</flag>
+ <flag name="shared">Build shared library</flag>
+ <flag name="sql">Build sql library</flag>
+ <flag name="static-pic">Build shared library</flag>
+ <flag name="xref">Build xref library</flag>
+ </use>
+ <longdescription lang="en">
+ The reusable library known as the GNAT Component Collection (GNATColl)
+ is based on one main principle: general-purpose packages that are part
+ of the GNAT technology should also be available to GNAT user
+ application code. The compiler front end, the GNAT Programming Studio
+ (GPS) Interactive Development Environment, and the GNAT Tracker
+ web-based interface all served as sources for the components.
+
+ The GNATColl components complement the predefined Ada and GNAT
+ libraries and deal with a range of common programming issues including
+ string and text processing, memory management, and file handling.
+ Several of the components are especially useful in enterprise
+ applications.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gnatmem/Manifest b/dev-ada/gnatmem/Manifest
new file mode 100644
index 000000000000..1b486976f988
--- /dev/null
+++ b/dev-ada/gnatmem/Manifest
@@ -0,0 +1 @@
+DIST gnatmem-2019-20190429-19745-src.tar.gz 80136 BLAKE2B 8ae3b41827416f951abb0d0a1fe533946fad2ac8d67ae6aad2b14495a3c068718befbbbf11800c1864f3becaa0ca6dfb838aeec3b3d715b250d4436ccee93c69 SHA512 4354a30efcf95a013f481b3519a79a22f85348840f074c734013d6c73e00fd771118b84eec416260983c383484f7a404217a32c012ca0bd7c37253ba17f2eb85
diff --git a/dev-ada/gnatmem/files/gnatmem-2018-gentoo.patch b/dev-ada/gnatmem/files/gnatmem-2018-gentoo.patch
new file mode 100644
index 000000000000..32b08af4da89
--- /dev/null
+++ b/dev-ada/gnatmem/files/gnatmem-2018-gentoo.patch
@@ -0,0 +1,88 @@
+--- a/configure.in 2016-12-08 20:57:53.942004080 +0100
++++ b/configure.in 2016-12-08 21:00:10.393677257 +0100
+@@ -2,23 +2,14 @@
+ AC_INIT(gnatmem.gpr.in)
+ AC_CANONICAL_SYSTEM
+ AC_PROG_CC(gcc)
+-AC_CHECK_TOOL(GNATBIND,gnatbind,"no")
+-if test ${GNATBIND} = "no"; then
+- AC_MSG_ERROR(Ada compiler needed,1)
+-fi
++AC_CONFIG_HEADERS(config.h:config.in)
++AC_DEFINE_UNQUOTED(TARGET, "${target}", [Configured target name.])
+ AC_ARG_WITH(binutils-buildtree,
+ [AC_HELP_STRING(
+ [--with-binutils-buildtree=<dir>],
+ [Specifify location of binutils build tree])],
+ BINUTILS_OBJDIR=$withval,
+ BINUTILS_OBJDIR=no)
+-AC_MSG_CHECKING([for binutils build tree validity])
+-if test -f "$BINUTILS_OBJDIR/bfd/libbfd.a"; then
+- AC_MSG_RESULT(yes)
+-else
+- AC_MSG_RESULT(no)
+- AC_MSG_FAILURE([need valid binutils build tree directory (got $BINUTILS_OBJDIR)])
+-fi
+
+ AC_ARG_WITH(binutils-sources,
+ [AC_HELP_STRING(
+@@ -26,21 +21,6 @@
+ [Specifify location of binutils sources])],
+ BINUTILS_SRCDIR=$withval,
+ BINUTILS_SRCDIR=auto)
+-if test "$BINUTILS_SRCDIR" = "auto"; then
+- BINUTILS_SRCDIR=`cat "$BINUTILS_OBJDIR/Makefile" | sed -n -e "/^ *srcdir *=/ s/^ *srcdir *= *// p"`
+- case "$BINUTILS_SRC_DIR" in
+- /*) ;;
+- *) # assume we have relative path
+- BINUTILS_SRCDIR="$BINUTILS_OBJDIR/$BINUTILS_SRCDIR";;
+- esac
+-fi
+-AC_MSG_CHECKING([for binutils source dir validity])
+-if test -f "$BINUTILS_SRCDIR/bfd/Makefile.in"; then
+- AC_MSG_RESULT(yes)
+-else
+- AC_MSG_RESULT(no)
+- AC_MSG_FAILURE([need valid binutils sources directory])
+-fi
+
+ AC_SUBST(BINUTILS_OBJDIR)
+ AC_SUBST(BINUTILS_SRCDIR)
+--- a/gnatmem.gpr.in 2017-02-02 22:15:30.247906007 +0100
++++ b/gnatmem.gpr.in 2017-02-02 22:17:22.604974363 +0100
+@@ -10,8 +10,9 @@
+ for Languages use ("ada", "c");
+
+ package Compiler is
+ for Default_Switches ("ada") use ("-O2", "-W", "-Wall", "-gnatpg");
+ for Default_Switches ("c") use ("-O2",
++ "-I..",
+ "-I" & BINUTILS_OBJDIR & "/binutils",
+ "-I" & BINUTILS_OBJDIR & "/bfd",
+ "-I" & BINUTILS_SRCDIR & "/include");
+@@ -19,8 +21,8 @@
+
+ package Linker is
+ for Default_Switches ("ada") use
+- (BINUTILS_OBJDIR & "/bfd/libbfd.a",
+- BINUTILS_OBJDIR & "/libiberty/libiberty.a",
++ ("-lbfd",
++ "-liberty",
+ "@LIBDL@",
+ "@LIBZ@");
+ end Linker;
+--- a/src/libaddr2line.c 2017-01-04 21:03:36.185233702 +0100
++++ b/src/libaddr2line.c 2017-01-04 21:04:17.680455390 +0100
+@@ -23,9 +23,9 @@
+ #include <string.h>
+ #include <stdlib.h>
+
+-#include "bfd.h"
+-#include "libiberty.h"
+-#include "demangle.h"
++#include <bfd.h>
++#include <libiberty/libiberty.h>
++#include <libiberty/demangle.h>
+
+ static asymbol **cur_syms; /* Symbol table. */
+ static bfd *cur_bfd;
diff --git a/dev-ada/gnatmem/gnatmem-2019-r1.ebuild b/dev-ada/gnatmem/gnatmem-2019-r1.ebuild
new file mode 100644
index 000000000000..44e18966d1ea
--- /dev/null
+++ b/dev-ada/gnatmem/gnatmem-2019-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing autotools
+
+MYP=${P}-20190429-19745-src
+
+DESCRIPTION="Monitors dynamic allocation and deallocation activity in a program"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8e1431e87a8f1d425089
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]
+ sys-libs/binutils-libs"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2018-gentoo.patch )
+
+src_prepare() {
+ default
+ mv configure.in configure.ac
+ eautoreconf
+}
+
+src_compile() {
+ gprbuild -v -Pgnatmem.gpr -j$(makeopts_jobs) \
+ -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS}
+}
+
+src_install() {
+ dobin obj/gnatmem
+}
diff --git a/dev-ada/gnatmem/metadata.xml b/dev-ada/gnatmem/metadata.xml
new file mode 100644
index 000000000000..8ef022ded22b
--- /dev/null
+++ b/dev-ada/gnatmem/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ The gnatmem utility monitors dynamic allocation and deallocation
+ activity in a program, and displays information about incorrect
+ deallocations and possible sources of memory leaks. It provides three
+ type of information:
+
+ General information concerning memory management, such as the total
+ number of allocations and deallocations, the amount of allocated memory
+ and the high water mark, i.e. the largest amount of allocated memory in
+ the course of program execution.
+ Backtraces for all incorrect deallocations, that is to say
+ deallocations which do not correspond to a valid allocation.
+ Information on each allocation that is potentially the origin of a
+ memory leak.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gnatsymbolize/Manifest b/dev-ada/gnatsymbolize/Manifest
new file mode 100644
index 000000000000..e78ca063abf1
--- /dev/null
+++ b/dev-ada/gnatsymbolize/Manifest
@@ -0,0 +1 @@
+DIST gnatsymbolize-2019-20190429-19761-src.tar.gz 14297 BLAKE2B 8ea689266abc485632c04a696c0d30632fdfcc123153ae006158700514ebedd6d067124e59e519a0ebe35569eb0e2fad8dd48a33d49551ba608e14d3ec73d636 SHA512 68e8c9bb2880738160722a2c413c6146c86efd0822236019ca5824eed4a2b392252676d0f96c035830b80068b82344b44953006fc96ea208f6bde6618190336c
diff --git a/dev-ada/gnatsymbolize/gnatsymbolize-2019-r1.ebuild b/dev-ada/gnatsymbolize/gnatsymbolize-2019-r1.ebuild
new file mode 100644
index 000000000000..f7b4ff74b026
--- /dev/null
+++ b/dev-ada/gnatsymbolize/gnatsymbolize-2019-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+ADA_COMPAT=( gnat_201{8,9} )
+inherit ada multiprocessing autotools
+
+MYP=${P}-20190429-19761-src
+
+DESCRIPTION="Translates addresses into filename, line number, and function names"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cc7d5e431e87a23952f18c4 ->
+ ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}"
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+src_compile() {
+ gnatmake -v gnatsymbolize -cargs ${ADAFLAGS} || die
+}
+
+src_install() {
+ dobin gnatsymbolize
+}
diff --git a/dev-ada/gnatsymbolize/metadata.xml b/dev-ada/gnatsymbolize/metadata.xml
new file mode 100644
index 000000000000..54757d1b123c
--- /dev/null
+++ b/dev-ada/gnatsymbolize/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ gnatsymbolize is a program which translates addresses into their
+ corresponding filename, line number, and function names.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gprbuild/Manifest b/dev-ada/gprbuild/Manifest
new file mode 100644
index 000000000000..f7e381e3e4eb
--- /dev/null
+++ b/dev-ada/gprbuild/Manifest
@@ -0,0 +1,6 @@
+DIST gprbuild-2019-20190517-194D8-src.tar.gz 2507961 BLAKE2B 0f70d94cb0db9ddc1dd308862aaa305a91965a62a936cfbdde2ae9f3f735f0cc3d69596b09da4b979a1d7923087ab0ec5cf2d6541551f057b5e8e0c499065a90 SHA512 0388d7e6cdf625fef40b33da764091b3283dd88714c64ecfad4b5e99253f183b1a9b717c19281e6d45cc4277a05fadb2e2ace394d6f30638664b66c97123052b
+DIST gprbuild-2020-20200429-19BD2-src.tar.gz 2489399 BLAKE2B 3a036cb40bbe5522af63c376a672384093901b44df6fd74013f1eff9d269c2f5056224ab5e7d59b6f3cf126cd14dd30420056b09e887851351462de59f700e3a SHA512 d2ff6a5d8281d332a31533c7a5744b6169fd250c9086373fd658486c1e529564d9830b9ef3b2dfcbec5f8c1ba50d244a9eb45bf8fdccd53f8b711dcf29258dfd
+DIST gprbuild-gpl-2017-src.tar.gz 2454957 BLAKE2B 890e5aa29e9f8fa8b140988ee8e5d6042640c34fe0877acde959de803bf690bb33c63b1c7e7db486f804882bddd77ab76ffbaa4dd27da327e21ed0376cadb99d SHA512 12f3682d64ce0718de4940c1e71a4380b20021805d88543842dbf3b5ce5d518c23a6b2d868565579baf81efa1d8cf05c7778253162f0df5d7adc0eb1865c9f88
+DIST xmlada-2019-20190429-19B9D-src.tar.gz 1582603 BLAKE2B e2be3e7c0c8b843bfc808a3dd726235a82588caed8c919975a97ce34c72d6d634361bbc34208590210936add9e2f881b59d01168ef79abed1e489c50b27094d8 SHA512 f8e0e25b0aee9a7a18223ae7761603082af55134f062c767d0cd0dbf0dbcb2058fc7c57532b567fb2c6efa464a53ead57b300578e98962025866e5c3ad73e380
+DIST xmlada-2020-20200429-19A99-src.tar.gz 1533111 BLAKE2B e2c25e103c5c560cf7c9580118580e2952f3ef56c244b0f76c7f484e5629b684d5ee546d2d40520e1a4bf963271d360522423f4e7d81570f7dc1dbc8424c9147 SHA512 e53dd1fba504d2aa91ce29ea381c62adea12c5d8c72cd87396b903143279456cc6547c18035f6e988e95bd93607360075789532378f33cbe23bef9b49c8d984c
+DIST xmlada-gpl-2017-src.tar.gz 1578393 BLAKE2B 7b4894040b6044e86c96cbd530ebda5c0cfc4ad0e2b472d46798a93f535aca0916b03385a3aef49bd4e59d508a9665c856360e9cab0a4f67b15091228b629d81 SHA512 371f6adc01550a4bb13204ec0404dc1165438db595f4346813e5a23a155de74c857c40c55adde173919c2fe35b3b91d78b235c9718ee86bc848e62ddfd7fa2b4
diff --git a/dev-ada/gprbuild/files/gprbuild-2017-config.patch b/dev-ada/gprbuild/files/gprbuild-2017-config.patch
new file mode 100644
index 000000000000..5dcd58ffb21d
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2017-config.patch
@@ -0,0 +1,122 @@
+--- a/share/gprconfig/compilers.xml 2018-10-27 09:04:53.830077299 +0200
++++ b/share/gprconfig/compilers.xml 2018-10-27 09:05:14.883724079 +0200
+@@ -20,15 +20,15 @@
+ <!-- GCC 3.x & 4.x (not for GNAT Pro)-->
+ <compiler_description>
+ <name>GCC</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc-@VER@</executable>
+ <version>
+- <external>${PREFIX}gcc -v</external>
++ <external>${PREFIX}gcc-@VER@ -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+ <grep regexp="^gcc \S+ (\S+)" group="1"></grep>
+ </version>
+ <languages>C</languages>
+ <target>
+- <external>${PREFIX}gcc -dumpmachine</external>
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+@@ -325,14 +325,14 @@
+ -->
+ <compiler_description>
+ <name>GNAT</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gnatls</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gnatls-@VER@</executable>
+ <version>
+- <external>${PREFIX}gnatls -v --version</external>
++ <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 -v</external>
++ <external>${PREFIX}gcc-@VER@ -v</external>
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+ </variable>
+ <runtimes default="default,kernel,native">
+@@ -342,7 +342,7 @@
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
+ </runtimes>
+ <target>
+- <external>${PREFIX}gcc -dumpmachine</external>
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+@@ -509,21 +509,6 @@
+ </target>
+ </compiler_description>
+
+- <!-- LLVM Compiler -->
+- <compiler_description>
+- <name>LLVM</name>
+- <executable>clang</executable>
+- <version>
+- <external>clang -v</external>
+- <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+- </version>
+- <languages>C</languages>
+- <target>
+- <external>clang -dumpmachine</external>
+- <grep regexp="[^\r\n]+"></grep>
+- </target>
+- </compiler_description>
+-
+ <!-- Windres compiler -->
+ <compiler_description>
+ <name>WINDRES</name>
+--- a/share/gprconfig/gnat.xml 2018-10-27 09:38:31.615357671 +0200
++++ b/share/gprconfig/gnat.xml 2018-10-27 09:40:54.603044560 +0200
+@@ -60,7 +60,7 @@
+ &filter_gnat;
+ <config>
+ package Compiler is
+- for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc";
++ 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
+@@ -77,6 +77,9 @@
+ 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@");
++ for Required_Switches ("Ada") use
++ Binder'Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+ end Binder;
+
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
+--- a/share/gprconfig/c.xml 2018-10-27 09:42:01.327035277 +0200
++++ b/share/gprconfig/c.xml 2018-10-27 09:42:16.529803718 +0200
+@@ -14,7 +14,7 @@
+ </compilers>
+ <config>
+ package Compiler is
+- for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc";
++ for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc-@VER@";
+ end Compiler;
+ </config>
+ </configuration>
+--- a/share/gprconfig/linker.xml 2018-10-27 09:43:17.934862859 +0200
++++ b/share/gprconfig/linker.xml 2018-10-27 09:43:54.127304471 +0200
+@@ -814,7 +814,7 @@
+ when "arm-android" | "arm-linux-androideabi" =>
+ null;
+ when others =>
+- for Library_Partial_Linker use ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib", "-Wl,-r", "-o");
++ for Library_Partial_Linker use ("${PATH(ada)}${PREFIX(ada)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o");
+ end case;
+ </config>
+ </configuration>
+@@ -830,7 +830,7 @@
+ <target name="^.*linux.*$" />
+ </targets>
+ <config>
+- for Library_Partial_Linker use ("${PATH(ada)}${PREFIX(c)}gcc", "-nostdlib", "-Wl,-r", "-o");
++ for Library_Partial_Linker use ("${PATH(ada)}${PREFIX(c)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o");
+ </config>
+ </configuration>
+
diff --git a/dev-ada/gprbuild/files/gprbuild-2017-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2017-gentoo.patch
new file mode 100644
index 000000000000..3f74f808e0ac
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2017-gentoo.patch
@@ -0,0 +1,94 @@
+--- gprbuild-2017/gpr/gpr.gpr.old 2017-05-27 20:59:07.061135892 +0200
++++ gprbuild-2017/gpr/gpr.gpr 2017-05-27 20:59:38.022638398 +0200
+@@ -67,6 +67,7 @@
+ for Switches ("gpr*.ad?") use
+ Compiler'Default_Switches ("Ada") & ("-g1");
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ end GPR;
+--- gprbuild-17.0/src/gprbuild-post_compile.adb.old 2017-05-18 14:17:06.114797015 +0200
++++ gprbuild-17.0/src/gprbuild-post_compile.adb 2017-05-18 14:18:55.466956852 +0200
+@@ -4744,7 +4744,9 @@
+ No_Create => Proj.Is_Aggregated);
+ end if;
+
+- Shared_Libs := not Is_Static (Proj.Proj);
++ if not Is_Static (Proj.Proj) then
++ Shared_Libs := True;
++ end if;
+
+ end if;
+ end if;
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.ads.old 2017-11-19 13:09:18.947527738 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.ads 2017-11-19 13:10:08.125654595 +0100
+@@ -27,6 +27,8 @@
+ Name_Buffer : String (1 .. 1_000_000);
+ Name_Len : Natural := 0;
+
++ Last_Id : Name_Id := Name_Id'First;
++
+ procedure Get_Name_String (Id : Name_Id);
+ procedure Get_Name_String (Id : Unit_Name_Type);
+ procedure Get_Name_String (Id : File_Name_Type);
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.adb.old 2017-11-19 13:10:27.674316703 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.adb 2017-11-19 13:14:38.360963627 +0100
+@@ -354,6 +354,8 @@
+
+ Name_Chars.Append (ASCII.NUL);
+
++ Last_Id := Name_Entries.Last;
++
+ return Name_Entries.Last;
+ end Name_Enter;
+
+@@ -427,6 +429,8 @@
+
+ Name_Chars.Append (ASCII.NUL);
+
++ Last_Id := Name_Entries.Last;
++
+ return Name_Entries.Last;
+ end Name_Find;
+
+--- gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb.old 2017-11-19 13:12:41.592995718 +0100
++++ gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb 2017-11-19 13:16:31.980979696 +0100
+@@ -53,6 +53,10 @@
+ return;
+ end if;
+
++ if Last_Id = Name_Id'First then
++ Add_Name ("");
++ end if;
++
+ Add_Name ("a");
+ Add_Name ("b");
+ Add_Name ("c");
+--- gprbuild-gpl-2017/src/gprlib.adb.old 2017-12-18 12:20:02.937317216 +0100
++++ gprbuild-gpl-2017/src/gprlib.adb 2017-12-18 12:21:36.519604590 +0100
+@@ -400,7 +400,7 @@
+
+ Driver_Name : Name_Id := No_Name;
+
+- Gnatbind_Name : String_Access := new String'("gnatbind");
++ Gnatbind_Name : String_Access := new String'("@GNATBIND@");
+
+ Gnatbind_Path : String_Access;
+
+@@ -2237,13 +2237,13 @@
+ and then Line (Last - 2 .. Last) = "gcc"
+ then
+ Gnatbind_Name :=
+- new String'(Line (1 .. Last - 3) & "gnatbind");
++ new String'(Line (1 .. Last - 3) & "@GNATBIND@");
+
+ elsif Last > 7
+ and then Line (Last - 6 .. Last) = "gcc.exe"
+ then
+ Gnatbind_Name :=
+- new String'(Line (1 .. Last - 7) & "gnatbind");
++ new String'(Line (1 .. Last - 7) & "@GNATBIND@");
+ end if;
+ end if;
+
diff --git a/dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch
new file mode 100644
index 000000000000..352ff033b81b
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch
@@ -0,0 +1,274 @@
+--- a/src/gprlib.adb 2019-06-02 10:57:49.807002425 +0200
++++ b/src/gprlib.adb 2019-06-02 11:01:32.986518447 +0200
+@@ -266,7 +266,9 @@
+
+ Driver_Name : Name_Id := No_Name;
+
+- Gnatbind_Name : String_Access := new String'("gnatbind");
++ Gnatbind_Name : String_Access := new String'("@GNATBIND@");
++
++ Gnatbind_Path_Option : constant String := "--gnatbind_path=";
+
+ Compiler_Name : String_Access := new String'("gcc");
+
+@@ -2081,7 +2083,7 @@
+ and then Line (Last - 2 .. Last) = "gcc"
+ then
+ Gnatbind_Name :=
+- new String'(Line (1 .. Last - 3) & "gnatbind");
++ new String'(Line (1 .. Last - 3) & "@GNATBIND@");
+ Objcopy_Name :=
+ new String'(Line (1 .. Last - 3) & "objcopy");
+
+@@ -2089,7 +2091,7 @@
+ and then Line (Last - 6 .. Last) = "gcc.exe"
+ then
+ Gnatbind_Name :=
+- new String'(Line (1 .. Last - 7) & "gnatbind");
++ new String'(Line (1 .. Last - 7) & "@GNATBIND@");
+ Objcopy_Name :=
+ new String'(Line (1 .. Last - 7) & "objcopy");
+ end if;
+@@ -2241,7 +2243,13 @@
+ Mapping_File_Name := new String'(Line (1 .. Last));
+
+ when Binding_Options =>
+- Binding_Options_Table.Append (Line (1 .. Last));
++ if Last > Gnatbind_Path_Option'Length
++ and then Line (1 .. Gnatbind_Path_Option'Length) =
++ Gnatbind_Path_Option then
++ null;
++ else
++ Binding_Options_Table.Append (Line (1 .. Last));
++ end if;
+
+ when Copy_Source_Dir =>
+ Copy_Source_Directory := new String'(Line (1 .. Last));
+--- a/share/gprconfig/compilers.xml 2019-06-01 21:29:57.611722804 +0200
++++ b/share/gprconfig/compilers.xml 2019-06-01 21:42:56.000608601 +0200
+@@ -20,15 +20,15 @@
+ <!-- GCC 3.x & 4.x (not for GNAT Pro)-->
+ <compiler_description>
+ <name>GCC</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc-@VER@</executable>
+ <version>
+- <external>${PREFIX}gcc -v</external>
++ <external>${PREFIX}gcc-@VER@ -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+ <grep regexp="^gcc \S+ (\S+)" group="1"></grep>
+ </version>
+ <languages>C</languages>
+ <target>
+- <external>${PREFIX}gcc -dumpmachine</external>
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+@@ -170,14 +170,14 @@
+ -->
+ <compiler_description>
+ <name>GNAT</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls-@VER@</executable>
+ <version>
+- <external>${PREFIX}gnatls -v --version</external>
++ <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 -v</external>
++ <external>${PREFIX}gcc-@VER@ -v</external>
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+ </variable>
+ <runtimes default="default,kernel,native">
+@@ -187,67 +187,11 @@
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
+ </runtimes>
+ <target>
+- <external>${PREFIX}gcc -dumpmachine</external>
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+
+- <!-- CodePeer -->
+-
+- <compiler_description>
+- <name>GNAT_CODEPEER</name>
+- <executable prefix="1">(.*gnsa-|.*codepeer-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada,C,C++</languages>
+- <variable name="gcc_version">
+- <external>${PREFIX}gcc -v</external>
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+- </variable>
+- <runtimes default="default,native">
+- <directory group="default" >\.\./lib/gcc/.*/$gcc_version/adalib/</directory>
+- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
+- <directory group="1" >\.\./lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
+- </runtimes>
+- <target>codepeer</target>
+- </compiler_description>
+-
+- <!-- Generic GNAT LLVM Target -->
+-
+- <compiler_description>
+- <name>GNAT_LLVM</name>
+- <executable prefix="1">(llvm-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada</languages>
+- <variable name="gcc_version">
+- <external>${PREFIX}gcc -v</external>
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+- </variable>
+- <runtimes default="default,native">
+- <directory group="default" >\.\./lib/rts-native/adalib/</directory>
+- </runtimes>
+- <target>llvm</target>
+- </compiler_description>
+-
+- <!-- Generic C compiler for LLVM -->
+- <compiler_description>
+- <name>C_LLVM</name>
+- <executable>clang</executable>
+- <version>
+- <external>clang --version</external>
+-
+- <!-- 'clang version 6.0.0 ...' -->
+- <grep regexp="^clang version (\S+) " group="1"></grep>
+- </version>
+- <languages>C</languages>
+- <target>llvm</target>
+- </compiler_description>
+-
+ <!-- Generic C++ compiler for LLVM -->
+ <compiler_description>
+ <name>C++_LLVM</name>
+@@ -262,45 +206,6 @@
+ <target>llvm</target>
+ </compiler_description>
+
+- <!-- C Target -->
+-
+- <compiler_description>
+- <name>GNAT_C</name>
+- <executable prefix="1">(c-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada</languages>
+- <variable name="gcc_version">
+- <external>${PREFIX}gcc -v</external>
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+- </variable>
+- <runtimes default="default,ccg">
+- <directory group="default" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/adalib/</directory>
+- <directory group="1" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
+- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
+- </runtimes>
+- <target>c</target>
+- </compiler_description>
+-
+- <!-- GNAT_DOTNET -->
+-
+- <compiler_description>
+- <name>GNAT_DOTNET</name>
+- <executable prefix="1">(.*dotnet-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada</languages>
+- <runtimes default="default,kernel">
+- <directory group="default" >\.\./lib/dotgnat/adalib/</directory>
+- <directory group="1" >\.\./lib/dotgnat/rts-(.*)/adalib/</directory>
+- </runtimes>
+- <target>dotnet</target>
+- </compiler_description>
+-
+ <!-- G77 -->
+ <compiler_description>
+ <name>G77</name>
+@@ -404,21 +309,6 @@
+ </target>
+ </compiler_description>
+
+- <!-- LLVM Compiler -->
+- <compiler_description>
+- <name>LLVM</name>
+- <executable>clang</executable>
+- <version>
+- <external>clang -v</external>
+- <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+- </version>
+- <languages>C,C++</languages>
+- <target>
+- <external>clang -dumpmachine</external>
+- <grep regexp="[^\r\n]+"></grep>
+- </target>
+- </compiler_description>
+-
+ <!-- Windres compiler -->
+ <compiler_description>
+ <name>WINDRES</name>
+--- a/share/gprconfig/gnat.xml 2019-06-01 21:53:53.383281607 +0200
++++ b/share/gprconfig/gnat.xml 2019-06-01 21:57:08.414196529 +0200
+@@ -60,7 +60,7 @@
+ &filter_gnat;
+ <config>
+ package Compiler is
+- for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc";
++ 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
+@@ -77,6 +77,9 @@
+ 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@");
++ for Required_Switches ("Ada") use
++ Binder'Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+ end Binder;
+
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
+--- a/share/gprconfig/c.xml 2019-06-01 21:57:36.244755708 +0200
++++ b/share/gprconfig/c.xml 2019-06-01 21:59:14.919191663 +0200
+@@ -14,7 +14,7 @@
+ </compilers>
+ <config>
+ package Compiler is
+- for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc";
++ for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc-@VER@";
+ end Compiler;
+ </config>
+ </configuration>
+--- a/share/gprconfig/linker.xml 2019-06-01 21:59:34.546880368 +0200
++++ b/share/gprconfig/linker.xml 2019-06-01 22:00:50.906668730 +0200
+@@ -1015,7 +1015,7 @@
+ </targets>
+ <config>
+ for Library_Partial_Linker use
+- ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib", "-Wl,-r", "-o");
++ ("${PATH(ada)}${PREFIX(ada)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o");
+ </config>
+ </configuration>
+
+@@ -1034,7 +1034,7 @@
+ </targets>
+ <config>
+ for Library_Partial_Linker use
+- ("${PATH(c)}${PREFIX(c)}gcc", "-nostdlib", "-Wl,-r", "-o");
++ ("${PATH(c)}${PREFIX(c)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o");
+ </config>
+ </configuration>
+
diff --git a/dev-ada/gprbuild/files/gprbuild-2020-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2020-gentoo.patch
new file mode 100644
index 000000000000..9e6040b8ddc9
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2020-gentoo.patch
@@ -0,0 +1,286 @@
+--- a/src/gprlib.adb 2019-06-02 10:57:49.807002425 +0200
++++ b/src/gprlib.adb 2019-06-02 11:01:32.986518447 +0200
+@@ -266,7 +266,9 @@
+
+ Driver_Name : Name_Id := No_Name;
+
+- Gnatbind_Name : String_Access := new String'("gnatbind");
++ Gnatbind_Name : String_Access := new String'("@GNATBIND@");
++
++ Gnatbind_Path_Option : constant String := "--gnatbind_path=";
+
+ Compiler_Name : String_Access := new String'("gcc");
+
+@@ -2081,7 +2083,7 @@
+ and then Line (Last - 2 .. Last) = "gcc"
+ then
+ Gnatbind_Name :=
+- new String'(Line (1 .. Last - 3) & "gnatbind");
++ new String'(Line (1 .. Last - 3) & "@GNATBIND@");
+ Objcopy_Name :=
+ new String'(Line (1 .. Last - 3) & "objcopy");
+
+@@ -2089,7 +2091,7 @@
+ and then Line (Last - 6 .. Last) = "gcc.exe"
+ then
+ Gnatbind_Name :=
+- new String'(Line (1 .. Last - 7) & "gnatbind");
++ new String'(Line (1 .. Last - 7) & "@GNATBIND@");
+ Objcopy_Name :=
+ new String'(Line (1 .. Last - 7) & "objcopy");
+ end if;
+@@ -2241,7 +2243,13 @@
+ Mapping_File_Name := new String'(Line (1 .. Last));
+
+ when Binding_Options =>
+- Binding_Options_Table.Append (Line (1 .. Last));
++ if Last > Gnatbind_Path_Option'Length
++ and then Line (1 .. Gnatbind_Path_Option'Length) =
++ Gnatbind_Path_Option then
++ null;
++ else
++ Binding_Options_Table.Append (Line (1 .. Last));
++ end if;
+
+ when Copy_Source_Dir =>
+ Copy_Source_Directory := new String'(Line (1 .. Last));
+--- a/share/gprconfig/compilers.xml 2019-06-01 21:29:57.611722804 +0200
++++ b/share/gprconfig/compilers.xml 2019-06-01 21:42:56.000608601 +0200
+@@ -20,15 +20,15 @@
+ <!-- GCC 3.x & 4.x (not for GNAT Pro)-->
+ <compiler_description>
+ <name>GCC</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc-@VER@</executable>
+ <version>
+- <external>${PREFIX}gcc -v</external>
++ <external>${PREFIX}gcc-@VER@ -v</external>
+ <nogrep regexp="for GNAT Pro"></nogrep>
+ <grep regexp="^gcc \S+ (\S+)" group="1"></grep>
+ </version>
+ <languages>C</languages>
+ <target>
+- <external>${PREFIX}gcc -dumpmachine</external>
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+@@ -170,14 +170,14 @@
+ -->
+ <compiler_description>
+ <name>GNAT</name>
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls</executable>
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls-@VER@</executable>
+ <version>
+- <external>${PREFIX}gnatls -v --version</external>
++ <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 -v</external>
++ <external>${PREFIX}gcc-@VER@ -v</external>
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+ </variable>
+ <runtimes default="default,kernel,native">
+@@ -187,67 +187,11 @@
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
+ </runtimes>
+ <target>
+- <external>${PREFIX}gcc -dumpmachine</external>
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+
+- <!-- CodePeer -->
+-
+- <compiler_description>
+- <name>GNAT_CODEPEER</name>
+- <executable prefix="1">(.*gnsa-|.*codepeer-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada,C,C++</languages>
+- <variable name="gcc_version">
+- <external>${PREFIX}gcc -v</external>
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+- </variable>
+- <runtimes default="default,native">
+- <directory group="default" >\.\./lib/gcc/.*/$gcc_version/adalib/</directory>
+- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
+- <directory group="1" >\.\./lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
+- </runtimes>
+- <target>codepeer</target>
+- </compiler_description>
+-
+- <!-- Generic GNAT LLVM Target -->
+-
+- <compiler_description>
+- <name>GNAT_LLVM</name>
+- <executable prefix="1">(llvm-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada</languages>
+- <variable name="gcc_version">
+- <external>${PREFIX}gcc -v</external>
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+- </variable>
+- <runtimes default="default,native">
+- <directory group="default" >\.\./lib/rts-native/adalib/</directory>
+- </runtimes>
+- <target>llvm</target>
+- </compiler_description>
+-
+- <!-- Generic C compiler for LLVM -->
+- <compiler_description>
+- <name>C_LLVM</name>
+- <executable>clang</executable>
+- <version>
+- <external>clang --version</external>
+-
+- <!-- 'clang version 6.0.0 ...' -->
+- <grep regexp="^clang version (\S+) " group="1"></grep>
+- </version>
+- <languages>C</languages>
+- <target>llvm</target>
+- </compiler_description>
+-
+ <!-- Generic C++ compiler for LLVM -->
+ <compiler_description>
+ <name>C++_LLVM</name>
+@@ -262,45 +206,6 @@
+ <target>llvm</target>
+ </compiler_description>
+
+- <!-- C Target -->
+-
+- <compiler_description>
+- <name>GNAT_C</name>
+- <executable prefix="1">(c-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada</languages>
+- <variable name="gcc_version">
+- <external>${PREFIX}gcc -v</external>
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+- </variable>
+- <runtimes default="default,ccg">
+- <directory group="default" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/adalib/</directory>
+- <directory group="1" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
+- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
+- </runtimes>
+- <target>c</target>
+- </compiler_description>
+-
+- <!-- GNAT_DOTNET -->
+-
+- <compiler_description>
+- <name>GNAT_DOTNET</name>
+- <executable prefix="1">(.*dotnet-)gnatls</executable>
+- <version>
+- <external>${PREFIX}gnatls -v</external>
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+- </version>
+- <languages>Ada</languages>
+- <runtimes default="default,kernel">
+- <directory group="default" >\.\./lib/dotgnat/adalib/</directory>
+- <directory group="1" >\.\./lib/dotgnat/rts-(.*)/adalib/</directory>
+- </runtimes>
+- <target>dotnet</target>
+- </compiler_description>
+-
+ <!-- JGNAT -->
+
+ <compiler_description>
+@@ -421,21 +326,6 @@
+ </target>
+ </compiler_description>
+
+- <!-- LLVM Compiler -->
+- <compiler_description>
+- <name>LLVM</name>
+- <executable>clang</executable>
+- <version>
+- <external>clang -v</external>
+- <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
+- </version>
+- <languages>C,C++</languages>
+- <target>
+- <external>clang -dumpmachine</external>
+- <grep regexp="[^\r\n]+"></grep>
+- </target>
+- </compiler_description>
+-
+ <!-- Windres compiler -->
+ <compiler_description>
+ <name>WINDRES</name>
+--- a/share/gprconfig/gnat.xml 2019-06-01 21:53:53.383281607 +0200
++++ b/share/gprconfig/gnat.xml 2019-06-01 21:57:08.414196529 +0200
+@@ -60,7 +60,7 @@
+ &filter_gnat;
+ <config>
+ package Compiler is
+- for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc";
++ 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
+@@ -77,6 +77,9 @@
+ 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@");
++ for Required_Switches ("Ada") use
++ Binder'Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+ end Binder;
+
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
+--- a/share/gprconfig/c.xml 2019-06-01 21:57:36.244755708 +0200
++++ b/share/gprconfig/c.xml 2019-06-01 21:59:14.919191663 +0200
+@@ -14,7 +14,7 @@
+ </compilers>
+ <config>
+ package Compiler is
+- for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc";
++ for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc-@VER@";
+ end Compiler;
+ </config>
+ </configuration>
+--- a/share/gprconfig/linker.xml 2019-06-01 21:59:34.546880368 +0200
++++ b/share/gprconfig/linker.xml 2019-06-01 22:00:50.906668730 +0200
+@@ -1015,7 +1015,7 @@
+ </targets>
+ <config>
+ for Library_Partial_Linker use
+- ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib", "-Wl,-r", "-o");
++ ("${PATH(ada)}${PREFIX(ada)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o");
+ </config>
+ </configuration>
+
+@@ -1034,7 +1034,7 @@
+ </targets>
+ <config>
+ for Library_Partial_Linker use
+- ("${PATH(c)}${PREFIX(c)}gcc", "-nostdlib", "-Wl,-r", "-o");
++ ("${PATH(c)}${PREFIX(c)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o");
+ </config>
+ </configuration>
+
+--- a/share/gprconfig/linker.xml 2020-06-16 22:13:38.508782578 +0200
++++ b/share/gprconfig/linker.xml 2020-06-16 22:14:32.693966110 +0200
+@@ -112,6 +112,9 @@
+ for Object_Lister use ("nm", "-g");
+ for Object_Lister_Matcher use " [TDRB] (.*)";
+
++ LDFLAGS := External_As_List ("LDFLAGS", " ");
++ for Leading_Library_Options use LDFLAGS;
++
+ package Linker is
+ for Export_File_Format use "GNU";
+ for Export_File_Switch use "-Wl,--version-script=";
diff --git a/dev-ada/gprbuild/gprbuild-2017-r2.ebuild b/dev-ada/gprbuild/gprbuild-2017-r2.ebuild
new file mode 100644
index 000000000000..8e9afef371c1
--- /dev/null
+++ b/dev-ada/gprbuild/gprbuild-2017-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7} )
+
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="
+ http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deecff7
+ -> ${MYP}-src.tar.gz
+ http://mirrors.cdn.adacore.com/art/591aeb88c7a4473fcbb154f8
+ -> xmlada-gpl-${PV}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="${ADA_DEPS}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-config.patch
+)
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@VER@:${GCC_PV}:g" \
+ share/gprconfig/compilers.xml \
+ share/gprconfig/gnat.xml \
+ share/gprconfig/c.xml \
+ share/gprconfig/linker.xml \
+ || die
+ sed -i \
+ -e "s:@GNATBIND@:${GNATBIND}:g" \
+ src/gprlib.adb \
+ || die
+ if use ada_target_gnat_2016; then
+ sed -i \
+ -e 's:"-no-pie", ::g' \
+ share/gprconfig/linker.xml \
+ || die
+ fi
+}
+
+src_configure() {
+ emake prefix="${D}"/usr setup
+}
+
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
+lib_progs="gprlib gprbind"
+
+src_compile() {
+ local xmlada_src="../xmlada-gpl-${PV}-src"
+ incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \
+ -I${xmlada_src}/schema -I${xmlada_src}/unicode \
+ -I${xmlada_src}/input_sources"
+ gcc -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die
+ for bin in ${bin_progs}; do
+ gnatmake -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \
+ -o ${bin} -largs gpr_imports.o || die
+ done
+ for lib in $lib_progs; do
+ gnatmake -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \
+ -largs gpr_imports.o || die
+ done
+}
+
+src_install() {
+ dobin ${bin_progs}
+ exeinto /usr/libexec/gprbuild
+ doexe ${lib_progs}
+ insinto /usr/share/gprconfig
+ doins share/gprconfig/*
+ insinto /usr/share/gpr
+ doins share/_default.gpr
+ einstalldocs
+}
diff --git a/dev-ada/gprbuild/gprbuild-2019-r1.ebuild b/dev-ada/gprbuild/gprbuild-2019-r1.ebuild
new file mode 100644
index 000000000000..edba878042c2
--- /dev/null
+++ b/dev-ada/gprbuild/gprbuild-2019-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{7,8,9} )
+
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${P}-20190517-194D8-src
+XMLADA=xmlada-${PV}-20190429-19B9D-src
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="
+ http://mirrors.cdn.adacore.com/art/5cdf8e8031e87a8f1d425093
+ -> ${MYP}.tar.gz
+ http://mirrors.cdn.adacore.com/art/5cdf916831e87a8f1d4250b5
+ -> ${XMLADA}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="${ADA_DEPS}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@VER@:${GCC_PV}:g" \
+ share/gprconfig/compilers.xml \
+ share/gprconfig/gnat.xml \
+ share/gprconfig/c.xml \
+ share/gprconfig/linker.xml \
+ || die
+ sed -i \
+ -e "s:@GNATBIND@:${GNATBIND}:g" \
+ src/gprlib.adb \
+ || die
+}
+
+src_configure() {
+ emake prefix="${D}"/usr setup
+}
+
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
+lib_progs="gprlib gprbind"
+
+src_compile() {
+ local xmlada_src="../${XMLADA}"
+ incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \
+ -I${xmlada_src}/schema -I${xmlada_src}/unicode \
+ -I${xmlada_src}/input_sources"
+ gcc -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die
+ for bin in ${bin_progs}; do
+ gnatmake -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \
+ -o ${bin} -largs gpr_imports.o || die
+ done
+ for lib in $lib_progs; do
+ gnatmake -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \
+ -largs gpr_imports.o || die
+ done
+}
+
+src_install() {
+ dobin ${bin_progs}
+ exeinto /usr/libexec/gprbuild
+ doexe ${lib_progs}
+ insinto /usr/share/gprconfig
+ doins share/gprconfig/*
+ insinto /usr/share/gpr
+ doins share/_default.gpr
+ einstalldocs
+}
diff --git a/dev-ada/gprbuild/gprbuild-2020.ebuild b/dev-ada/gprbuild/gprbuild-2020.ebuild
new file mode 100644
index 000000000000..c633f202b550
--- /dev/null
+++ b/dev-ada/gprbuild/gprbuild-2020.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{7,8,9} )
+
+inherit ada toolchain-funcs multiprocessing
+
+MYP=${P}-20200429-19BD2-src
+XMLADA=xmlada-${PV}-20200429-19A99-src
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="
+ https://community.download.adacore.com/v1/408ec35c3bb86bd227db3da55d3e1e0c572a56e3?filename=${MYP}.tar.gz
+ -> ${MYP}.tar.gz
+ https://community.download.adacore.com/v1/c799502295baf074ad17b48c50f621879c392c57?filename=${XMLADA}.tar.gz
+ -> ${XMLADA}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="${ADA_DEPS}"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@VER@:${GCC_PV}:g" \
+ share/gprconfig/compilers.xml \
+ share/gprconfig/gnat.xml \
+ share/gprconfig/c.xml \
+ share/gprconfig/linker.xml \
+ || die
+ sed -i \
+ -e "s:@GNATBIND@:${GNATBIND}:g" \
+ src/gprlib.adb \
+ || die
+}
+
+src_configure() {
+ emake prefix="${D}"/usr setup
+}
+
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
+lib_progs="gprlib gprbind"
+
+src_compile() {
+ local xmlada_src="../${XMLADA}"
+ incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \
+ -I${xmlada_src}/schema -I${xmlada_src}/unicode \
+ -I${xmlada_src}/input_sources"
+ gcc -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die
+ for bin in ${bin_progs}; do
+ gnatmake -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \
+ -o ${bin} -largs ${LDFLAGS} gpr_imports.o || die
+ done
+ for lib in $lib_progs; do
+ gnatmake -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \
+ -largs ${LDFLAGS} gpr_imports.o || die
+ done
+}
+
+src_install() {
+ dobin ${bin_progs}
+ exeinto /usr/libexec/gprbuild
+ doexe ${lib_progs}
+ insinto /usr/share/gprconfig
+ doins share/gprconfig/*
+ insinto /usr/share/gpr
+ doins share/_default.gpr
+ einstalldocs
+}
diff --git a/dev-ada/gprbuild/metadata.xml b/dev-ada/gprbuild/metadata.xml
new file mode 100644
index 000000000000..ab6a34e87979
--- /dev/null
+++ b/dev-ada/gprbuild/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ GPRbuild is an advanced software tool designed to help automate the
+ construction of multi-language systems. It removes complexity from
+ multi-language development by allowing developers to quickly and easily
+ compile and link software written in a combination of languages
+ including Ada, Assembler, C, C++, and Fortran. Easily extendable by
+ users to cover new toolchains and languages it is primarily aimed at
+ projects of all sizes organized into subsystems and libraries and is
+ particularly well-suited for compiled languages.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gps/Manifest b/dev-ada/gps/Manifest
new file mode 100644
index 000000000000..354ebeca4048
--- /dev/null
+++ b/dev-ada/gps/Manifest
@@ -0,0 +1,4 @@
+DIST ada_language_server-2019-src.tar.gz 169018 BLAKE2B 3ed7412773887f6ebe58a8b08a6befa8be780d10c1abb3a38f524918fb60d7213699e2c7a2cd845d5dd154f9eccf8672ce8833e408dcdaa3621d173a0a8e5818 SHA512 dd25878719c5237c2f1e01097076758f25a350705a58c2988ff3e92179ceaf659981cdd0887df9916e4c1e2226419ebd526f14716da4d3fda0fcf454b9122d37
+DIST gps-gpl-2019-src.tar.gz 13758956 BLAKE2B 71158537d9d970b97db06c1a5ed40cfec2f7c8523dbced763227463450b4fd469817abcd61339cde96a13bb2b721141339b15444e55bdc64cee7ed2458fd42ed SHA512 4420311303122fd365794830fb7a7868832b8211804d6e11773f598c307229b139993b3c81d91646f7b5aa9a7fba118895234c4ac89193d960dd3170a04e52a7
+DIST gtk+-3.14.15-src.tar.gz 32009863 BLAKE2B 93c6897c431fa8e1c19ea758378bc7e365d486d1decccefbba64876d8c51a488e6bcf932481daa11e7e43a960a328c3db746e41a845e574c6b6070ab71e23188 SHA512 add4607a1758319a938d2be0bbd0dd140c4099accffa9301e3049bc460bf94f395c5a092368214e8b28d53bc25335d1b8329b50c7eb80a1e9a65b2e154135b84
+DIST libadalang-tools-2019-20190517-195C4-src.tar.gz 625775 BLAKE2B 2ec69e307576c505d20a43d229b13404966f4442778e5390da327ae71cc065873de4fff03a720949fa6bfb5ce66f405e7d45f7f0c21032a639efcff208323aed SHA512 b7368606847244cbb08ff2111fabfbfc8a9aa7f58e953febc70838006d94711dba1fd75bfb69ed2081a37a2dfaaad46097127870696c882d7cc54de5d7b051a1
diff --git a/dev-ada/gps/files/gps-2019-gentoo.patch b/dev-ada/gps/files/gps-2019-gentoo.patch
new file mode 100644
index 000000000000..00fc810a2b9b
--- /dev/null
+++ b/dev-ada/gps/files/gps-2019-gentoo.patch
@@ -0,0 +1,77 @@
+--- a/gps/Makefile 2018-07-09 20:27:34.950424490 +0200
++++ b/gps/Makefile 2018-07-09 20:37:39.510558817 +0200
+@@ -47,7 +47,8 @@
+ for f in ../kernel/generated/*; do cat $$f | tr -d '\015' > $$f-aux; mv -f $$f-aux $$f; done
+ endif
+ $(GPRBUILD) $(GPRBUILD_FLAGS) -m -p -ws \
+- $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs`
++ $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs` -lpython2.7 \
++ -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS}
+
+ resources:
+ ifeq ($(OS),Windows_NT)
+--- a/Makefile.in 2018-07-09 21:51:08.422550386 +0200
++++ b/Makefile.in 2018-07-09 21:51:32.187225891 +0200
+@@ -10,7 +10,7 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+ GNATCOLL_INSTALL = @GNATCOLL_INSTALL@
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+ bindir = $(prefix)/bin
+ sharedir = $(prefix)/share
+ examplesdir = $(prefix)/share/examples/gps
+--- a/docs/Makefile.in 2018-07-09 21:53:33.074572729 +0200
++++ b/docs/Makefile.in 2018-07-09 21:53:52.149311484 +0200
+@@ -1,4 +1,4 @@
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+ docdir = $(prefix)/share/doc/gps
+ sharedir = $(prefix)/share/gps
+
+--- a/share/support/core/toolchains.py 2018-07-11 12:15:18.758674244 +0200
++++ b/share/support/core/toolchains.py 2018-07-11 12:20:20.389220849 +0200
+@@ -16,11 +16,11 @@
+ nullified by using an empty value in the corresponding tag
+ -->
+ <toolchain_default>
+- <gnat_driver>gnat</gnat_driver>
+- <gnat_list>gnatls</gnat_list>
++ <gnat_driver>@GNAT@</gnat_driver>
++ <gnat_list>@GNATLS@</gnat_list>
+ <debugger>gdb</debugger>
+ <cpp_filt>c++filt</cpp_filt>
+- <compiler lang="ada">gnatmake</compiler>
++ <compiler lang="ada">@GNATMAKE@</compiler>
+ <compiler lang="c">gcc</compiler>
+ <compiler lang="c++">g++</compiler>
+ <compiler lang="asm">gcc</compiler>
+--- a/share/support/core/projects.py 2018-07-11 13:49:29.631289680 +0200
++++ b/share/support/core/projects.py 2018-07-11 13:51:46.568252607 +0200
+@@ -146,7 +146,7 @@
+ <string />
+ </index>
+ <specialized_index value="Ada">
+- <choice default="true" >gnatmake</choice>
++ <choice default="true" >@GNATMAKE@</choice>
+ </specialized_index>
+ </project_attribute>
+
+@@ -166,7 +166,7 @@
+ description="The gnatls command used to find where the Ada run time files are installed (including optional arguments, e.g. gnatls --RTS=sjlj)."
+ hide_in="all"
+ label="Gnatls">
+- <choice default="true" >gnatls</choice>
++ <choice default="true" >@GNATLS@</choice>
+ <string />
+ </project_attribute>
+
+@@ -206,7 +206,7 @@
+ description="The gnat driver used to run the various commands associated with the GNAT toolchain."
+ hide_in="all"
+ label="GNAT">
+- <choice default="true" >gnat</choice>
++ <choice default="true" >@GNAT@</choice>
+ <string />
+ </project_attribute>
+
diff --git a/dev-ada/gps/gps-2019-r1.ebuild b/dev-ada/gps/gps-2019-r1.ebuild
new file mode 100644
index 000000000000..58c5f6bc13bb
--- /dev/null
+++ b/dev-ada/gps/gps-2019-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 )
+ADA_COMPAT=( gnat_201{8,9} )
+inherit ada python-single-r1 autotools desktop llvm multilib
+
+MYP=${PN}-gpl-${PV}-src
+
+commitId="8606676b6b4fb245faad5e91127b15c2e61174e9"
+alsId="286f2d6bb14ccd4583034b26fd923e1b80cf522c"
+
+DESCRIPTION="The GNAT Programming Studio"
+HOMEPAGE="http://libre.adacore.com/tools/gps/"
+SRC_URI="https://github.com/AdaCore/${PN}/archive/${commitId}.tar.gz
+ -> ${MYP}.tar.gz
+ http://mirrors.cdn.adacore.com/art/5cdf8f4e31e87a8f1d42509f
+ -> libadalang-tools-2019-20190517-195C4-src.tar.gz
+ https://github.com/AdaCore/ada_language_server/archive/${alsId}.tar.gz
+ -> ada_language_server-2019-src.tar.gz
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a61 ->
+ gtk+-3.14.15-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}
+ dev-ada/gnatcoll-db[${ADA_USEDEP},db2ada,gnatinspect,xref]
+ dev-ada/gnatcoll-bindings[${ADA_USEDEP},python]
+ ~dev-ada/gtkada-2019[${ADA_USEDEP}]
+ ~dev-ada/libadalang-2019[${ADA_USEDEP}]
+ dev-libs/gobject-introspection
+ dev-libs/libffi
+ sys-devel/llvm:8
+ sys-devel/clang:=
+ x11-themes/adwaita-icon-theme
+ x11-themes/hicolor-icon-theme
+ dev-python/pygobject:3
+ $(python_gen_cond_dep '
+ dev-python/pep8[${PYTHON_MULTI_USEDEP}]
+ dev-python/jedi[${PYTHON_MULTI_USEDEP}]
+ ')"
+
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ${ADA_REQUIRED_USE}"
+
+RESTRICT="test"
+
+S="${WORKDIR}"/${PN}-${commitId}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+pkg_setup() {
+ LLVM_MAX_SLOT=8
+ llvm_pkg_setup
+ python-single-r1_pkg_setup
+ ada_pkg_setup
+}
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@GNATMAKE@:${GNATMAKE}:g" \
+ -e "s:@GNAT@:${GNAT}:g" \
+ -e "s:@GNATLS@:${GNATLS}:g" \
+ share/support/core/toolchains.py \
+ share/support/core/projects.py \
+ || die
+ mv "${WORKDIR}"/libadalang-tools-2019-20190517-195C4-src laltools
+ mv "${WORKDIR}"/ada_language_server-${alsId} ada_language_server
+ echo "#!/bin/bash" > gps.sh
+ echo "export LD_LIBRARY_PATH=/usr/$(get_libdir)/gps" >> gps.sh
+ echo 'exec /usr/bin/gps_exe "$@"' >> gps.sh
+ cd ../gtk+-3.14.15-src
+ sed -i \
+ -e "/^libadd/s:=.*$:= \\\:" \
+ -e "/^deps/s:=.*$:= \\\:" \
+ ../gtk+-3.14.15-src/gtk/Makefile.in
+}
+
+src_configure() {
+ econf \
+ --with-clang=$(llvm-config --libdir)
+ cd ../gtk+-3.14.15-src
+ econf --disable-cups
+}
+
+src_compile() {
+ emake -C gps GPRBUILD_FLAGS="-v ${MAKEOPTS} \
+ -XGPR_BUILD=relocatable" \
+ Build=Production
+ gprbuild -v -p -Pcli/cli.gpr ${MAKEOPTS} -XLIBRARY_TYPE=relocatable \
+ -XGPR_BUILD=relocatable -cargs:Ada ${ADAFLAGS} || die
+ cd ../gtk+-3.14.15-src
+ emake -C gtk/inspector
+ emake -C gtk gtk.gresource.xml gtkdbusgenerated.c gtkdbusgenerated.h
+ emake -C gtk libgtk-3.la
+}
+
+src_install() {
+ default
+ make_desktop_entry "${PN}" "GPS" "${EPREFIX}/usr/share/gps/icons/hicolor/32x32/apps/gps_32.png" "Development;IDE;"
+ mv "${D}"/usr/bin/gps{,_exe}
+ newbin gps.sh gps
+ cd ../gtk+-3.14.15-src
+ emake -C gtk DESTDIR="${D}" install-libLTLIBRARIES
+ rm "${D}"/usr/$(get_libdir)/libgtk-3.{la,so,so.0} || die
+ dosym ../libgtk-3.so.0.1400.15 /usr/$(get_libdir)/gps/libgtk-3.so.0
+}
diff --git a/dev-ada/gps/metadata.xml b/dev-ada/gps/metadata.xml
new file mode 100644
index 000000000000..48245f56132f
--- /dev/null
+++ b/dev-ada/gps/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ GPS is a lightweight, extensible IDE, intended to develop
+ high-integrity software in Ada and SPARK, with support for C and C++
+ as well.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/gtkada/Manifest b/dev-ada/gtkada/Manifest
new file mode 100644
index 000000000000..2af49593e9a9
--- /dev/null
+++ b/dev-ada/gtkada/Manifest
@@ -0,0 +1,3 @@
+DIST gtkada-2019-20190424-19D98-src.tgz 12273911 BLAKE2B e2d0f3c410973d0412bf433f2e1cc60a5b00e9f34ad0471cb583596587e6073fdeb9b6441aa50dfa81894ce692101fe51c7714090477d585721571261737a823 SHA512 aed0758b42ee8eac752c2c83a0974ee0c7cddfa15149879472ff2fb8ee7565456a225ce783739ede76bc0f47340e97af5b5d1149e244611bcd3b3760e20f8cf5
+DIST gtkada-gpl-2017-src.tgz 11952333 BLAKE2B 2a333452ff271bba0521235598afdb1abebc4ceeab0f915f173862329ae0986b0fc4f654d3df28eac73af075db224c0b12340c3acd1e4ed0ffc965e4365f8b40 SHA512 f5bbb9ebdd966e70b3edcaaf359cb9e75edba3c3f4f8febfa7de9f634f8e96cd0dd1482fb16ad852b1c9f9b0e2c16eb3a437120d37f0638d90af666620f09f3f
+DIST gtkada-gpl-2018-src.tgz 11958880 BLAKE2B 4946918b52de5e15efc77411927812910d84d13cea66b86b1162b987c7849ba7fbb6da487881762f64005dc32a74fa73c9d759d25bb9ac0241d1d76cd4becbfb SHA512 9000de7675f8ee688b1c9cd93cf35b32f698aca8fc22d3b4e695d7c6b34feb60118cc687cf35432cd5ed9af7825eda7e20575a9fad4523a7b59cb0322bce0762
diff --git a/dev-ada/gtkada/files/gtkada-2017-r1-gentoo.patch b/dev-ada/gtkada/files/gtkada-2017-r1-gentoo.patch
new file mode 100644
index 000000000000..0dbbbe720d05
--- /dev/null
+++ b/dev-ada/gtkada/files/gtkada-2017-r1-gentoo.patch
@@ -0,0 +1,50 @@
+--- gtkada-gpl-2016-src/Makefile.in.old 2017-01-21 22:42:18.319969095 +0100
++++ gtkada-gpl-2016-src/Makefile.in 2017-01-21 22:42:33.989700236 +0100
+@@ -60,30 +60,33 @@
+ LIBRARY_TYPE_FOR_TOOLS=static
+ endif
+
+-all: tools tests
++all: tools
+ static: build_library_type/static
+ relocatable: build_library_type/relocatable
+
+ tools:
+ @echo "====== Building tools ====="
+- ${GPRBUILD_FULL} -XLIBRARY_TYPE=$(LIBRARY_TYPE_FOR_TOOLS) -Psrc/tools/tools.gpr
++ ${GPRBUILD_FULL} -v -XLIBRARY_TYPE=$(LIBRARY_TYPE_FOR_TOOLS) \
++ -Psrc/tools/tools.gpr -cargs:Ada $(ADAFLAGS)
+
+ build_library_type/%: src/gtkada-intl.adb
+ @echo "====== Building $(@F) libraries ====="
+- ${GPRBUILD_FULL} -XLIBRARY_TYPE=$(@F) -Psrc/gtkada.gpr
++ ${GPRBUILD_FULL} -v -XLIBRARY_TYPE=$(@F) -Psrc/gtkada.gpr \
++ -cargs:Ada $(ADAFLAGS) -cargs:C $(CFLAGS)
+ ifeq (${HAVE_OPENGL}, True)
+ ${GPRBUILD_FULL} -XLIBRARY_TYPE=$(@F) -Psrc/opengl/gtkada_gl.gpr
+ endif
+
+ src/gtkada-intl.adb: src/gtkada-intl.gpb Makefile
+ gnatprep -DGETTEXT_INTL=$(GETTEXT_INTL) -DHAVE_GETTEXT=$(HAVE_GETTEXT) src/gtkada-intl.gpb $@
+
+ testgtk/opengl/view_gl.adb: testgtk/opengl/view_gl.gpb Makefile
+ gnatprep -r -c -DHAVE_GL=${HAVE_OPENGL} -DWIN32=False testgtk/opengl/view_gl.gpb $@
+
+ tests: testgtk/opengl/view_gl.adb
+ @echo "====== Building tests ====="
+- cd testgtk; ${GPRBUILD_FULL} -XLIBRARY_TYPE=$(LIBRARY_TYPE_FOR_TOOLS) -Ptestgtk.gpr -aP ../src
++ cd testgtk; ${GPRBUILD_FULL} -v -XLIBRARY_TYPE=$(LIBRARY_TYPE_FOR_TOOLS) \
++ -Ptestgtk.gpr -aP ../src -cargs:Ada $(ADAFLAGS)
+
+ install/%: force
+ ${GPRINSTALL_FULL} -XLIBRARY_TYPE=$(@F) --build-name=$(@F) \
+@@ -121,9 +121,6 @@
+ install: install-clean
+ ${GPRINSTALL_FULL} -XLIBRARY_TYPE=$(LIBRARY_TYPE_FOR_TOOLS) \
+ --mode=usage -Psrc/tools/tools.gpr
+- cd testgtk; ${GPRINSTALL_FULL} -XLIBRARY_TYPE=$(LIBRARY_TYPE_FOR_TOOLS) \
+- --mode=usage --exec-subdir=${DESTDIR}${exampledir} \
+- -Ptestgtk.gpr -aP ../src
+
+ @echo '-----------------------------------------------------------------------'
+ @echo '-- GtkAda has now been installed. --'
diff --git a/dev-ada/gtkada/files/gtkada-2019-gentoo.patch b/dev-ada/gtkada/files/gtkada-2019-gentoo.patch
new file mode 100644
index 000000000000..79f58a41b2d1
--- /dev/null
+++ b/dev-ada/gtkada/files/gtkada-2019-gentoo.patch
@@ -0,0 +1,11 @@
+--- a/Makefile.in 2019-09-21 18:47:40.749628914 +0200
++++ b/Makefile.in 2019-09-21 18:48:08.547200073 +0200
+@@ -30,7 +30,7 @@
+
+ GPRBUILD_FULL = ${GPRBUILD} -j${PROCESSORS} -m -p ${GPRBUILD_SWITCHES}
+ GPRINSTALL_FULL = ${GPRINSTALL} -p -f --project-subdir=$(PRJDIR) \
+- --build-var=GTKADA_BUILD,LIBRARY_TYPE --install-name=gtkada \
++ --build-var=LIBRARY_TYPE --install-name=gtkada \
+ --prefix=${DESTDIR}$(prefix) -XGTK_PREFIX=${prefix}
+
+ GETTEXT_INTL=@GETTEXT_INTL@
diff --git a/dev-ada/gtkada/gtkada-2017-r1.ebuild b/dev-ada/gtkada/gtkada-2017-r1.ebuild
new file mode 100644
index 000000000000..8c14fbefe835
--- /dev/null
+++ b/dev-ada/gtkada/gtkada-2017-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7} )
+inherit ada autotools multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="A complete Ada graphical toolkit"
+HOMEPAGE="http://libre.adacore.com//tools/gtkada/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591ae7a8c7a4473fcbb154c9
+ -> ${MYP}-src.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs"
+
+RDEPEND="${ADA_DEPS}
+ dev-libs/atk
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-r1-gentoo.patch )
+
+src_prepare() {
+ default
+ mv configure.{in,ac}
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${D}/usr" \
+ $(use_enable static-libs static) \
+ $(use_enable shared) \
+ --without-GL
+}
+
+src_compile() {
+ emake -j1 PROCESSORS=$(makeopts_jobs)
+}
+
+src_install() {
+ emake -j1 install
+ einstalldocs
+}
diff --git a/dev-ada/gtkada/gtkada-2018-r2.ebuild b/dev-ada/gtkada/gtkada-2018-r2.ebuild
new file mode 100644
index 000000000000..eab34d509ac2
--- /dev/null
+++ b/dev-ada/gtkada/gtkada-2018-r2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada autotools multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="A complete Ada graphical toolkit"
+HOMEPAGE="http://libre.adacore.com//tools/gtkada/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0cf840c7a4475261f97ced
+ -> ${MYP}-src.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs"
+
+RDEPEND="${ADA_DEPS}
+ dev-libs/atk
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-r1-gentoo.patch )
+
+src_prepare() {
+ default
+ mv configure.{in,ac}
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${D}/usr" \
+ $(use_enable static-libs static) \
+ $(use_enable shared) \
+ --without-GL
+}
+
+src_compile() {
+ emake -j1 PROCESSORS=$(makeopts_jobs)
+}
+
+src_install() {
+ emake -j1 install
+ einstalldocs
+}
diff --git a/dev-ada/gtkada/gtkada-2019-r1.ebuild b/dev-ada/gtkada/gtkada-2019-r1.ebuild
new file mode 100644
index 000000000000..036d2b05dd8c
--- /dev/null
+++ b/dev-ada/gtkada/gtkada-2019-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada autotools multiprocessing
+
+MYP=${P}-20190424-19D98
+
+DESCRIPTION="A complete Ada graphical toolkit"
+HOMEPAGE="http://libre.adacore.com//tools/gtkada/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5ce7f58931e87adb2d312c53
+ -> ${MYP}-src.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs"
+
+RDEPEND="${ADA_DEPS}
+ dev-libs/atk
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/freetype
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2017-r1-gentoo.patch
+ "${FILESDIR}"/${P}-gentoo.patch
+)
+
+src_prepare() {
+ default
+ mv configure.{in,ac}
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --prefix="${D}/usr" \
+ $(use_enable static-libs static) \
+ $(use_enable shared) \
+ --without-GL
+}
+
+src_compile() {
+ emake -j1 PROCESSORS=$(makeopts_jobs)
+}
+
+src_install() {
+ emake -j1 install
+ einstalldocs
+}
diff --git a/dev-ada/gtkada/metadata.xml b/dev-ada/gtkada/metadata.xml
new file mode 100644
index 000000000000..a2d0eb039250
--- /dev/null
+++ b/dev-ada/gtkada/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shared">Build gtkada as shared library</flag>
+ </use>
+ <longdescription lang="en">
+ GtkAda is an Ada graphical toolkit based on Gtk+, providing the complete set of Gtk+ widgets using the Object-Oriented features of this language. GtkAda supports the latest 3.14 stable releases.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/langkit/Manifest b/dev-ada/langkit/Manifest
new file mode 100644
index 000000000000..325726889afb
--- /dev/null
+++ b/dev-ada/langkit/Manifest
@@ -0,0 +1,2 @@
+DIST langkit-2019-20190510-19B8C-src.tar.gz 699205 BLAKE2B 770f904cf2a2014dc6ed6383d3be51361a311d1feb5d594bf9e81ab80a01835ac0b24cd743539a70dff2120307b25a61f781586b504d910401018afcf3b8ae7b SHA512 fbaac1b6407292396711d3deba3a7b5eef6655b877c5515a3653699decdbb2c9824b42bb8e9680122a3ac6ac3eb605333eda7c0265fafd6ab2d117f932790b3b
+DIST langkit-gpl-2018.tar.gz 565649 BLAKE2B e18beea565351eb4b10baa9168db742598817d231c5eab578b17c2b0409ac77b9972f8f426499e086779eaeda0ac1ba11e5cb3b47ecab8e63674b7ef654b26b7 SHA512 62a8820c3fd3d44f6cd22e181f6eddcf52945c93ea5eb793a63b7f13e71705807170b0cc4c3873b127e3fafe751a5dd27da54087986f506f8500b916ef1f078f
diff --git a/dev-ada/langkit/files/langkit-2018-gentoo.patch b/dev-ada/langkit/files/langkit-2018-gentoo.patch
new file mode 100644
index 000000000000..62ff7ce17e54
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2018-gentoo.patch
@@ -0,0 +1,60 @@
+--- a/langkit/compile_context.py 2018-07-04 19:17:08.329346507 +0200
++++ b/langkit/compile_context.py 2018-07-04 19:17:57.276615724 +0200
+@@ -1684,7 +1684,7 @@
+ generate_lexer
+ ):
+ quex_py_file = path.join(os.environ["QUEX_PATH"], "quex-exe.py")
+- subprocess.check_call([sys.executable, quex_py_file, "-i",
++ subprocess.check_call(["quex", "-i",
+ quex_file,
+ "-o", "quex_lexer",
+ "--buffer-element-size", "4",
+--- a/langkit/libmanage.py 2018-11-20 21:38:03.042086783 +0100
++++ b/langkit/libmanage.py 2018-11-20 21:39:50.562273656 +0100
+@@ -682,6 +682,8 @@
+
+ result = ['-XBUILD_MODE={}'.format(build_mode),
+ '-XLIBRARY_TYPE={}'.format(library_type),
++ '-XGPR_BUILD={}'.format(library_type),
++ '-XGNATCOLL_CORE_BUILD={}'.format(library_type),
+ '-XXMLADA_BUILD={}'.format(library_type)]
+
+ enable_build_warnings = getattr(args, 'enable_build_warnings', False)
+--- a/testsuite/python_support/utils.py 2018-11-20 21:41:46.156324084 +0100
++++ b/testsuite/python_support/utils.py 2018-11-20 21:42:26.049651194 +0100
+@@ -203,7 +203,8 @@
+ main_sources=', '.join('"{}"'.format(m) for m in ada_main)
+ ))
+ run('gprbuild', '-Pgen', '-q', '-p',
+- '-XLIBRARY_TYPE=relocatable', '-XXMLADA_BUILD=relocatable')
++ '-XLIBRARY_TYPE=relocatable', '-XGPR_BUILD=relocatable',
++ '-XXMLADA_BUILD=relocatable')
+
+ for i, m in enumerate(ada_main):
+ assert m.endswith('.adb')
+--- a/testsuite/testsuite_support/__init__.py 2018-11-20 21:45:08.828905205 +0100
++++ b/testsuite/testsuite_support/__init__.py 2018-11-20 21:46:10.837858988 +0100
+@@ -110,7 +110,9 @@
+ # Build Langkit_Support so that each testcase does not try to build it
+ # in parallel.
+ if not self.global_env['options'].disable_tear_up_builds:
+- gargs = ['-p', '-P', self.langkit_support_project_file]
++ gargs = ['-p']
++ gargs = gargs + ['-XGPR_BUILD=relocatable']
++ gargs = gargs + ['-P', self.langkit_support_project_file]
+ cargs = ['-cargs', '-O0', '-g']
+ if self.coverage_enabled:
+ gargs.append('--subdirs=gnatcov')
+--- a/testsuite/testsuite_support/base_driver.py 2018-11-20 22:04:54.199973719 +0100
++++ b/testsuite/testsuite_support/base_driver.py 2018-11-20 22:05:26.498436100 +0100
+@@ -312,7 +312,9 @@
+
+ :param str project_file: Project file name.
+ """
+- argv = ['gprbuild', '-P', project_file, '-p']
++ argv = ['gprbuild']
++ argv = argv + ['-XGPR_BUILD=relocatable']
++ argv = argv + ['-P', project_file, '-p']
+ cargs = ['-O0', '-g', '-gnata']
+ if self.coverage_enabled:
+ argv.append('--subdirs=gnatcov')
diff --git a/dev-ada/langkit/files/langkit-2019-gentoo.patch b/dev-ada/langkit/files/langkit-2019-gentoo.patch
new file mode 100644
index 000000000000..0358198d080f
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2019-gentoo.patch
@@ -0,0 +1,71 @@
+--- a/testsuite/testsuite_support/__init__.py 2019-06-09 12:47:22.832308224 +0200
++++ b/testsuite/testsuite_support/__init__.py 2019-06-09 12:48:27.768399377 +0200
+@@ -126,8 +126,10 @@
+ # Build Langkit_Support so that each testcase does not try to build it
+ # in parallel.
+ if not self.global_env['options'].disable_tear_up_builds:
+- gargs = ['-p', '-P', self.langkit_support_project_file]
++ gargs = ['-p']
++ gargs = gargs + ['-XGPR_BUILD=relocatable']
++ gargs = gargs + ['-P', self.langkit_support_project_file]
+- cargs = ['-cargs', '-O0', '-g', '-gnatwae']
++ cargs = ['-cargs', '-O0', '-g', '-gnatwa']
+ if self.coverage_enabled:
+ gargs.append('--subdirs=gnatcov')
+ cargs.extend(['-fdump-scos', '-fpreserve-control-flow'])
+--- a/langkit/support/langkit_support.gpr 2019-06-09 14:00:50.239979207 +0200
++++ b/langkit/support/langkit_support.gpr 2019-06-09 14:00:56.580879634 +0200
+@@ -8,7 +8,7 @@
+ for Object_Dir use "obj";
+
+ package Compiler is
+- for Default_Switches ("Ada") use ("-gnatwae", "-gnatyg");
++ for Default_Switches ("Ada") use ("-gnatws", "-gnatyg");
+ end Compiler;
+
+ end Langkit_Support;
+--- a/langkit/templates/langkit_support_gpr.mako 2019-06-09 19:07:51.131902613 +0200
++++ b/langkit/templates/langkit_support_gpr.mako 2019-06-09 19:09:55.530096368 +0200
+@@ -61,7 +61,7 @@
+ case Build_Mode is
+ when "dev" =>
+ for Default_Switches ("Ada") use
+- Common_Ada_Cargs & ("-g", "-O0", "-gnatwe", "-gnata");
++ Common_Ada_Cargs & ("-g", "-O0", "-gnatws", "-gnata");
+
+ when "prod" =>
+ -- Debug information is useful even with optimization for
+--- a/testsuite/testsuite_support/base_driver.py 2019-06-09 20:00:21.202461893 +0200
++++ b/testsuite/testsuite_support/base_driver.py 2019-06-09 20:01:04.516848550 +0200
+@@ -327,7 +327,9 @@
+
+ :param str project_file: Project file name.
+ """
+- argv = ['gprbuild', '-P', project_file, '-p']
++ argv = ['gprbuild']
++ argv = argv + ['-XGPR_BUILD=relocatable']
++ argv = argv + ['-P', project_file, '-p']
+ cargs = ['-O0', '-g', '-gnata']
+ if self.coverage_enabled:
+ argv.append('--subdirs=gnatcov')
+--- a/langkit/libmanage.py 2019-06-09 20:40:14.885582672 +0200
++++ b/langkit/libmanage.py 2019-06-09 20:41:13.991738858 +0200
+@@ -745,6 +745,7 @@
+ result = ['-XBUILD_MODE={}'.format(build_mode),
+ '-XLIBRARY_TYPE={}'.format(library_type),
+ '-XGPR_BUILD={}'.format(library_type),
++ '-XGNATCOLL_GMP_BUILD={}'.format(library_type),
+ '-XXMLADA_BUILD={}'.format(library_type)]
+
+ enable_build_warnings = getattr(args, 'enable_build_warnings', False)
+--- a/testsuite/tests/misc/link_two_libs/test.yaml 2019-06-17 09:38:34.796029233 +0200
++++ b/testsuite/tests/misc/link_two_libs/test.yaml 2019-06-17 09:39:06.805549633 +0200
+@@ -1,7 +1,3 @@
+ driver: python
+ input_sources: []
+-expect_failure:
+- - if: [gnat_community_2018]
+- then: >
+- A known issue in the gprbuild furnished with GNAT Community 2018
+- prevents this test from passing.
++expect_failure: Gentoo failure
diff --git a/dev-ada/langkit/files/langkit-2019-gnarl.patch b/dev-ada/langkit/files/langkit-2019-gnarl.patch
new file mode 100644
index 000000000000..fb69768dc9de
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2019-gnarl.patch
@@ -0,0 +1,10 @@
+--- a/langkit/templates/mains_project_file.mako 2020-06-09 09:34:36.677265457 +0200
++++ b/langkit/templates/mains_project_file.mako 2020-06-09 09:35:30.569451995 +0200
+@@ -40,4 +40,7 @@
+ for Switches ("ada") use ("-E");
+ end Binder;
+
++ package Linker is
++ for Switches ("ada") use ("-lgnat", "-lgnarl");
++ end Linker;
+ end Mains;
diff --git a/dev-ada/langkit/files/langkit-2019-pyyaml.patch b/dev-ada/langkit/files/langkit-2019-pyyaml.patch
new file mode 100644
index 000000000000..58a64992a7c9
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2019-pyyaml.patch
@@ -0,0 +1,11 @@
+--- a/testsuite/testsuite_support/polyfill.py 2020-03-26 20:43:40.861154768 +0100
++++ b/testsuite/testsuite_support/polyfill.py 2020-03-26 20:44:07.874675123 +0100
+@@ -376,7 +376,7 @@
+ # First load data provided by this testcase
+ try:
+ with open(os.path.join(test_dir, 'test.yaml'), 'r') as f:
+- test_data = yaml.load(f)
++ test_data = yaml.safe_load(f)
+ except (IOError, yaml.error.YAMLError) as exc:
+ status = 'PROBLEM'
+ message = 'Invalid test.yaml: {}'.format(exc)
diff --git a/dev-ada/langkit/langkit-2018.ebuild b/dev-ada/langkit/langkit-2018.ebuild
new file mode 100644
index 000000000000..743c42e819dd
--- /dev/null
+++ b/dev-ada/langkit/langkit-2018.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1 multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="A Python framework to generate language parsers"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0cfbefc7a4475263382c2a
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ dev-ada/gnatcoll-bindings[iconv,shared]
+ dev-python/mako
+ dev-python/pyyaml
+ dev-python/enum34
+ dev-python/funcy
+ dev-python/docutils
+ dev-python/quex"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${PN}-2019-pyyaml.patch
+)
+
+src_test() {
+ testsuite/testsuite.py -j $(makeopts_jobs) --show-error-output | tee testsuite.log
+ grep -q FAILED testsuite.log && die "Test failed"
+}
+
+src_install() {
+ default
+ python_domodule langkit
+ python_doscript scripts/create-project.py
+}
diff --git a/dev-ada/langkit/langkit-2019-r1.ebuild b/dev-ada/langkit/langkit-2019-r1.ebuild
new file mode 100644
index 000000000000..1f7676ec30e0
--- /dev/null
+++ b/dev-ada/langkit/langkit-2019-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1 multiprocessing
+
+MYP=${P}-20190510-19B8C
+
+DESCRIPTION="A Python framework to generate language parsers"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8f8a31e87a8f1c967d31
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-ada/gnatcoll-bindings[iconv,shared]
+ dev-python/mako
+ dev-python/pyyaml
+ dev-python/enum34
+ dev-python/funcy
+ dev-python/docutils"
+
+DEPEND="${RDEPEND}
+ test? ( dev-ada/gnatcoll-bindings[gmp] )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-pyyaml.patch
+ "${FILESDIR}"/${P}-gnarl.patch
+)
+
+src_test() {
+ testsuite/testsuite.py -j $(makeopts_jobs) --show-error-output | tee testsuite.log
+ grep -q FAILED testsuite.log && die "Test failed"
+}
+
+src_install() {
+ default
+ python_domodule langkit
+ python_doscript scripts/create-project.py
+}
diff --git a/dev-ada/langkit/langkit-2019.ebuild b/dev-ada/langkit/langkit-2019.ebuild
new file mode 100644
index 000000000000..31a57f6edd44
--- /dev/null
+++ b/dev-ada/langkit/langkit-2019.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1 multiprocessing
+
+MYP=${P}-20190510-19B8C
+
+DESCRIPTION="A Python framework to generate language parsers"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8f8a31e87a8f1c967d31
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-ada/gnatcoll-bindings[iconv,shared]
+ dev-python/mako
+ dev-python/pyyaml
+ dev-python/enum34
+ dev-python/funcy
+ dev-python/docutils"
+
+DEPEND="${RDEPEND}
+ test? ( dev-ada/gnatcoll-bindings[gmp] )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-pyyaml.patch
+)
+
+src_test() {
+ testsuite/testsuite.py -j $(makeopts_jobs) --show-error-output | tee testsuite.log
+ grep -q FAILED testsuite.log && die "Test failed"
+}
+
+src_install() {
+ default
+ python_domodule langkit
+ python_doscript scripts/create-project.py
+}
diff --git a/dev-ada/langkit/metadata.xml b/dev-ada/langkit/metadata.xml
new file mode 100644
index 000000000000..b84b92440f1b
--- /dev/null
+++ b/dev-ada/langkit/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Langkit (nickname for language kit) is a tool whose purpose is to make
+ it easy to create syntactic and semantic analysis engines. Write a
+ language specification in our Python DSL and Langkit will generate for
+ you an Ada library with bindings for the C and Python programming
+ languages.
+ The generated library is meant to provide a basis to write tooling,
+ including tools working on potentially changing and incorrect code,
+ such as IDEs.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/libadalang-tools/Manifest b/dev-ada/libadalang-tools/Manifest
new file mode 100644
index 000000000000..4875851f52d8
--- /dev/null
+++ b/dev-ada/libadalang-tools/Manifest
@@ -0,0 +1 @@
+DIST libadalang-tools-2019-20190517-195C4-src.tar.gz 625775 BLAKE2B 2ec69e307576c505d20a43d229b13404966f4442778e5390da327ae71cc065873de4fff03a720949fa6bfb5ce66f405e7d45f7f0c21032a639efcff208323aed SHA512 b7368606847244cbb08ff2111fabfbfc8a9aa7f58e953febc70838006d94711dba1fd75bfb69ed2081a37a2dfaaad46097127870696c882d7cc54de5d7b051a1
diff --git a/dev-ada/libadalang-tools/libadalang-tools-2019-r1.ebuild b/dev-ada/libadalang-tools/libadalang-tools-2019-r1.ebuild
new file mode 100644
index 000000000000..501150ff3d5b
--- /dev/null
+++ b/dev-ada/libadalang-tools/libadalang-tools-2019-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MYP=${P}-20190517-195C4
+DESCRIPTION="Libadalang-based tools: gnatpp, gnatmetric and gnatstub"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8f4e31e87a8f1d42509f ->
+ ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RESTRICT="test"
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/libadalang[${ADA_USEDEP},static-libs]
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+S="${WORKDIR}"/${MYP}-src
+
+src_compile() {
+ gprbuild -v -k -XLIBRARY_TYPE=static -XXMLADA_BUILD=static \
+ -XGNATCOLL_GMP_BUILD=static \
+ -P src/build.gpr -p -j$(makeopts_jobs) || die
+}
+
+src_install() {
+ dobin bin/gnatpp
+ newbin bin/gnatmetric gnatmetric-tool
+ newbin bin/gnatstub gnatstub-tool
+ einstalldocs
+}
diff --git a/dev-ada/libadalang-tools/metadata.xml b/dev-ada/libadalang-tools/metadata.xml
new file mode 100644
index 000000000000..c3ea21410318
--- /dev/null
+++ b/dev-ada/libadalang-tools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/libadalang/Manifest b/dev-ada/libadalang/Manifest
new file mode 100644
index 000000000000..963641874fc1
--- /dev/null
+++ b/dev-ada/libadalang/Manifest
@@ -0,0 +1,2 @@
+DIST libadalang-2019-20190510-19916-src.tar.gz 2345942 BLAKE2B 807fd6ea0183b5535e96b258998a0540aa77dec0669db81bae10b56894e12bbb381b356bd55d6684156101d2ea0e5439c2551a4213a81e79e4697a7ff6ba5df2 SHA512 9ebf8d0c01d12f5a8081fced9504b78a45cbde6ecc0e6abeed99aff03abd0b241c1ecba85b256911e474cb77e10e5e387f64d51a2d9b18596baf40313f44f089
+DIST libadalang-gpl-2018-src.tar.gz 1990774 BLAKE2B ffad46d4988de7fb8c9bf94d24360a726c59e3c70a2318725a59e0b6b62351e8f5d8dd6501964618607122e3c7cb3bda0e1181818c68324d4067d59ac93e2b1c SHA512 b95196323097065be2996ced767f8f89fb77445f99c249d84043c68d926d61c78b310b4fef0699d08f9112dc423596c076f452745469a75a8467c35b5e10ac2c
diff --git a/dev-ada/libadalang/files/libadalang-2017-gentoo.patch b/dev-ada/libadalang/files/libadalang-2017-gentoo.patch
new file mode 100644
index 000000000000..00f9aca46959
--- /dev/null
+++ b/dev-ada/libadalang/files/libadalang-2017-gentoo.patch
@@ -0,0 +1,20 @@
+--- a/ada/testsuite/python_support/utils.py 2018-11-14 22:21:36.366873970 +0100
++++ b/ada/testsuite/python_support/utils.py 2018-11-14 22:21:59.397477086 +0100
+@@ -28,6 +28,7 @@
+ library_kind = 'static' if LAL_DISABLE_SHARED else 'relocatable'
+ argv.extend([
+ '-XLIBRARY_TYPE={}'.format(library_kind),
++ '-XGPR_BUILD={}'.format(library_kind),
+ '-XXMLADA_BUILD={}'.format(library_kind),
+ ])
+ subprocess.check_call(argv)
+--- a/ada/testsuite/testsuite_support/base_driver.py 2018-11-14 22:22:37.698817058 +0100
++++ b/ada/testsuite/testsuite_support/base_driver.py 2018-11-14 22:30:37.631613448 +0100
+@@ -310,6 +310,7 @@
+ """
+ library_type = 'static' if self.disable_shared else 'relocatable'
+ return ['-XLIBRARY_TYPE={}'.format(library_type),
++ '-XGPR_BUILD={}'.format(library_type),
+ '-XXMLADA_BUILD={}'.format(library_type)]
+
+ #
diff --git a/dev-ada/libadalang/files/libadalang-2018-gentoo.patch b/dev-ada/libadalang/files/libadalang-2018-gentoo.patch
new file mode 100644
index 000000000000..96c45c74a852
--- /dev/null
+++ b/dev-ada/libadalang/files/libadalang-2018-gentoo.patch
@@ -0,0 +1,11 @@
+--- a/ada/testsuite/tests/c_api/unit_file_providers/test.out 2018-07-05 20:57:15.718357269 +0200
++++ b/ada/testsuite/tests/c_api/unit_file_providers/test.out 2018-07-05 20:58:47.363026320 +0200
+@@ -5,6 +5,8 @@
+ Calling ufp_get_unit_filename (some_field=42, kind=0) with name: "foo"
+ Calling ufp_get_file_from_name (some_field=42, kind=0) with name: "foo"
+ Calling ufp_get_file_from_name (some_field=42, kind=0) with name: "foo"
++Calling ufp_get_unit_filename (some_field=42, kind=0) with name: "foo"
++Calling ufp_get_file_from_name (some_field=42, kind=0) with name: "foo"
+ <DottedName 5:17-5:22> resolves to:
+ <ObjectDecl ["I"] 2:4-2:21>
+ Calling ufp_destroy (some_field=42)
diff --git a/dev-ada/libadalang/files/libadalang-2019-gentoo.patch b/dev-ada/libadalang/files/libadalang-2019-gentoo.patch
new file mode 100644
index 000000000000..5471632a2ad6
--- /dev/null
+++ b/dev-ada/libadalang/files/libadalang-2019-gentoo.patch
@@ -0,0 +1,55 @@
+--- a/ada/testsuite/tests/name_resolution/for_of_derived/test.yaml 2019-06-10 18:10:52.274104372 +0200
++++ b/ada/testsuite/tests/name_resolution/for_of_derived/test.yaml 2019-06-10 18:12:09.050950758 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [for_of_derived.adb]
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/test_subp_address/test.yaml 2019-06-10 18:13:18.821902438 +0200
++++ b/ada/testsuite/tests/name_resolution/test_subp_address/test.yaml 2019-06-10 18:13:40.055583691 +0200
+@@ -1,3 +1,4 @@
+ driver: name-resolution
+ input_sources: [test_subp_address.adb]
+ with_default_project: False
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/delay_until/test.yaml 2019-06-10 18:17:48.878848194 +0200
++++ b/ada/testsuite/tests/name_resolution/delay_until/test.yaml 2019-06-10 18:18:00.052680426 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [delay_until.adb]
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/exception_occurence/test.yaml 2019-06-10 18:14:22.803941966 +0200
++++ b/ada/testsuite/tests/name_resolution/exception_occurence/test.yaml 2019-06-10 18:15:40.665773085 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [test_exc.adb]
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/int_text_io/test.yaml 2019-06-10 18:18:29.797233863 +0200
++++ b/ada/testsuite/tests/name_resolution/int_text_io/test.yaml 2019-06-10 18:18:40.230077225 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [foo.adb]
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/stream_attrs/test.yaml 2019-06-10 18:18:59.441788761 +0200
++++ b/ada/testsuite/tests/name_resolution/stream_attrs/test.yaml 2019-06-10 18:19:09.873632142 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [streamable_types.ads]
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/pow_op_2/test.yaml 2019-06-10 18:20:04.207816327 +0200
++++ b/ada/testsuite/tests/name_resolution/pow_op_2/test.yaml 2019-06-10 18:20:15.739643192 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [test.adb]
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/text_io_child_units/test.yaml 2019-06-10 18:19:33.552276617 +0200
++++ b/ada/testsuite/tests/name_resolution/text_io_child_units/test.yaml 2019-06-10 18:19:42.437143224 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [foo.adb]
++expect_failure: Gentoo unfixed
+--- a/ada/testsuite/tests/name_resolution/for_of_vector/test.yaml 2019-06-10 18:20:36.925325094 +0200
++++ b/ada/testsuite/tests/name_resolution/for_of_vector/test.yaml 2019-06-10 18:20:45.641194223 +0200
+@@ -1,2 +1,3 @@
+ driver: name-resolution
+ input_sources: [testvec.adb]
++expect_failure: Gentoo unfixed
diff --git a/dev-ada/libadalang/files/libadalang-2019-pyyaml.patch b/dev-ada/libadalang/files/libadalang-2019-pyyaml.patch
new file mode 100644
index 000000000000..ad78d5af1f33
--- /dev/null
+++ b/dev-ada/libadalang/files/libadalang-2019-pyyaml.patch
@@ -0,0 +1,11 @@
+--- a/ada/testsuite/testsuite_support/polyfill.py 2020-03-26 20:52:45.678476467 +0100
++++ b/ada/testsuite/testsuite_support/polyfill.py 2020-03-26 20:53:13.612979979 +0100
+@@ -368,7 +368,7 @@
+ # First load data provided by this testcase
+ try:
+ with open(os.path.join(test_dir, 'test.yaml'), 'r') as f:
+- test_data = yaml.load(f)
++ test_data = yaml.safe_load(f)
+ except (IOError, yaml.error.YAMLError) as exc:
+ status = 'PROBLEM'
+ message = 'Invalid test.yaml: {}'.format(exc)
diff --git a/dev-ada/libadalang/libadalang-2018-r2.ebuild b/dev-ada/libadalang/libadalang-2018-r2.ebuild
new file mode 100644
index 000000000000..976d27263cc3
--- /dev/null
+++ b/dev-ada/libadalang/libadalang-2018-r2.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+ADA_COMPAT=( gnat_201{7,8,9} )
+
+inherit ada python-single-r1
+
+MYP=${PN}-gpl-${PV}-src
+DESCRIPTION="high performance semantic engine for the Ada programming language"
+HOMEPAGE="https://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0cf9adc7a4475263382c18
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3 gcc-runtime-library-exception-3.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs"
+
+RDEPEND="dev-python/pyyaml
+ dev-ada/gnatcoll-bindings[${ADA_USEDEP},iconv,shared=,static-libs=]
+ ${ADA_DEPS}
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ ~dev-ada/langkit-2018
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ ada_pkg_setup
+}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${PN}-2017-gentoo.patch
+ "${FILESDIR}"/${PN}-2019-pyyaml.patch
+)
+
+src_configure() {
+ ada/manage.py -v debug generate || die
+}
+
+src_compile() {
+ ada/manage.py \
+ -v \
+ $(use_enable shared) \
+ $(use_enable static-libs static) \
+ build \
+ --build-mode='prod' || die
+}
+
+src_test() {
+ ada/manage.py test | grep FAILED && die
+}
+
+src_install() {
+ ada/manage.py \
+ $(use_enable shared) \
+ $(use_enable static-libs static) \
+ install "${D}"/usr || die
+ python_domodule build/python/libadalang.py
+ rm -r "${D}"/usr/python || die
+}
diff --git a/dev-ada/libadalang/libadalang-2019-r1.ebuild b/dev-ada/libadalang/libadalang-2019-r1.ebuild
new file mode 100644
index 000000000000..7acb3a03a872
--- /dev/null
+++ b/dev-ada/libadalang/libadalang-2019-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 )
+ADA_COMPAT=( gnat_201{8,9} )
+
+inherit ada python-single-r1
+
+MYP=${P}-20190510-19916-src
+DESCRIPTION="high performance semantic engine for the Ada programming language"
+HOMEPAGE="https://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8f3331e87a8f1c967d27
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3 gcc-runtime-library-exception-3.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs"
+
+RDEPEND="dev-python/pyyaml
+ dev-ada/gnatcoll-bindings[${ADA_USEDEP},gmp,iconv,shared=,static-libs=]
+ ${ADA_DEPS}
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]
+ >=dev-ada/langkit-2019"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ ada_pkg_setup
+}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gentoo.patch
+ "${FILESDIR}"/${P}-pyyaml.patch
+)
+
+src_configure() {
+ ada/manage.py -v debug generate || die
+}
+
+src_compile() {
+ libtype=relocatable
+ if use shared; then
+ if use static-libs; then
+ libtype=static,relocatable
+ fi
+ elif use static-libs; then
+ libtype=static
+ fi
+ ada/manage.py \
+ -v \
+ --library-types $libtype \
+ build \
+ --build-mode='prod' || die
+}
+
+src_test() {
+ ada/manage.py test | tee libadalang.testOut;
+ grep -q FAILED libadalang.testOut && die
+}
+
+src_install() {
+ ada/manage.py \
+ -v \
+ --library-types $libtype \
+ install "${D}"/usr || die
+ python_domodule build/python/libadalang
+ rm -r "${D}"/usr/python || die
+}
diff --git a/dev-ada/libadalang/metadata.xml b/dev-ada/libadalang/metadata.xml
new file mode 100644
index 000000000000..456939370752
--- /dev/null
+++ b/dev-ada/libadalang/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shared">Build shared library</flag>
+ </use>
+ <longdescription lang="en">
+ Libadalang is a project to build a high performance semantic engine for
+ the Ada programming language. It is meant to provide a basis to write
+ Ada tooling, including tools working on potentially changing and
+ incorrect code, such as IDEs.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/libgpr/Manifest b/dev-ada/libgpr/Manifest
new file mode 100644
index 000000000000..5936167a4799
--- /dev/null
+++ b/dev-ada/libgpr/Manifest
@@ -0,0 +1,2 @@
+DIST gprbuild-2019-20190517-194D8-src.tar.gz 2507961 BLAKE2B 0f70d94cb0db9ddc1dd308862aaa305a91965a62a936cfbdde2ae9f3f735f0cc3d69596b09da4b979a1d7923087ab0ec5cf2d6541551f057b5e8e0c499065a90 SHA512 0388d7e6cdf625fef40b33da764091b3283dd88714c64ecfad4b5e99253f183b1a9b717c19281e6d45cc4277a05fadb2e2ace394d6f30638664b66c97123052b
+DIST gprbuild-2020-20200429-19BD2-src.tar.gz 2489399 BLAKE2B 3a036cb40bbe5522af63c376a672384093901b44df6fd74013f1eff9d269c2f5056224ab5e7d59b6f3cf126cd14dd30420056b09e887851351462de59f700e3a SHA512 d2ff6a5d8281d332a31533c7a5744b6169fd250c9086373fd658486c1e529564d9830b9ef3b2dfcbec5f8c1ba50d244a9eb45bf8fdccd53f8b711dcf29258dfd
diff --git a/dev-ada/libgpr/files/libgpr-2019-gentoo.patch b/dev-ada/libgpr/files/libgpr-2019-gentoo.patch
new file mode 100644
index 000000000000..b7b9a2d3c870
--- /dev/null
+++ b/dev-ada/libgpr/files/libgpr-2019-gentoo.patch
@@ -0,0 +1,55 @@
+--- a/gpr/src/gpr-env.adb 2017-11-13 22:16:53.349083426 +0100
++++ b/gpr/src/gpr-env.adb 2017-11-13 22:17:22.692590351 +0100
+@@ -1948,6 +1948,8 @@
+
+ end if;
+
++ Add_Directories (Self, "/usr/share/gpr");
++
+ if Gpr_Prj_Path.all /= "" then
+ Add_Directories (Self, Gpr_Prj_Path.all);
+ end if;
+--- a/gpr/src/gpr-names.ads 2017-11-19 13:09:18.947527738 +0100
++++ b/gpr/src/gpr-names.ads 2017-11-19 13:10:08.125654595 +0100
+@@ -27,6 +27,8 @@
+ Name_Buffer : String (1 .. 1_000_000);
+ Name_Len : Natural := 0;
+
++ Last_Id : Name_Id := Name_Id'First;
++
+ procedure Get_Name_String (Id : Name_Id);
+ procedure Get_Name_String (Id : Unit_Name_Type);
+ procedure Get_Name_String (Id : File_Name_Type);
+--- a/gpr/src/gpr-names.adb 2017-11-19 13:10:27.674316703 +0100
++++ b/gpr/src/gpr-names.adb 2017-11-19 13:14:38.360963627 +0100
+@@ -354,6 +354,8 @@
+
+ Name_Chars.Append (ASCII.NUL);
+
++ Last_Id := Name_Entries.Last;
++
+ return Name_Entries.Last;
+ end Name_Enter;
+
+@@ -427,6 +429,8 @@
+
+ Name_Chars.Append (ASCII.NUL);
+
++ Last_Id := Name_Entries.Last;
++
+ return Name_Entries.Last;
+ end Name_Find;
+
+--- a/gpr/src/gpr-snames.adb 2017-11-19 13:12:41.592995718 +0100
++++ b/gpr/src/gpr-snames.adb 2017-11-19 13:16:31.980979696 +0100
+@@ -53,6 +53,10 @@
+ return;
+ end if;
+
++ if Last_Id = Name_Id'First then
++ Add_Name ("");
++ end if;
++
+ Add_Name ("a");
+ Add_Name ("b");
+ Add_Name ("c");
diff --git a/dev-ada/libgpr/files/libgpr-2020-gentoo.patch b/dev-ada/libgpr/files/libgpr-2020-gentoo.patch
new file mode 100644
index 000000000000..d80fd83a355a
--- /dev/null
+++ b/dev-ada/libgpr/files/libgpr-2020-gentoo.patch
@@ -0,0 +1,11 @@
+--- a/gpr/src/gpr-env.adb 2017-11-13 22:16:53.349083426 +0100
++++ b/gpr/src/gpr-env.adb 2017-11-13 22:17:22.692590351 +0100
+@@ -1948,6 +1948,8 @@
+
+ end if;
+
++ Add_Directories (Self, "/usr/share/gpr");
++
+ if Gpr_Prj_Path.all /= "" then
+ Add_Directories (Self, Gpr_Prj_Path.all);
+ end if;
diff --git a/dev-ada/libgpr/libgpr-2019-r1.ebuild b/dev-ada/libgpr/libgpr-2019-r1.ebuild
new file mode 100644
index 000000000000..7906a8d27d4f
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2019-r1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada toolchain-funcs multiprocessing
+
+MYP=gprbuild-${PV}-20190517-194D8
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf8e8031e87a8f1d425093
+ -> ${MYP}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[shared?,static-libs?,static-pic?,${ADA_USEDEP}]
+ !net-libs/grpc"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_configure() {
+ emake prefix="${D}"/usr setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -p -m -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$1 \
+ gpr/gpr.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}
+
+src_install() {
+ if use static-libs; then
+ emake DESTDIR="${D}" libgpr.install.static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake DESTDIR="${D}" libgpr.install.${kind}
+ fi
+ done
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/libgpr/libgpr-2020.ebuild b/dev-ada/libgpr/libgpr-2020.ebuild
new file mode 100644
index 000000000000..df18b03f3959
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2020.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada toolchain-funcs multiprocessing
+
+MYP=gprbuild-${PV}-20200429-19BD2-src
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="https://community.download.adacore.com/v1/408ec35c3bb86bd227db3da55d3e1e0c572a56e3?filename=${MYP}.tar.gz
+ -> ${MYP}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[shared?,static-libs?,static-pic?,${ADA_USEDEP}]
+ !net-libs/grpc"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_configure() {
+ emake prefix="${D}"/usr setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -p -m -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$1 \
+ gpr/gpr.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}
+
+src_install() {
+ if use static-libs; then
+ emake DESTDIR="${D}" libgpr.install.static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake DESTDIR="${D}" libgpr.install.${kind}
+ fi
+ done
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/libgpr/metadata.xml b/dev-ada/libgpr/metadata.xml
new file mode 100644
index 000000000000..1604666243a8
--- /dev/null
+++ b/dev-ada/libgpr/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shared">Build shared library</flag>
+ <flag name="static-pic">Build static library with pic code</flag>
+ </use>
+ <longdescription lang="en">
+ GPRbuild is an advanced software tool designed to help automate the
+ construction of multi-language systems. It removes complexity from
+ multi-language development by allowing developers to quickly and easily
+ compile and link software written in a combination of languages
+ including Ada, Assembler, C, C++, and Fortran. Easily extendable by
+ users to cover new toolchains and languages it is primarily aimed at
+ projects of all sizes organized into subsystems and libraries and is
+ particularly well-suited for compiled languages.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/metadata.xml b/dev-ada/metadata.xml
new file mode 100644
index 000000000000..01b80fcd13fe
--- /dev/null
+++ b/dev-ada/metadata.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The dev-ada category contains libraries and utilities relevant to the
+ Ada programming language.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie dev-ada enthält Bibliotheken und Werkzeuge für die
+ Programmiersprache Ada.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría dev-ada contiene librerias y utilidades referentes al
+ lenguaje de programación Ada.
+ </longdescription>
+ <longdescription lang="ja">
+ dev-ada カテゴリーにはAdaプログラミング言語に関連したライブラリーと
+ ユーティリティが含まれます。
+ </longdescription>
+ <longdescription lang="nl">
+ De dev-ada categorie bevat bibliotheken en hulpmiddelen voor het gebruik van
+ de Ada programmeertaal.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm dev-ada chứa các thư viện và tiện ích liên quan
+ đến ngôn ngữ lập trình Ada.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria dev-ada contiene librerie ed utilità per il linguaggio Ada.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria dev-ada contém bibliotecas e utilitários relevantes
+ para a linguagem de programação Ada.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria dev-ada zawiera biblioteki i narzędzia związane z językiem
+ programowania Ada.
+ </longdescription>
+</catmetadata>
+
diff --git a/dev-ada/xmlada/Manifest b/dev-ada/xmlada/Manifest
new file mode 100644
index 000000000000..f92ebd81209d
--- /dev/null
+++ b/dev-ada/xmlada/Manifest
@@ -0,0 +1,2 @@
+DIST xmlada-2019-20190429-19B9D-src.tar.gz 1582603 BLAKE2B e2be3e7c0c8b843bfc808a3dd726235a82588caed8c919975a97ce34c72d6d634361bbc34208590210936add9e2f881b59d01168ef79abed1e489c50b27094d8 SHA512 f8e0e25b0aee9a7a18223ae7761603082af55134f062c767d0cd0dbf0dbcb2058fc7c57532b567fb2c6efa464a53ead57b300578e98962025866e5c3ad73e380
+DIST xmlada-2020-20200429-19A99-src.tar.gz 1533111 BLAKE2B e2c25e103c5c560cf7c9580118580e2952f3ef56c244b0f76c7f484e5629b684d5ee546d2d40520e1a4bf963271d360522423f4e7d81570f7dc1dbc8424c9147 SHA512 e53dd1fba504d2aa91ce29ea381c62adea12c5d8c72cd87396b903143279456cc6547c18035f6e988e95bd93607360075789532378f33cbe23bef9b49c8d984c
diff --git a/dev-ada/xmlada/files/xmlada-2019-gentoo.patch b/dev-ada/xmlada/files/xmlada-2019-gentoo.patch
new file mode 100644
index 000000000000..901797ebfde0
--- /dev/null
+++ b/dev-ada/xmlada/files/xmlada-2019-gentoo.patch
@@ -0,0 +1,30 @@
+--- a/Makefile.in 2017-12-04 20:09:23.730805855 +0100
++++ b/Makefile.in 2017-12-04 20:09:51.586331155 +0100
+@@ -62,7 +62,8 @@
+
+ # Rebuild the tests (and not the XML/Ada code itself)
+ test: force
++ GPR_PROJECT_PATH=schema:input_sources:dom:sax:unicode \
+ ${GPRBUILD} -p -XLIBRARY_TYPE=static ${GPROPTS} \
+ -XTESTS_ACTIVATED=Only xmlada.gpr
+
+ # Run the tests. This requires an install of XML/Ada first
+--- a/tests/Makefile 2017-12-04 21:38:29.722818904 +0100
++++ b/tests/Makefile 2017-12-04 21:38:54.229382658 +0100
+@@ -1,8 +1,6 @@
+ TESTS= test_unicode \
+ test_state \
+- test_xml \
+ test_adacore_dom \
+- test_schema \
+ test_date_time \
+ test_numbers \
+ test_adacore_schema \
+@@ -71,6 +71,7 @@
+ test_multiple_xsd:
+ @echo "multiple xsd"
+ @cd schema/multiple_xsd; \
++ GPR_PROJECT_PATH=../../../distrib:../../../input_sources:../../../dom:../../../sax:../../../schema:../../../unicode \
+ gprbuild -q -Pdefault.gpr; \
+ ./validate > $(RESULTS)/multiple_xsd.out; \
+ cp $(RESULTS)/multiple_xsd.out $(RESULTS)/multiple_xsd.diff; \
diff --git a/dev-ada/xmlada/metadata.xml b/dev-ada/xmlada/metadata.xml
new file mode 100644
index 000000000000..9b2ad4ac9374
--- /dev/null
+++ b/dev-ada/xmlada/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="shared">Build shared library</flag>
+ <flag name="static-pic">Build static library with pic code</flag>
+ </use>
+ <longdescription lang="en">
+ XML/Ada is a set of modules that provide a simple manipulation of XML
+ streams. It supports the whole XML 1.1 specifications, and can parse
+ any file that follows this standard (including the contents of the DTD,
+ although no validation of the document is done based on those).
+
+ It also provides support for a number of other standard associated
+ with XML, like SAX, DOM and XML schemas.
+
+ In addition, it includes a module to manipulate Unicode streams, since
+ this is required by the XML standard.
+ </longdescription>
+ <origin>gentoo-staging</origin>
+</pkgmetadata>
diff --git a/dev-ada/xmlada/xmlada-2019-r1.ebuild b/dev-ada/xmlada/xmlada-2019-r1.ebuild
new file mode 100644
index 000000000000..a08b9acda13c
--- /dev/null
+++ b/dev-ada/xmlada/xmlada-2019-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MYP=${P}-20190429-19B9D
+
+DESCRIPTION="Set of modules that provide a simple manipulation of XML streams"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5cdf916831e87a8f1d4250b5
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+shared static-libs static-pic"
+REQUIRED_USE="|| ( shared static-libs static-pic )
+ ${ADA_REQUIRED_USE}"
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_configure() {
+ econf --prefix="${D}"/usr
+}
+
+src_compile() {
+ build () {
+ gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=$1 \
+ -XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
+ -cargs ${ADAFLAGS} || die "gprbuild failed"
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}
+
+src_test() {
+ emake test
+ emake run_test | tee xmlada.testLog
+ grep -q DIFF xmlada.testLog && die
+}
+
+src_install() {
+ build () {
+ gprinstall -XLIBRARY_TYPE=$1 -f -p -XBUILD=Production \
+ -XPROCESSORS=$(makeopts_jobs) --prefix="${D}"/usr \
+ --install-name=xmlada --build-var=LIBRARY_TYPE \
+ --build-var=XMLADA_BUILD \
+ --build-name=$1 xmlada.gpr || die "gprinstall failed"
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+
+ einstalldocs
+ dodoc xmlada-roadmap.txt
+ rm -f "${D}"/usr/share/doc/${PN}/.buildinfo
+ rm -rf "${D}"/usr/share/gpr/manifests
+}
diff --git a/dev-ada/xmlada/xmlada-2020.ebuild b/dev-ada/xmlada/xmlada-2020.ebuild
new file mode 100644
index 000000000000..50ecc0beceda
--- /dev/null
+++ b/dev-ada/xmlada/xmlada-2020.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_201{6,7,8,9} )
+inherit ada multiprocessing
+
+MYP=${P}-20200429-19A99-src
+
+DESCRIPTION="Set of modules that provide a simple manipulation of XML streams"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="https://community.download.adacore.com/v1/c799502295baf074ad17b48c50f621879c392c57?filename=${MYP}.tar.gz
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+shared static-libs static-pic"
+REQUIRED_USE="|| ( shared static-libs static-pic )
+ ${ADA_REQUIRED_USE}"
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2019-gentoo.patch )
+
+src_configure() {
+ econf --prefix="${D}"/usr
+}
+
+src_compile() {
+ build () {
+ echo gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=$1 \
+ -XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
+ -largs ${LDFLAGS} \
+ -cargs ${ADAFLAGS}
+ gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=$1 \
+ -XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
+ -largs ${LDFLAGS} \
+ -cargs ${ADAFLAGS} || die "gprbuild failed"
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}
+
+src_test() {
+ emake test
+ emake run_test | tee xmlada.testLog
+ grep -q DIFF xmlada.testLog && die
+}
+
+src_install() {
+ build () {
+ gprinstall -XLIBRARY_TYPE=$1 -f -p -XBUILD=Production \
+ -XPROCESSORS=$(makeopts_jobs) --prefix="${D}"/usr \
+ --install-name=xmlada --build-var=LIBRARY_TYPE \
+ --build-var=XMLADA_BUILD \
+ --build-name=$1 xmlada.gpr || die "gprinstall failed"
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+
+ einstalldocs
+ dodoc xmlada-roadmap.txt
+ rm -f "${D}"/usr/share/doc/${PN}/.buildinfo
+ rm -rf "${D}"/usr/share/examples
+ rm -rf "${D}"/usr/share/gpr/manifests
+}