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