summaryrefslogtreecommitdiff
path: root/dev-ada
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-ada
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-ada')
-rw-r--r--dev-ada/Manifest.gzbin5749 -> 3371 bytes
-rw-r--r--dev-ada/asis-201613
-rw-r--r--dev-ada/asis-201713
-rw-r--r--dev-ada/asis-201813
-rw-r--r--dev-ada/asis/Manifest9
-rw-r--r--dev-ada/asis/asis-2016.ebuild46
-rw-r--r--dev-ada/asis/asis-2017.ebuild45
-rw-r--r--dev-ada/asis/asis-2018.ebuild43
-rw-r--r--dev-ada/asis/files/asis-2016-gentoo.patch36
-rw-r--r--dev-ada/asis/files/asis-2017-gentoo.patch50
-rw-r--r--dev-ada/asis/metadata.xml19
-rw-r--r--dev-ada/aunit-201714
-rw-r--r--dev-ada/aunit-201814
-rw-r--r--dev-ada/aunit/Manifest6
-rw-r--r--dev-ada/aunit/aunit-2017.ebuild42
-rw-r--r--dev-ada/aunit/aunit-2018.ebuild44
-rw-r--r--dev-ada/aunit/files/aunit-2016-gentoo.patch11
-rw-r--r--dev-ada/aunit/metadata.xml16
-rw-r--r--dev-ada/aws-201714
-rw-r--r--dev-ada/aws-201813
-rw-r--r--dev-ada/aws/Manifest6
-rw-r--r--dev-ada/aws/aws-2017.ebuild50
-rw-r--r--dev-ada/aws/aws-2018.ebuild51
-rw-r--r--dev-ada/aws/files/aws-2016-gentoo.patch36
-rw-r--r--dev-ada/aws/metadata.xml21
-rw-r--r--dev-ada/gnat_util-201614
-rw-r--r--dev-ada/gnat_util-201714
-rw-r--r--dev-ada/gnat_util-201814
-rw-r--r--dev-ada/gnat_util/Manifest9
-rw-r--r--dev-ada/gnat_util/files/gnat_util-2016-gentoo.patch100
-rw-r--r--dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch80
-rw-r--r--dev-ada/gnat_util/gnat_util-2016.ebuild61
-rw-r--r--dev-ada/gnat_util/gnat_util-2017.ebuild60
-rw-r--r--dev-ada/gnat_util/gnat_util-2018.ebuild56
-rw-r--r--dev-ada/gnat_util/metadata.xml24
-rw-r--r--dev-ada/gnatcoll-201614
-rw-r--r--dev-ada/gnatcoll-201714
-rw-r--r--dev-ada/gnatcoll-bindings-201814
-rw-r--r--dev-ada/gnatcoll-bindings/Manifest4
-rw-r--r--dev-ada/gnatcoll-bindings/files/gnatcoll-bindings-2018-gentoo.patch11
-rw-r--r--dev-ada/gnatcoll-bindings/gnatcoll-bindings-2018.ebuild85
-rw-r--r--dev-ada/gnatcoll-bindings/metadata.xml29
-rw-r--r--dev-ada/gnatcoll-core-201814
-rw-r--r--dev-ada/gnatcoll-core/Manifest4
-rw-r--r--dev-ada/gnatcoll-core/files/gnatcoll-core-2018-gentoo.patch22
-rw-r--r--dev-ada/gnatcoll-core/gnatcoll-core-2018.ebuild79
-rw-r--r--dev-ada/gnatcoll-core/metadata.xml29
-rw-r--r--dev-ada/gnatcoll-db-201814
-rw-r--r--dev-ada/gnatcoll-db/Manifest4
-rw-r--r--dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch21
-rw-r--r--dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild104
-rw-r--r--dev-ada/gnatcoll-db/metadata.xml33
-rw-r--r--dev-ada/gnatcoll/Manifest7
-rw-r--r--dev-ada/gnatcoll/files/gnatcoll-2016-gentoo.patch333
-rw-r--r--dev-ada/gnatcoll/files/gnatcoll-2017-gentoo.patch247
-rw-r--r--dev-ada/gnatcoll/gnatcoll-2016.ebuild129
-rw-r--r--dev-ada/gnatcoll/gnatcoll-2017.ebuild135
-rw-r--r--dev-ada/gnatcoll/metadata.xml30
-rw-r--r--dev-ada/gnatmem-201713
-rw-r--r--dev-ada/gnatmem-201813
-rw-r--r--dev-ada/gnatmem/Manifest6
-rw-r--r--dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch89
-rw-r--r--dev-ada/gnatmem/gnatmem-2017.ebuild42
-rw-r--r--dev-ada/gnatmem/gnatmem-2018.ebuild42
-rw-r--r--dev-ada/gnatmem/metadata.xml28
-rw-r--r--dev-ada/gnatsymbolize-201811
-rw-r--r--dev-ada/gnatsymbolize/Manifest3
-rw-r--r--dev-ada/gnatsymbolize/gnatsymbolize-2018.ebuild31
-rw-r--r--dev-ada/gnatsymbolize/metadata.xml12
-rw-r--r--dev-ada/gprbuild-201714
-rw-r--r--dev-ada/gprbuild-201814
-rw-r--r--dev-ada/gprbuild/Manifest11
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2017-gentoo.patch94
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2017.xml85
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch98
-rw-r--r--dev-ada/gprbuild/files/gprbuild-2018.xml85
-rw-r--r--dev-ada/gprbuild/gprbuild-2017.ebuild81
-rw-r--r--dev-ada/gprbuild/gprbuild-2018.ebuild88
-rw-r--r--dev-ada/gprbuild/metadata.xml23
-rw-r--r--dev-ada/gps-201714
-rw-r--r--dev-ada/gps-201814
-rw-r--r--dev-ada/gps-bin-201611
-rw-r--r--dev-ada/gps-bin/Manifest3
-rw-r--r--dev-ada/gps-bin/gps-bin-2016.ebuild65
-rw-r--r--dev-ada/gps-bin/metadata.xml22
-rw-r--r--dev-ada/gps/Manifest9
-rw-r--r--dev-ada/gps/files/gps-2017-gentoo.patch339
-rw-r--r--dev-ada/gps/files/gps-2018-gentoo.patch87
-rw-r--r--dev-ada/gps/gps-2017.ebuild79
-rw-r--r--dev-ada/gps/gps-2018.ebuild78
-rw-r--r--dev-ada/gps/metadata.xml13
-rw-r--r--dev-ada/gtkada-201714
-rw-r--r--dev-ada/gtkada-201814
-rw-r--r--dev-ada/gtkada/Manifest6
-rw-r--r--dev-ada/gtkada/files/gtkada-2017-gentoo.patch63
-rw-r--r--dev-ada/gtkada/gtkada-2017.ebuild67
-rw-r--r--dev-ada/gtkada/gtkada-2018.ebuild70
-rw-r--r--dev-ada/gtkada/metadata.xml17
-rw-r--r--dev-ada/langkit-201714
-rw-r--r--dev-ada/langkit-201814
-rw-r--r--dev-ada/langkit/Manifest7
-rw-r--r--dev-ada/langkit/files/langkit-2017-gentoo.patch80
-rw-r--r--dev-ada/langkit/files/langkit-2018-gentoo.patch21
-rw-r--r--dev-ada/langkit/langkit-2017.ebuild45
-rw-r--r--dev-ada/langkit/langkit-2018.ebuild48
-rw-r--r--dev-ada/langkit/metadata.xml18
-rw-r--r--dev-ada/libadalang-201714
-rw-r--r--dev-ada/libadalang-201814
-rw-r--r--dev-ada/libadalang-tools-201811
-rw-r--r--dev-ada/libadalang-tools/Manifest3
-rw-r--r--dev-ada/libadalang-tools/libadalang-tools-2018.ebuild28
-rw-r--r--dev-ada/libadalang-tools/metadata.xml16
-rw-r--r--dev-ada/libadalang/Manifest7
-rw-r--r--dev-ada/libadalang/files/libadalang-2017-gentoo.patch10
-rw-r--r--dev-ada/libadalang/files/libadalang-2018-gentoo.patch21
-rw-r--r--dev-ada/libadalang/libadalang-2017.ebuild52
-rw-r--r--dev-ada/libadalang/libadalang-2018.ebuild60
-rw-r--r--dev-ada/libadalang/metadata.xml20
-rw-r--r--dev-ada/libgpr-201614
-rw-r--r--dev-ada/libgpr-201714
-rw-r--r--dev-ada/libgpr-201813
-rw-r--r--dev-ada/libgpr/Manifest9
-rw-r--r--dev-ada/libgpr/files/libgpr-2016-gentoo.patch89
-rw-r--r--dev-ada/libgpr/files/libgpr-2017-gentoo.patch65
-rw-r--r--dev-ada/libgpr/libgpr-2016.ebuild54
-rw-r--r--dev-ada/libgpr/libgpr-2017.ebuild64
-rw-r--r--dev-ada/libgpr/libgpr-2018.ebuild68
-rw-r--r--dev-ada/libgpr/metadata.xml25
-rw-r--r--dev-ada/metadata.xml40
-rw-r--r--dev-ada/xmlada-201714
-rw-r--r--dev-ada/xmlada-201814
-rw-r--r--dev-ada/xmlada/Manifest7
-rw-r--r--dev-ada/xmlada/files/xmlada-2017-gentoo.patch30
-rw-r--r--dev-ada/xmlada/files/xmlada-2018-gentoo.patch30
-rw-r--r--dev-ada/xmlada/metadata.xml27
-rw-r--r--dev-ada/xmlada/xmlada-2017.ebuild92
-rw-r--r--dev-ada/xmlada/xmlada-2018.ebuild80
137 files changed, 5079 insertions, 474 deletions
diff --git a/dev-ada/Manifest.gz b/dev-ada/Manifest.gz
index eaa204ea3448..2e26ed4c9204 100644
--- a/dev-ada/Manifest.gz
+++ b/dev-ada/Manifest.gz
Binary files differ
diff --git a/dev-ada/asis-2016 b/dev-ada/asis-2016
deleted file mode 100644
index ae7274460639..000000000000
--- a/dev-ada/asis-2016
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=dev-ada/gnat_util[gnat_2016=,gnat_2017=] dev-ada/gnatcoll[gnat_2016=,gnat_2017=,projects,shared] dev-ada/gprbuild[gnat_2016=,gnat_2017=] dev-ada/xmlada[gnat_2016=,gnat_2017=] gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
-DESCRIPTION=To develop tools for Ada software
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=+gnat_2016 gnat_2017
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/57399029c7a447658e0aff71 -> asis-gpl-2016-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=012d17f146145273b080372aabacec0c
diff --git a/dev-ada/asis-2017 b/dev-ada/asis-2017
deleted file mode 100644
index 2905c72e642b..000000000000
--- a/dev-ada/asis-2017
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=dev-ada/gnat_util[gnat_2017] dev-ada/gnatcoll[gnat_2017,projects,shared] dev-ada/gprbuild[gnat_2017] dev-ada/xmlada[gnat_2017] dev-lang/gnat-gpl:6.3.0
-DESCRIPTION=To develop tools for Ada software
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 +gnat_2017
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-REQUIRED_USE=!gnat_2016 gnat_2017
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deecffb -> asis-gpl-2017-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=21d25a19c9a4de88b978cf025cebaa36
diff --git a/dev-ada/asis-2018 b/dev-ada/asis-2018
deleted file mode 100644
index 139a92cc1a99..000000000000
--- a/dev-ada/asis-2018
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=,shared] dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]
-DESCRIPTION=To develop tools for Ada software
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 gnat_2017 +gnat_2018
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=,shared]
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819e0c7a447df26c27ab8 -> asis-gpl-2018-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=37da4f2f8308dc7659450b542aab8099
diff --git a/dev-ada/asis/Manifest b/dev-ada/asis/Manifest
new file mode 100644
index 000000000000..f68b35ec3341
--- /dev/null
+++ b/dev-ada/asis/Manifest
@@ -0,0 +1,9 @@
+AUX asis-2016-gentoo.patch 1535 BLAKE2B 726f03a935c9cf26f5fc405ff6d3c18d01405d5b6a61589a45d6cd8f1134646c9e8e57d496428d8e0c9ce613f1756d8bd027e16ab727d605db99ab4301f73da3 SHA512 7b78b1dc4824242c10f409ab4874c11f8dfcc977d31e1bd63e96915e3f8477efa737e35b6d3c1076f920155b89f51572528e1d309fcf450bdc3353ec32dd6bc2
+AUX asis-2017-gentoo.patch 2030 BLAKE2B 261d2e32b818f17ea4ea51047cf71b73f89d918094397702d6b7f9eaa9e2edb39d754d12beb23b2b6b0a55012773767915c2dc3bd69db850558c8c3afbe44dd5 SHA512 9697264392827254fc23993979ddb1cef8276e8f699f776f85a4ce09fcaf2e87b68e4187622fc16c809d71e7e360626c72f5d5f7be33c72a9544996cbf1321f9
+DIST asis-gpl-2016-src.tar.gz 5240554 BLAKE2B b95be816f5f52ac2b29814c09166774884dc166df6e08b26769c9502443f9797c42a1f9b6168336636add6515b748b3ef4b38c6a1dc6f49c1afb9ecec8e50c50 SHA512 439195d4cb5d58328dcc8c815cb6a32c5f8ed1d6581246dfa5dcca7c212ffad38dd63df25e490c4ac628eaf8c8e6d286f8ea036b7f39499704565b60c1bba8ee
+DIST asis-gpl-2017-src.tar.gz 5909758 BLAKE2B 93b2f87c6945b27cff90cb3e227d6e6ae061dc6fc693ee8960cd9b4abf68cc398f6b6d7dba864399c8e007aee2a91789614b7d2bf146645a5d983f20c1ccbc64 SHA512 dee6b8e0851a4b3181d50256697865f7a6a613eef7b59e43cb1a0b066e794d927db9f60df33f7e1af343d41801a6b66feb1f7a963523b2442c85ca506d7e112f
+DIST asis-gpl-2018-src.tar.gz 5983604 BLAKE2B d91e3ff5cb95ec5b69121ed09e73f7bff234147b809353577315cd25cae0069ec5ebfc221a9798341b2a33bde316d74c4ce47c7ace580fe4d867e47032e207f2 SHA512 e00750adf17df8d534f0e561d129002d8b3c9efd6ba9c8d6768840d1399933271d748bafb7358a45d0a520620a335e669a6c2770ed89660bb319b609961a433a
+EBUILD asis-2016.ebuild 1175 BLAKE2B c896467c59d095c44b4f7bc83df71be00c5f416e707f08e688cd6770e53767710c456b1fcb75efff4192c52767c6238431e48c207c7ca5e8d19893a19a7dbd2f SHA512 46f43724b8b648f3a5a7d921209a08c59d3a4bdae75b1b4966dfdab8bdfe14cbdde01c2d1cba5e1a91d739a39838931d7ae17e4be486f2e281521cb70023c995
+EBUILD asis-2017.ebuild 1066 BLAKE2B dcca612165bfaa48d636e34606fb4f03eac1cf6fa5651458af91a923317090e5101911af771b82756eb6b0baf0bd6258b0d0c1a212f050f8294eaa8c92b61395 SHA512 6e1c71b2cbefa467fe434dbad8b600244adf6cda2f7cd40ab8497d093e483684591bdf571e6ad03019b90bc40494b7c7ec0b96b2540dc3f23dd3af8a69daeeef
+EBUILD asis-2018.ebuild 1094 BLAKE2B 8f7ad8347e9587d430565d39e6764bc4f1f8a4ca17df6278d9b1e2e798e30220b6b8446a76263d76f17ad64d0193459c63c646c70f0e9e23a92777bd44663a96 SHA512 4815766b0b98af239be713dfb3a97a4c2ece83a5e66ca50ce2c66d1ca9732e26ae112b514c660d268b6b1c641fe9a2f4cfabb322a8290e4cbd6c6a0fb8e067e9
+MISC metadata.xml 758 BLAKE2B aebcdb7e9be0cccf7350d68082d2461ec6a28c94df18dd936f689a3cf02a0139b96c0208fb7e8ff677ff0cb977199f8b4ef097faf6b3376624c4bf220845f216 SHA512 b673b7f404971e44cd09f746338dc2cd655b4b5cd0ced7a742e6986a8d454b4c2738a7576dd5b1ebe5fbea4ff073de60a1fbaf8dddac90e54981159affa0fb07
diff --git a/dev-ada/asis/asis-2016.ebuild b/dev-ada/asis/asis-2016.ebuild
new file mode 100644
index 000000000000..c83e81adbdf7
--- /dev/null
+++ b/dev-ada/asis/asis-2016.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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="+gnat_2016 gnat_2017"
+
+DEPEND="dev-ada/gnat_util[gnat_2016=,gnat_2017=]
+ dev-ada/gnatcoll[gnat_2016=,gnat_2017=,projects,shared]
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]
+ dev-ada/xmlada[gnat_2016=,gnat_2017=]
+ gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
+RDEPEND="${RDEPEND}"
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ emake PROCESSORS=$(makeopts_jobs)
+ emake tools PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD_FLAGS="-vl \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
+
+src_install() {
+ emake prefix="${D}"/usr install
+ emake prefix="${D}"/usr install-tools \
+ GPRINSTALL="gprinstall \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
diff --git a/dev-ada/asis/asis-2017.ebuild b/dev-ada/asis/asis-2017.ebuild
new file mode 100644
index 000000000000..0f150265f63a
--- /dev/null
+++ b/dev-ada/asis/asis-2017.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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/591c45e2c7a447af2deecffb
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnat_2016 +gnat_2017"
+
+DEPEND="dev-ada/gnat_util[gnat_2017]
+ dev-ada/gnatcoll[gnat_2017,projects,shared]
+ dev-ada/gprbuild[gnat_2017]
+ dev-ada/xmlada[gnat_2017]
+ dev-lang/gnat-gpl:6.3.0"
+RDEPEND="${RDEPEND}"
+REQUIRED_USE="!gnat_2016 gnat_2017"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ emake PROCESSORS=$(makeopts_jobs)
+ emake tools PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD_FLAGS="-vl \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
+
+src_install() {
+ emake prefix="${D}"/usr install
+ emake prefix="${D}"/usr install-tools \
+ GPRINSTALL="gprinstall \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
diff --git a/dev-ada/asis/asis-2018.ebuild b/dev-ada/asis/asis-2018.ebuild
new file mode 100644
index 000000000000..88b9ba97d07e
--- /dev/null
+++ b/dev-ada/asis/asis-2018.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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/5b0819e0c7a447df26c27ab8
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018"
+
+RDEPEND="dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=,shared]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
+
+src_compile() {
+ emake PROCESSORS=$(makeopts_jobs)
+ emake tools PROCESSORS=$(makeopts_jobs) \
+ GPRBUILD_FLAGS="-vl \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
+
+src_install() {
+ emake prefix="${D}"/usr install
+ emake prefix="${D}"/usr install-tools \
+ GPRINSTALL="gprinstall \
+ -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..c5ffda3628b9
--- /dev/null
+++ b/dev-ada/asis/files/asis-2016-gentoo.patch
@@ -0,0 +1,36 @@
+--- 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,15 +10,18 @@
+ # ==================================================== 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) 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)
+--- asis-gpl-2016-src/Makefile.stub.old 2017-04-06 21:16:41.802376709 +0200
++++ asis-gpl-2016-src/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..416ad818fe85
--- /dev/null
+++ b/dev-ada/asis/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ </use>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/aunit-2017 b/dev-ada/aunit-2017
deleted file mode 100644
index d5bd31d1dbcc..000000000000
--- a/dev-ada/aunit-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) dev-ada/gprbuild[gnat_2016=,gnat_2017=]
-DESCRIPTION=Ada unit testing framework
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/tools/aunit/
-IUSE=gnat_2016 +gnat_2017
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed000 -> aunit-gpl-2017-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=ca3b236b7ac957a0aa7f29ec9cf7e40f
diff --git a/dev-ada/aunit-2018 b/dev-ada/aunit-2018
deleted file mode 100644
index 65f7c2390ec6..000000000000
--- a/dev-ada/aunit-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 ) dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]
-DESCRIPTION=Ada unit testing framework
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/tools/aunit/
-IUSE=gnat_2016 gnat_2017 +gnat_2018
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 gnat_2018 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819e0c7a447df26c27ab3 -> aunit-gpl-2018-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=bb8a58a34b91386cdc9e9354ed2ba321
diff --git a/dev-ada/aunit/Manifest b/dev-ada/aunit/Manifest
new file mode 100644
index 000000000000..0ae1be66e60c
--- /dev/null
+++ b/dev-ada/aunit/Manifest
@@ -0,0 +1,6 @@
+AUX aunit-2016-gentoo.patch 374 BLAKE2B 00d34a835afdc4a1a80f8c4dad23ae4a30a89eb801c3aeb8177a4d0cb838b3edf0c8463c774da212a9be56378f493ddd41aa4a26d976a38f1800999903dd2263 SHA512 0ea27e0d8783788c83a3916071ea0dd5361f21a4fc67727b735986dfc624c9f1bd6aa471229c389f5453001577ca1eec0ecdd0865952a0aa5fe1453787dac33b
+DIST aunit-gpl-2017-src.tar.gz 638311 BLAKE2B aa551202677983451d1c8c9f248d85d58f6de442797ee5a3c14d418de1cd8e9a58a82ee7b8bb5b64da924265ef26c64b5d69e86f0103f0721b2c6e007896f6bb SHA512 8aad7acc472af127d7c140fb80bd8f1e26866daba2817a436851704bb9048c8347284c5cf2dd05c0c65590cf05ff01d035c3612a698d19607347e961174b3ab4
+DIST aunit-gpl-2018-src.tar.gz 639544 BLAKE2B a7d7469b0ec4951517b113a794dca4399a27d6d5d848194fc5bfa7728a5cd04644e4b5f1247eb3cfbab64c0294502ac70cdd6e7052cd60b788c7892eddb4294e SHA512 3409b490978e9160e3ec2d9214d50f846c4c38f7a728cd4ff306d6454d1e0944023342f17a580b0449cb528f42d3c608adec58b61318284237d02b7f77498513
+EBUILD aunit-2017.ebuild 1040 BLAKE2B d90758ca89ce116afcbb613e9496a8c71c736600ae69ee2d9505b9b6b922906ac37300449d406c4062340706ea4064e2198a4dc2c5a3de6339daeba00eb1ae8b SHA512 fbf380c4ede428883249f7661f515b1a91cdb0b828aba2be1a46be443d81134b242375aaf4e3f128fb5c1b41505149a229c16b1b7d5bc0bc627c51775aba0604
+EBUILD aunit-2018.ebuild 1158 BLAKE2B bcbf5cede0254e73aedfa0c6ea23988d62501af208fcaf296e3e681d2d21516d534b6b1f8d54918b57c0abeba259d6330c5f66d2d9f1619c00c9ab4dfa627069 SHA512 bef7c6b556515c28d34fa9d67008fea8b833ccbdc2979cee2ab86e15ee4d21c7d27c61133043f79ed2f7b549dacac2e3dac67e5ad4ddfe3aaa5bdf73b32c7b5f
+MISC metadata.xml 1003 BLAKE2B 3e0c97d5fd20eca517240a72cc7164e48f6e89db9a3ee313e1493c5f613857fd5c118b6d588266fa59dc6fc66a6da88487367526082462e3dbebc1e41379af78 SHA512 f3b1d914eaa4d7d0aa2143ef00c9d42f6dd86dc5e913fbce014c36fec8b26c65127dbe7f10661759256899596b79d7aba49315f01e1176f9d0b97c8f4fe04dc4
diff --git a/dev-ada/aunit/aunit-2017.ebuild b/dev-ada/aunit/aunit-2017.ebuild
new file mode 100644
index 000000000000..b56e55701892
--- /dev/null
+++ b/dev-ada/aunit/aunit-2017.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="Ada unit testing framework"
+HOMEPAGE="http://libre.adacore.com/tools/aunit/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed000
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnat_2016 +gnat_2017"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-gentoo.patch )
+
+src_compile() {
+ emake GPRBUILD="gprbuild -j$(makeopts_jobs)"
+}
+
+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
+}
diff --git a/dev-ada/aunit/aunit-2018.ebuild b/dev-ada/aunit/aunit-2018.ebuild
new file mode 100644
index 000000000000..95e27b8d0b26
--- /dev/null
+++ b/dev-ada/aunit/aunit-2018.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="Ada unit testing framework"
+HOMEPAGE="http://libre.adacore.com/tools/aunit/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819e0c7a447df26c27ab3
+ -> ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
+ gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]"
+
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 gnat_2018 )"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-gentoo.patch )
+
+src_compile() {
+ emake GPRBUILD="gprbuild -j$(makeopts_jobs)"
+}
+
+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
+}
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..70ed4055100c
--- /dev/null
+++ b/dev-ada/aunit/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ </use>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/aws-2017 b/dev-ada/aws-2017
deleted file mode 100644
index c3a60ce07231..000000000000
--- a/dev-ada/aws-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install
-DEPEND=dev-ada/xmlada[gnat_2016=,gnat_2017=,static-libs] dev-ada/gnat_util[gnat_2016=,gnat_2017=,static-libs] dev-ada/asis[gnat_2016=,gnat_2017=] dev-ada/gprbuild[gnat_2016=,gnat_2017=]
-DESCRIPTION=A complete Web development framework
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/tools/aws/
-IUSE=gnat_2016 +gnat_2017
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/xmlada[gnat_2016=,gnat_2017=,static-libs]
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed001 -> aws-gpl-2017-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=56fd60c429ac8118c6bb358ed1776c3d
diff --git a/dev-ada/aws-2018 b/dev-ada/aws-2018
deleted file mode 100644
index 2f44b82e138c..000000000000
--- a/dev-ada/aws-2018
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install
-DEPEND=dev-ada/xmlada[gnat_2016=,gnat_2017=,gnat_2018(-)=] dev-ada/xmlada[shared,static-libs] dev-ada/asis[gnat_2016=,gnat_2017=,gnat_2018(-)=] dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018(-)=]
-DESCRIPTION=A complete Web development framework
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/tools/aws/
-IUSE=gnat_2016 gnat_2017 +gnat_2018
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/xmlada[gnat_2016=,gnat_2017=,gnat_2018(-)=] dev-ada/xmlada[shared,static-libs]
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819e0c7a447df26c27abd -> aws-gpl-2018-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=5725a55b07cfdd3535f4aee32687545e
diff --git a/dev-ada/aws/Manifest b/dev-ada/aws/Manifest
new file mode 100644
index 000000000000..e2e9501e52d5
--- /dev/null
+++ b/dev-ada/aws/Manifest
@@ -0,0 +1,6 @@
+AUX aws-2016-gentoo.patch 1510 BLAKE2B 86cbe9166f800a1b8a3a7d388ff256c17527c85665ad0dd32408d180de59357b5f9a593d7e3ebb3bc511a0a234b2549f7e2e090cdc85e1ed98547cad1d3b5f02 SHA512 29f121d22f1dd21a1228a96c15ba28a61da1e07bdb57ae5f0ba2babb2c8d0b38bab21edeb44fb8480fcb4c9bdf55b1f20f7d6b3668943a1814a5564dd168c92d
+DIST aws-gpl-2017-src.tar.gz 12298806 BLAKE2B 9c45d77dd44da11efe99c6e3128fc5920b39eaaf620e266b2dab394866c2d6a3cd1abe4eb01d9024960ef9046662c0df690f72c687fbe0a64b1021ed9c383828 SHA512 a7ddd332cbf3e699fdb7f734fba7dfabed2a92745bbc7fbd4ae5ea5da6a5e98c5434d7a9a3d7071d57b8294cc5c0c2a3802ded607e9402a1cf5e5bed8f5a8c35
+DIST aws-gpl-2018-src.tar.gz 4193276 BLAKE2B 31fa99fc3324f2514799a33cbd282f68a26d133da14ee2a70d3f5091c3670e82a7b77f9f941e593e914a755dd54d5a1e352d201a9dc097991b7bd50aa9f54b3b SHA512 62b85f70dd722148bbf3ad85bfd6cde2d0ab1d8029f673eb7ee42b0890c3dbf0f023c321e96eca99ccd2f0b235347ab577cfb558e7d81993d166683ec815dbe4
+EBUILD aws-2017.ebuild 1083 BLAKE2B 83cc71d74f7a173f693d1ceef8ebfc53a233aa3f989965c6b01e69bd1818a93bf321fa324573fcaa68f671b87dd82ba669b4d796d5cae660d2dbc574e0d4e003 SHA512 4a6f7bb017bb860670066b7b5fe3a1e9d10d32a802a391b3d2df52197ae1918ac38b8c942c5433644e87f28ceccdcb0615f9f91d2fe528e14e5357952ef183e8
+EBUILD aws-2018.ebuild 1125 BLAKE2B 6a0cfb8bc33626faa6e8a8c636840a4e23a45d558e8fa25fc38642deaba15e679d5d776f3c117e0f7c0173cf6a3745b5f8c5f271e767b51f7b426a03cefa47e6 SHA512 566317cb1c77e7772c3c4408de3578979fdaf653c1a02e95414d3104b6a0529ec7435a453880a8501874fd3a550326aa6e82b8dcdf044736af3e52886c0c6d21
+MISC metadata.xml 910 BLAKE2B 32c65b10f1286c68aaf8c4eb5d5078dca8b09a451ec02d1a845282124b71cac7363e8f068910fe6908befcf49d9e476f30f53b78bd66d6269cb7cb38f5d69597 SHA512 e3b9b10331c66b3e3ce4bb0b74a1c426656d33ffb37936a433fad3f7fc2e64de233c7d18158c5eea409d406ebe1edcf77135e7b490bec40387adc8b0928cad5a
diff --git a/dev-ada/aws/aws-2017.ebuild b/dev-ada/aws/aws-2017.ebuild
new file mode 100644
index 000000000000..77fbba8c7964
--- /dev/null
+++ b/dev-ada/aws/aws-2017.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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/591c45e2c7a447af2deed001
+ -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnat_2016 +gnat_2017"
+
+RDEPEND="dev-ada/xmlada[gnat_2016=,gnat_2017=,static-libs]"
+DEPEND="${RDEPEND}
+ dev-ada/gnat_util[gnat_2016=,gnat_2017=,static-libs]
+ dev-ada/asis[gnat_2016=,gnat_2017=]
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-gentoo.patch )
+
+src_configure() {
+ emake -j1 setup prefix=/usr
+}
+
+src_compile() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ emake GCC=${CHOST}-gcc-${GCC_PV} \
+ PROCESSORS=$(makeopts_jobs) \
+ DEBUG=true \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
+
+src_install() {
+ emake DESTDIR="${D}" DEBUG=true install
+ einstalldocs
+}
diff --git a/dev-ada/aws/aws-2018.ebuild b/dev-ada/aws/aws-2018.ebuild
new file mode 100644
index 000000000000..f4d94c7b9188
--- /dev/null
+++ b/dev-ada/aws/aws-2018.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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="gnat_2016 gnat_2017 +gnat_2018"
+
+RDEPEND="dev-ada/xmlada[gnat_2016=,gnat_2017=,gnat_2018(-)=]
+ dev-ada/xmlada[shared,static-libs]"
+DEPEND="${RDEPEND}
+ dev-ada/asis[gnat_2016=,gnat_2017=,gnat_2018(-)=]
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018(-)=]"
+
+S="${WORKDIR}"/${MY_P}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-gentoo.patch )
+
+src_configure() {
+ emake -j1 setup prefix=/usr ENABLE_SHARED=true
+}
+
+src_compile() {
+ if use gnat_2018; then
+ GCC_PV=7.3.1
+ elif use gnat_2017; then
+ GCC_PV=6.3.0
+ else
+ GCC_PV=4.9.4
+ fi
+ emake GCC=${CHOST}-gcc-${GCC_PV} \
+ PROCESSORS=$(makeopts_jobs) \
+ DEBUG=true \
+ GPRBUILD="/usr/bin/gprbuild -v"
+}
+
+src_install() {
+ emake DESTDIR="${D}" DEBUG=true install
+ einstalldocs
+}
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..b33073afa443
--- /dev/null
+++ b/dev-ada/aws/files/aws-2016-gentoo.patch
@@ -0,0 +1,36 @@
+--- aws-gpl-2016-src/shared.gpr.old 2017-01-30 20:00:39.022743691 +0100
++++ aws-gpl-2016-src/shared.gpr 2017-01-30 20:01:20.524985069 +0100
+@@ -130,6 +130,7 @@
+ package Compiler is
+
+ for Driver ("Makefile") use "";
++ for Driver ("C") use External ("GCC", "gcc");
+
+ case Build is
+ when "Debug" =>
+@@ -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
+--- aws-gpl-2016-src/include/include.gpr.old 2017-02-17 22:09:14.361695926 +0100
++++ aws-gpl-2016-src/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..d2da63463732
--- /dev/null
+++ b/dev-ada/aws/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ </use>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/gnat_util-2016 b/dev-ada/gnat_util-2016
deleted file mode 100644
index d724ba48c951..000000000000
--- a/dev-ada/gnat_util-2016
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) dev-ada/gprbuild[gnat_2016=,gnat_2017=]
-DESCRIPTION=Provides access to GNAT compiler internals for AdaCore utilities
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=+gnat_2016 gnat_2017 +shared static-libs static-pic
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/57399637c7a447658e0affa6 -> gnat_util-gpl-2016-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=4d1e80c6b25291ab121d0cb51edf11f8
diff --git a/dev-ada/gnat_util-2017 b/dev-ada/gnat_util-2017
deleted file mode 100644
index 119c32d766b3..000000000000
--- a/dev-ada/gnat_util-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=dev-lang/gnat-gpl:6.3.0 dev-ada/gprbuild[gnat_2017]
-DESCRIPTION=Provides access to GNAT compiler internals for AdaCore utilities
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=gnat_2016 +gnat_2017 +shared static-libs static-pic
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=dev-lang/gnat-gpl:6.3.0
-REQUIRED_USE=!gnat_2016 gnat_2017
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed037 -> gnat_util-gpl-2017-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=3d4d89273bbf09383eb5519643e768cc
diff --git a/dev-ada/gnat_util-2018 b/dev-ada/gnat_util-2018
deleted file mode 100644
index abc48b04f20c..000000000000
--- a/dev-ada/gnat_util-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=dev-lang/gnat-gpl:7.3.1 dev-ada/gprbuild[gnat_2018]
-DESCRIPTION=Provides access to GNAT compiler internals for AdaCore utilities
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=dev-lang/gnat-gpl:7.3.1
-REQUIRED_USE=!gnat_2016 !gnat_2017 gnat_2018
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a6b -> gnat_util-gpl-2018-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=81ed94a7480b878fce9ff21ac682cfee
diff --git a/dev-ada/gnat_util/Manifest b/dev-ada/gnat_util/Manifest
new file mode 100644
index 000000000000..a794df771b59
--- /dev/null
+++ b/dev-ada/gnat_util/Manifest
@@ -0,0 +1,9 @@
+AUX gnat_util-2016-gentoo.patch 3197 BLAKE2B e5a15c5becd1882fa7649c7b18d628dd38c7c7c621e34152110b20b658464ca98fcdffaa9ee90224f7d828f7e935d090f47cb446ceb6f898fac76cac6ce19cf4 SHA512 599d3c2cb1d22513c9ef2200d100a80b55d2efe8d8bf7b541cfb845da2a40d1a8d24234208b92a3fcfeba305cb0157b01576d16129e3979e8869ab4b098bb9f7
+AUX gnat_util-2017-gentoo.patch 2840 BLAKE2B 95e39f8c054cefb2ddc879e44b9e11e49fa91bb3e521440e25ca050e276d3ff067f0d407be29826f550d960cc729f3adabb7d81134906af39c1fb0ce668edec3 SHA512 6fb7c9fd3ac282fd0571aec55acfcafc5a72e8814dd9c158751f36f6bab29d682da9b6e89eca774f424831c2985776b07f6749c97bff4ee1baa423a9ed142846
+DIST gnat_util-gpl-2016-src.tar.gz 1126296 BLAKE2B e1e7c2628b6a012ca3ad5809d4ea785a9fa68ed5e7f67a80475ece80161f53d611eb9a383591167d30f2a1125de48299123cc0c0b4807b6bcb4bca197bda78ed SHA512 1edb67e762637e9e951356c7be402d7b2b903a05abdc93eadaf5ba98bc7bfa936b4fa2a2ae7eb986200dec755020e53d312d42769512fba2e290099f6030bbd0
+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
+EBUILD gnat_util-2016.ebuild 1477 BLAKE2B 2b9e5cc94fee078cf11c870198668ef563507bfbeecc8da8553967e2a261685fa8affa89a56ba85a9522c894c263040eacfce0790fb5e11a89b4a3c9a70cf683 SHA512 b314664a35c77809172a8ac8fb6d07e565d98877ce9847b082d5386aff279cd87527b199881e84795254e68cde6fcd06f69ace8a3dcb016bc614def523f60957
+EBUILD gnat_util-2017.ebuild 1404 BLAKE2B 7f66ffa00fd9cfc9d4af3e0bafc945582f720d134b9b56ac2939cd9e05423dd944103d1004b7b7bab93a499d40ae7922cd93084f531ab79f5bedd39407b8fac4 SHA512 4c056592777aeaab9f908ee39c6d1f27be12900b73626db628225b4ca6575c3821d51239f75ee15f931dc41a1c55ccef4a772c58a3c96022a4fdd196fcf57c6c
+EBUILD gnat_util-2018.ebuild 1383 BLAKE2B 4d0dc5cf21c7c4505197f7fb564b51adcf06f852b79119ba363483e7561dc8fe75b53385ca3a4f4bafc4e1f9693bac140ace09b567e5454a1c58f86d8a759417 SHA512 d83632a99afb02d389d80da648dcd56bf78b40dafa35e0583ae2ef57024d60fafca94fd31a1da549db2ed15db5022d6c33dabe09cbc5339f4a9840bb9685dd4f
+MISC metadata.xml 1157 BLAKE2B e747ed9b4c63bd802debbc784ca3aed291382259989a1ca3c5622a8058e407df3133d05635ba7442038dd78d5627bb37a9f16af278aa9bb490244884532a00c2 SHA512 b7dad53debfedd16f6192d7632557b4a65580bae8a47bef0d6138958b91ac329c96e629713c3274707a70846f332834081755fbb77c12842e75da966a39ec6ad
diff --git a/dev-ada/gnat_util/files/gnat_util-2016-gentoo.patch b/dev-ada/gnat_util/files/gnat_util-2016-gentoo.patch
new file mode 100644
index 000000000000..7559894c6d00
--- /dev/null
+++ b/dev-ada/gnat_util/files/gnat_util-2016-gentoo.patch
@@ -0,0 +1,100 @@
+--- 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
+@@ -19,17 +19,26 @@
+ MKDIR=mkdir -p
+ SRC=gen_src
+
+-.PHONY: all
+-all: generate_sources
++build-static:
+ ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+- -XLIBRARY_TYPE=static -Pgnat_util -p
++ -XLIBRARY_TYPE=static -Pgnat_util -p \
++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
+-ifeq ($(ENABLE_SHARED), yes)
++build-shared:
+ ${BUILDER} -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+- -XLIBRARY_TYPE=relocatable -Pgnat_util -p
++ -XLIBRARY_TYPE=relocatable -Pgnat_util -p \
++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
+-endif
+-ifeq ($(ENABLE_PIC), yes)
++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 \
++ -cargs:ada $(ADAFLAGS) -cargs:C $(CFLAGS)
++.PHONY: all
++all: generate_sources
++ $(MAKE) build-static
++ifeq ($(ENABLE_SHARED), yes)
++ $(MAKE) build-shared
++endif
++ifeq ($(ENABLE_PIC), yes)
++ $(MAKE) build-static-pic
+ endif
+
+ .PHONY: generate_sources
+@@ -48,7 +48,7 @@
+ $(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
+
+@@ -58,8 +58,7 @@
+ --prefix=$(prefix) --project-subdir=lib/gnat gnat_util
+ endif
+
+-.PHONY: install
+-install: install-clean
++install-static:
+ ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+ -XLIBRARY_TYPE=static \
+ --prefix=$(prefix) \
+@@ -67,7 +66,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) \
+@@ -75,8 +74,7 @@
+ --lib-subdir=lib/gnat_util/relocatable \
+ --project-subdir=lib/gnat \
+ --build-var=LIBRARY_TYPE --build-name=relocatable -Pgnat_util
+-endif
+-ifeq ($(ENABLE_PIC), yes)
++install-static-pic:
+ ${INSTALLER} -p -f -m -XOS=$(OS_TYPE) -XBUILD=$(BUILD_TYPE) \
+ -XLIBRARY_TYPE=static-pic \
+ --prefix=$(prefix) \
+@@ -84,6 +82,14 @@
+ --lib-subdir=lib/gnat_util/static-pic \
+ --project-subdir=lib/gnat \
+ --build-var=LIBRARY_TYPE --build-name=static-pic -Pgnat_util
++.PHONY: install
++install: install-clean
++ $(MAKE) install-static
++ifeq ($(ENABLE_SHARED), yes)
++ $(MAKE) install-shared
++endif
++ifeq ($(ENABLE_PIC), yes)
++ $(MAKE) install-static-pic
+ endif
+
+ .PHONY: clean
+--- gnat_util-gpl-2016-src/gnat_util.gpr.old 2017-02-09 22:15:27.153827164 +0100
++++ gnat_util-gpl-2016-src/gnat_util.gpr 2017-02-09 22:15:38.307627480 +0100
+@@ -31,6 +31,7 @@
+ for Default_Switches ("Ada") use ("-O0", "-gnato", "-g", "-gnata");
+ for Default_Switches ("C") use ("-g");
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Builder is
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..50f74d3a1381
--- /dev/null
+++ b/dev-ada/gnat_util/files/gnat_util-2017-gentoo.patch
@@ -0,0 +1,80 @@
+--- 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) \
+--- gnat_util-gpl-2016-src/gnat_util.gpr.old 2017-02-09 22:15:27.153827164 +0100
++++ gnat_util-gpl-2016-src/gnat_util.gpr 2017-02-09 22:15:38.307627480 +0100
+@@ -31,6 +31,7 @@
+ for Default_Switches ("Ada") use ("-O0", "-gnato", "-g", "-gnata");
+ for Default_Switches ("C") use ("-g");
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Builder is
diff --git a/dev-ada/gnat_util/gnat_util-2016.ebuild b/dev-ada/gnat_util/gnat_util-2016.ebuild
new file mode 100644
index 000000000000..e9a5d9effb9d
--- /dev/null
+++ b/dev-ada/gnat_util/gnat_util-2016.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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/57399637c7a447658e0affa6
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+gnat_2016 gnat_2017 +shared static-libs static-pic"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
+ emake GNATMAKE="${GNATMAKE} ${ADAFLAGS}" \
+ BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
+ if use static-libs; then
+ emake CC="${GCC}" BUILDER="gprbuild -v -j$(makeopts_jobs)" build-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake CC="${GCC}" 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-2017.ebuild b/dev-ada/gnat_util/gnat_util-2017.ebuild
new file mode 100644
index 000000000000..28c0e6ebb868
--- /dev/null
+++ b/dev-ada/gnat_util/gnat_util-2017.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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="gnat_2016 +gnat_2017 +shared static-libs static-pic"
+
+RDEPEND="dev-lang/gnat-gpl:6.3.0"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2017]"
+REQUIRED_USE="!gnat_2016 gnat_2017"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
+ emake GNATMAKE="${GNATMAKE} ${ADAFLAGS}" \
+ BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
+ if use static-libs; then
+ emake CC="${GCC}" BUILDER="gprbuild -v -j$(makeopts_jobs)" build-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake CC="${GCC}" 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.ebuild b/dev-ada/gnat_util/gnat_util-2018.ebuild
new file mode 100644
index 000000000000..a60bab1f3254
--- /dev/null
+++ b/dev-ada/gnat_util/gnat_util-2018.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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="gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic"
+
+RDEPEND="dev-lang/gnat-gpl:7.3.1"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2018]"
+REQUIRED_USE="!gnat_2016 !gnat_2017 gnat_2018"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
+
+src_compile() {
+ GCC_PV=7.3.1
+ GCC=${CHOST}-gcc-${GCC_PV}
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
+ emake GNATMAKE="${GNATMAKE} ${ADAFLAGS}" \
+ BUILDER="gprbuild -j$(makeopts_jobs)" generate_sources
+ if use static-libs; then
+ emake CC="${GCC}" BUILDER="gprbuild -v -j$(makeopts_jobs)" build-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake CC="${GCC}" 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..fb8adc913f1c
--- /dev/null
+++ b/dev-ada/gnat_util/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/gnatcoll-2016 b/dev-ada/gnatcoll-2016
deleted file mode 100644
index 55896a5cadb6..000000000000
--- a/dev-ada/gnatcoll-2016
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] gmp? ( dev-libs/gmp:* ) gtk? ( dev-ada/gtkada[gnat_2016=,gnat_2017=,shared?,static-libs?] dev-libs/atk dev-libs/glib x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+:3 x11-libs/pango ) pygobject? ( dev-python/pygobject:3[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) postgres? ( dev-db/postgresql:* ) sqlite? ( dev-db/sqlite ) projects? ( =dev-ada/libgpr-2016[gnat_2016=,gnat_2017=,shared?,static-libs?] dev-ada/xmlada[shared?,static-libs?] ) dev-ada/gprbuild[gnat_2016=,gnat_2017=] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=GNAT Component Collection
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=gmp +gnat_2016 gnat_2017 gtk iconv postgres pygobject projects readline +shared sqlite static-libs syslog tools python_targets_python2_7
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] gmp? ( dev-libs/gmp:* ) gtk? ( dev-ada/gtkada[gnat_2016=,gnat_2017=,shared?,static-libs?] dev-libs/atk dev-libs/glib x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+:3 x11-libs/pango ) pygobject? ( dev-python/pygobject:3[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) postgres? ( dev-db/postgresql:* ) sqlite? ( dev-db/sqlite ) projects? ( =dev-ada/libgpr-2016[gnat_2016=,gnat_2017=,shared?,static-libs?] dev-ada/xmlada[shared?,static-libs?] )
-REQUIRED_USE=python_targets_python2_7 tools? ( static-libs ) pygobject? ( gtk ) ^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5739942ac7a447658d00e1e7 -> gnatcoll-gpl-2016-src.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=a9a17c07118a1febc9e0150bc4757c8c
diff --git a/dev-ada/gnatcoll-2017 b/dev-ada/gnatcoll-2017
deleted file mode 100644
index 71b9b1579340..000000000000
--- a/dev-ada/gnatcoll-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=dev-lang/gnat-gpl:6.3.0 python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] gmp? ( dev-libs/gmp:* ) gtk? ( dev-ada/gtkada[gnat_2017,shared?,static-libs?] dev-libs/atk dev-libs/glib x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+:3 x11-libs/pango ) pygobject? ( dev-python/pygobject:3[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) postgres? ( dev-db/postgresql:* ) sqlite? ( dev-db/sqlite ) projects? ( =dev-ada/libgpr-2017*[gnat_2017,shared?,static-libs?] dev-ada/xmlada[shared?,static-libs?] ) dev-ada/gprbuild[gnat_2017] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=GNAT Component Collection
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=gmp gnat_2016 +gnat_2017 gtk iconv postgres pygobject projects readline +shared sqlite static-libs syslog tools python_targets_python2_7
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=dev-lang/gnat-gpl:6.3.0 python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] gmp? ( dev-libs/gmp:* ) gtk? ( dev-ada/gtkada[gnat_2017,shared?,static-libs?] dev-libs/atk dev-libs/glib x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+:3 x11-libs/pango ) pygobject? ( dev-python/pygobject:3[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) postgres? ( dev-db/postgresql:* ) sqlite? ( dev-db/sqlite ) projects? ( =dev-ada/libgpr-2017*[gnat_2017,shared?,static-libs?] dev-ada/xmlada[shared?,static-libs?] )
-REQUIRED_USE=python_targets_python2_7 tools? ( static-libs ) pygobject? ( gtk ) !gnat_2016 gnat_2017
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed016 -> gnatcoll-gpl-2017-src.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=1733663956178296ad0ffcaf813d8807
diff --git a/dev-ada/gnatcoll-bindings-2018 b/dev-ada/gnatcoll-bindings-2018
deleted file mode 100644
index 66eb7961eea5..000000000000
--- a/dev-ada/gnatcoll-bindings-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install setup
-DEPEND=python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/gnatcoll-core[shared?,static-libs?,static-pic?] gmp? ( dev-libs/gmp:* ) dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]
-DESCRIPTION=GNAT Component Collection
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=gnat_2016 gnat_2017 +gnat_2018 gmp iconv python readline +shared static-libs static-pic syslog python_targets_python2_7
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=python? ( python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] ) dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/gnatcoll-core[shared?,static-libs?,static-pic?] gmp? ( dev-libs/gmp:* )
-REQUIRED_USE=python? ( python_targets_python2_7 ) !gnat_2016
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0ce9cfc7a4475261f97ca5 -> gnatcoll-bindings-gpl-2018-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=28f9225db6e5009df69a5c2c10ffedcb
diff --git a/dev-ada/gnatcoll-bindings/Manifest b/dev-ada/gnatcoll-bindings/Manifest
new file mode 100644
index 000000000000..8e3b8ef0c2b5
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/Manifest
@@ -0,0 +1,4 @@
+AUX gnatcoll-bindings-2018-gentoo.patch 395 BLAKE2B 2815a837cf68eb545c35d46d70b24fab8664580457f1525784c83519918984e225bde66a93c336f88f87ac0d6436229f350fa3b6e2d2f7bf2c37dd3bc55aa771 SHA512 e6511dac4d89c8751a0806495459de9d691a2136010ad4e6be31413a86659e286a6abcb53340dc22df2714eec925f26b7b222e63bd292e9689baa50a9a205d0c
+DIST gnatcoll-bindings-gpl-2018-src.tar.gz 100068 BLAKE2B 7e5fe106d421d853135ddaea04b7bf2b306e7d0f054379b4c66b58844ac73270d7c82de549e9440f4ecc672ed7e9df6e2b3c1fea55b67403aaa33b09c124bb9b SHA512 2d42e904ab7324d958b34b103ceb2cf7d9bf620f324578b8d3537c18bcc2b4ba73d553bbec773cde5d57979c3e68bc9eef69f97dd55a3b21e43d464881676295
+EBUILD gnatcoll-bindings-2018.ebuild 2207 BLAKE2B 0eb1b8cdf92c3d37db3bd5d6a9587319530389f2eb6f9abbf4f0a4b42009f7a180d043a401fefc355ccd32d798fb83db7ce74c5ad40f13e70ed46f7b7f54f5dc SHA512 3dfaa068b84de81873cbfa4232bae4070d020c42aa9863785b5630ee3e618cbcbcd1083e668f0a967d6b2cc3d3f7ebe65dbaa6fef478beeea8cd593fb7a96308
+MISC metadata.xml 1317 BLAKE2B 99ea5cb11a8d16c2cde5c902f68f515b2a337d2753453405f2747c72e1d15ba597991ed2bc8d842d1ff127be653d9e59c9e18eec8e034bd5a3bb3726a8ed35a2 SHA512 833bd43bb77645561af5df8ebe904e1b2354ca4be7915aa0fdbe6f6986b116cb8850d91d36bfb1bfd520e037ce93eb206b86488939840e2f64e714f5c1daa083
diff --git a/dev-ada/gnatcoll-bindings/files/gnatcoll-bindings-2018-gentoo.patch b/dev-ada/gnatcoll-bindings/files/gnatcoll-bindings-2018-gentoo.patch
new file mode 100644
index 000000000000..9f37fea65eb9
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/files/gnatcoll-bindings-2018-gentoo.patch
@@ -0,0 +1,11 @@
+--- a/gmp/gnatcoll_gmp.gpr 2018-06-18 21:48:15.289991113 +0200
++++ b/gmp/gnatcoll_gmp.gpr 2018-06-18 21:48:46.869507399 +0200
+@@ -65,7 +65,7 @@
+ for Switches ("Ada") use ("-O2", "-gnatn", "-gnatwaCJ");
+ for Switches ("C") use ("-O2", "-Wunreachable-code");
+ end case;
+-
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Binder is
diff --git a/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2018.ebuild b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2018.ebuild
new file mode 100644
index 000000000000..8c6d81608c04
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-2018.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit multilib multiprocessing python-single-r1
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0ce9cfc7a4475261f97ca5
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018 gmp iconv python readline +shared
+ static-libs static-pic syslog"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )
+ dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=]
+ dev-ada/gnatcoll-core[shared?,static-libs?,static-pic?]
+ gmp? ( dev-libs/gmp:* )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} ) !gnat_2016"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ if use gnat_2017; then
+ GCC_VER=6.3.0
+ else
+ GCC_VER=7.3.1
+ fi
+ build () {
+ GCC=${CHOST}-gcc-${GCC_VER} gprbuild -j$(makeopts_jobs) -m -p -v \
+ -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 \
+ -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..2c51f48ee668
--- /dev/null
+++ b/dev-ada/gnatcoll-bindings/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/gnatcoll-core-2018 b/dev-ada/gnatcoll-core-2018
deleted file mode 100644
index 67e4f00475b9..000000000000
--- a/dev-ada/gnatcoll-core-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=dev-ada/libgpr[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/libgpr[shared?,static-libs?,static-pic?] !dev-ada/gnatcoll dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]
-DESCRIPTION=GNAT Component Collection Core packages
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/libgpr[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/libgpr[shared?,static-libs?,static-pic?] !dev-ada/gnatcoll
-REQUIRED_USE=!gnat_2016
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a99 -> gnatcoll-core-gpl-2018-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=3d9979ca3784a8438f05eb807b13738a
diff --git a/dev-ada/gnatcoll-core/Manifest b/dev-ada/gnatcoll-core/Manifest
new file mode 100644
index 000000000000..66dea9241c31
--- /dev/null
+++ b/dev-ada/gnatcoll-core/Manifest
@@ -0,0 +1,4 @@
+AUX gnatcoll-core-2018-gentoo.patch 861 BLAKE2B 3bf6c4310fb02c20b780d7382fd8465774354c6132a0cc413d683fa2a2bdc8b0cc3dde2e7ca99dac8d00a231b002345d3be01e68da5c876f5d34c2f601ffc5c5 SHA512 4f211b71d5da88983d0c111aafc48c12c9486dec854e903f4ad352d61a48c097994aaf5679c42fb8f74a35c35d73ef6c33e814bf6ea391538ab4e3b5d1253368
+DIST gnatcoll-core-gpl-2018-src.tar.gz 1657129 BLAKE2B 616aef931fb542f4a022c63db53acb0f8b4323e3b948eb7b8b5688c36817b3f52b5f517b969b0560b6492d51a3e59c8350449cbbe7246b5294c45caeead4d9d6 SHA512 bf6082573dc537836ea8506a2c9a75dc7837440c35c5b02a52add52e38290d99e90a9706690591f8899b8b4935824b195f230b3aa1c4da10911e3caf954c04ac
+EBUILD gnatcoll-core-2018.ebuild 1675 BLAKE2B 913974fecd9ede02d75193a2fe577a078ad771d53cf04f987ef4b6d036f79d9296e382b44bab0ae8d546b78996a16b4c75d3f42a04516babc2c1b7f5ddc7776a SHA512 422c0ceff9792bf92af4746b108e40f39427bc2904ffcda4df3449a6aa5bffd2e049fb7d84666f68716824566a87e3b990a74233e330bc378fac44ddebd25ba6
+MISC metadata.xml 1331 BLAKE2B 0227dacfedf39550b497596c95191f5c8524b9aaaaa19dbab296f4e34fe3ff3ea32f4f92a40c16194204661229986ad90a527131d4bb97decf1b6bd59b911884 SHA512 008d3836de7baa71b8d3655e3e7834d68a7ec304345bfda8a715416e46fa5255185336f84f6b75dbf7a85d24afebd0fdb85131b52ce7c655635e09b42bc1907e
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..cedf710c0363
--- /dev/null
+++ b/dev-ada/gnatcoll-core/files/gnatcoll-core-2018-gentoo.patch
@@ -0,0 +1,22 @@
+--- a/gnatcoll.gpr 2018-06-12 21:37:42.664733336 +0200
++++ b/gnatcoll.gpr 2018-06-12 21:38:07.965360000 +0200
+@@ -115,6 +115,7 @@
+
+ for Switches ("gnatcoll_support.c") use
+ Compiler'Switches ("C") & Extra_Switches;
++ for Driver ("C") use External ("GCC", "gcc");
+
+ end Compiler;
+
+--- 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-2018.ebuild b/dev-ada/gnatcoll-core/gnatcoll-core-2018.ebuild
new file mode 100644
index 000000000000..88fa2a1f45ac
--- /dev/null
+++ b/dev-ada/gnatcoll-core/gnatcoll-core-2018.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="GNAT Component Collection Core packages"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a99
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic"
+
+RDEPEND="
+ dev-ada/libgpr[gnat_2016=,gnat_2017=,gnat_2018=]
+ dev-ada/libgpr[shared?,static-libs?,static-pic?]
+ !dev-ada/gnatcoll"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]"
+
+REQUIRED_USE="!gnat_2016"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ if use gnat_2017; then
+ GCC_PV=6.3.0
+ else
+ GCC_PV=7.3.1
+ fi
+ default
+ sed -i \
+ -e "s:@GNATLS@:${CHOST}-gnatls-${GCC_PV}:g" \
+ src/gnatcoll-projects.ads \
+ || die
+}
+
+src_configure() {
+ emake prefix="${D}usr" PROCESSORS=$(makeopts_jobs) setup
+}
+
+src_compile() {
+ build () {
+ GCC=${CHOST}-gcc-${GCC_PV} 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..294071cbcd12
--- /dev/null
+++ b/dev-ada/gnatcoll-core/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/gnatcoll-db-2018 b/dev-ada/gnatcoll-db-2018
deleted file mode 100644
index 4c196075dee7..000000000000
--- a/dev-ada/gnatcoll-db-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install setup
-DEPEND=dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/gnatcoll-core[shared?,static-libs?,static-pic?] sqlite? ( dev-db/sqlite:3 ) postgres? ( dev-db/postgresql:* ) xref? ( dev-ada/gnatcoll-bindings[iconv,shared?,static-libs?,static-pic?] dev-ada/gnatcoll-bindings[gnat_2016=,gnat_2017=,gnat_2018=] ) dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=GNAT Component Collection
-EAPI=6
-HOMEPAGE=http://libre.adacore.com
-IUSE=gnat_2016 gnat_2017 +gnat_2018 gnatcoll_db2ada gnatinspect postgres +shared sql sqlite static-libs static-pic xref python_targets_python2_7
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/gnatcoll-core[shared?,static-libs?,static-pic?] sqlite? ( dev-db/sqlite:3 ) postgres? ( dev-db/postgresql:* ) xref? ( dev-ada/gnatcoll-bindings[iconv,shared?,static-libs?,static-pic?] dev-ada/gnatcoll-bindings[gnat_2016=,gnat_2017=,gnat_2018=] )
-REQUIRED_USE=!gnat_2016 sqlite? ( sql ) xref? ( sqlite ) gnatinspect? ( xref ) gnatcoll_db2ada? ( sql )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0ce9cbc7a4475263382be6 -> gnatcoll-db-gpl-2018-src.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=d20f5acfc313f84943e61f83793da19b
diff --git a/dev-ada/gnatcoll-db/Manifest b/dev-ada/gnatcoll-db/Manifest
new file mode 100644
index 000000000000..858df244106f
--- /dev/null
+++ b/dev-ada/gnatcoll-db/Manifest
@@ -0,0 +1,4 @@
+AUX gnatcoll-db-2018-gentoo.patch 785 BLAKE2B 9136909b36568f624271e3244847702df3b53a86675e819989f32da258ace77d6b96e4a11cd8881a04f4348c44ec287274256909af8e94be3a0d9d95bffa4b9f SHA512 036434974dd482f6945beb23ab857961d6a92feb37b91bbe6f0cad74a1ebec81332cd7df872050720c52c784d6d0cbf9f0d856b832d940e156327093bdacba4d
+DIST gnatcoll-db-gpl-2018-src.tar.gz 2375712 BLAKE2B d5678bdc0993b67d93bdd4cb33ee3ecba15f7cdeead173caaaa08312103505d97099037215a3b0699296aadfa0ef68327f28e01c6229db1fefc5b7d7ebf93187 SHA512 02c967b5951ef0e17e58874e03c9a6252f9c4b28100c9530fb88212e91bc692545f3acc8623477942db220bd54d56b494150b088d05c40f6a24aad8cf6a8f8de
+EBUILD gnatcoll-db-2018.ebuild 2702 BLAKE2B 45c35b10be332432f876d556939e6a26536182fe8a38883e71b40891c3d98d9058d09c039c9481e572e1e6fcda4fe270d358c8b7349336d3dc63c1405fa3b5e5 SHA512 55466619a1942dda47b987e79c92aecd5e880e25671cf2ef3a0fd051b154f81dbd5875aa17f2424d1fd56c26a56d1d113114141f3caedb1861575f335e15a7ac
+MISC metadata.xml 1519 BLAKE2B 93aa938ca272fb984d08a0471ff339204d0afc854f9fddc4c1f0e060650263c36166e1de91453bdfd52bc0d53844c7042c6f5b14d955b72ab042e6dffadaf4f4 SHA512 27cf0aa52080186fd7970dc02f31eb861ee20edc08366926ea29ec0a826d10c92d80eea840a403fe9be1ccf0be33aaf866f94fe66d351926ffb30104ce143e88
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..e6d5119aed4e
--- /dev/null
+++ b/dev-ada/gnatcoll-db/files/gnatcoll-db-2018-gentoo.patch
@@ -0,0 +1,21 @@
+--- 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 := ();
+
+--- a/postgres/gnatcoll_postgres.gpr 2018-06-24 16:39:56.345322365 +0200
++++ b/postgres/gnatcoll_postgres.gpr 2018-06-24 16:40:30.737772583 +0200
+@@ -81,6 +81,7 @@
+ for Switches ("Ada") use ("-O2", "-gnatn", "-gnatwaCJ");
+ for Switches ("C") use ("-O2", "-Wunreachable-code") & PQP_Flag;
+ end case;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Binder is
diff --git a/dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild b/dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild
new file mode 100644
index 000000000000..a9b22807ce10
--- /dev/null
+++ b/dev-ada/gnatcoll-db/gnatcoll-db-2018.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit multilib multiprocessing autotools python-single-r1
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0ce9cbc7a4475263382be6
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018 gnatcoll_db2ada gnatinspect postgres
+ +shared sql sqlite static-libs static-pic xref"
+
+RDEPEND="dev-ada/gnatcoll-core[gnat_2016=,gnat_2017=,gnat_2018=]
+ dev-ada/gnatcoll-core[shared?,static-libs?,static-pic?]
+ sqlite? ( dev-db/sqlite:3 )
+ postgres? ( dev-db/postgresql:* )
+ xref? (
+ dev-ada/gnatcoll-bindings[iconv,shared?,static-libs?,static-pic?]
+ dev-ada/gnatcoll-bindings[gnat_2016=,gnat_2017=,gnat_2018=]
+ )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]"
+
+REQUIRED_USE="!gnat_2016
+ sqlite? ( sql )
+ xref? ( sqlite )
+ gnatinspect? ( xref )
+ gnatcoll_db2ada? ( sql )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ GCC_PV=7.3.1
+ build () {
+ GCC=${CHOST}-gcc-${GCC_PV} \
+ 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"
+ }
+ 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
+ preflib=relocatable
+ elif use static-libs; then
+ preflib=static
+ else
+ preflib=static-pic
+ fi
+ for dir in gnatinspect gnatcoll_db2ada ; do
+ if use $dir; then
+ build $dir $lib ${dir}
+ fi
+ done
+}
+
+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
+ }
+ 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
+ for dir in gnatinspect gnatcoll_db2ada ; do
+ if use $dir; then
+ build $dir $lib ${dir}
+ fi
+ done
+ rm -r "${D}"/usr/share/gpr/manifests || die
+ einstalldocs
+}
diff --git a/dev-ada/gnatcoll-db/metadata.xml b/dev-ada/gnatcoll-db/metadata.xml
new file mode 100644
index 000000000000..4a18c9113ff2
--- /dev/null
+++ b/dev-ada/gnatcoll-db/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <flag name="gnatcoll_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>
+</pkgmetadata>
diff --git a/dev-ada/gnatcoll/Manifest b/dev-ada/gnatcoll/Manifest
new file mode 100644
index 000000000000..829505901c9a
--- /dev/null
+++ b/dev-ada/gnatcoll/Manifest
@@ -0,0 +1,7 @@
+AUX gnatcoll-2016-gentoo.patch 14137 BLAKE2B 9e3c7086a4ecce79dbb7d2c21f5d97b46bf30c7665b416c0266ed59610886192b2931dde20b3ed605bdcfd5587125755acc229a1739ace97e1a6138a9a30710c SHA512 641da348023eedb141e555148056e591af09ef31954178c128a4627bff80777e3e274663bdc4ea712afc10cd902efb186a0bba9b03b7f67f6655944af83ff8d0
+AUX gnatcoll-2017-gentoo.patch 10577 BLAKE2B 02d129052b0b10429ce8e003b0a0759a547884f92d67b0018170f8d2e8719cf22da1f277f9568673006e8f7abdb4759ec37626e3b4260d343f5560e479f0c729 SHA512 bf61075b9ce327b37d01f36d8fcb38f6f2e197167abb02a1dee9a96d456a710c986ed079a40e07edceb280281f8c8465315f09e5a0e3b880f3db44371ae3efef
+DIST gnatcoll-gpl-2016-src.tar.gz 5687584 BLAKE2B 0ff5489f3e02ceeb44292f0d13907959884a55ec8f00fcadb21ee4e8a07f863a3bae3c7ae18d3fc669895a76b5f8f495699d31af71940a5abd32b156ad5fe247 SHA512 8cf06e7c5d58d3b159855534791e7969882e04856ba9d03982a63dcfc630f5b5910c6cad57fec9b00c3d04008b0cb0a1fb238e349766348fa4548868238ede8a
+DIST gnatcoll-gpl-2017-src.tar.gz 5785988 BLAKE2B 828aff797f7d992bf3f5dda7f8ce8a79e97ecd98253a657fb6e79a2fd08aac97e19cb421f47010f8c1f26442a013b9126ab3a95353d9ce0f29d071601e9dfe2f SHA512 e8b7f2c00816597f33496168bf8928841a2037e517908810761849e23633b2c229d47e4bfaa808e5a619da52bc165f17b8aefa5dee39ecf1a6773b3b1db80363
+EBUILD gnatcoll-2016.ebuild 3054 BLAKE2B 7a0bbdff620eba5c2fa4d5741bc16af0e0a041350480740f6c3f3950f853f62ccf1373c11c98d21a290fbcb6b767713fbcb360ec8f59cdb634d1b791f8644284 SHA512 0d86e9b77320282b2c3044bda968465abc1157e114c113ae891776aa0f480c62158f2d7ad94cee2b77b570a4c89440d5b7863c18403886b9b509d88d80652f25
+EBUILD gnatcoll-2017.ebuild 3182 BLAKE2B 7bed5c75933d402a26f62f83922df50ab786980ce80059abf833f0ceab9f9e421c257a84ef5f9c5cafc506b22e7c29d2f158d20c1653e3c72a1286668025cec4 SHA512 a1a8fb749a8df6276b33c19063ea9e5d59543e8abf1fea7ec32725ba00166aed1d11ddb77b9d5322a05da6522c45cba6730602b1902c5ebdf79cd05467c6e682
+MISC metadata.xml 1362 BLAKE2B 0660675cc1821ffb20a9a80bce768db18252bf049f6f52cf3389a7681cc4a31b040350008e6477a2259c8faba5689525586cd35cdf4bcb9df298941021c5a0bd SHA512 64620ff6da6c812968ac057a3724b9733d4d14e1cacd654bf750efe33f64910ae74da07bbca0d6996f58405c083636e574f1b93958d0fe4447e1896ded2b3940
diff --git a/dev-ada/gnatcoll/files/gnatcoll-2016-gentoo.patch b/dev-ada/gnatcoll/files/gnatcoll-2016-gentoo.patch
new file mode 100644
index 000000000000..1a1d4d14eec2
--- /dev/null
+++ b/dev-ada/gnatcoll/files/gnatcoll-2016-gentoo.patch
@@ -0,0 +1,333 @@
+--- gnatcoll-gpl-2016-src/Makefile.old 2017-01-20 19:39:07.131398270 +0100
++++ gnatcoll-gpl-2016-src/Makefile 2017-01-20 19:42:30.088728844 +0100
+@@ -34,19 +36,19 @@
+ @${RM} src/gnatcoll-atomic.adb
+
+ @echo "====== Building $(@F) libraries ======"
+- ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full
++ ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full -cargs ${ADAFLAGS}
+
+ @# Need to build libgnatcoll_gtk separately, because its project files
+ @# requires gtkada.gpr, which might not exist on the machine.
+ ifeq (${WITH_GTK},yes)
+- ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk
++ ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk -cargs ${ADAFLAGS}
+ endif
+
+ @# Build the tools (the list is the project\'s Main attribute)
+ @# They are not build as part of the above because only the Main from
+ @# gnatcoll_full.gpr are build. We could use aggregate projects to
+ @# speed things up.
+- ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools
++ ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools -cargs ${ADAFLAGS}
+
+ #######################################################################
+ # install
+--- gnatcoll-gpl-2015-src/src/gnatcoll_gmp.gpr.in.old 2017-01-07 08:52:14.921110195 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_gmp.gpr.in 2017-01-07 08:55:35.718946607 +0100
+@@ -24,6 +24,7 @@
+
+ package Compiler is
+ for Switches ("Ada") use Gnatcoll_Shared.Compiler'Switches ("Ada");
++ for Driver ("C") use External ("CC", "gcc");
+ for Switches ("C") use Gnatcoll_Shared.Compiler'Switches ("C")
+ & (@GMP_CFLAGS_GPR@);
+ end Compiler;
+--- gnatcoll-gpl-2015-src/src/gnatcoll_iconv.gpr.old 2017-01-07 08:58:01.361112843 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_iconv.gpr 2017-01-07 08:58:23.653687385 +0100
+@@ -26,6 +26,7 @@
+
+ package Compiler is
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
++ for Driver ("C") use External ("CC", "gcc");
+ for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C")
+ & GnatColl_Shared.Iconv_Include;
+ end Compiler;
+--- gnatcoll-gpl-2015-src/src/gnatcoll_sqlite.gpr.old 2017-01-07 09:00:17.146448202 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_sqlite.gpr 2017-01-07 09:00:44.884885281 +0100
+@@ -60,8 +60,9 @@
+
+ -- force full optimization for sqlite, we do not debug it
+ -- in any case.
+- "-O3") & Gnatcoll_Shared.Sqlite_Switches;
++ "-O3", "-fPIC") & Gnatcoll_Shared.Sqlite_Switches;
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2015-src/src/gnatcoll_postgres.gpr.old 2017-01-07 09:05:09.177756146 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_postgres.gpr 2017-01-07 09:05:34.282279733 +0100
+@@ -38,6 +38,7 @@
+ for Switches ("C") use
+ GnatColl_Shared.Compiler'Switches ("C");
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2015-src/src/gnatcoll_python.gpr.in.old 2017-01-07 09:12:30.490399897 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_python.gpr.in 2017-01-07 09:12:53.111976591 +0100
+@@ -30,7 +30,8 @@
+ GnatColl_Shared.Compiler'Switches ("Ada");
+
+ for Switches ("C") use
+- ("-g", "-O2") & GnatColl_Shared.Python_Cflags;
++ ("-g", "-O2", "-fPIC") & GnatColl_Shared.Python_Cflags;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2016-src/gnatcoll_shared.gpr.in.old 2017-01-20 19:50:03.222808656 +0100
++++ gnatcoll-gpl-2016-src/gnatcoll_shared.gpr.in 2017-01-20 19:50:28.200399274 +0100
+@@ -13,7 +13,7 @@
+
+ type Yes_No is ("yes", "no");
+ Gtk : Yes_No := External ("GTK", "@WITH_GTK@");
+- Python : Yes_No := External ("PYTHON", "@WITH_PYTHON@");
++ Python : Yes_No := "@WITH_PYTHON@";
+ Syslog : Yes_No := External ("SYSLOG", "@WITH_SYSLOG@");
+ Postgres : Yes_No := External ("POSTGRES", "@WITH_POSTGRES@");
+ type Sqlite_Inclusion is ("yes", "no", "embedded");
+@@ -67,7 +67,7 @@
+
+ when "Production" =>
+ for Switches ("Ada") use ("-O2", "-gnatn", "-gnatws");
+- for Switches ("C") use ("-O2", "-Wunreachable-code");
++ for Switches ("C") use ("-O2", "-Wunreachable-code", "-fPIC");
+ end case;
+
+ case Syslog is
+--- gnatcoll-gpl-2016-src/src/gnatcoll_gtk.gpr.in.old 2017-01-20 19:53:16.647607400 +0100
++++ gnatcoll-gpl-2016-src/src/gnatcoll_gtk.gpr.in 2017-01-20 19:53:57.302925708 +0100
+@@ -63,11 +63,12 @@
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
+
+ for Switches ("C") use
+- ("-g", "-O2")
++ ("-g", "-O2", "-fPIC")
+ & GnatColl_Shared.Python_Cflags
+ & GnatColl_Shared.Pygtk_Include
+ & GnatColl_Shared.PyGobject_Include
+ & Gtk_Include;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2016-src/src/gnatcoll__libgpr.gpr.old 2017-02-04 15:56:11.685079607 +0100
++++ gnatcoll-gpl-2016-src/src/gnatcoll__libgpr.gpr 2017-02-04 15:57:00.383221978 +0100
+@@ -49,6 +49,8 @@
+ package Builder renames GnatColl_Shared.Builder;
+
+ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C");
+ for Switches ("sinfo.adb") use Compiler'Switches ("Ada") & ("-gnatg");
+--- gnatcoll-gpl-2016-src/src/gnatcoll__nogpr.gpr.old 2017-02-04 15:58:41.008450044 +0100
++++ gnatcoll-gpl-2016-src/src/gnatcoll__nogpr.gpr 2017-02-04 15:59:02.815066080 +0100
+@@ -64,6 +64,7 @@
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C");
+ for Switches ("sinfo.adb") use Compiler'Switches ("Ada") & ("-gnatg");
++ for Driver ("C") use External ("CC", "gcc");
+
+ case GnatColl_Shared.Atomics is
+ when "intrinsic" =>
+--- gnatcoll-gpl-2016-src/aclocal.m4.old 2017-04-06 08:25:14.796699365 +0200
++++ gnatcoll-gpl-2016-src/aclocal.m4 2017-04-06 08:25:36.622318016 +0200
+@@ -45,7 +45,7 @@
+ cat > conftest.ada <<EOF
+ [$3]
+ EOF
+- if AC_TRY_COMMAND([gnatchop -q conftest.ada && $1 $2 >/dev/null 2>conftest.out])
++ if AC_TRY_COMMAND([${GNATCHOP} -q conftest.ada && $1 $2 >/dev/null 2>conftest.out])
+ then
+ : Success
+ $4
+@@ -68,7 +68,7 @@
+ AC_DEFUN(AM_HAS_INTRINSIC_SYNC_COUNTERS,
+ [
+ AC_MSG_CHECKING([whether platform supports atomic inc/dec])
+- AM_TRY_ADA([gnatmake], [check.adb],
++ AM_TRY_ADA([${GNATMAKE}], [check.adb],
+ [
+ with Interfaces; use Interfaces;
+ procedure Check is
+--- gnatcoll-gpl-2016-src/testsuite/json/__init__.py.old 2017-04-24 17:52:34.158513249 +0200
++++ gnatcoll-gpl-2016-src/testsuite/json/__init__.py 2017-04-24 17:52:52.636207017 +0200
+@@ -21,7 +21,7 @@
+ @requires_not_aix # Storage_Error on that machine
+ @chdir("MB28-001")
+ def test_MB28_001(self):
+- self.runexec(["python", "make_json.py"])
++ self.runexec(["python2.7", "make_json.py"])
+ self.gprbuild()
+ self.runexec("json_stack_test", "test.out")
+
+--- gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c1/c.gpr.old 2017-04-24 18:00:21.652975475 +0200
++++ gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c1/c.gpr 2017-04-24 18:01:23.035983670 +0200
+@@ -15,6 +15,7 @@
+ for Default_Switches ("ada") use
+ ("-g", "-gnatQ", "-O1", "-gnatf", "-gnato", "-gnatwa.Xe", "-gnaty");
+ for Switches ("c") use ("-fdump-xref");
++ for Driver ("c") use External ("CC", "gcc");
+ end Compiler;
+
+ end c;
+--- gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c2/c.gpr.old 2017-04-24 18:01:28.394896928 +0200
++++ gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c2/c.gpr 2017-04-24 18:01:44.343638682 +0200
+@@ -15,6 +15,7 @@
+ for Default_Switches ("ada") use
+ ("-g", "-gnatQ", "-O1", "-gnatf", "-gnato", "-gnatwa.Xe", "-gnaty");
+ for Switches ("C") use ("-fdump-xref");
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ end c;
+--- gnatcoll-gpl-2016-src/testsuite/projects/__init__.py.old 2017-04-24 19:10:30.465246199 +0200
++++ gnatcoll-gpl-2016-src/testsuite/projects/__init__.py 2017-04-24 19:10:42.768035080 +0200
+@@ -105,25 +105,6 @@
+ self.gprbuild("default.gpr")
+ self.runexec("main", "")
+
+- @support.requires_not_windows
+- @chdir("N918-040")
+- def test_bareboard(self):
+- self.create_fake_bb_compiler('install', 'arm-eabi', '6.1.0w', '3.4.6')
+-
+- # Make sure auto.cgpr is not deleted on exit
+- try:
+- os.unlink('auto.cgpr')
+- except:
+- pass
+- self.gprbuild('main_prj', switches=['--autoconf=auto.cgpr'])
+- m = re.search('for Target use "(.*?)"', open('auto.cgpr').read())
+- target = m.group(1)
+-
+- def customFilter(actual):
+- return actual.replace(target, "<native>")
+-
+- self.runexec(['sh', 'test.sh'], 'test.out', customFilter=customFilter)
+-
+ @chdir("NB12-045")
+ def test_NB12_045(self):
+ # Test registering attribute in unknown package
+--- gnatcoll-gpl-2016-src/testsuite/xref/tabs/default.gpr.old 2017-04-24 20:01:55.535913959 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/tabs/default.gpr 2017-04-24 20:02:51.740950192 +0200
+@@ -1,3 +1,6 @@
+ project Default is
+ for Languages use ("Ada", "C");
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end Compiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/doc1/dummy.gpr.old 2017-04-24 20:04:12.012574064 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/doc1/dummy.gpr 2017-04-24 20:04:54.025853974 +0200
+@@ -6,4 +6,7 @@
+ for Body_Suffix ("c++") use ".cc";
+ end Naming;
+
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end Compiler;
+ end Dummy;
+--- gnatcoll-gpl-2016-src/testsuite/xref/cpp_ref3/default.gpr.old 2017-04-24 20:08:06.018564544 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/cpp_ref3/default.gpr 2017-04-24 20:08:53.682748215 +0200
+@@ -1,3 +1,7 @@
+ project Default is
+ for Languages use ("C");
++
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end Compiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/cpp_ref2/default.gpr.old 2017-04-24 20:10:00.146610101 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/cpp_ref2/default.gpr 2017-04-24 20:10:40.512919251 +0200
+@@ -1,3 +1,7 @@
+ project Default is
+ for Languages use ("C");
++
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end COmpiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/cpp_ref1/default.gpr.old 2017-04-24 20:13:28.543059408 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/cpp_ref1/default.gpr 2017-04-24 20:14:05.513430176 +0200
+@@ -1,3 +1,7 @@
+ project Default is
+ for Languages use ("C");
++
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end Compiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/cpp_expr1/default.gpr.old 2017-04-24 20:15:26.420053157 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/cpp_expr1/default.gpr 2017-04-24 20:16:12.695265558 +0200
+@@ -1,3 +1,6 @@
+ project Default is
+ for Languages use ("C");
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end Compiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/cpp_enum/dummy.gpr.old 2017-04-24 20:16:53.562570024 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/cpp_enum/dummy.gpr 2017-04-24 20:17:32.086914323 +0200
+@@ -4,4 +4,7 @@
+ for Spec_Suffix ("c++") use ".h";
+ for Body_Suffix ("c++") use ".cc";
+ end Naming;
++ package Compiler is
++ for Driver ("c") use External ("CC", "gcc");
++ end Compiler;
+ end Dummy;
+--- gnatcoll-gpl-2016-src/testsuite/xref/cpp_dbi_error/dummy.gpr.old 2017-04-24 20:18:03.688376474 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/cpp_dbi_error/dummy.gpr 2017-04-24 20:18:52.761541251 +0200
+@@ -1,3 +1,6 @@
+ project Dummy is
+ for Languages use ("c");
++ package Compiler is
++ for Driver ("c") use External ("CC", "gcc");
++ end Compiler;
+ end Dummy;
+--- gnatcoll-gpl-2016-src/testsuite/xref/L821-017-import/default.gpr.old 2017-04-24 20:19:40.401730504 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/L821-017-import/default.gpr 2017-04-24 20:22:52.303465944 +0200
+@@ -4,5 +4,6 @@
+ package Compiler is
+ for Switches ("C") use ("-fsyntax-only", "-fdump-xref");
+ for Switches ("C++") use ("-fsyntax-only", "-fdump-xref");
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/E224-007-change_obj_dir-c/default.gpr.old 2017-04-24 20:31:02.679123516 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/E224-007-change_obj_dir-c/default.gpr 2017-04-24 20:31:42.515445784 +0200
+@@ -8,4 +8,7 @@
+ when "release" => for Object_Dir use "obj1";
+ when "debug" => for Object_Dir use "obj2";
+ end case;
++ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
++ end Compiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/I401-027/default.gpr.old 2017-04-24 20:32:45.175379776 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/I401-027/default.gpr 2017-04-24 20:33:16.130853112 +0200
+@@ -7,6 +7,7 @@
+ package Compiler is
+ for Default_Switches ("Ada") use ("-gnatws");
+ for Default_Switches ("C") use ("-fdump-xref");
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ end Default;
+--- gnatcoll-gpl-2016-src/src/tools/gnatcoll_db2ada.adb.old 2017-04-24 21:36:09.193973179 +0200
++++ gnatcoll-gpl-2016-src/src/tools/gnatcoll_db2ada.adb 2017-04-24 21:36:16.029858932 +0200
+@@ -211,7 +211,7 @@
+
+ declare
+ Output : constant String := Get_Command_Output
+- (Command => "python",
++ (Command => "python2.7",
+ Arguments => Args,
+ Input => "",
+ Status => Status'Access,
diff --git a/dev-ada/gnatcoll/files/gnatcoll-2017-gentoo.patch b/dev-ada/gnatcoll/files/gnatcoll-2017-gentoo.patch
new file mode 100644
index 000000000000..ecec0b784589
--- /dev/null
+++ b/dev-ada/gnatcoll/files/gnatcoll-2017-gentoo.patch
@@ -0,0 +1,247 @@
+--- gnatcoll-gpl-2016-src/Makefile.old 2017-01-20 19:39:07.131398270 +0100
++++ gnatcoll-gpl-2016-src/Makefile 2017-01-20 19:42:30.088728844 +0100
+@@ -49,12 +49,12 @@
+ @${RM} src/gnatcoll-atomic.adb
+
+ @echo "====== Building $(@F) libraries ======"
+- ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full
++ ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full -cargs ${ADAFLAGS}
+
+ @# Need to build libgnatcoll_gtk separately, because its project files
+ @# requires gtkada.gpr, which might not exist on the machine.
+ ifeq (${WITH_GTK},yes)
+- ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk
++ ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk -cargs ${ADAFLAGS}
+ endif
+
+ build_tools/%: build_library_type/%
+@@ -63,7 +63,7 @@
+ @# They are not build as part of the above because only the Main from
+ @# gnatcoll_full.gpr are build. We could use aggregate projects to
+ @# speed things up.
+- ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools
++ ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools -cargs ${ADAFLAGS}
+
+ #######################################################################
+ # install
+--- gnatcoll-gpl-2015-src/src/gnatcoll_iconv.gpr.old 2017-01-07 08:58:01.361112843 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_iconv.gpr 2017-01-07 08:58:23.653687385 +0100
+@@ -26,6 +26,7 @@
+
+ package Compiler is
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
++ for Driver ("C") use External ("GCC", "gcc");
+ for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C")
+ & GnatColl_Shared.Iconv_Include;
+ end Compiler;
+--- gnatcoll-gpl-2015-src/src/gnatcoll_sqlite.gpr.old 2017-01-07 09:00:17.146448202 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_sqlite.gpr 2017-01-07 09:00:44.884885281 +0100
+@@ -60,8 +60,9 @@
+
+ -- force full optimization for sqlite, we do not debug it
+ -- in any case.
+ "-O3") & Gnatcoll_Shared.Sqlite_Switches;
+ end case;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2015-src/src/gnatcoll_postgres.gpr.old 2017-01-07 09:05:09.177756146 +0100
++++ gnatcoll-gpl-2015-src/src/gnatcoll_postgres.gpr 2017-01-07 09:05:34.282279733 +0100
+@@ -38,6 +38,7 @@
+ for Switches ("C") use
+ GnatColl_Shared.Compiler'Switches ("C");
+ end case;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2016-src/gnatcoll_shared.gpr.in.old 2017-01-20 19:50:03.222808656 +0100
++++ gnatcoll-gpl-2016-src/gnatcoll_shared.gpr.in 2017-01-20 19:50:28.200399274 +0100
+@@ -13,7 +13,7 @@
+
+ type Yes_No is ("yes", "no");
+ Gtk : Yes_No := External ("GTK", "@WITH_GTK@");
+- Python : Yes_No := External ("PYTHON", "@WITH_PYTHON@");
++ Python : Yes_No := "@WITH_PYTHON@";
+ Syslog : Yes_No := External ("SYSLOG", "@WITH_SYSLOG@");
+ Postgres : Yes_No := External ("POSTGRES", "@WITH_POSTGRES@");
+ type Sqlite_Inclusion is ("yes", "no", "embedded");
+--- gnatcoll-gpl-2016-src/src/gnatcoll__libgpr.gpr.old 2017-02-04 15:56:11.685079607 +0100
++++ gnatcoll-gpl-2016-src/src/gnatcoll__libgpr.gpr 2017-02-04 15:57:00.383221978 +0100
+@@ -49,6 +49,8 @@
+ package Builder renames GnatColl_Shared.Builder;
+
+ package Compiler is
++ for Driver ("C") use External ("GCC", "gcc");
++
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C");
+ for Switches ("sinfo.adb") use Compiler'Switches ("Ada") & ("-gnatg");
+--- gnatcoll-gpl-2016-src/src/gnatcoll__nogpr.gpr.old 2017-02-04 15:58:41.008450044 +0100
++++ gnatcoll-gpl-2016-src/src/gnatcoll__nogpr.gpr 2017-02-04 15:59:02.815066080 +0100
+@@ -64,6 +64,7 @@
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use GnatColl_Shared.Compiler'Switches ("C");
+ for Switches ("sinfo.adb") use Compiler'Switches ("Ada") & ("-gnatg");
++ for Driver ("C") use External ("GCC", "gcc");
+
+ case GnatColl_Shared.Atomics is
+ when "intrinsic" =>
+--- gnatcoll-gpl-2016-src/aclocal.m4.old 2017-04-06 08:25:14.796699365 +0200
++++ gnatcoll-gpl-2016-src/aclocal.m4 2017-04-06 08:25:36.622318016 +0200
+@@ -45,7 +45,7 @@
+ cat > conftest.ada <<EOF
+ [$3]
+ EOF
+- if AC_TRY_COMMAND([gnatchop -q conftest.ada && $1 $2 >/dev/null 2>conftest.out])
++ if AC_TRY_COMMAND([${GNATCHOP} -q conftest.ada && $1 $2 >/dev/null 2>conftest.out])
+ then
+ : Success
+ $4
+@@ -68,7 +68,7 @@
+ AC_DEFUN(AM_HAS_INTRINSIC_SYNC_COUNTERS,
+ [
+ AC_MSG_CHECKING([whether platform supports atomic inc/dec])
+- AM_TRY_ADA([gnatmake], [check.adb],
++ AM_TRY_ADA([${GNATMAKE}], [check.adb],
+ [
+ with Interfaces; use Interfaces;
+ procedure Check is
+--- gnatcoll-gpl-2016-src/testsuite/json/__init__.py.old 2017-04-24 17:52:34.158513249 +0200
++++ gnatcoll-gpl-2016-src/testsuite/json/__init__.py 2017-04-24 17:52:52.636207017 +0200
+@@ -21,7 +21,7 @@
+ @requires_not_aix # Storage_Error on that machine
+ @chdir("MB28-001")
+ def test_MB28_001(self):
+- self.runexec(["python", "make_json.py"])
++ self.runexec(["python2.7", "make_json.py"])
+ self.gprbuild()
+ self.runexec("json_stack_test", "test.out")
+
+--- gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c1/c.gpr.old 2017-04-24 18:00:21.652975475 +0200
++++ gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c1/c.gpr 2017-04-24 18:01:23.035983670 +0200
+@@ -15,5 +15,6 @@
+ for Default_Switches ("ada") use
+ ("-g", "-gnatQ", "-O1", "-gnatf", "-gnato", "-gnatwa.Xe", "-gnaty");
++ for Driver ("c") use External ("GCC", "gcc");
+ end Compiler;
+
+ end c;
+--- gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c2/c.gpr.old 2017-04-24 18:01:28.394896928 +0200
++++ gnatcoll-gpl-2016-src/testsuite/projects/aggregate_create/c2/c.gpr 2017-04-24 18:01:44.343638682 +0200
+@@ -15,5 +15,6 @@
+ for Default_Switches ("ada") use
+ ("-g", "-gnatQ", "-O1", "-gnatf", "-gnato", "-gnatwa.Xe", "-gnaty");
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ end c;
+--- gnatcoll-gpl-2016-src/testsuite/projects/__init__.py.old 2017-04-24 19:10:30.465246199 +0200
++++ gnatcoll-gpl-2016-src/testsuite/projects/__init__.py 2017-04-24 19:10:42.768035080 +0200
+@@ -105,25 +105,6 @@
+ self.gprbuild("default.gpr")
+ self.runexec("main", "")
+
+- @support.requires_not_windows
+- @chdir("N918-040")
+- def test_bareboard(self):
+- self.create_fake_bb_compiler('install', 'arm-eabi', '6.1.0w', '3.4.6')
+-
+- # Make sure auto.cgpr is not deleted on exit
+- try:
+- os.unlink('auto.cgpr')
+- except:
+- pass
+- self.gprbuild('main_prj', switches=['--autoconf=auto.cgpr'])
+- m = re.search('for Target use "(.*?)"', open('auto.cgpr').read())
+- target = m.group(1)
+-
+- def customFilter(actual):
+- return actual.replace(target, "<native>")
+-
+- self.runexec(['sh', 'test.sh'], 'test.out', customFilter=customFilter)
+-
+ @chdir("NB12-045")
+ def test_NB12_045(self):
+ # Test registering attribute in unknown package
+--- gnatcoll-gpl-2016-src/testsuite/xref/tabs/default.gpr.old 2017-04-24 20:01:55.535913959 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/tabs/default.gpr 2017-04-24 20:02:51.740950192 +0200
+@@ -1,3 +1,6 @@
+ project Default is
+ for Languages use ("Ada", "C");
++ package Compiler is
++ for Driver ("C") use External ("GCC", "gcc");
++ end Compiler;
+ end Default;
+--- gnatcoll-gpl-2016-src/testsuite/xref/doc1/dummy.gpr.old 2017-04-24 20:04:12.012574064 +0200
++++ gnatcoll-gpl-2016-src/testsuite/xref/doc1/dummy.gpr 2017-04-24 20:04:54.025853974 +0200
+@@ -6,4 +6,7 @@
+ for Body_Suffix ("c++") use ".cc";
+ end Naming;
+
++ package Compiler is
++ for Driver ("C") use External ("GCC", "gcc");
++ end Compiler;
+ end Dummy;
+--- gnatcoll-gpl-2016-src/src/tools/gnatcoll_db2ada.adb.old 2017-04-24 21:36:09.193973179 +0200
++++ gnatcoll-gpl-2016-src/src/tools/gnatcoll_db2ada.adb 2017-04-24 21:36:16.029858932 +0200
+@@ -211,7 +211,7 @@
+
+ declare
+ Output : constant String := Get_Command_Output
+- (Command => "python",
++ (Command => "python2.7",
+ Arguments => Args,
+ Input => "",
+ Status => Status'Access,
+--- gnatcoll-gpl-2017-src/src/gnatcoll_python.gpr.old 2017-06-24 18:06:19.702063079 +0200
++++ gnatcoll-gpl-2017-src/src/gnatcoll_python.gpr 2017-06-24 18:05:04.276103652 +0200
+@@ -60,6 +60,7 @@
+
+ for Switches ("C") use
+- ("-g", "-O2") & GnatColl_Shared.Python_Cflags;
++ ("-g", "-O2", "-fPIC") & GnatColl_Shared.Python_Cflags;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2017-src/src/gnatcoll_gtk.gpr.old 2017-06-24 18:37:22.164631219 +0200
++++ gnatcoll-gpl-2017-src/src/gnatcoll_gtk.gpr 2017-06-24 18:37:55.763186201 +0200
+@@ -71,11 +71,12 @@
+ for Switches ("Ada") use GnatColl_Shared.Compiler'Switches ("Ada");
+
+ for Switches ("C") use
+- ("-g", "-O2")
++ ("-g", "-O2", "-fPIC")
+ & GnatColl_Shared.Python_Cflags
+ & GnatColl_Shared.Pygtk_Include
+ & GnatColl_Shared.PyGobject_Include
+ & Gtk_Include;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Linker is
+--- gnatcoll-gpl-2017-src/src/gnatcoll-projects.ads.old 2017-11-25 14:50:06.919939453 +0100
++++ gnatcoll-gpl-2017-src/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;
+--- gnatcoll-gpl-2017-src/src/tools/gnatinspect.adb.old 2017-11-25 14:52:47.282170250 +0100
++++ gnatcoll-gpl-2017-src/src/tools/gnatinspect.adb 2017-11-25 14:52:57.691990254 +0100
+@@ -642,7 +642,7 @@
+ GNAT_Version : GNAT.Strings.String_Access;
+ begin
+ Env.Set_Path_From_Gnatls
+- (Gnatls => "gnatls",
++ (Gnatls => "@GNATLS@",
+ GNAT_Version => GNAT_Version,
+ Errors => Local_On_Error'Unrestricted_Access);
+ Free (GNAT_Version);
diff --git a/dev-ada/gnatcoll/gnatcoll-2016.ebuild b/dev-ada/gnatcoll/gnatcoll-2016.ebuild
new file mode 100644
index 000000000000..7f73bf715c62
--- /dev/null
+++ b/dev-ada/gnatcoll/gnatcoll-2016.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit multilib multiprocessing autotools python-single-r1
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5739942ac7a447658d00e1e7
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gmp +gnat_2016 gnat_2017 gtk iconv postgres pygobject projects readline
+ +shared sqlite static-libs syslog tools"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
+ ${PYTHON_DEPS}
+ gmp? ( dev-libs/gmp:* )
+ gtk? (
+ dev-ada/gtkada[gnat_2016=,gnat_2017=,shared?,static-libs?]
+ dev-libs/atk
+ dev-libs/glib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/pango
+ )
+ pygobject? ( dev-python/pygobject:3[${PYTHON_USEDEP}] )
+ postgres? ( dev-db/postgresql:* )
+ sqlite? ( dev-db/sqlite )
+ projects? (
+ =dev-ada/libgpr-2016[gnat_2016=,gnat_2017=,shared?,static-libs?]
+ dev-ada/xmlada[shared?,static-libs?]
+ )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ tools? ( static-libs )
+ pygobject? ( gtk )
+ ^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ default
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
+src_configure() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
+ GNATCHOP=${CHOST}-gnatchop-${GCC_PV}
+ if use sqlite; then
+ myConf="--with-sqlite=$(get_libdir)"
+ else
+ myConf="--without-sqlite"
+ fi
+ if use gtk ; then
+ myConf="$myConf --with-gtk=3.0"
+ else
+ myConf="$myConf --with-gtk=no"
+ fi
+ econf \
+ GNATCHOP="${GNATCHOP}" \
+ GNATMAKE="${GNATMAKE}" \
+ --with-python \
+ $(use_with gmp) \
+ $(use_with iconv) \
+ $(use_with postgres postgresql) \
+ $(use_enable projects) \
+ $(use_enable pygobject) \
+ $(use_enable readline gpl) \
+ $(use_enable readline) \
+ $(use_enable syslog) \
+ --with-python-exec=${EPYTHON} \
+ --enable-shared-python \
+ --disable-pygtk \
+ CC=${GCC} \
+ $myConf
+}
+
+src_compile() {
+ if use shared; then
+ emake PROCESSORS=$(makeopts_jobs) GPRBUILD_OPTIONS=-v GCC=${GCC} \
+ build_library_type/relocatable
+ fi
+ if use static-libs; then
+ emake PROCESSORS=$(makeopts_jobs) GPRBUILD_OPTIONS=-v GCC=${GCC} \
+ build_library_type/static
+ fi
+ python_fix_shebang .
+}
+
+src_install() {
+ if use shared; then
+ emake prefix="${D}usr" install_library_type/relocatable
+ fi
+ if use static-libs; then
+ emake prefix="${D}usr" install_library_type/static
+ fi
+ emake prefix="${D}usr" install_gps_plugin
+ einstalldocs
+ dodoc -r features-* known-problems-*
+}
+
+src_test() {
+ # The test suite is in
+ # To run you need to have the ada compiler available as gcc
+ # Even in this case there are still some problem
+ # Going into the testsuite directory and running
+ # ./run.py -v -v
+ # run here (having enabled most USE flags)
+ true
+}
diff --git a/dev-ada/gnatcoll/gnatcoll-2017.ebuild b/dev-ada/gnatcoll/gnatcoll-2017.ebuild
new file mode 100644
index 000000000000..e13a6333db26
--- /dev/null
+++ b/dev-ada/gnatcoll/gnatcoll-2017.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit multilib multiprocessing autotools python-single-r1
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="GNAT Component Collection"
+HOMEPAGE="http://libre.adacore.com"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed016
+ -> ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gmp gnat_2016 +gnat_2017 gtk iconv postgres pygobject projects readline
+ +shared sqlite static-libs syslog tools"
+
+RDEPEND="dev-lang/gnat-gpl:6.3.0
+ ${PYTHON_DEPS}
+ gmp? ( dev-libs/gmp:* )
+ gtk? (
+ dev-ada/gtkada[gnat_2017,shared?,static-libs?]
+ dev-libs/atk
+ dev-libs/glib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:3
+ x11-libs/pango
+ )
+ pygobject? ( dev-python/pygobject:3[${PYTHON_USEDEP}] )
+ postgres? ( dev-db/postgresql:* )
+ sqlite? ( dev-db/sqlite )
+ projects? (
+ =dev-ada/libgpr-2017*[gnat_2017,shared?,static-libs?]
+ dev-ada/xmlada[shared?,static-libs?]
+ )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2017]"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ tools? ( static-libs )
+ pygobject? ( gtk )
+ !gnat_2016 gnat_2017"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ GCC_PV=6.3.0
+ default
+ mv configure.{in,ac} || die
+ sed -i \
+ -e "s:@GNATLS@:${CHOST}-gnatls-${GCC_PV}:g" \
+ src/gnatcoll-projects.ads \
+ src/tools/gnatinspect.adb \
+ || die
+ eautoreconf
+}
+
+src_configure() {
+ GCC=${CHOST}-gcc-${GCC_PV}
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
+ GNATCHOP=${CHOST}-gnatchop-${GCC_PV}
+ if use sqlite; then
+ myConf="--with-sqlite=$(get_libdir)"
+ else
+ myConf="--without-sqlite"
+ fi
+ if use gtk ; then
+ myConf="$myConf --with-gtk=3.0"
+ else
+ myConf="$myConf --with-gtk=no"
+ fi
+ econf \
+ GNATCHOP="${GNATCHOP}" \
+ GNATMAKE="${GNATMAKE}" \
+ --with-python \
+ $(use_with gmp) \
+ $(use_with iconv) \
+ $(use_with postgres postgresql) \
+ $(use_enable projects) \
+ $(use_enable pygobject) \
+ $(use_enable readline gpl) \
+ $(use_enable readline) \
+ $(use_enable syslog) \
+ --with-python-exec=${EPYTHON} \
+ --enable-shared-python \
+ --disable-pygtk \
+ CC=${GCC} \
+ $myConf
+}
+
+src_compile() {
+ if use shared; then
+ emake PROCESSORS=$(makeopts_jobs) GPRBUILD_OPTIONS=-v GCC=${GCC} \
+ build_library_type/relocatable
+ fi
+ if use static-libs; then
+ emake PROCESSORS=$(makeopts_jobs) GPRBUILD_OPTIONS=-v GCC=${GCC} \
+ build_library_type/static
+ fi
+ if use tools; then
+ emake PROCESSORS=$(makeopts_jobs) GPRBUILD_OPTIONS=-v GCC=${GCC} \
+ build_tools/static
+ fi
+ python_fix_shebang .
+}
+
+src_install() {
+ if use shared; then
+ emake prefix="${D}usr" install_library_type/relocatable
+ fi
+ if use static-libs; then
+ emake prefix="${D}usr" install_library_type/static
+ fi
+ if use tools; then
+ emake prefix="${D}usr" install_tools/static
+ fi
+ emake prefix="${D}usr" install_gps_plugin
+ einstalldocs
+}
+
+src_test() {
+ # The test suite is in
+ # To run you need to have the ada compiler available as gcc
+ # Even in this case there are still some problem
+ # Going into the testsuite directory and running
+ # ./run.py -v -v
+ # run here (having enabled most USE flags)
+ true
+}
diff --git a/dev-ada/gnatcoll/metadata.xml b/dev-ada/gnatcoll/metadata.xml
new file mode 100644
index 000000000000..df4d11fa0b3a
--- /dev/null
+++ b/dev-ada/gnatcoll/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="projects">Adds support for projects</flag>
+ <flag name="pygobject">Adds support for pygobject</flag>
+ <flag name="shared">Build shared library</flag>
+ <flag name="tools">Build associated tools</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>
+</pkgmetadata>
diff --git a/dev-ada/gnatmem-2017 b/dev-ada/gnatmem-2017
deleted file mode 100644
index 63e3f012ebb8..000000000000
--- a/dev-ada/gnatmem-2017
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install prepare
-DEPEND=dev-ada/gprbuild[gnat_2016=,gnat_2017=] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Monitors dynamic allocation and deallocation activity in a program
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 +gnat_2017
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed033 -> gnatmem-gpl-2017-src.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=91db14d178a3ccce0fa7805d645384df
diff --git a/dev-ada/gnatmem-2018 b/dev-ada/gnatmem-2018
deleted file mode 100644
index 34acd749a0cf..000000000000
--- a/dev-ada/gnatmem-2018
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile install prepare
-DEPEND=dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Monitors dynamic allocation and deallocation activity in a program
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 gnat_2017 +gnat_2018
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 gnat_2018 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a72 -> gnatmem-gpl-2018-src.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=0aa2d01a52c811c137c34a5271f95959
diff --git a/dev-ada/gnatmem/Manifest b/dev-ada/gnatmem/Manifest
new file mode 100644
index 000000000000..6be337014ce5
--- /dev/null
+++ b/dev-ada/gnatmem/Manifest
@@ -0,0 +1,6 @@
+AUX gnatmem-2016-gentoo.patch 3139 BLAKE2B 240fdce83be5d6776d79138dad494ed3f8deafda92c4107a4554ac5a97afdf26102b8bcdd7c31ac09edde7e0b6b53b4d1bc8c2e89eeab591da93af94ee357d25 SHA512 6be363642a5b5244050b275c436eed25948a2b8eea936b0b41ecd9c312441281d325ae9b41b84affd30eae1172cb31ed719935e96b9adc21707b20b88dabc84e
+DIST gnatmem-gpl-2017-src.tar.gz 80106 BLAKE2B 81f5b2fe4cacf383a39230bf3ebbbbfce0cd0a774b0289a78774dacedbfa0f2ca385b5538e1d12a075383158ff3c657d3a645f8f08be62fe6a437c9f7cd4b971 SHA512 52ba2cfb24314f481ec07e351ff6d8883753dcfe5d0489a78536bf0b841d931055be02271a5d93b2ec15c52fd775d4b177a17de52f9472cc8f352bf044b28897
+DIST gnatmem-gpl-2018-src.tar.gz 80101 BLAKE2B c117552c2f8369f588127933ca1ba3075aeea6d7c3867861817b080f633fe26a7692c101b500d7441b49e79e75ce5a771a80287d0fb28bd0f569a358a8976d7d SHA512 539703bcb97cab996a4b4381685b021a419df781be3997538120580944fdcbb021fd28f574f66b8d52adbf5c6f1d7e29495c2115515d761f3cfce5bcc7bd8f56
+EBUILD gnatmem-2017.ebuild 852 BLAKE2B 9c08a8678c1af06e6e1388d17a3d0a740fbd06301bfb9313c832989d71198b6cce7d54051de0c8c92b0bca779a8b96ba030b5eed6bfddf8990230ea91de13eb5 SHA512 fe4ef12c20bcc2e1a17d9b8d5b507a16ec818d636c2de732b1467828f32de133132430422e7519892f95027397c65dd3f2ed959fafa0ff5fe6d661b9851f47f2
+EBUILD gnatmem-2018.ebuild 888 BLAKE2B e8c11628ce8561866468d8971b96fea8bc1bf5dc698d1c8c69348c037fbe9122a4d7a88ce92eb5ade450fad1501842791befddc95b6d0355c37edfd102ee4fa5 SHA512 166e40d3eddd59f6629b9e87f0126a10f93dd1e205f5ba80550f97244331faf0ed84b2a50145deae1861038814a795ee2b41ecb16a14df718e916487bf6e5b2a
+MISC metadata.xml 1206 BLAKE2B 141fe49e4b3fa46b43658dc0e3852624f5e82d6c796eea4b5e228b65b727170f45a0d0675dd0b864a331df0cd14acb11ff8a251c83d9b1f8aff19588b8e7d677 SHA512 9a8ab793dcd6d6903b1fbe59170261b5454560bef9fd70982d261137b7f4d32c5b12755b4073e4d38050f79815796f752fd61dd9b0fee9c449ce3334ed584baa
diff --git a/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch b/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch
new file mode 100644
index 000000000000..69530dd24b23
--- /dev/null
+++ b/dev-ada/gnatmem/files/gnatmem-2016-gentoo.patch
@@ -0,0 +1,89 @@
+--- 1/configure.in.old 2016-12-08 20:57:53.942004080 +0100
++++ 1/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)
+--- gnatmem-gpl-2016-src/gnatmem.gpr.in.old 2017-02-02 22:15:30.247906007 +0100
++++ gnatmem-gpl-2016-src/gnatmem.gpr.in 2017-02-02 22:17:22.604974363 +0100
+@@ -10,8 +10,10 @@
+ for Languages use ("ada", "c");
+
+ package Compiler is
++ for Driver ("C") use External ("CC", "gcc");
+ 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;
+--- gnatmem-gpl-2015-src/src/libaddr2line.c.old 2017-01-04 21:03:36.185233702 +0100
++++ gnatmem-gpl-2015-src/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-2017.ebuild b/dev-ada/gnatmem/gnatmem-2017.ebuild
new file mode 100644
index 000000000000..e7d409d86e59
--- /dev/null
+++ b/dev-ada/gnatmem/gnatmem-2017.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing autotools
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="Monitors dynamic allocation and deallocation activity in a program"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed033 ->
+ ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnat_2016 +gnat_2017"
+
+RDEPEND=""
+DEPEND="dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-gentoo.patch )
+
+src_prepare() {
+ default
+ mv configure.in configure.ac
+ eautoreconf
+}
+
+src_compile() {
+ gprbuild -Pgnatmem.gpr -j$(makeopts_jobs) \
+ -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS}
+}
+
+src_install() {
+ dobin obj/gnatmem
+}
diff --git a/dev-ada/gnatmem/gnatmem-2018.ebuild b/dev-ada/gnatmem/gnatmem-2018.ebuild
new file mode 100644
index 000000000000..74e1cea6ebff
--- /dev/null
+++ b/dev-ada/gnatmem/gnatmem-2018.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing autotools
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="Monitors dynamic allocation and deallocation activity in a program"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a72 ->
+ ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018"
+
+RDEPEND=""
+DEPEND="dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018=]"
+
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 gnat_2018 )"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${PN}-2016-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..7fac49bbd330
--- /dev/null
+++ b/dev-ada/gnatmem/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ </use>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/gnatsymbolize-2018 b/dev-ada/gnatsymbolize-2018
deleted file mode 100644
index 650fcfc958af..000000000000
--- a/dev-ada/gnatsymbolize-2018
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=dev-lang/gnat-gpl:7.3.1 >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=Translates addresses into filename, line number, and function names
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a6d -> gnatsymbolize-gpl-2018-src.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=3c14dba878a2b217b0d020fb194e528a
diff --git a/dev-ada/gnatsymbolize/Manifest b/dev-ada/gnatsymbolize/Manifest
new file mode 100644
index 000000000000..e0879c98a173
--- /dev/null
+++ b/dev-ada/gnatsymbolize/Manifest
@@ -0,0 +1,3 @@
+DIST gnatsymbolize-gpl-2018-src.tar.gz 14286 BLAKE2B ac655b951b584224e64778fd800c082defee9abce4b3e7e1ac766a38c3b1ed8624c349f249714376e5984e37a9e9df256b6627b6ed2898f2f71fcaa8067cf36b SHA512 4fc21b45c32c08f9911cb7cdc0170e36f1c10d703244bbbfbd525386297b6e6779651751281402e8c4caee668df052e7c1ccc234e5cd88151ee471b8e3f06d0f
+EBUILD gnatsymbolize-2018.ebuild 626 BLAKE2B 56bf284d719dcdf27bf8159343bf39345f2fbe72cf75ddc55cbfbc60f8929c58128b2e17df44a9e89655ff9b1def569ccfceda46687d4c8839a6066dc5629d33 SHA512 e17cf9dddd4bfb0fa8b1e3413899f48b01460205c41deb9781a9f831f1260eb558d3d8eb2fe709957f214599a18a8efffcb88cf2d5bb28f5f01d98ed25dc9751
+MISC metadata.xml 422 BLAKE2B a2e229da82c90f88f59b396418b0c0f94026fda53e21e474e1515500c6a24c3d98382d866eedd51a5342a10b7d2d72e2dddf662a83c3674c580d8b05e72f1c63 SHA512 c73cf5cdc71ecc3e097d21af8b64d00e3ae1927fb67297c2cea1717942e30ba007105c539d02fe12944bd5b071f31f9d24722a4c4dd6e731796273fc862b49ba
diff --git a/dev-ada/gnatsymbolize/gnatsymbolize-2018.ebuild b/dev-ada/gnatsymbolize/gnatsymbolize-2018.ebuild
new file mode 100644
index 000000000000..192b6956dbb9
--- /dev/null
+++ b/dev-ada/gnatsymbolize/gnatsymbolize-2018.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing autotools
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="Translates addresses into filename, line number, and function names"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a6d ->
+ ${MYP}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=""
+DEPEND="dev-lang/gnat-gpl:7.3.1"
+
+S="${WORKDIR}"/${MYP}
+
+src_compile() {
+ gnatmake-7.3.1 -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..51c5ca471d80
--- /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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <longdescription lang="en">
+ gnatsymbolize is a program which translates addresses into their
+ corresponding filename, line number, and function names.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-ada/gprbuild-2017 b/dev-ada/gprbuild-2017
deleted file mode 100644
index 4f3acf78ac43..000000000000
--- a/dev-ada/gprbuild-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
-DESCRIPTION=Multi-Language Management
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 +gnat_2017
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deecff7 -> gprbuild-gpl-2017-src.tar.gz http://mirrors.cdn.adacore.com/art/591aeb88c7a4473fcbb154f8 -> xmlada-gpl-2017-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=28d6a8b1b4f5956dd3029ba8237ef898
diff --git a/dev-ada/gprbuild-2018 b/dev-ada/gprbuild-2018
deleted file mode 100644
index 438733e7cfec..000000000000
--- a/dev-ada/gprbuild-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )
-DESCRIPTION=Multi-Language Management
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 gnat_2017 +gnat_2018
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )
-REQUIRED_USE=!gnat_2016 ^^ ( gnat_2017 gnat_2018 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a68 -> gprbuild-gpl-2018-src.tar.gz http://mirrors.cdn.adacore.com/art/5b0819dec7a447df26c27a40 -> xmlada-gpl-2018-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=b770c4df82020da6eef65f8de0b7969e
diff --git a/dev-ada/gprbuild/Manifest b/dev-ada/gprbuild/Manifest
new file mode 100644
index 000000000000..f1e529c2cf91
--- /dev/null
+++ b/dev-ada/gprbuild/Manifest
@@ -0,0 +1,11 @@
+AUX gprbuild-2017-gentoo.patch 3381 BLAKE2B 4e4c4d19db49aa3100f0acb97af90d942ea39fa5cc6cca5e369cd3459fa898406be18b762b33764bcc8f8ad6b007f00a2a1098990efe10f4aff96b80961ab6ce SHA512 a20642a117f61dd82469fafbd07fcd1d652ae8a11e866aafd55fb643fb9582994f94d643a4bbfcd0985534947cc8b48220de7503f83e74234b17838ce4468a66
+AUX gprbuild-2017.xml 3844 BLAKE2B ca36a571c90235d7f2468ffcd3b1f6703a19ae99c582a6c8a88bb9a237d02c119b191d3d8f8f941e974c74192b1ecab28c9d54fb7c4a9de02691989810e772d8 SHA512 13ba2efec9fa9fa0023d052163e186e9ccad1e8c80acff972568323b7e614dd9953f7c2a8f3a5d2f95eaee17072b1c50a2da5c3c2daafa81f5d2ab17fb95bf89
+AUX gprbuild-2018-gentoo.patch 3384 BLAKE2B cf10449869b12fad0043b7422e6ce51a0c3a72a145b517b752c43d30f675366b0c7b5b2881b8d66c65848b637bd3bdad0fe0182551bb0e391c8e86d311349610 SHA512 29a751fbae2630d53c3d0c7a7ccb4a0828ceb17928eae25665fd7d5d3b2d4d8693e5b3a9a14718f8dee1cae94cd2d321ec3070a5fd0daf4da7ae475edd373874
+AUX gprbuild-2018.xml 3844 BLAKE2B ca36a571c90235d7f2468ffcd3b1f6703a19ae99c582a6c8a88bb9a237d02c119b191d3d8f8f941e974c74192b1ecab28c9d54fb7c4a9de02691989810e772d8 SHA512 13ba2efec9fa9fa0023d052163e186e9ccad1e8c80acff972568323b7e614dd9953f7c2a8f3a5d2f95eaee17072b1c50a2da5c3c2daafa81f5d2ab17fb95bf89
+DIST gprbuild-gpl-2017-src.tar.gz 2454957 BLAKE2B 890e5aa29e9f8fa8b140988ee8e5d6042640c34fe0877acde959de803bf690bb33c63b1c7e7db486f804882bddd77ab76ffbaa4dd27da327e21ed0376cadb99d SHA512 12f3682d64ce0718de4940c1e71a4380b20021805d88543842dbf3b5ce5d518c23a6b2d868565579baf81efa1d8cf05c7778253162f0df5d7adc0eb1865c9f88
+DIST gprbuild-gpl-2018-src.tar.gz 2479651 BLAKE2B b0e24f4d97f06fe84569f8f0284e1028fce8e4ae90cfd27ab31ada0988f4f1b37eca4868bc212a21d26fb1a0a7ba6f031062e16d9758ab211e2fee40e25077ab SHA512 d22c0133baa6a0b626a0c1d145b21865bd0699cd8155ca22727272b0f8988c78163410b432ae148e87099e931df19d51ea867981556c79cb1cceb25456333044
+DIST xmlada-gpl-2017-src.tar.gz 1578393 BLAKE2B 7b4894040b6044e86c96cbd530ebda5c0cfc4ad0e2b472d46798a93f535aca0916b03385a3aef49bd4e59d508a9665c856360e9cab0a4f67b15091228b629d81 SHA512 371f6adc01550a4bb13204ec0404dc1165438db595f4346813e5a23a155de74c857c40c55adde173919c2fe35b3b91d78b235c9718ee86bc848e62ddfd7fa2b4
+DIST xmlada-gpl-2018-src.tar.gz 1582215 BLAKE2B 11012dab19f45507eeb5ce6ebec9a77ceb5dfb7749960922f0f48bb1b0409305fd43466a7af90b48ff0a0cf58612e8859274a92e0fe272b4e57a59b92a1725f1 SHA512 8970c4e68defad66625c1110554dadfc485fbbe42e832987593cf727e98f13dd87c90b84461187dbbe2b1051831e6e70f9f53d6a0cfc07451726d601b2856430
+EBUILD gprbuild-2017.ebuild 2019 BLAKE2B f90f05d9e8272399cf3b231631f58df984cdb4d2d3cec2591cb14e1736d218befe14b2b3d1f02ee287f0e6b588b70f3a2ab0d05d0d5404c78645b233b3bcc46b SHA512 6735d6e22ee72d60e7300fc3cd99e7065d3203feddc3a296352bedbecd3f780eba8f776c07bf859404acf24b731387caf44208641b6ec5e8a35ce4b42dc2ce60
+EBUILD gprbuild-2018.ebuild 2204 BLAKE2B affcc6b4a174e98efc65b5742c67d0d7824c2fc88f57b018905dd6de15491d1c28a6101c7469a10bfd75ffea60e882042cac523879326a16cd158ccbe0237b7f SHA512 1f739c44179a0f5fbdc8890d99af83561d06e8df8f8c59fa08506a0c5af2415389f881ac4a1ea861fb97f2e0e716f9a0818536c5dce85e8d10ec5b11807f0639
+MISC metadata.xml 1057 BLAKE2B 5f0e5e778d450e3f0d37ad489e0be03f69bdcd35e60d1555468ba69608268d7ff0bbffece8b36cac58a84a5739f381a449fe9684f7d5540ff8817ea5ac2b8562 SHA512 753f7ba070723fb9ae26bdb8580d72656d115c7f5515fc11fe4933a216bd0e0734a0a410bd14011a2cff0cc791a93b132d2bddfe889aea372d955c38dd91e650
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-2017.xml b/dev-ada/gprbuild/files/gprbuild-2017.xml
new file mode 100644
index 000000000000..9e1e47b512ef
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2017.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" ?>
+<gprconfig>
+ <compiler_description>
+ <name>GNAT-@VER@</name>
+ <executable prefix="1">gnatls-@VER@</executable>
+ <version>
+ <external>${PREFIX}gnatls-@VER@ -v --version</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+ </version>
+ <languages>Ada</languages>
+ <variable name="gcc_version">
+ <external>${PREFIX}gcc-@VER@ -v</external>
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+ </variable>
+ <runtimes default="default,kernel,native">
+ <directory group="default" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory>
+ <directory group="default" contents="^rts-">\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory>
+ <directory group="2" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory>
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
+ </runtimes>
+ <target>
+ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+
+ <configuration>
+ <compilers>
+ <compiler name="GNAT-@VER@" />
+ </compilers>
+ <config>
+ package Compiler is
+ for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@";
+ for Language_Kind ("Ada") use "unit_based";
+ for Dependency_Kind ("Ada") use "ALI_File";
+ for Leading_Required_Switches ("Ada") use
+ ("-c", "-x", "ada", "-gnatA")
+ &amp; Compiler'Leading_Required_Switches ("Ada");
+ for Mapping_File_Switches ("Ada") use ("-gnatem=");
+ for Mapping_Spec_Suffix ("Ada") use "%s";
+ for Mapping_Body_Suffix ("Ada") use "%b";
+ for Config_File_Switches ("Ada") use ("-gnatec=");
+ for Include_Path_File ("Ada") use "ADA_PRJ_INCLUDE_FILE";
+ for Multi_Unit_Switches ("Ada") use ("-gnateI");
+ for Multi_Unit_Object_Separator ("Ada") use "~";
+ for Config_Body_File_Name ("Ada") use
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"");";
+ for Config_Spec_File_Name ("Ada") use
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"");";
+ for Config_Body_File_Name_Index ("Ada") use
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"", Index => %i);";
+ for Config_Spec_File_Name_Index ("Ada") use
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"", Index => %i);";
+ for Config_Body_File_Name_Pattern ("Ada") use
+ "pragma Source_File_Name_Project " &amp;
+ " (Body_File_Name => ""*%b""," &amp;
+ " Casing => %c," &amp;
+ " Dot_Replacement => ""%d"");";
+ for Config_Spec_File_Name_Pattern ("Ada") use
+ "pragma Source_File_Name_Project " &amp;
+ " (Spec_File_Name => ""*%s""," &amp;
+ " Casing => %c," &amp;
+ " Dot_Replacement => ""%d"");";
+ for Config_File_Unique ("Ada") use "False";
+ for PIC_Option ("Ada") use ("-fPIC");
+ for Leading_Required_Switches ("Ada") use
+ Compiler'Leading_Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+ end Compiler;
+
+ package Binder is
+ for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE";
+ for Driver ("Ada") use
+ "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind";
+ for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@");
+ for Required_Switches ("Ada") use
+ Binder'Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+ end Binder;
+
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
+
+for Runtime_Dir ("Ada") use "${RUNTIME_DIR(ada)}";
+ for Library_Encapsulated_Supported use "true";
+ </config>
+ </configuration>
+</gprconfig>
diff --git a/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch
new file mode 100644
index 000000000000..35a98ae03fcb
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch
@@ -0,0 +1,98 @@
+--- a/gpr/gpr.gpr 2017-05-27 20:59:07.061135892 +0200
++++ b/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;
+--- 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");
+--- a/src/gprlib.adb 2017-12-18 12:20:02.937317216 +0100
++++ b/src/gprlib.adb 2017-12-18 12:21:36.519604590 +0100
+@@ -263,7 +263,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");
+
+@@ -1944,13 +1946,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;
+
+@@ -2100,7 +2102,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));
diff --git a/dev-ada/gprbuild/files/gprbuild-2018.xml b/dev-ada/gprbuild/files/gprbuild-2018.xml
new file mode 100644
index 000000000000..9e1e47b512ef
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2018.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" ?>
+<gprconfig>
+ <compiler_description>
+ <name>GNAT-@VER@</name>
+ <executable prefix="1">gnatls-@VER@</executable>
+ <version>
+ <external>${PREFIX}gnatls-@VER@ -v --version</external>
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
+ </version>
+ <languages>Ada</languages>
+ <variable name="gcc_version">
+ <external>${PREFIX}gcc-@VER@ -v</external>
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
+ </variable>
+ <runtimes default="default,kernel,native">
+ <directory group="default" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory>
+ <directory group="default" contents="^rts-">\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory>
+ <directory group="2" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory>
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
+ </runtimes>
+ <target>
+ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
+ <grep regexp="[^\r\n]+"></grep>
+ </target>
+ </compiler_description>
+
+ <configuration>
+ <compilers>
+ <compiler name="GNAT-@VER@" />
+ </compilers>
+ <config>
+ package Compiler is
+ for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@";
+ for Language_Kind ("Ada") use "unit_based";
+ for Dependency_Kind ("Ada") use "ALI_File";
+ for Leading_Required_Switches ("Ada") use
+ ("-c", "-x", "ada", "-gnatA")
+ &amp; Compiler'Leading_Required_Switches ("Ada");
+ for Mapping_File_Switches ("Ada") use ("-gnatem=");
+ for Mapping_Spec_Suffix ("Ada") use "%s";
+ for Mapping_Body_Suffix ("Ada") use "%b";
+ for Config_File_Switches ("Ada") use ("-gnatec=");
+ for Include_Path_File ("Ada") use "ADA_PRJ_INCLUDE_FILE";
+ for Multi_Unit_Switches ("Ada") use ("-gnateI");
+ for Multi_Unit_Object_Separator ("Ada") use "~";
+ for Config_Body_File_Name ("Ada") use
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"");";
+ for Config_Spec_File_Name ("Ada") use
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"");";
+ for Config_Body_File_Name_Index ("Ada") use
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"", Index => %i);";
+ for Config_Spec_File_Name_Index ("Ada") use
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"", Index => %i);";
+ for Config_Body_File_Name_Pattern ("Ada") use
+ "pragma Source_File_Name_Project " &amp;
+ " (Body_File_Name => ""*%b""," &amp;
+ " Casing => %c," &amp;
+ " Dot_Replacement => ""%d"");";
+ for Config_Spec_File_Name_Pattern ("Ada") use
+ "pragma Source_File_Name_Project " &amp;
+ " (Spec_File_Name => ""*%s""," &amp;
+ " Casing => %c," &amp;
+ " Dot_Replacement => ""%d"");";
+ for Config_File_Unique ("Ada") use "False";
+ for PIC_Option ("Ada") use ("-fPIC");
+ for Leading_Required_Switches ("Ada") use
+ Compiler'Leading_Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+ end Compiler;
+
+ package Binder is
+ for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE";
+ for Driver ("Ada") use
+ "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind";
+ for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@");
+ for Required_Switches ("Ada") use
+ Binder'Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
+ end Binder;
+
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
+
+for Runtime_Dir ("Ada") use "${RUNTIME_DIR(ada)}";
+ for Library_Encapsulated_Supported use "true";
+ </config>
+ </configuration>
+</gprconfig>
diff --git a/dev-ada/gprbuild/gprbuild-2017.ebuild b/dev-ada/gprbuild/gprbuild-2017.ebuild
new file mode 100644
index 000000000000..a8b5614d4232
--- /dev/null
+++ b/dev-ada/gprbuild/gprbuild-2017.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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="gnat_2016 +gnat_2017"
+
+DEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ sed -e "s:@VER@:${GCC_PV}:g" "${FILESDIR}"/${P}.xml > gnat-${GCC_PV}.xml
+ default
+ sed -i \
+ -e "s:@GNATBIND@:gnatbind-${GCC_PV}: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() {
+ GCC=${CHOST}-gcc-${GCC_PV}
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
+ 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
+ insinto /usr/share/gprconfig
+ doins gnat-${GCC_PV}.xml
+ einstalldocs
+}
diff --git a/dev-ada/gprbuild/gprbuild-2018.ebuild b/dev-ada/gprbuild/gprbuild-2018.ebuild
new file mode 100644
index 000000000000..95d0bdafd854
--- /dev/null
+++ b/dev-ada/gprbuild/gprbuild-2018.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a68
+ -> ${MYP}-src.tar.gz
+ http://mirrors.cdn.adacore.com/art/5b0819dec7a447df26c27a40
+ -> xmlada-gpl-${PV}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018"
+
+DEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
+ gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="!gnat_2016 ^^ ( gnat_2017 gnat_2018 )"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ elif use gnat_2017; then
+ GCC_PV=6.3.0
+ else
+ GCC_PV=7.3.1
+ fi
+ sed -e "s:@VER@:${GCC_PV}:g" "${FILESDIR}"/${P}.xml > gnat-${GCC_PV}.xml
+ default
+ sed -i \
+ -e "s:@GNATBIND@:gnatbind-${GCC_PV}:g" \
+ src/gprlib.adb \
+ || die
+ sed -i \
+ -e "s:\"-Wl,-r\":\"-r\":g" \
+ share/gprconfig/linker.xml \
+ || die
+}
+
+src_configure() {
+ emake prefix="${D}"usr setup
+}
+
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
+lib_progs="gprlib gprbind"
+
+src_compile() {
+ GCC=${CHOST}-gcc-${GCC_PV}
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV}
+ 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
+ insinto /usr/share/gprconfig
+ doins gnat-${GCC_PV}.xml
+ einstalldocs
+}
diff --git a/dev-ada/gprbuild/metadata.xml b/dev-ada/gprbuild/metadata.xml
new file mode 100644
index 000000000000..5a1bc58bccd3
--- /dev/null
+++ b/dev-ada/gprbuild/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</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>
+</pkgmetadata>
diff --git a/dev-ada/gps-2017 b/dev-ada/gps-2017
deleted file mode 100644
index 900f76e94a67..000000000000
--- a/dev-ada/gps-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup
-DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools] >=dev-ada/gtkada-2017 dev-ada/libadalang dev-libs/gobject-introspection dev-libs/libffi sys-devel/clang:= x11-themes/adwaita-icon-theme x11-themes/hicolor-icon-theme dev-python/pep8[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] dev-python/jedi[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=The GNAT Programming Studio
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/tools/gps/
-IUSE=doc python_targets_python2_7
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools] >=dev-ada/gtkada-2017 dev-ada/libadalang dev-libs/gobject-introspection dev-libs/libffi sys-devel/clang:= x11-themes/adwaita-icon-theme x11-themes/hicolor-icon-theme dev-python/pep8[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] dev-python/jedi[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)]
-RESTRICT=test
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed03b -> gps-gpl-2017-src.tar.gz doc? ( http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7 -> gnat-gpl-2017-x86_64-linux-bin.tar.gz )
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=d29d9eb40b8a1e73f0eafd3ed35b1237
diff --git a/dev-ada/gps-2018 b/dev-ada/gps-2018
deleted file mode 100644
index e1ae3d992690..000000000000
--- a/dev-ada/gps-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup
-DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] || ( >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools] ( dev-ada/gnatcoll-db[gnatcoll_db2ada,gnatinspect,xref] dev-ada/gnatcoll-bindings[python] ) ) >=dev-ada/gtkada-2017 dev-ada/libadalang dev-libs/gobject-introspection dev-libs/libffi sys-devel/clang:= x11-themes/adwaita-icon-theme x11-themes/hicolor-icon-theme dev-python/pep8[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] dev-python/jedi[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=The GNAT Programming Studio
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/tools/gps/
-IUSE=python_targets_python2_7
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] || ( >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools] ( dev-ada/gnatcoll-db[gnatcoll_db2ada,gnatinspect,xref] dev-ada/gnatcoll-bindings[python] ) ) >=dev-ada/gtkada-2017 dev-ada/libadalang dev-libs/gobject-introspection dev-libs/libffi sys-devel/clang:= x11-themes/adwaita-icon-theme x11-themes/hicolor-icon-theme dev-python/pep8[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] dev-python/jedi[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)]
-RESTRICT=test
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0cf627c7a4475261f97ceb -> gps-gpl-2018-src.tar.gz http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a59 -> libadalang-tools-gpl-2018-src.tar.gz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 desktop 1b286a7e7143d8c4ec89cd0d2743a097 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=95846dd93e56ef575d78394d9c9933c9
diff --git a/dev-ada/gps-bin-2016 b/dev-ada/gps-bin-2016
deleted file mode 100644
index 804dcc8bdb7e..000000000000
--- a/dev-ada/gps-bin-2016
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=compile install
-DESCRIPTION=The GNAT Programming Studio
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/tools/gps/
-KEYWORDS=~amd64
-LICENSE=GPL-3
-RDEPEND=dev-ada/gnatcoll[gnat_2016,iconv,postgres,projects,readline,sqlite] dev-libs/atk dev-libs/glib dev-libs/gobject-introspection dev-libs/libffi media-libs/fontconfig media-libs/freetype sys-devel/llvm sys-devel/clang x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+ x11-libs/pango x11-themes/adwaita-icon-theme x11-themes/hicolor-icon-theme
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5739cefdc7a447658e0b016b -> gnat-gpl-2016-x86_64-linux-bin.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=820b64b19e4d706c9953cf62484b84f7
diff --git a/dev-ada/gps-bin/Manifest b/dev-ada/gps-bin/Manifest
new file mode 100644
index 000000000000..b1547d98affc
--- /dev/null
+++ b/dev-ada/gps-bin/Manifest
@@ -0,0 +1,3 @@
+DIST gnat-gpl-2016-x86_64-linux-bin.tar.gz 372813330 BLAKE2B a0374ad730ae275aaedcf5663c30f8e0221af32f14391fe87a3ce0630d4498a1e90671c02830d62f78857571a5a521af91f6db409a7b3c367c7b0f059571eefd SHA512 5115ac3be0badc5125ee048a98230f18363d72107da3325ce602c0e618cee2e3646a0decc00a2388f14bc61bfed51dd0622f365f5f7ee8b0cec2187ebcf8e075
+EBUILD gps-bin-2016.ebuild 1500 BLAKE2B 32b2a084ea499feedd0b4933030d0d788bcff87285b28ef8c7a876a533678bf5672d42c2dfe6ac66fb88afbcbc78f39d526d9d29c5b723dc2d283fb3b7e30a3a SHA512 a50cfed20c261764fea8e2311a61511d195bbbc83fda86b0da74e3aef4883c38426e633951a3b817e051cf0786b54f3556fff6cd38e6c6c3a6a63a68f2a9ef8f
+MISC metadata.xml 1020 BLAKE2B 31b305e3aa3f0c87a449779685bc366e34b4c8f63989f5180feaa26df90322b276081b4bb2e10c23c3e7d139dc9b96e48c42ef7145646bcd1ef0ec6c106a06fb SHA512 b5c9fcae1f4d37762f6bb0457b245c60b3b96449f68b9fbd0f4c1d919174c18d3c2a82c26e1d0ca02177cbc2480125aac3ff47b61c2404571e85d0588ca9644e
diff --git a/dev-ada/gps-bin/gps-bin-2016.ebuild b/dev-ada/gps-bin/gps-bin-2016.ebuild
new file mode 100644
index 000000000000..f112dba176b4
--- /dev/null
+++ b/dev-ada/gps-bin/gps-bin-2016.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit toolchain-funcs
+
+MY_P=gnat-gpl-2016-x86_64-linux-bin
+
+DESCRIPTION="The GNAT Programming Studio"
+HOMEPAGE="http://libre.adacore.com/tools/gps/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5739cefdc7a447658e0b016b -> ${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}
+ dev-ada/gnatcoll[gnat_2016,iconv,postgres,projects,readline,sqlite]
+ dev-libs/atk
+ dev-libs/glib
+ dev-libs/gobject-introspection
+ dev-libs/libffi
+ media-libs/fontconfig
+ media-libs/freetype
+ sys-devel/llvm
+ sys-devel/clang
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+
+ x11-libs/pango
+ x11-themes/adwaita-icon-theme
+ x11-themes/hicolor-icon-theme"
+
+S="${WORKDIR}"/${MY_P}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ GCC_PV=4.9.4
+ GCC=gcc-${GCC_PV}
+ GNATLS=gnatls-${GCC_PV}
+ GNAT=gnatt-${GCC_PV}
+ GNATMAKE=gnatmake-${GCC_PV}
+ into /opt/${P}
+ dobin bin/gps_exe
+ dobin bin/gps_cli
+ insinto /opt/${P}/share
+ doins -r share/doc
+ doins -r share/examples
+ doins -r share/gpr
+ doins -r share/gprconfig
+ doins -r share/gps
+ doins -r share/themes
+ insinto /opt/${P}/lib/
+ doins -r lib/python2.7
+ dosym ../../../usr/bin/gnatinspect /opt/${P}/bin/gnatinspect
+ dosym ../../../usr/bin/${GNATLS} /opt/${P}/bin/gnatls
+ dosym ../../../usr/bin/${GNATMAKE} /opt/${P}/bin/gnatmake
+ dosym ../../../usr/bin/${GNAT} /opt/${P}/bin/gnat
+ dosym ../../opt/${P}/bin/gps_exe /usr/bin/gps
+}
diff --git a/dev-ada/gps-bin/metadata.xml b/dev-ada/gps-bin/metadata.xml
new file mode 100644
index 000000000000..5c70b5a1629a
--- /dev/null
+++ b/dev-ada/gps-bin/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <longdescription lang="en">
+ GPS, the GNAT Programming Studio, is a cutting-edge Free Software IDE
+ that streamlines the interaction between developers and their software.
+ With its intuitive interface, GPS is easy to use, simplifying source
+ navigation and highlighting the fundamental ideas in the program.
+
+ By displaying core application structures, such as call graphs, program
+ entity graphs, and project dependencies, GPS facilitates the
+ development of systems. GPS helps construct reliable code while
+ providing the same interface and behavior across a variety of
+ platforms. Designed by programmers for programmers, GPS is a new kind
+ of IDE that offers the experience of designing software in a uniquely
+ comfortable environment.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-ada/gps/Manifest b/dev-ada/gps/Manifest
new file mode 100644
index 000000000000..b5fef0b0a68c
--- /dev/null
+++ b/dev-ada/gps/Manifest
@@ -0,0 +1,9 @@
+AUX gps-2017-gentoo.patch 13283 BLAKE2B 91b546a0ad1f78fc087980b1366f2e3d22bcc9584df7b975d99122b51a6251ec87532c904411cf4cd95c6898e7a9217a8429cf0157db0f8ad6aef94fed778361 SHA512 82caf18d500d10f6841140f57528726e1dd6d115e5ad6538442af80abe0068b98f137fc35027ded1ef3603e3c7003de0f1ff4cc7eb93d6d8863909fa61fc635b
+AUX gps-2018-gentoo.patch 3372 BLAKE2B 22128eca9a779dc7bc9659d27f439e881570342d8057e8bad9c1a99600a120f193c4d662d089846aefb8ac0c21cc60c68027c8c997dcbd140c390bc61d760007 SHA512 1c27b56d89c9edea301dfdbfd47d52ab1449805da888c6709115e6d43a8d6270cb57b56f2a18863dcc74f241aaa7e57c12d076cd0bffbd175df519033cb635e9
+DIST gnat-gpl-2017-x86_64-linux-bin.tar.gz 496338280 BLAKE2B b3eee6d311fb9c20bc8fa7217c0731ca1e91ced38700df1d63d91a16c3fa28dfd44c7c8e867c3a857b88e4f0c8b2a7200fb6a8a630b8403538c4784f8914d1a5 SHA512 01a8f3be9b7b7e83cc5bd4a45137b1d35c6448bc22a88bcaf5d312cd63e11081b6b2fe9f09ad2a27d8f0b6471fc5c1a99573bf3bcee1589329054074eaeef04f
+DIST gps-gpl-2017-src.tar.gz 41216830 BLAKE2B 51ca89c38fa81888a9cf1831cf97f7e0ad72c444328a29063249a4fe72bbdc8357552d470872e9fbbeaf349ef0427b59fa41a0efb56200a07a9426343c731a57 SHA512 101ecef7f183de1da0c2b09d77f284a5e8c5ae56f34a897c8d471e79fe9a2832742608ff5251197ba2a52b5d9dfee6c6937fc22cd55f6d8f38359b070393cb64
+DIST gps-gpl-2018-src.tar.gz 40541905 BLAKE2B abe38dd23d9afede27b4ec8294e3245c12d52d60491b6e7c1b2d120a6f1e5d808fdcfb648e72da31376e2de176f7a039c5493341ad295db33b6a1ce44bb64096 SHA512 da0eaa85eb753f215354c9765272d85378f36ebe207314bab9211642f9d9b505a3d05cdec9de6964ae9139c4f8942a29e06c72db32b2aeb053a694e9c982e470
+DIST libadalang-tools-gpl-2018-src.tar.gz 19938182 BLAKE2B 34104f3bc43c165a9b74ba8c0c03ee2f34686bcd06b5ced730f70f654d8b808e129a85566e081830b4f20304c793eefe0af81b56984cf06190302ad2f6a419be SHA512 a1176575944cd88b9da5f4e9f03caa1a4d09358df71e6a91300d0b35c2a843d0ea1a77fbd93e7b7f16cef1b978022ee20991f5c2ff74f7d05878c3de1220f2b5
+EBUILD gps-2017.ebuild 1946 BLAKE2B 8f1619962738e8d1fe5a60baa3b63bc0318441b95234c0a667d12ad88040a62635b8b46ec94f3598e583dd33a3d88b2bb1f3dcbb191a1c3007eb9efc007144b8 SHA512 67c410fb567b5b82fce282803f5b6292b0b8b221a4f554eab11dd097229e88d614716ee212bf83695721e254892666b1231073d8616da3f2584f3e187fecfc5d
+EBUILD gps-2018.ebuild 1873 BLAKE2B d2c57775c79786768d82914f7c39679107f9130845c42fa62b9b471604dffe93a25550114d20b34577cdd7e7bd8ca6067782c9a85255dc3b75588c002f7ab54f SHA512 69c90e7005c0c474bb73ca20908fc2869f35960f340f365be79bbcaa5f37c5f727f61f2ffc75703105a211a69b25e3ccb7996f602656729861a5ce2b2fbadd50
+MISC metadata.xml 438 BLAKE2B 105849097d35788d4178db05bd3c9ab5b17eb94bee320d0dfc2914889a3764824f53950f674a4d1488b649a344729e03bb8eacda9896636a632b1288a0abf07c SHA512 2bf4e76aab6f461c501b34fee6fbf719715af34e2af827daee3a145de31b96b5568009a21daaa4269a19386b0be45dd419710e926505bda7763312c809864aae
diff --git a/dev-ada/gps/files/gps-2017-gentoo.patch b/dev-ada/gps/files/gps-2017-gentoo.patch
new file mode 100644
index 000000000000..631e6dc92ef9
--- /dev/null
+++ b/dev-ada/gps/files/gps-2017-gentoo.patch
@@ -0,0 +1,339 @@
+--- gps-9999/aclocal.m4.old 2017-05-13 21:59:20.129039064 +0200
++++ gps-9999/aclocal.m4 2017-05-13 22:02:12.637234659 +0200
+@@ -37,7 +37,7 @@
+ HAVE_GNAT_PROJECT_$1=yes
+ else
+ # Try with "gnatls", in case gprls was not available
+- if AC_TRY_COMMAND([gnat ls -Pconftest.gpr system.ads > /dev/null 2>conftest.out])
++ if AC_TRY_COMMAND([@GNAT@ ls -Pconftest.gpr system.ads > /dev/null 2>conftest.out])
+ then
+ HAVE_GNAT_PROJECT_$1=yes
+ else
+@@ -156,7 +156,7 @@
+
+ AC_DEFUN(AM_PATH_GNAT,
+ [
+- AC_PATH_PROG(GNATMAKE, gnatmake, no)
++ AC_PATH_PROG(GNATMAKE, @GNATMAKE@, no)
+
+ if test x$GNATMAKE = xno ; then
+ AC_MSG_ERROR(I could not find gnatmake. See the file 'INSTALL' for more details.)
+@@ -279,7 +279,7 @@
+ AC_MSG_RESULT($GTK_PREFIX $GLIB_PREFIX $ATK_PREFIX $PANGO_PREFIX $CAIRO_PREFIX)
+ fi
+
+- AC_PATH_PROG(GNATDRV, gnat, no)
++ AC_PATH_PROG(GNATDRV, @GNAT@, no)
+ min_gtk_version=ifelse([$1], ,2.0.0,$1)
+ AC_MSG_CHECKING(for GtkAda - version >= $min_gtk_version)
+ GTKADA_PRJ=`$GNATDRV ls -vP1 -Pgtkada 2>&1 | grep gtkada.gpr | grep Parsing | cut -d'"' -f2 | head -1`
+--- gps-gps-17.0/templates_parser/templates_parser.gpr.old 2017-05-18 21:34:42.892039427 +0200
++++ gps-gps-17.0/templates_parser/templates_parser.gpr 2017-05-18 21:35:16.661512990 +0200
+@@ -55,7 +55,7 @@
+
+ end Naming;
+
+- Common_Options := ("-gnat05");
++ Common_Options := ("-gnat05", "-fPIC");
+ -- Common options used for the Debug and Release modes
+
+ Debug_Options :=
+--- gps-gps-17.0/shared.gpr.in.old 2017-05-18 21:35:56.475892075 +0200
++++ gps-gps-17.0/shared.gpr.in 2017-05-18 21:36:24.972447550 +0200
+@@ -24,7 +24,7 @@
+ end IDE;
+
+ package Compiler is
+- Common := ("-g", "-gnat12");
++ Common := ("-g", "-gnat12", "-fPIC");
+ Optimize := ();
+
+ case OS is
+@@ -83,6 +83,7 @@
+ when "false" =>
+ null;
+ end case;
++ for Driver use External ("CC", "gcc");
+ end Linker;
+
+ end Shared;
+--- gps-gps-17.0/common/common_with_xmlada.gpr.in.old 2017-05-18 21:37:25.302506085 +0200
++++ gps-gps-17.0/common/common_with_xmlada.gpr.in 2017-05-18 21:37:58.472988222 +0200
+@@ -13,7 +13,7 @@
+ for Switches ("Ada") use Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use Shared.Compiler'Switches ("C");
+ for Switches ("test_htables.adb") use ("-g", "-O2", "-gnatwue");
+- for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg");
++ for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg", "-fPIC");
+
+ No_Checks := ("-g", "-O2", "-gnat2012", "-gnatpn");
+
+--- gps-gps-17.0/common/common_no_xmlada.gpr.in.old 2017-05-18 21:37:31.406410812 +0200
++++ gps-gps-17.0/common/common_no_xmlada.gpr.in 2017-05-18 21:38:14.796733359 +0200
+@@ -12,7 +12,7 @@
+ for Switches ("Ada") use Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use Shared.Compiler'Switches ("C");
+ for Switches ("test_htables.adb") use ("-g", "-O2", "-gnatwue");
+- for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg");
++ for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg", "-fPIC");
+
+ No_Checks := ("-g", "-O2", "-gnat2012", "-gnatpn");
+
+--- gps-gps-17.0/widgets/widgets.gpr.old 2017-05-18 22:26:05.117847006 +0200
++++ gps-gps-17.0/widgets/widgets.gpr 2017-05-18 22:21:01.646368091 +0200
+@@ -12,6 +12,7 @@
+ package Compiler extends Shared.Compiler is
+ for Switches ("C") use
+ Shared.Compiler'Switches ("C") & GnatColl_Gtk.Gtk_Include;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package IDE renames Shared.IDE;
+--- gps-gps-17.0/cli/Makefile.old 2017-05-19 08:07:44.591042479 +0200
++++ gps-gps-17.0/cli/Makefile 2017-05-19 08:08:50.086991123 +0200
+@@ -1,8 +1,9 @@
+ GPRBUILD=gprbuild
+ GPRCLEAN=gprclean
++GPRBUILD_FLAGS=0
+
+ all default:
+- $(GPRBUILD) -p -Pcli
++ $(GPRBUILD) $(GPRBUILD_FLAGS) -p -Pcli
+
+ clean:
+ $(GPRCLEAN) -q -r -Pcli
+--- gps-gps-17.0/gps/gps.gpr.old 2017-05-19 09:24:19.438123599 +0200
++++ gps-gps-17.0/gps/gps.gpr 2017-05-19 09:24:58.639492518 +0200
+@@ -75,7 +75,7 @@
+ end case;
+ for Switches ("Ada") use Linker'Switches ("Ada")
+ & Shared.Linker'Switches ("Ada");
+-
++ for Driver use External ("CC", "gcc");
+ -- for Switches ("Ada") use ("-lgmem");
+ -- for Switches ("Ada") use ("-pg");
+ end Linker;
+--- gps-gps-17.0/testsuite/Makefile.old 2017-05-19 11:08:48.966913663 +0200
++++ gps-gps-17.0/testsuite/Makefile 2017-05-19 11:06:17.245366714 +0200
+@@ -1,5 +1,6 @@
+ GPRBUILD=gprbuild
+ GPRCLEAN=gprclean
++GPRBUILD_FLAGS=
+
+ SYS := $(shell gcc -dumpmachine)
+ ifeq ($(OS),Windows_NT)
+@@ -14,7 +14,7 @@
+ endif
+
+ all default: package
+- $(GPRBUILD) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
++ $(GPRBUILD) $(GPRBUILD_FLAGS) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
+
+ package:
+ mkdir -p share/doc
+--- gps-gps-17.0/testsuite/testsuite_drivers.gpr.old 2017-05-19 11:21:20.645705481 +0200
++++ gps-gps-17.0/testsuite/testsuite_drivers.gpr 2017-05-19 11:15:42.163206405 +0200
+@@ -10,6 +10,10 @@
+ for Object_Dir use "obj";
+ for Exec_Dir use "bin";
+
++ package Compiler is
++ for Switches ("Ada") use ("-fPIC");
++ end Compiler;
++
+ package Builder is
+ for Switches ("Ada") use ("-gnat12", "-ws", "-g", "-j0", "-m", "-gnaty");
+ end Builder;
+--- gps-gps-17.0/Makefile.in.old 2017-05-19 11:49:47.172018411 +0200
++++ gps-gps-17.0/Makefile.in 2017-05-19 11:50:24.653412280 +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
+--- gps-gps-17.0/docs/Makefile.in.old 2017-05-19 11:54:52.805076624 +0200
++++ gps-gps-17.0/docs/Makefile.in 2017-05-19 11:55:24.332566945 +0200
+@@ -1,4 +1,4 @@
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+ docdir = $(prefix)/share/doc/gps
+ sharedir = $(prefix)/share/gps
+
+--- gps-gpl-2017-src/share/support/core/gnat_help_menus.py.old 2017-11-23 21:41:11.897912345 +0100
++++ gps-gpl-2017-src/share/support/core/gnat_help_menus.py 2017-11-23 21:44:53.019038030 +0100
+@@ -25,7 +25,7 @@
+ # GPRbuild
+ 'gprbuild': {"GPR Tools User's Guide":
+ ('gprbuild/html/gprbuild_ug.html', 'GPR/')},
+- 'gnatls': {
++ '@GNATLS@': {
+ # Ada RMs
+ "Ada 2005 Reference Manual": ('gnat/html/arm05.html', 'Ada/'),
+ "Ada 2012 Reference Manual": ('gnat/html/arm12.html', 'Ada/'),
+@@ -86,8 +86,8 @@
+
+ for exec_name in _DOC_ENTRIES.keys():
+ executable = exec_name
+- if exec_name == 'gnatls' and GPS.get_target():
+- executable = '{}-gnatls'.format(GPS.get_target())
++ if exec_name == '@GNATLS@' and GPS.get_target():
++ executable = '{}-@GNATLS@'.format(GPS.get_target())
+ ex = os_utils.locate_exec_on_path(executable)
+ if ex:
+ for descr, tup in _DOC_ENTRIES[exec_name].iteritems():
+--- gps-gpl-2017-src/share/support/core/toolchains.py.old 2017-11-23 21:46:11.969652447 +0100
++++ gps-gpl-2017-src/share/support/core/toolchains.py 2017-11-23 21:47:21.723427305 +0100
+@@ -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>
+--- gps-gpl-2017-src/share/support/core/projects.py.old 2017-11-23 21:49:13.477462632 +0100
++++ gps-gpl-2017-src/share/support/core/projects.py 2017-11-23 21:51:53.774640693 +0100
+@@ -143,7 +143,7 @@
+ <string />
+ </index>
+ <specialized_index value="Ada">
+- <choice default="true" >gnatmake</choice>
++ <choice default="true" >@GNATMAKE@</choice>
+ </specialized_index>
+ </project_attribute>
+
+@@ -163,7 +163,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>
+
+@@ -175,7 +175,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>
+
+--- gps-gpl-2017-src/cli/src/gps-cli_utils.adb.old 2017-11-23 22:00:22.716652753 +0100
++++ gps-gpl-2017-src/cli/src/gps-cli_utils.adb 2017-11-23 22:01:19.885640611 +0100
+@@ -166,7 +166,7 @@
+
+ -- Set GNAT version
+ Kernel.Registry.Environment.Set_Path_From_Gnatls
+- ("gnatls", GNAT_Version);
++ ("@GNATLS@", GNAT_Version);
+ end Create_Kernel_Context;
+
+ ----------------------------
+--- gps-gpl-2017-src/toolchains_editor/core/src/toolchains.adb.old 2017-11-23 22:02:52.819994229 +0100
++++ gps-gpl-2017-src/toolchains_editor/core/src/toolchains.adb 2017-11-23 22:07:20.326248295 +0100
+@@ -309,12 +309,13 @@
+ else
+ Set_Command
+ (Tc, GNAT_Driver,
+- To_String (Full_Path) & "gnat",
++ To_String (Full_Path) & "@GNAT@",
+ From_Default,
+ Is_Default_Path);
+ Set_Command
+ (Tc, GNAT_List,
+- To_String (Full_Path) & "gnatls",
++ To_String (Full_Path) &
++ "@GNATLS@",
+ From_Default,
+ Is_Default_Path);
+ Set_Command
+@@ -728,10 +728,10 @@
+ begin
+ case Name is
+ when GNAT_List =>
+- return "gnatls";
++ return "@GNATLS@";
+
+ when GNAT_Driver =>
+- return "gnat";
++ return "@GNAT@";
+
+ when Debugger =>
+ return "gdb";
+@@ -2000,15 +2000,18 @@
+ Manager => Toolchain_Manager (Manager),
+ Refs => 0);
+
+- Set_Command (Native_Toolchain, GNAT_Driver, "gnat", From_Default, True);
+- Set_Command (Native_Toolchain, GNAT_List, "gnatls", From_Default, True);
++ Set_Command (Native_Toolchain, GNAT_Driver,
++ "@GNAT@", From_Default, True);
++ Set_Command (Native_Toolchain, GNAT_List,
++ "@GNATLS@", From_Default, True);
+ Set_Command (Native_Toolchain, Debugger, "gdb", From_Default, True);
+ Set_Command (Native_Toolchain, CPP_Filt, "c++filt", From_Default, True);
+
+ Compute_Predefined_Paths (Native_Toolchain);
+
+ if Get_Compiler (Native_Toolchain, "Ada") = No_Compiler then
+- Add_Compiler (Native_Toolchain, "Ada", "gnatmake", From_Default);
++ Add_Compiler (Native_Toolchain, "Ada",
++ "@GNATMAKE@", From_Default);
+ end if;
+
+ if Get_Compiler (Native_Toolchain, "C") = No_Compiler then
+--- gps-gpl-2017-src/gps/Makefile.old 2017-12-10 20:29:18.267622400 +0100
++++ gps-gpl-2017-src/gps/Makefile 2017-12-10 20:29:34.564312700 +0100
+@@ -45,7 +45,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 -XTP_TASKING=No_Tasking \
+- $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs`
++ $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs` \
++ -cargs:Ada $(ADAFLAGS) -cargs:C ${CFLAGS}
+
+ resources:
+ ifeq ($(OS),Windows_NT)
+--- gps-gpl-2017-src/common/common_no_xmlada.gpr.in.old 2017-12-10 20:48:13.986166250 +0100
++++ gps-gpl-2017-src/common/common_no_xmlada.gpr.in 2017-12-10 20:48:29.654872055 +0100
+@@ -22,6 +22,7 @@
+ for Switches ("dynamic_arrays.adb") use No_Checks;
+ when "Debug" =>
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Naming is
+--- gps-gpl-2017-src/common/common_with_xmlada.gpr.in.old 2017-12-10 20:48:37.352727540 +0100
++++ gps-gpl-2017-src/common/common_with_xmlada.gpr.in 2017-12-10 20:48:50.423482155 +0100
+@@ -23,6 +23,7 @@
+ for Switches ("dynamic_arrays.adb") use No_Checks;
+ when "Debug" =>
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Binder is
+--- gps-gpl-2017-src/shared.gpr.in.old 2017-12-10 20:52:51.117967249 +0100
++++ gps-gpl-2017-src/shared.gpr.in 2017-12-10 20:53:15.627507886 +0100
+@@ -56,6 +56,7 @@
+ );
+ for Switches ("C") use Optimize & ("-g", "-O2");
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Binder is
diff --git a/dev-ada/gps/files/gps-2018-gentoo.patch b/dev-ada/gps/files/gps-2018-gentoo.patch
new file mode 100644
index 000000000000..d03a01111223
--- /dev/null
+++ b/dev-ada/gps/files/gps-2018-gentoo.patch
@@ -0,0 +1,87 @@
+--- 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,7 @@
+ 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
+
+ resources:
+ ifeq ($(OS),Windows_NT)
+--- a/testsuite/Makefile 2018-07-09 21:45:48.115937491 +0200
++++ b/testsuite/Makefile 2018-07-09 21:46:15.896547268 +0200
+@@ -13,7 +13,7 @@
+ endif
+
+ all default: package
+- $(GPRBUILD) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
++ $(GPRBUILD) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable -largs -lpython2.7
+
+ package:
+ mkdir -p share/doc
+--- 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>
+
+@@ -178,7 +178,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-2017.ebuild b/dev-ada/gps/gps-2017.ebuild
new file mode 100644
index 000000000000..6156e0dde66c
--- /dev/null
+++ b/dev-ada/gps/gps-2017.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 autotools desktop
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="The GNAT Programming Studio"
+HOMEPAGE="http://libre.adacore.com/tools/gps/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed03b
+ -> ${MYP}.tar.gz
+ doc? ( http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7
+ -> gnat-gpl-2017-x86_64-linux-bin.tar.gz )"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools]
+ >=dev-ada/gtkada-2017
+ dev-ada/libadalang
+ dev-libs/gobject-introspection
+ dev-libs/libffi
+ sys-devel/clang:=
+ x11-themes/adwaita-icon-theme
+ x11-themes/hicolor-icon-theme
+ dev-python/pep8[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}"
+
+RESTRICT="test"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ default
+ GCC_PV=6.3.0
+ mv configure.{in,ac} || die
+ sed -i \
+ -e "s:@GNATMAKE@:${CHOST}-gnatmake-${GCC_PV}:g" \
+ -e "s:@GNAT@:${CHOST}-gnat-${GCC_PV}:g" \
+ -e "s:@GNATLS@:${CHOST}-gnatls-${GCC_PV}:g" \
+ aclocal.m4 \
+ share/support/core/gnat_help_menus.py \
+ share/support/core/toolchains.py \
+ share/support/core/projects.py \
+ cli/src/gps-cli_utils.adb \
+ toolchains_editor/core/src/toolchains.adb \
+ || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-clang=$(llvm-config --libdir)
+}
+
+src_compile() {
+ ADAFLAGS+=" -fno-strict-aliasing"
+ emake GPRBUILD_FLAGS="-v ${MAKEOPTS} \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
+
+src_install() {
+ default
+ if use doc; then
+ insinto /usr/share/doc
+ doins -r "${WORKDIR}"/gnat-gpl-2017-x86_64-linux-bin/share/doc/gnat
+ fi
+ make_desktop_entry "${PN}" "GPS" "${EPREFIX}/usr/share/gps/icons/hicolor/32x32/apps/gps_32.png" "Development;IDE;"
+}
diff --git a/dev-ada/gps/gps-2018.ebuild b/dev-ada/gps/gps-2018.ebuild
new file mode 100644
index 000000000000..e67c569534ff
--- /dev/null
+++ b/dev-ada/gps/gps-2018.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 autotools desktop
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="The GNAT Programming Studio"
+HOMEPAGE="http://libre.adacore.com/tools/gps/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0cf627c7a4475261f97ceb
+ -> ${MYP}.tar.gz
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a59 ->
+ libadalang-tools-gpl-2018-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}
+ || (
+ >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools]
+ (
+ dev-ada/gnatcoll-db[gnatcoll_db2ada,gnatinspect,xref]
+ dev-ada/gnatcoll-bindings[python]
+ )
+ )
+ >=dev-ada/gtkada-2017
+ dev-ada/libadalang
+ dev-libs/gobject-introspection
+ dev-libs/libffi
+ sys-devel/clang:=
+ x11-themes/adwaita-icon-theme
+ x11-themes/hicolor-icon-theme
+ dev-python/pep8[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}"
+
+RESTRICT="test"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ GCC_PV=7.3.1
+ default
+ sed -i \
+ -e "s:@GNATMAKE@:${CHOST}-gnatmake-${GCC_PV}:g" \
+ -e "s:@GNAT@:${CHOST}-gnat-${GCC_PV}:g" \
+ -e "s:@GNATLS@:${CHOST}-gnatls-${GCC_PV}:g" \
+ share/support/core/toolchains.py \
+ share/support/core/projects.py \
+ || die
+ mv "${WORKDIR}"/libadalang-tools-src laltools
+}
+
+src_configure() {
+ econf \
+ GNATMAKE=/usr/bin/gnatmake-7.3.1 \
+ GNATDRV=/usr/bin/gnat-7.3.1 \
+ --with-clang=$(llvm-config --libdir)
+}
+
+src_compile() {
+ emake -C gps GPRBUILD_FLAGS="-v ${MAKEOPTS}" \
+ Build=Production
+ gprbuild -v -p -Pcli/cli.gpr -XLIBRARY_TYPE=relocatable
+ emake -C testsuite
+}
+
+src_install() {
+ default
+ make_desktop_entry "${PN}" "GPS" "${EPREFIX}/usr/share/gps/icons/hicolor/32x32/apps/gps_32.png" "Development;IDE;"
+}
diff --git a/dev-ada/gps/metadata.xml b/dev-ada/gps/metadata.xml
new file mode 100644
index 000000000000..eb9ac43cfff3
--- /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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </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>
+</pkgmetadata>
diff --git a/dev-ada/gtkada-2017 b/dev-ada/gtkada-2017
deleted file mode 100644
index dd3443346f2e..000000000000
--- a/dev-ada/gtkada-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) 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 dev-ada/gprbuild[gnat_2016=,gnat_2017=] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A complete Ada graphical toolkit
-EAPI=6
-HOMEPAGE=http://libre.adacore.com//tools/gtkada/
-IUSE=gnat_2016 +gnat_2017 +shared static-libs
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) 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
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591ae7a8c7a4473fcbb154c9 -> gtkada-gpl-2017-src.tgz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=41e9520b23dc40f6c4c7fc0fa8addc4a
diff --git a/dev-ada/gtkada-2018 b/dev-ada/gtkada-2018
deleted file mode 100644
index a25bab772705..000000000000
--- a/dev-ada/gtkada-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 ) 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 dev-ada/gprbuild[gnat_2016=,gnat_2017=,gnat_2018(-)=] >=app-portage/elt-patches-20170422 !<sys-devel/gettext-0.18.1.1-r3 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4
-DESCRIPTION=A complete Ada graphical toolkit
-EAPI=6
-HOMEPAGE=http://libre.adacore.com//tools/gtkada/
-IUSE=gnat_2016 gnat_2017 +gnat_2018 +shared static-libs
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 ) 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
-REQUIRED_USE=^^ ( gnat_2016 gnat_2017 gnat_2018 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0cf840c7a4475261f97ced -> gtkada-gpl-2018-src.tgz
-_eclasses_=autotools d0e5375d47f4c809f406eb892e531513 libtool 0081a71a261724730ec4c248494f044d multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=58f88b7ca56cdd91fc4e7476e39c6612
diff --git a/dev-ada/gtkada/Manifest b/dev-ada/gtkada/Manifest
new file mode 100644
index 000000000000..fb9feb9a9956
--- /dev/null
+++ b/dev-ada/gtkada/Manifest
@@ -0,0 +1,6 @@
+AUX gtkada-2017-gentoo.patch 2777 BLAKE2B bd13bd4458296c2e40ae7c769a1e1422123638d494d7ee3fb168a72e06a6344876fef0b4745744e6ec02b91c17b4fdff156f045233b47eb22aa8e836bc407a2a SHA512 0027d42e41ee1e754bf54982c5bd31b6fc5a113e9a5e7aed95868ac956097f3226b073721d4a5ccb9dc8d82600089720a72162b02910d6c8afcdfb2ea8ec4b13
+DIST gtkada-gpl-2017-src.tgz 11952333 BLAKE2B 2a333452ff271bba0521235598afdb1abebc4ceeab0f915f173862329ae0986b0fc4f654d3df28eac73af075db224c0b12340c3acd1e4ed0ffc965e4365f8b40 SHA512 f5bbb9ebdd966e70b3edcaaf359cb9e75edba3c3f4f8febfa7de9f634f8e96cd0dd1482fb16ad852b1c9f9b0e2c16eb3a437120d37f0638d90af666620f09f3f
+DIST gtkada-gpl-2018-src.tgz 11958880 BLAKE2B 4946918b52de5e15efc77411927812910d84d13cea66b86b1162b987c7849ba7fbb6da487881762f64005dc32a74fa73c9d759d25bb9ac0241d1d76cd4becbfb SHA512 9000de7675f8ee688b1c9cd93cf35b32f698aca8fc22d3b4e695d7c6b34feb60118cc687cf35432cd5ed9af7825eda7e20575a9fad4523a7b59cb0322bce0762
+EBUILD gtkada-2017.ebuild 1333 BLAKE2B a010ed72e62dc6eecd7d84595b00174e4f5967a850d6c24e4c6283ad11a968ab46051a646e9f9f37a2aa1735fdbca417f612c85f586b3777c53ddab42c689bd2 SHA512 41db23dbb72e53b3956585cd33ab2a4e9e32c19de079e6ec5907e44b1a7d1166a132465871ba314f90297c5b0f07b9533890f2cdcda3a56621484a476b9ab01b
+EBUILD gtkada-2018.ebuild 1456 BLAKE2B 89167e673cc23c8e27f2cfc4341067fa7b77e01f3ddb72a329859d7b04e0c51595c969fa50fd488921f9f446c2e05cbef87fee6562cfc2027b40a592231561cb SHA512 01e015bef00579446aa2bfdae9216df85a972da2155e36becfc5e38b31ea8a0bcaf3b2a72fa8d50876a35425862d15c24b3e01c61a312f6042ff4458880c72b1
+MISC metadata.xml 772 BLAKE2B 5368ab9afd9387d681eca36cb0e93435b72570c31691a27b830b2ecca307ac3a1aba7c3aece27a5bdc27185fd822c9adc76a5091d480c10b7802bae37efa65c7 SHA512 fe764650755d97e2e148cf36fa1ac973a96e59e2143e5a8e90da27dd1272687f61f0e1fe602535366e068c813e3af54d74c0e2e1b88e2a4df8561165bc6448b7
diff --git a/dev-ada/gtkada/files/gtkada-2017-gentoo.patch b/dev-ada/gtkada/files/gtkada-2017-gentoo.patch
new file mode 100644
index 000000000000..ec8ebdf8f601
--- /dev/null
+++ b/dev-ada/gtkada/files/gtkada-2017-gentoo.patch
@@ -0,0 +1,63 @@
+--- gtkada-gpl-2015-src/shared.gpr.in.old 2017-01-05 23:28:35.838073270 +0100
++++ gtkada-gpl-2015-src/shared.gpr.in 2017-01-05 23:30:17.752255709 +0100
+@@ -44,6 +44,8 @@
+ for Switches ("C") use ("-O2");
+ end case;
+
++ for Driver ("C") use External ("GCC", "gcc");
++ for PIC_Option ("C") use ("-fPIC");
+ for Switches ("C") use Compiler'Switches ("C") & Gtk_Include;
+ for Switches ("Objective-C") use Compiler'Switches ("Objective-C") & Gtk_Include;
+ end Compiler;
+--- 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 $@
++ $(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 $@
++ $(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/gtkada-2017.ebuild b/dev-ada/gtkada/gtkada-2017.ebuild
new file mode 100644
index 000000000000..967c1a26d68f
--- /dev/null
+++ b/dev-ada/gtkada/gtkada-2017.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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="gnat_2016 +gnat_2017 +shared static-libs"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
+ 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[gnat_2016=,gnat_2017=]"
+
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ default
+ mv configure.{in,ac}
+ eautoreconf
+}
+
+src_configure() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ econf \
+ --prefix="${D}/usr" \
+ $(use_enable static-libs static) \
+ $(use_enable shared) \
+ --without-GL
+}
+
+src_compile() {
+ GNATPREP=${CHOST}-gnatprep-${GCC_PV}
+ GCC=${GCC} emake -j1 GNATPREP=${GNATPREP} PROCESSORS=$(makeopts_jobs)
+}
+
+src_install() {
+ emake -j1 install
+ einstalldocs
+}
diff --git a/dev-ada/gtkada/gtkada-2018.ebuild b/dev-ada/gtkada/gtkada-2018.ebuild
new file mode 100644
index 000000000000..1a6fabc18667
--- /dev/null
+++ b/dev-ada/gtkada/gtkada-2018.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit 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="gnat_2016 gnat_2017 +gnat_2018 +shared static-libs"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
+ gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )
+ 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[gnat_2016=,gnat_2017=,gnat_2018(-)=]"
+
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 gnat_2018 )"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-gentoo.patch )
+
+src_prepare() {
+ default
+ mv configure.{in,ac}
+ eautoreconf
+}
+
+src_configure() {
+ if use gnat_2018; then
+ GCC_PV=7.3.1
+ elif use gnat_2017; then
+ GCC_PV=6.3.0
+ else
+ GCC_PV=4.9.4
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ econf \
+ --prefix="${D}/usr" \
+ $(use_enable static-libs static) \
+ $(use_enable shared) \
+ --without-GL
+}
+
+src_compile() {
+ GNATPREP=${CHOST}-gnatprep-${GCC_PV}
+ GCC=${GCC} emake -j1 GNATPREP=${GNATPREP} 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..0373a027e239
--- /dev/null
+++ b/dev-ada/gtkada/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/langkit-2017 b/dev-ada/langkit-2017
deleted file mode 100644
index e1b96a4b8edd..000000000000
--- a/dev-ada/langkit-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=install setup test
-DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] dev-ada/gnatcoll[gnat_2017,iconv,shared] dev-python/mako dev-python/pyyaml dev-python/enum34 dev-python/funcy dev-python/docutils dev-python/quex
-DESCRIPTION=A Python framework to generate language parsers
-EAPI=6
-HOMEPAGE=https://www.adacore.com/community
-IUSE=python_targets_python2_7
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] dev-ada/gnatcoll[gnat_2017,iconv,shared] dev-python/mako dev-python/pyyaml dev-python/enum34 dev-python/funcy dev-python/docutils dev-python/quex
-REQUIRED_USE=python_targets_python2_7
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed044 -> langkit-gps-src-2017.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=4fda3a1a5e3f61d3ac3d2a067801ff67
diff --git a/dev-ada/langkit-2018 b/dev-ada/langkit-2018
deleted file mode 100644
index 3cbfcf5b34ba..000000000000
--- a/dev-ada/langkit-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=install setup test
-DEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] || ( dev-ada/gnatcoll[gnat_2017,iconv,shared] dev-ada/gnatcoll-bindings[gnat_2018,iconv,shared] ) dev-python/mako dev-python/pyyaml dev-python/enum34 dev-python/funcy dev-python/docutils dev-python/quex
-DESCRIPTION=A Python framework to generate language parsers
-EAPI=6
-HOMEPAGE=https://www.adacore.com/community
-IUSE=python_targets_python2_7
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] || ( dev-ada/gnatcoll[gnat_2017,iconv,shared] dev-ada/gnatcoll-bindings[gnat_2018,iconv,shared] ) dev-python/mako dev-python/pyyaml dev-python/enum34 dev-python/funcy dev-python/docutils dev-python/quex
-REQUIRED_USE=python_targets_python2_7
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0cfbefc7a4475263382c2a -> langkit-gpl-2018.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=a3a754c485b5a85f4bf9bef6acee6c8d
diff --git a/dev-ada/langkit/Manifest b/dev-ada/langkit/Manifest
new file mode 100644
index 000000000000..8d97f9122ce1
--- /dev/null
+++ b/dev-ada/langkit/Manifest
@@ -0,0 +1,7 @@
+AUX langkit-2017-gentoo.patch 4182 BLAKE2B 5f0a275837a80ac41e231c807eb54a620d49311b3539b995951ce30be3de6cbf1d00c7909f5ac3186b4e06892416f8a4274b75f1de10af123824f4eede466c57 SHA512 53530378e4e04d940656244f42161abc0aae9a5fc54b0ddd12c153faef0fd4a8d3f67e27742f6a2e27496a705a8dafe9288d1c7c066a43fe0e8e7c0a0886c21d
+AUX langkit-2018-gentoo.patch 948 BLAKE2B d34afd89907fef17207e5de6b4de61e5dc5ba33ef84c12d16b6c5f2c3ef31ad27a1474e251aebf87eca0bbad7c4b537f6458bf271d368d7f0c241dadfa526dd1 SHA512 41a3cb91d867f7ec33570082727167bf7c8c4514fd9a254c4adc515bd838c374530b5e24820a58cabfa1e3cf5ba713e261fe8e3f196fda7e7bc1b6839b0bb814
+DIST langkit-gpl-2018.tar.gz 565649 BLAKE2B e18beea565351eb4b10baa9168db742598817d231c5eab578b17c2b0409ac77b9972f8f426499e086779eaeda0ac1ba11e5cb3b47ecab8e63674b7ef654b26b7 SHA512 62a8820c3fd3d44f6cd22e181f6eddcf52945c93ea5eb793a63b7f13e71705807170b0cc4c3873b127e3fafe751a5dd27da54087986f506f8500b916ef1f078f
+DIST langkit-gps-src-2017.tar.gz 364589 BLAKE2B 14d80e904ded20a73d65a5828157ea82672559b5bb47e465381989ad3a6e90f41bd0c6db0a5e4f7b7c532fd4f697f9bc8cb3163c6e61106d0d44da994b1c7b28 SHA512 1c86e60710e4def3d430372eed11bf1a27bf82e84c7b787c5a0be15229b6e5f786dbdf830a311423dd7539841de3076d370afc8b4c1b0cddd1bc379372dcdc95
+EBUILD langkit-2017.ebuild 924 BLAKE2B 4fde947ea5db44e0e806162a7283bacd4d105d58bd20fcbb68952df7690e5f86c4dd6d998845a977f09808455bdbb29c572649e78addfb41bfe3fb9306ec283c SHA512 3430bc646265ccacc3178ba3f459613e3b0a0f4493b4238a97598158a4dbf7aa81ac5a60e40da380f86a075ce8119fe28770a438273133cef4ca3caa1626348d
+EBUILD langkit-2018.ebuild 985 BLAKE2B 2b4bc94e8e20f93ba4b98e345bcf07b717d3f07075a447bb69d6ae586cff4a1ed7d0dfd2f61aa6636cc6212aa335f17a7ed8301b52d98e6fe133219292225a73 SHA512 e499e41572d61a668707710824865ba431d8e6ef576668c8d31895334014996fd98adde25baa7d0017087102b1eadd8c0b768aab18ace9fa5192838635d4c3e6
+MISC metadata.xml 748 BLAKE2B 29a7b386b6d8d1b2f2bc8fc16739c28129b7886c8cdae6784d54bfaadea87502a5338ed6113f536e7c5701cefb42d5912f6189dccb55ddd704445ae65f5c4176 SHA512 8a3183336e00f01eeb51a5b7d06833599b408801b71713575d83131d39b82c8c74fda8ce133b352dc356135721ef19ca488ef17723172579cd1507d4c1d7c809
diff --git a/dev-ada/langkit/files/langkit-2017-gentoo.patch b/dev-ada/langkit/files/langkit-2017-gentoo.patch
new file mode 100644
index 000000000000..ecb7ce6e74dd
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2017-gentoo.patch
@@ -0,0 +1,80 @@
+--- langkit-gps-src/langkit/templates/project_file.mako.old 2017-07-11 14:19:12.841221846 +0200
++++ langkit-gps-src/langkit/templates/project_file.mako 2017-07-11 14:12:39.104981170 +0200
+@@ -82,9 +82,11 @@
+ for Default_Switches ("Ada") use
+ Common_Ada_Cargs & ("-g", "-O0", "-gnatwe", "-gnata");
+
+- for Default_Switches ("C") use Common_C_Cargs & ("-g3", "-O0");
++ for Default_Switches ("C") use Common_C_Cargs &
++ ("-g3", "-O0", "-fPIC");
+
+- for Switches ("quex_lexer.c") use Common_C_Cargs & ("-g0", "-O0");
++ for Switches ("quex_lexer.c") use Common_C_Cargs &
++ ("-g0", "-O0", "-fPIC");
+ -- This file is *huge* and the debugging information for it harms
+ -- Valgrind runs. We almost never have to debug this file so
+ -- this is acceptable.
+@@ -111,6 +111,7 @@
+ -- ... and this prevents OOM on other platforms
+ end case;
+ end case;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Binder is
+--- langkit-gps-src/langkit/compile_context.py.old 2017-12-13 22:12:38.689143125 +0100
++++ langkit-gps-src/langkit/compile_context.py 2017-12-13 22:13:02.446737994 +0100
+@@ -1171,8 +1171,7 @@
+ # the Quex specification changed from last build.
+ if generate_lexer and self.cache.is_stale('quex_specification',
+ quex_spec):
+- 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",
+--- langkit-gps-src/langkit/templates/pkg_analysis_body_ada.mako.old 2017-12-26 20:47:28.461617512 +0100
++++ langkit-gps-src/langkit/templates/pkg_analysis_body_ada.mako 2017-12-26 20:47:58.912060490 +0100
+@@ -2196,7 +2196,7 @@
+ -- printing them.
+
+ function Hash (S : Lexical_Env) return Hash_Type is
+- (Hash_Type (To_Integer (S.all'Address)));
++ (Hash_Type'Mod (To_Integer (S.all'Address)));
+
+ package Address_To_Id_Maps is new Ada.Containers.Hashed_Maps
+ (Lexical_Env, Integer, Hash, "=");
+--- a/testsuite/testsuite_support/__init__.py.old 2018-05-02 21:40:04.977442020 +0200
++++ b/testsuite/testsuite_support/__init__.py 2018-05-02 21:40:45.422759387 +0200
+@@ -68,6 +68,7 @@
+ # to build it in parallel.
+ if not self.global_env['options'].disable_tear_up_builds:
+- p = Run(['gprbuild', '-p', '-f', '-P',
++ p = Run(['gprbuild', '-p', '-f', '-XLIBRARY_TYPE=relocatable',
++ '-XXMLADA_BUILD=relocatable', '-P',
+ os.path.join(self.root_dir, '..', 'langkit', 'support',
+ 'langkit_support.gpr')], output=PIPE)
+ report(p, "Langkit support")
+--- a/testsuite/testsuite_support/langkit_support_driver.py.old 2018-05-03 08:01:20.019944992 +0200
++++ b/testsuite/testsuite_support/langkit_support_driver.py 2018-05-03 08:02:50.146430288 +0200
+@@ -36,5 +36,7 @@
+ ))
+
+ self.run_and_check(['gprbuild', '-p', '-P', 'p.gpr', '-gnata',
++ '-XLIBRARY_TYPE=relocatable',
++ '-XXMLADA_BUILD=relocatable',
+ '-cargs', '-O0', '-g'])
+ self.run_and_check(['./{}'.format(source[:-4])])
++++ a/testsuite/testsuite_support/adalog_driver.py.old 2018-05-03 08:14:30.998698722 +0200
+--- b/testsuite/testsuite_support/adalog_driver.py 2018-05-03 08:16:48.275417176 +0200
+@@ -41,6 +41,8 @@
+ )
+ ))
+
+- self.run_and_check(['gprbuild', '-p', '-P', 'p.gpr', '-cargs', '-O0',
++ self.run_and_check(['gprbuild', '-p', '-XLIBRARY_TYPE=relocatable',
++ '-XXMLADA_BUILD=relocatable',
++ '-P', 'p.gpr', '-cargs', '-O0',
+ '-g'])
+ self.run_and_check(['./{}'.format(source[:-4])])
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..aacca6092c1e
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2018-gentoo.patch
@@ -0,0 +1,21 @@
+--- a/langkit/templates/project_file.mako 2017-07-11 14:19:12.841221846 +0200
++++ b/langkit/templates/project_file.mako 2017-07-11 14:12:39.104981170 +0200
+@@ -111,6 +111,7 @@
+ -- ... and this prevents OOM on other platforms
+ end case;
+ end case;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Binder is
+--- 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",
diff --git a/dev-ada/langkit/langkit-2017.ebuild b/dev-ada/langkit/langkit-2017.ebuild
new file mode 100644
index 000000000000..df6770a0d6bc
--- /dev/null
+++ b/dev-ada/langkit/langkit-2017.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+MYPN=${PN}-gps-src
+
+DESCRIPTION="A Python framework to generate language parsers"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed044
+ -> ${MYPN}-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ dev-ada/gnatcoll[gnat_2017,iconv,shared]
+ dev-python/mako
+ dev-python/pyyaml
+ dev-python/enum34
+ dev-python/funcy
+ dev-python/docutils
+ dev-python/quex"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYPN}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_test() {
+ testsuite/testsuite.py | grep FAILED && die "Test failed"
+}
+
+src_install() {
+ default
+ python_domodule langkit
+ python_doscript scripts/create-project.py
+}
diff --git a/dev-ada/langkit/langkit-2018.ebuild b/dev-ada/langkit/langkit-2018.ebuild
new file mode 100644
index 000000000000..9bb818cf2e8b
--- /dev/null
+++ b/dev-ada/langkit/langkit-2018.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+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[gnat_2017,iconv,shared]
+ dev-ada/gnatcoll-bindings[gnat_2018,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 )
+
+src_test() {
+ testsuite/testsuite.py | grep FAILED && 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..bfb9cb6484b2
--- /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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </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>
+</pkgmetadata>
diff --git a/dev-ada/libadalang-2017 b/dev-ada/libadalang-2017
deleted file mode 100644
index e7c5b5c6303b..000000000000
--- a/dev-ada/libadalang-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install prepare setup test
-DEPEND=dev-python/pyyaml dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] dev-ada/langkit
-DESCRIPTION=high performance semantic engine for the Ada programming language
-EAPI=6
-HOMEPAGE=https://libre.adacore.com/
-IUSE=gnat_2016 +gnat_2017 python_targets_python2_7
-KEYWORDS=amd64 x86
-LICENSE=GPL-3 gcc-runtime-library-exception-3.1
-RDEPEND=dev-python/pyyaml dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=] python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)]
-REQUIRED_USE=python_targets_python2_7 ^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed042 -> libadalang-2017-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=2719810feabc9e3132ecedce1689da64
diff --git a/dev-ada/libadalang-2018 b/dev-ada/libadalang-2018
deleted file mode 100644
index 067ddfaab04f..000000000000
--- a/dev-ada/libadalang-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install setup test
-DEPEND=dev-python/pyyaml || ( dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=] ( dev-ada/gnatcoll-bindings[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/gnatcoll-bindings[iconv,shared=,static-libs=] ) ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)] >=dev-ada/langkit-2018
-DESCRIPTION=high performance semantic engine for the Ada programming language
-EAPI=6
-HOMEPAGE=https://libre.adacore.com/
-IUSE=gnat_2016 gnat_2017 +gnat_2018 +shared static-libs python_targets_python2_7
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3 gcc-runtime-library-exception-3.1
-RDEPEND=dev-python/pyyaml || ( dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=] ( dev-ada/gnatcoll-bindings[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/gnatcoll-bindings[iconv,shared=,static-libs=] ) ) python_targets_python2_7? ( >=dev-lang/python-2.7.5-r2:2.7 ) >=dev-lang/python-exec-2:=[python_targets_python2_7(-)?,-python_single_target_jython2_7(-),-python_single_target_pypy(-),-python_single_target_pypy3(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),python_single_target_python2_7(+)]
-REQUIRED_USE=python_targets_python2_7
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0cf9adc7a4475263382c18 -> libadalang-gpl-2018-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e python-single-r1 26fdbe5e685d53f67303a3a43d9e4848 python-utils-r1 7db901256449fef43c3aaa4d486c1c63 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=684e922e6b9a43a1dd3e55105a6f2e99
diff --git a/dev-ada/libadalang-tools-2018 b/dev-ada/libadalang-tools-2018
deleted file mode 100644
index 3dd7dff5c082..000000000000
--- a/dev-ada/libadalang-tools-2018
+++ /dev/null
@@ -1,11 +0,0 @@
-DEFINED_PHASES=install
-DEPEND=dev-ada/libadalang[gnat_2016=,gnat_2017=,gnat_2018=]
-DESCRIPTION=Libadalang-based tools: gnatpp, gnatmetric and gnatstub
-EAPI=6
-HOMEPAGE=https://www.adacore.com/community
-IUSE=gnat_2016 gnat_2017 +gnat_2018
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a59 -> libadalang-tools-gpl-2018-src.tar.gz
-_md5_=b5c7f37249a9a28ac817e425e62cfd15
diff --git a/dev-ada/libadalang-tools/Manifest b/dev-ada/libadalang-tools/Manifest
new file mode 100644
index 000000000000..f90bc76ae6fb
--- /dev/null
+++ b/dev-ada/libadalang-tools/Manifest
@@ -0,0 +1,3 @@
+DIST libadalang-tools-gpl-2018-src.tar.gz 19938182 BLAKE2B 34104f3bc43c165a9b74ba8c0c03ee2f34686bcd06b5ced730f70f654d8b808e129a85566e081830b4f20304c793eefe0af81b56984cf06190302ad2f6a419be SHA512 a1176575944cd88b9da5f4e9f03caa1a4d09358df71e6a91300d0b35c2a843d0ea1a77fbd93e7b7f16cef1b978022ee20991f5c2ff74f7d05878c3de1220f2b5
+EBUILD libadalang-tools-2018.ebuild 667 BLAKE2B 9e48cda947ed4c2ebeeb5f17f3e4d88ec3bcb1000fc4568869110aa3414a7a278ab697e6e87585e7930685bf8bfa914506f1c4c864d8c276d8a6a1fd9b147799 SHA512 7de168fa7cd7b99313e8af9ce8b9ac52eecacd1069d27ea5be2e8726a29ca10a17f9eb965cf95da9c81ded3b1e50e5761dd85939d6533a80b3a9248d224a07b4
+MISC metadata.xml 573 BLAKE2B 9648a05c891ba971ff98b7e3bd8eabb8dd4a13bf505261977af45d683f25b30cdb59becb03ed2a106c0bb82a71b43bb824571190ad746fa4d1c53e64dcca04f6 SHA512 5bbe15c71d9cf2ea97d7ca28f9c3d97288a3c39db6f7b5b532b950de5d9d2036a6d067c7bb3d415edb785dfc20f7e2ce0296db10eaa25ade6e0eeb517f8541fd
diff --git a/dev-ada/libadalang-tools/libadalang-tools-2018.ebuild b/dev-ada/libadalang-tools/libadalang-tools-2018.ebuild
new file mode 100644
index 000000000000..1a4889aaeea3
--- /dev/null
+++ b/dev-ada/libadalang-tools/libadalang-tools-2018.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MYP=${PN}-gpl-${PV}
+DESCRIPTION="Libadalang-based tools: gnatpp, gnatmetric and gnatstub"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a59 ->
+ ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ dev-ada/libadalang[gnat_2016=,gnat_2017=,gnat_2018=]"
+
+S="${WORKDIR}"/${PN}-src
+
+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..83deb1bafdd0
--- /dev/null
+++ b/dev-ada/libadalang-tools/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="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ </use>
+ <longdescription lang="en">
+ Libadalang-based tools: gnatpp, gnatmetric and gnatstub
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-ada/libadalang/Manifest b/dev-ada/libadalang/Manifest
new file mode 100644
index 000000000000..7955fa858065
--- /dev/null
+++ b/dev-ada/libadalang/Manifest
@@ -0,0 +1,7 @@
+AUX libadalang-2017-gentoo.patch 521 BLAKE2B 0493204f7a71f9f906017b69b988260add9744888559034e066dd0e33114aaad3c1f69cca23ca59b2c0b2d3503469772a91d6c278595ad8dbda5cf7fb063f8db SHA512 88613409e2ba5aa4e33ae01bdab3ac5298a363732372a33334a85781d1b29d045c7e1207650a1f9a819acad671c5dbfc1d3940a2eda9bf923456dadebb6c9af0
+AUX libadalang-2018-gentoo.patch 1161 BLAKE2B 421608844df562343aaa9c6fd1b1b61a13712a9d50b117011a69681e9da2b55ce29ddad3e91071d9f6aa09feb858358672dad4d037c8a593266d1cdabbe43484 SHA512 cafc3cea5da8cf958db102af78a2c675d9090a7848c83755249137c1d19879d0828c6df27f79c05707e80299ecf2be389411e04f77f021af36a797b6851acdf1
+DIST libadalang-2017-src.tar.gz 1862217 BLAKE2B 58f72726285e56a15278e85902fabf988327ea86a08cc6c86271d61075a6b19a0bffa86e5302f5c32e6d35ef95473ad747853b14899a12d09d49d656f4e6559e SHA512 c8663a7214c3c1dd73a6589a6db10d219fcd2db39ba2ce184eea85272c5f206ab0aa8d13b0e19b08a5996906c7fbddd479795363ec22e889dfceda9967c346c7
+DIST libadalang-gpl-2018-src.tar.gz 1990774 BLAKE2B ffad46d4988de7fb8c9bf94d24360a726c59e3c70a2318725a59e0b6b62351e8f5d8dd6501964618607122e3c7cb3bda0e1181818c68324d4067d59ac93e2b1c SHA512 b95196323097065be2996ced767f8f89fb77445f99c249d84043c68d926d61c78b310b4fef0699d08f9112dc423596c076f452745469a75a8467c35b5e10ac2c
+EBUILD libadalang-2017.ebuild 1096 BLAKE2B f0ee4b436c3a7c0288e9360ecf392e7f8b2ae9592f4e3e1a2c3cd50f1979849c52bc52835e8b331ed14c7beaa28ca1f794d3d1bed189935644910505b2c70efa SHA512 802a402622df6d21390aa497342ad4b2fd9b8ba18f7cb52a5377909eedb8e47085f9f3df35d16763904cfaf3dd51413c8526d25a04bd0e1bf26477b6d86ec09c
+EBUILD libadalang-2018.ebuild 1341 BLAKE2B 2440d20e69e4991a5e0f28f47658080c6c2a3784e6339ae85f01d053dfa5f93c4c8aeb31cdcac4be5c5e99b6c59ef7f30963281604428ad1d539cf5890f49020 SHA512 53570131296ef159031711c777d9b20dc34cc2171f3aea67608267f775ccc1bfaa2b5318952c318868a6bfdc812425c2e6d1d00bb3fcefaa487bd70ebfe58c54
+MISC metadata.xml 810 BLAKE2B 89dbced5c050ba4dea4ba0537cda9512bc534bee25aa8260cd7ac30129ada091ced7c37d29efdbf11ceac9e295171e84b248d186cfb11b2072fd2beb7997089a SHA512 6857c4ac7b2cd9de167039889a99d9cdac1ba0235379f36630d51e075f1fbfccab974bbd9f34a1be08cab7869c8dbc5ec14da9ff4ec6225bd89470c350f22ebd
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..dc84915ad5a0
--- /dev/null
+++ b/dev-ada/libadalang/files/libadalang-2017-gentoo.patch
@@ -0,0 +1,10 @@
+--- libadalang-gps-src/ada/testsuite/testsuite_support/capi_driver.py 2017-07-30 16:01:31.495287196 +0200
++++ libadalang-gps-src/ada/testsuite/testsuite_support/capi_driver.py.old 2017-07-30 16:00:08.104464440 +0200
+@@ -72,6 +72,7 @@
+ -- different default standard.
+
+ "-I{support_include_dir}", "-g");
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+ end P;
+ '''.format(main_source=compile_units[0],
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..ef92b255cf48
--- /dev/null
+++ b/dev-ada/libadalang/files/libadalang-2018-gentoo.patch
@@ -0,0 +1,21 @@
+--- a/ada/testsuite/testsuite_support/capi_driver.py 2017-07-30 16:01:31.495287196 +0200
++++ b/ada/testsuite/testsuite_support/capi_driver.py 2017-07-30 16:00:08.104464440 +0200
+@@ -72,6 +72,7 @@
+ -- different default standard.
+
+ "-I{support_include_dir}", "-g");
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+ end P;
+ '''.format(main_source=compile_units[0],
+--- 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/libadalang-2017.ebuild b/dev-ada/libadalang/libadalang-2017.ebuild
new file mode 100644
index 000000000000..2d97d6c5e909
--- /dev/null
+++ b/dev-ada/libadalang/libadalang-2017.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+DESCRIPTION="high performance semantic engine for the Ada programming language"
+HOMEPAGE="https://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed042
+ -> ${P}-src.tar.gz"
+
+LICENSE="GPL-3 gcc-runtime-library-exception-3.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnat_2016 +gnat_2017"
+
+RDEPEND="dev-python/pyyaml
+ dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=]
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/langkit"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ ^^ ( gnat_2016 gnat_2017 )"
+
+S="${WORKDIR}"/${PN}-gps-src
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ default
+ rm -r ada/testsuite/tests/acats_parse || die
+}
+
+src_configure() {
+ ada/manage.py generate || die
+}
+
+src_compile() {
+ ada/manage.py build || die
+}
+
+src_test () {
+ ada/manage.py test | grep FAILED && die
+}
+
+src_install () {
+ ada/manage.py install "${D}"usr
+ python_domodule build/python/libadalang.py
+}
diff --git a/dev-ada/libadalang/libadalang-2018.ebuild b/dev-ada/libadalang/libadalang-2018.ebuild
new file mode 100644
index 000000000000..7a0db2177830
--- /dev/null
+++ b/dev-ada/libadalang/libadalang-2018.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit 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="gnat_2016 gnat_2017 +gnat_2018 +shared static-libs"
+
+RDEPEND="dev-python/pyyaml
+ || (
+ dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=]
+ (
+ dev-ada/gnatcoll-bindings[gnat_2016=,gnat_2017=,gnat_2018=]
+ dev-ada/gnatcoll-bindings[iconv,shared=,static-libs=]
+ )
+ )
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ >=dev-ada/langkit-2018"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.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 || 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
+}
diff --git a/dev-ada/libadalang/metadata.xml b/dev-ada/libadalang/metadata.xml
new file mode 100644
index 000000000000..a2f3f0910000
--- /dev/null
+++ b/dev-ada/libadalang/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/libgpr-2016 b/dev-ada/libgpr-2016
deleted file mode 100644
index 904acb930833..000000000000
--- a/dev-ada/libgpr-2016
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile install
-DEPEND=dev-ada/xmlada[gnat_2016=,gnat_2017=] dev-ada/gprbuild[gnat_2016=,gnat_2017=]
-DESCRIPTION=Ada library to handle GPRbuild project files
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=+gnat_2016 gnat_2017 +shared static-libs static-pic
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/xmlada[gnat_2016=,gnat_2017=]
-REQUIRED_USE=|| ( shared static-libs static-pic )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/57399662c7a447658e0affa8 -> gprbuild-gpl-2016-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=7afc0622bc7bf9df0d9a4629b2b8ca4d
diff --git a/dev-ada/libgpr-2017 b/dev-ada/libgpr-2017
deleted file mode 100644
index b05fe3a6ea8a..000000000000
--- a/dev-ada/libgpr-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install
-DEPEND=dev-ada/xmlada[static-libs,gnat_2016=,gnat_2017=] dev-ada/gprbuild
-DESCRIPTION=Ada library to handle GPRbuild project files
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 +gnat_2017 +shared static-libs static-pic
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/xmlada[static-libs,gnat_2016=,gnat_2017=]
-REQUIRED_USE=|| ( shared static-libs static-pic )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deecff7 -> gprbuild-gpl-2017-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=32b8a1410db84d3bd2e588c944710d70
diff --git a/dev-ada/libgpr-2018 b/dev-ada/libgpr-2018
deleted file mode 100644
index 5369bb313ef2..000000000000
--- a/dev-ada/libgpr-2018
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFINED_PHASES=compile configure install
-DEPEND=dev-ada/xmlada[shared?,static-libs?,static-pic?] dev-ada/xmlada[gnat_2016=,gnat_2017=,gnat_2018=] dev-ada/gprbuild[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?]
-DESCRIPTION=Ada library to handle GPRbuild project files
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=dev-ada/xmlada[shared?,static-libs?,static-pic?] dev-ada/xmlada[gnat_2016=,gnat_2017=,gnat_2018=]
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a68 -> gprbuild-gpl-2018-src.tar.gz
-_eclasses_=multilib 97f470f374f2e94ccab04a2fb21d811e multiprocessing cac3169468f893670dac3e7cb940e045 toolchain-funcs 1e35303c63cd707f6c3422b4493d5607
-_md5_=38017de925b4653f56c7572e95eb27ab
diff --git a/dev-ada/libgpr/Manifest b/dev-ada/libgpr/Manifest
new file mode 100644
index 000000000000..77803838eed8
--- /dev/null
+++ b/dev-ada/libgpr/Manifest
@@ -0,0 +1,9 @@
+AUX libgpr-2016-gentoo.patch 2822 BLAKE2B 759977ffe76fefc27c1aecdfe8a8647c78c8c3b5305b5bcb20d5c403394cd492b68ff3256d65ef0969eb44aa002fdfb83815cf095017c0c06e441639fea8d607 SHA512 c0a507f692002a32d40d56216a033987c3e5e2ad07f9f25d0bd542fe1e77c8c3a7acd1e11a3d4f07d224b63002dbecd548a256599017cf97c820c6cfce2ac596
+AUX libgpr-2017-gentoo.patch 2047 BLAKE2B 8c8befa6b392863163fac1c03acc63b96c075929fec2207fb654ab191bb6a8995e0c2576c218c59b90b1eb90d330ea7837d032427b9b9495bdd5e98709363070 SHA512 51b82725f94488c06e9a9aece82b9a3df78f7a763ed6ae6055335c0eae802207a698e186fb321261b4c45539c2fba076d08605dd5fc64508d71928210fe80f0c
+DIST gprbuild-gpl-2016-src.tar.gz 2142261 BLAKE2B 69948427eb6315b9fb2b84755192b53c035f74093dacb34852713083779bf8bd88dac6b38fe7685f6a40ecb2482f78b15a5221913df997847eee8b1359cf6c14 SHA512 6b9e00248aaee90f3c00e7ce442c2b551b8532ec4d94a4471858d117feb27e91fd6d218995d4b71ee3f1f0677e9547d562fc2cda9ba80c3f6eb8d840ed56eb7e
+DIST gprbuild-gpl-2017-src.tar.gz 2454957 BLAKE2B 890e5aa29e9f8fa8b140988ee8e5d6042640c34fe0877acde959de803bf690bb33c63b1c7e7db486f804882bddd77ab76ffbaa4dd27da327e21ed0376cadb99d SHA512 12f3682d64ce0718de4940c1e71a4380b20021805d88543842dbf3b5ce5d518c23a6b2d868565579baf81efa1d8cf05c7778253162f0df5d7adc0eb1865c9f88
+DIST gprbuild-gpl-2018-src.tar.gz 2479651 BLAKE2B b0e24f4d97f06fe84569f8f0284e1028fce8e4ae90cfd27ab31ada0988f4f1b37eca4868bc212a21d26fb1a0a7ba6f031062e16d9758ab211e2fee40e25077ab SHA512 d22c0133baa6a0b626a0c1d145b21865bd0699cd8155ca22727272b0f8988c78163410b432ae148e87099e931df19d51ea867981556c79cb1cceb25456333044
+EBUILD libgpr-2016.ebuild 1243 BLAKE2B 68a8d2acd9a75c49cdbfc8828bc004ca4f1a586914302f108fdb655672ea229d965c3d00f08b041c6dc32316627d90a0d9fb1ca9c9126cf9f5fbd51e07043831 SHA512 389b16cbf67e40ef924f50492ac81cecb54eddf25342a435d16cebaf7b3b1be74e86b7ed2539a2c4cbb288f301ed6877998f8c50d5788fb7d075143f9f917349
+EBUILD libgpr-2017.ebuild 1388 BLAKE2B 97c790d84d22f76209bdc4f47a834a190e5faa8f6a3b179bf0d67ef91077e9c98b6a522903ee232a0444dd73a9fb6b8862f2a98155241657193c0175ef03ec93 SHA512 0430a17c2e7250b209cbe9508229a4dc59ff9f3b1f51f2c13de8a6484703946e59ae7380169c0e892b45aa78a5275b987075cf0903ab9e59068e30fab59945ac
+EBUILD libgpr-2018.ebuild 1546 BLAKE2B 2a9fe66051f7ee45c2007191903f7750c5124cd7b2549c45a1325b779802164ff95f52c90b8532003a1c0bf6cf2fc18ff59f16ee141776d948ec5208e942b258 SHA512 8458b8b1e0df071a827f3443488975ecc382b5e796f038e716ad562ef0e9200fd1eee29383763f45eb27d9578869206b924e6ffadb54808044716b50353882fc
+MISC metadata.xml 1175 BLAKE2B 8b512fd5efae4481d319fc52a11f3730af081d5c3ff12f6c6d62768e905e0651e3b4792765f65edbf659862b56372f32ba3aa7ae51c12b2911b711cb12a013e1 SHA512 edd6bb889abfe036d2509e56f350cf058e249e398811fdb2890bd001b75143b8d9df28bb64acba195852d01d484b7e6381e82ce972aad6d8cf1e0c961b3ade72
diff --git a/dev-ada/libgpr/files/libgpr-2016-gentoo.patch b/dev-ada/libgpr/files/libgpr-2016-gentoo.patch
new file mode 100644
index 000000000000..2ddbab095d72
--- /dev/null
+++ b/dev-ada/libgpr/files/libgpr-2016-gentoo.patch
@@ -0,0 +1,89 @@
+--- gprbuild-gpl-2016-src/Makefile.in.old 2017-01-19 19:52:41.242907252 +0100
++++ gprbuild-gpl-2016-src/Makefile.in 2017-01-19 19:54:45.822646333 +0100
+@@ -25,12 +25,12 @@
+ host=@host@
+ target=@target@
+ build=@build@
+-prefix=@prefix@
++prefix=$(DESTDIR)@prefix@
+ srcdir=@srcdir@
+ objdir=@objdir@
+ exec_prefix=@exec_prefix@
+ datarootdir=@datarootdir@
+-datadir=@datadir@
++datadir=$(DESTDIR)@datadir@
+ bindir=@bindir@
+ libdir=@libdir@
+ libexecdir=@libexecdir@
+@@ -173,13 +173,13 @@
+ libgpr.build: $(foreach t, $(LIBGPR_TYPES), libgpr.build.$(t))
+
+ libgpr.build.shared:
+- ${BUILDER} -XLIBRARY_TYPE=relocatable -P$(srcdir)/gpr/gpr.gpr
++ ${BUILDER} -XLIBRARY_TYPE=relocatable -P$(srcdir)/gpr/gpr.gpr -cargs:Ada $(ADAFLAGS)
+
+ libgpr.build.static:
+- ${BUILDER} -XLIBRARY_TYPE=static -P$(srcdir)/gpr/gpr.gpr
++ ${BUILDER} -XLIBRARY_TYPE=static -P$(srcdir)/gpr/gpr.gpr -cargs:Ada $(ADAFLAGS)
+
+ libgpr.build.static-pic:
+- ${BUILDER} -XLIBRARY_TYPE=static-pic -P$(srcdir)/gpr/gpr.gpr
++ ${BUILDER} -XLIBRARY_TYPE=static-pic -P$(srcdir)/gpr/gpr.gpr -cargs:Ada $(ADAFLAGS)
+
+ libgpr.install: $(foreach t, $(LIBGPR_TYPES), libgpr.install.$(t))
+
+--- gprbuild-gpl-2016-src/gpr/src/gpr-env.adb.old 2017-11-13 22:16:53.349083426 +0100
++++ gprbuild-gpl-2016-src/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;
+--- 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");
diff --git a/dev-ada/libgpr/files/libgpr-2017-gentoo.patch b/dev-ada/libgpr/files/libgpr-2017-gentoo.patch
new file mode 100644
index 000000000000..656240e62589
--- /dev/null
+++ b/dev-ada/libgpr/files/libgpr-2017-gentoo.patch
@@ -0,0 +1,65 @@
+--- 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-gpl-2016-src/gpr/src/gpr-env.adb.old 2017-11-13 22:16:53.349083426 +0100
++++ gprbuild-gpl-2016-src/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;
+--- 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");
diff --git a/dev-ada/libgpr/libgpr-2016.ebuild b/dev-ada/libgpr/libgpr-2016.ebuild
new file mode 100644
index 000000000000..39fb18af6899
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2016.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/57399662c7a447658e0affa8
+ -> ${MYP}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+gnat_2016 gnat_2017 +shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[gnat_2016=,gnat_2017=]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="|| ( shared static-libs static-pic )"
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_compile() {
+ if use gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ if use static-libs; then
+ emake PROCESSORS=$(makeopts_jobs) libgpr.build.static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake PROCESSORS=$(makeopts_jobs) libgpr.build.${kind}
+ fi
+ done
+}
+
+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
+}
diff --git a/dev-ada/libgpr/libgpr-2017.ebuild b/dev-ada/libgpr/libgpr-2017.ebuild
new file mode 100644
index 000000000000..f2ca1d510730
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2017.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deecff7
+ -> ${MYP}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnat_2016 +gnat_2017 +shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[static-libs,gnat_2016=,gnat_2017=]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild"
+
+S="${WORKDIR}"/${MYP}-src
+
+REQUIRED_USE="|| ( shared static-libs static-pic )"
+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 gnat_2016; then
+ GCC_PV=4.9.4
+ else
+ GCC_PV=6.3.0
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ 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
+}
diff --git a/dev-ada/libgpr/libgpr-2018.ebuild b/dev-ada/libgpr/libgpr-2018.ebuild
new file mode 100644
index 000000000000..9a2f65dac23a
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-2018.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit toolchain-funcs multiprocessing
+
+MYP=gprbuild-gpl-${PV}
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+HOMEPAGE="http://libre.adacore.com/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a68
+ -> ${MYP}-src.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada[shared?,static-libs?,static-pic?]
+ dev-ada/xmlada[gnat_2016=,gnat_2017=,gnat_2018=]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?]"
+
+S="${WORKDIR}"/${MYP}-src
+
+PATCHES=( "${FILESDIR}"/${PN}-2017-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 gnat_2016; then
+ GCC_PV=4.9.4
+ elif use gnat_2017; then
+ GCC_PV=6.3.0
+ else
+ GCC_PV=7.3.1
+ fi
+ GCC=${CHOST}-gcc-${GCC_PV}
+ 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..aa6b2a5d355a
--- /dev/null
+++ b/dev-ada/libgpr/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag>
+ <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>
+</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-2017 b/dev-ada/xmlada-2017
deleted file mode 100644
index 2a89bb8ec0c7..000000000000
--- a/dev-ada/xmlada-2017
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install test
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) dev-ada/gprbuild[gnat_2016=,gnat_2017=]
-DESCRIPTION=Set of modules that provide a simple manipulation of XML streams
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 +gnat_2017 +shared static-libs static-pic
-KEYWORDS=amd64 x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
-REQUIRED_USE=|| ( shared static-libs static-pic ) ^^ ( gnat_2016 gnat_2017 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591aeb88c7a4473fcbb154f8 -> xmlada-gpl-2017-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=e0ecea0aa5b709a7cf1fce725934e315
diff --git a/dev-ada/xmlada-2018 b/dev-ada/xmlada-2018
deleted file mode 100644
index e9d0190415e8..000000000000
--- a/dev-ada/xmlada-2018
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFINED_PHASES=compile configure install test
-DEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 ) dev-ada/gprbuild[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?]
-DESCRIPTION=Set of modules that provide a simple manipulation of XML streams
-EAPI=6
-HOMEPAGE=http://libre.adacore.com/
-IUSE=gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic
-KEYWORDS=~amd64 ~x86
-LICENSE=GPL-3
-RDEPEND=gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )
-REQUIRED_USE=|| ( shared static-libs static-pic ) ^^ ( gnat_2016 gnat_2017 gnat_2018 )
-SLOT=0
-SRC_URI=http://mirrors.cdn.adacore.com/art/591aeb88c7a4473fcbb154f8 -> xmlada-gpl-2018-src.tar.gz
-_eclasses_=multiprocessing cac3169468f893670dac3e7cb940e045
-_md5_=038c3470934e5336010387525364215b
diff --git a/dev-ada/xmlada/Manifest b/dev-ada/xmlada/Manifest
new file mode 100644
index 000000000000..295e0834bd99
--- /dev/null
+++ b/dev-ada/xmlada/Manifest
@@ -0,0 +1,7 @@
+AUX xmlada-2017-gentoo.patch 1133 BLAKE2B 6b15f8225c8d4094417f20b61261fc247a4c9290831265b15cf1a3f865d532c6e685cebf5c8cf635fc51ae0a44386428ee8b9300738a5fe0c2951e4a68cb7bb8 SHA512 47d383b18c6c46653c5369b691af47d8b7ea333d32d7ddcc5cb6831dea08dbfeec353ffa0e4de279baff4fedf911c39e28a6608529357ad70b9c1ce0a9a42b49
+AUX xmlada-2018-gentoo.patch 1133 BLAKE2B 6b15f8225c8d4094417f20b61261fc247a4c9290831265b15cf1a3f865d532c6e685cebf5c8cf635fc51ae0a44386428ee8b9300738a5fe0c2951e4a68cb7bb8 SHA512 47d383b18c6c46653c5369b691af47d8b7ea333d32d7ddcc5cb6831dea08dbfeec353ffa0e4de279baff4fedf911c39e28a6608529357ad70b9c1ce0a9a42b49
+DIST xmlada-gpl-2017-src.tar.gz 1578393 BLAKE2B 7b4894040b6044e86c96cbd530ebda5c0cfc4ad0e2b472d46798a93f535aca0916b03385a3aef49bd4e59d508a9665c856360e9cab0a4f67b15091228b629d81 SHA512 371f6adc01550a4bb13204ec0404dc1165438db595f4346813e5a23a155de74c857c40c55adde173919c2fe35b3b91d78b235c9718ee86bc848e62ddfd7fa2b4
+DIST xmlada-gpl-2018-src.tar.gz 1582215 BLAKE2B 11012dab19f45507eeb5ce6ebec9a77ceb5dfb7749960922f0f48bb1b0409305fd43466a7af90b48ff0a0cf58612e8859274a92e0fe272b4e57a59b92a1725f1 SHA512 8970c4e68defad66625c1110554dadfc485fbbe42e832987593cf727e98f13dd87c90b84461187dbbe2b1051831e6e70f9f53d6a0cfc07451726d601b2856430
+EBUILD xmlada-2017.ebuild 2120 BLAKE2B 075a4fc91c5a68063f01df6fbbadd51ba550cd4e1b6896b0ad4ab5345d920fbab354aa3dff9ad0c5609fa16a25173c7390cc03dce16cc59bf87c7c3335bcd17a SHA512 bb4e8f7623d06eec64d5677bb41ef69e2fe4dd503799c66da37a2d2a42f63ac125900a10c5f04c4ca1e9b19696c4112877ce233f009352f96b53fdb82eb4da7b
+EBUILD xmlada-2018.ebuild 1876 BLAKE2B 8ba99bf5e814c73acda968f19704b9c9e8133c44fbb5579089fb28671ab05046f9cf66c9faf9d4ad2ddbda6557a0e3e4f5d57285ead91cc8e8d6c3ad7d1dc294 SHA512 993cb87181ae50750db09301603658cfde9ddca99f91a0712af407a1fd6330709127cb57cafdcd3c37219b78e44ce420950502e48e7f2ee697552483f24d52f8
+MISC metadata.xml 1143 BLAKE2B 7f633dfb6a079c1e981b7b7fe53f60df746919bea32c32c257002c3e13682d24b269d5bbe1b61700df930b7722d3f503bfff52c00676301f7a19523749edda81 SHA512 ce5fe7f5ca7d79bbd4b648608f1521056b62b90c70aec62b49e4be5737319df56a9248bd57b695b1469e2bb9b9b49c6c910c2321f1a690546ae1447bb0519006
diff --git a/dev-ada/xmlada/files/xmlada-2017-gentoo.patch b/dev-ada/xmlada/files/xmlada-2017-gentoo.patch
new file mode 100644
index 000000000000..9e79572e3067
--- /dev/null
+++ b/dev-ada/xmlada/files/xmlada-2017-gentoo.patch
@@ -0,0 +1,30 @@
+--- xmlada-gpl-2017-src/Makefile.in.old 2017-12-04 20:09:23.730805855 +0100
++++ xmlada-gpl-2017-src/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
+--- xmlada-gpl-2017-src/tests/Makefile.old 2017-12-04 21:38:29.722818904 +0100
++++ xmlada-gpl-2017-src/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/files/xmlada-2018-gentoo.patch b/dev-ada/xmlada/files/xmlada-2018-gentoo.patch
new file mode 100644
index 000000000000..9e79572e3067
--- /dev/null
+++ b/dev-ada/xmlada/files/xmlada-2018-gentoo.patch
@@ -0,0 +1,30 @@
+--- xmlada-gpl-2017-src/Makefile.in.old 2017-12-04 20:09:23.730805855 +0100
++++ xmlada-gpl-2017-src/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
+--- xmlada-gpl-2017-src/tests/Makefile.old 2017-12-04 21:38:29.722818904 +0100
++++ xmlada-gpl-2017-src/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..22eacbe16159
--- /dev/null
+++ b/dev-ada/xmlada/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <use>
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag>
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag>
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2017</flag>
+ <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>
+</pkgmetadata>
diff --git a/dev-ada/xmlada/xmlada-2017.ebuild b/dev-ada/xmlada/xmlada-2017.ebuild
new file mode 100644
index 000000000000..b3ee623ff920
--- /dev/null
+++ b/dev-ada/xmlada/xmlada-2017.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+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/591aeb88c7a4473fcbb154f8 ->
+ ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="gnat_2016 +gnat_2017 +shared static-libs static-pic"
+REQUIRED_USE="|| ( shared static-libs static-pic )
+ ^^ ( gnat_2016 gnat_2017 )"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016=,gnat_2017=]"
+
+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 | grep DIFF && die
+}
+
+src_install () {
+ local includedir=/usr/include/${PN}
+
+ fix_install () {
+ mv "${D}"${includedir}/$1.$2/* "${D}"${includedir}/$1/ || die
+ for file in "${D}"${includedir}/$1/*; do
+ dosym ../$1/$(basename ${file}) \
+ ${includedir}/$1.$2/$(basename ${file})
+ done
+ }
+
+ if use static-libs; then
+ emake PROCESSORS=$(makeopts_jobs) install-static
+ fi
+ for kind in shared static-pic; do
+ if use ${kind}; then
+ emake PROCESSORS=$(makeopts_jobs) install-${kind}
+ fi
+ done
+ rm "${D}"/usr/lib/libxmlada_* || die
+ for dir in xmlada_{dom,input,sax,schema,unicode}; do
+ dodir /usr/include/${PN}/${dir}
+ if use shared; then
+ fix_install ${dir} relocatable
+ fi
+ if use static-libs; then
+ fix_install ${dir} static
+ fi
+ if use static-pic; then
+ fix_install ${dir} static-pic
+ fi
+ done
+ einstalldocs
+ dodoc xmlada-roadmap.txt
+ rm "${D}"/usr/share/doc/${PN}/.buildinfo || die
+}
diff --git a/dev-ada/xmlada/xmlada-2018.ebuild b/dev-ada/xmlada/xmlada-2018.ebuild
new file mode 100644
index 000000000000..8d4099a1ce52
--- /dev/null
+++ b/dev-ada/xmlada/xmlada-2018.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit multiprocessing
+
+MYP=${PN}-gpl-${PV}
+
+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/591aeb88c7a4473fcbb154f8 ->
+ ${MYP}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gnat_2016 gnat_2017 +gnat_2018 +shared static-libs static-pic"
+REQUIRED_USE="|| ( shared static-libs static-pic )
+ ^^ ( gnat_2016 gnat_2017 gnat_2018 )"
+
+RDEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 )
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 )
+ gnat_2018? ( dev-lang/gnat-gpl:7.3.1 )"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[gnat_2016(-)?,gnat_2017(-)?,gnat_2018(-)?]"
+
+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 | grep DIFF && 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 "${D}"/usr/share/doc/${PN}/.buildinfo || die
+ rm -r "${D}"/usr/share/gpr/manifests || die
+}