diff --git a/dev-ada/lal-refactor/Manifest b/dev-ada/lal-refactor/Manifest index 4d85b80e2b671..623e15f225d4b 100644 --- a/dev-ada/lal-refactor/Manifest +++ b/dev-ada/lal-refactor/Manifest @@ -1 +1,2 @@ DIST lal-refactor-25.0.0.tar.gz 223818 BLAKE2B 6f53a278880b9d65ecd90c779323421e3cd3067ff920fc5fd851c1ded22a9819f50efa3eb6030ceb5f60d74070433d1953fbd0b194cd552733461aca6fbe3008 SHA512 c93136c3c05410bcb72bf9fbde409b371851c5f0e394670d8dd43d09219d756e10fef126911bbf6656a640c31b467fa49f826316e55a71f4f61a50952bb6980c +DIST lal-refactor-26.0.0.tar.gz 250999 BLAKE2B 2e988fbeba20d405994121b31b7613cc130a32fb628a2ab6523ed4146c295dc57036931b2873dfb5cc971943a140fc51c097a9c5e87bf735e678ecae72e09dd7 SHA512 1b17270513e7f212800cd51211957d6d006947f99ad8cccb7ca9ce3fa824d41b0bd61dcfec525a29a75d3f043c600c865ea15546851ec4c88e7f2057a4f60061 diff --git a/dev-ada/lal-refactor/lal-refactor-26.0.0.ebuild b/dev-ada/lal-refactor/lal-refactor-26.0.0.ebuild new file mode 100644 index 0000000000000..557d73d2a4780 --- /dev/null +++ b/dev-ada/lal-refactor/lal-refactor-26.0.0.ebuild @@ -0,0 +1,99 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ADA_COMPAT=( gcc_{14..16} ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit ada python-any-r1 multiprocessing + +commitId=a5997083efc0ae97ec089b18931c765d43301072 + +DESCRIPTION="Refactoring tools for the Ada programming language" +HOMEPAGE="https://github.com/AdaCore/lal-refactor" +SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="static-libs static-pic test" +REQUIRED_USE="${ADA_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND="${ADADEPS} + dev-ada/libadalang:${SLOT}[${ADA_USEDEP},static-libs?,static-pic?] + dev-ada/libadalang-tools:${SLOT}[${ADA_USEDEP},static-libs?,static-pic?]" +BDEPEND=" + dev-ada/gprbuild[${ADA_USEDEP}] + test? ( + $(python_gen_any_dep ' + dev-ada/e3-testsuite[${PYTHON_USEDEP}] + ') + ) +" + +python_check_deps() { + python_has_version "dev-ada/e3-testsuite[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup + ada_pkg_setup +} + +src_compile() { + build () { + gprbuild -v -k -XLAL_REFACTOR_LIBRARY_TYPE=$1 -XLIBRARY_TYPE=$1 \ + -XLAL_REFACTOR_BUILD_MODE=dev \ + -P gnat/lal_refactor.gpr -p -j$(makeopts_jobs) \ + -largs ${LDFLAGS} -cargs ${ADAFLAGS} || die + } + build relocatable + use static-libs && build static + use static-pic && build static-pic + + gprbuild -v \ + -k \ + -XLAL_REFACTOR_LIBRARY_TYPE=relocatable \ + -XLIBRARY_TYPE=relocatable \ + -XLAL_REFACTOR_BUILD_MODE=dev \ + -Pgnat/lal_refactor_driver.gpr \ + -p \ + -j$(makeopts_jobs) -largs ${LDFLAGS} -cargs ${ADAFLAGS} || die + + if use test; then + GPR_PROJECT_PATH=gnat \ + gprbuild -v -k -XLAL_REFACTOR_LIBRARY_TYPE=relocatable \ + -XLIBRARY_TYPE=relocatable \ + -XLAL_REFACTOR_BUILD_MODE=dev \ + -P testsuite/ada_drivers/gnat/lal_refactor_test_drivers.gpr \ + -p -j$(makeopts_jobs) || die + fi +} + +src_test() { + ./testsuite/testsuite.py --job 1 |& tee lal-refactor.testOut + grep -qw FAIL lal-refactor.testOut && die +} + +src_install() { + build () { + gprinstall -XLAL_REFACTOR_LIBRARY_TYPE=$1 -XLIBRARY_TYPE=$1 \ + -XLAL_REFACTOR_BUILD_MODE=dev \ + --prefix="${D}"/usr --sources-subdir=include/lal-refactor \ + --build-name=$1 --build-var=LIBRARY_TYPE -P gnat/lal_refactor.gpr \ + -p -f || die + } + build relocatable + use static-libs && build static + use static-pic && build static-pic + gprinstall -XLAL_REFACTOR_LIBRARY_TYPE=relocatable \ + -XLIBRARY_TYPE=relocatable \ + -XBUILD_MODE=dev \ + --prefix="${D}"/usr \ + -P gnat/lal_refactor_driver.gpr -p -f || die + + einstalldocs + rm -rf "${D}"/usr/share/gpr/manifests +}