From 4f51c320df1f60967235ce6b2e231b1ca163795a Mon Sep 17 00:00:00 2001 From: Alfredo Tupone Date: Wed, 15 Dec 2021 23:00:12 +0100 Subject: dev-ada/libadalang: semantic engine for the Ada Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Alfredo Tupone --- dev-ada/libadalang/Manifest | 1 + dev-ada/libadalang/libadalang-22.0.0.ebuild | 81 +++++++++++++++++++++++++++++ dev-ada/libadalang/metadata.xml | 17 ++++++ 3 files changed, 99 insertions(+) create mode 100644 dev-ada/libadalang/Manifest create mode 100644 dev-ada/libadalang/libadalang-22.0.0.ebuild create mode 100644 dev-ada/libadalang/metadata.xml (limited to 'dev-ada') diff --git a/dev-ada/libadalang/Manifest b/dev-ada/libadalang/Manifest new file mode 100644 index 000000000000..694152577400 --- /dev/null +++ b/dev-ada/libadalang/Manifest @@ -0,0 +1 @@ +DIST libadalang-22.0.0.tar.gz 2364531 BLAKE2B 3992baa7180dce696b2c8aa0d451117a12b90072e83274d96a8d971b627c82bc66c5c21fa1eb6dbdd7ce95e0264852c5702b3d7c90f7bdf093915178e0a4a659 SHA512 b874feb102fe221595ad4b9b95b3ea4c6593686f96097ace17ad3c57534dc801000819de0cf898489e3407fd201eb003dd75f4f743a53dfb76cadfa6c727d789 diff --git a/dev-ada/libadalang/libadalang-22.0.0.ebuild b/dev-ada/libadalang/libadalang-22.0.0.ebuild new file mode 100644 index 000000000000..ea1c91a57864 --- /dev/null +++ b/dev-ada/libadalang/libadalang-22.0.0.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7,8,9} ) +ADA_COMPAT=( gnat_202{0,1} ) + +inherit ada python-single-r1 + +DESCRIPTION="high performance semantic engine for the Ada programming language" +HOMEPAGE="https://libre.adacore.com/" +SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="GPL-3 gcc-runtime-library-exception-3.1" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test shared static-libs static-pic" +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ${ADA_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND="dev-python/pyyaml + dev-ada/gnatcoll-bindings[${ADA_USEDEP},gmp,iconv,shared?,static-libs?,static-pic?] + ${ADA_DEPS} + ${PYTHON_DEPS}" +DEPEND="${RDEPEND} + dev-ada/gprbuild[${ADA_USEDEP}] + $(python_gen_cond_dep ' + dev-ada/langkit[${PYTHON_USEDEP}] + ') +" +BDEPEND="test? ( + dev-ml/dune + dev-ml/zarith + dev-ml/camomile + dev-ml/ocaml-ctypes + )" + +pkg_setup() { + python-single-r1_pkg_setup + ada_pkg_setup + libType='' + if use static-libs; then + libType+=',static' + fi + if use static-pic; then + libType+=',static-pic' + fi + if use shared; then + libType+=',relocatable' + fi + libType=${libType:1} +} + +src_configure() { + ${EPYTHON} manage.py generate -v debug || die +} + +src_compile() { + ${EPYTHON} manage.py build -v \ + --gargs "-cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS}" \ + --library-types=${libType} || die +} + +src_test() { + #eval $(${EPYTHON} ./manage.py setenv) + ${EPYTHON} manage.py test --restricted-env -j 1 |& > /dev/null + ${EPYTHON} manage.py test --restricted-env -j 1 |& tee libadalang.testOut + grep -qw FAIL libadalang.testOut && die +} + +src_install() { + ${EPYTHON} manage.py \ + install "${D}"/usr \ + --library-types=${libType} || die + rm -r "${D}"/usr/python || die + python_domodule build/python/libadalang + rm -r "${D}"/usr/ocaml || die +} diff --git a/dev-ada/libadalang/metadata.xml b/dev-ada/libadalang/metadata.xml new file mode 100644 index 000000000000..217288dff7b1 --- /dev/null +++ b/dev-ada/libadalang/metadata.xml @@ -0,0 +1,17 @@ + + + + + ada@gentoo.org + + + Build shared library + Build static library with pic code + + + 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. + + -- cgit v1.2.3-65-gdbad