dev-ada/libadalang: semantic engine for the Ada

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
This commit is contained in:
Alfredo Tupone
2021-12-15 23:00:12 +01:00
parent 0950eca0ee
commit 4f51c320df
3 changed files with 99 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST libadalang-22.0.0.tar.gz 2364531 BLAKE2B 3992baa7180dce696b2c8aa0d451117a12b90072e83274d96a8d971b627c82bc66c5c21fa1eb6dbdd7ce95e0264852c5702b3d7c90f7bdf093915178e0a4a659 SHA512 b874feb102fe221595ad4b9b95b3ea4c6593686f96097ace17ad3c57534dc801000819de0cf898489e3407fd201eb003dd75f4f743a53dfb76cadfa6c727d789

View File

@@ -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
}

View File

@@ -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>
<flag name="static-pic">Build static library with pic code</flag>
</use>
<longdescription lang="en">
Libadalang is a project to build a high performance semantic engine for
the Ada programming language. It is meant to provide a basis to write
Ada tooling, including tools working on potentially changing and
incorrect code, such as IDEs.
</longdescription>
</pkgmetadata>