diff options
Diffstat (limited to 'dev-ada/langkit-contrib/langkit-contrib-25.0.0.ebuild')
-rw-r--r-- | dev-ada/langkit-contrib/langkit-contrib-25.0.0.ebuild | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/dev-ada/langkit-contrib/langkit-contrib-25.0.0.ebuild b/dev-ada/langkit-contrib/langkit-contrib-25.0.0.ebuild new file mode 100644 index 000000000000..5989b4b34583 --- /dev/null +++ b/dev-ada/langkit-contrib/langkit-contrib-25.0.0.ebuild @@ -0,0 +1,108 @@ +# Copyright 2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +ADA_COMPAT=( gcc_12 gcc_13 gcc_14 ) + +DISTUTILS_USE_PEP517=setuptools +inherit python-single-r1 ada multiprocessing + +DESCRIPTION="A Python framework to generate language parsers - Contrib" +HOMEPAGE="https://www.adacore.com/community" +SRC_URI="https://github.com/AdaCore/langkit/archive/refs/tags/v${PV}.tar.gz + -> langkit-${PV}.tar.gz" + +S="${WORKDIR}"/langkit-${PV} + +LICENSE="Apache-2.0" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="static-libs static-pic" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + ${ADA_REQUIRED_USE}" +RESTRICT="test" + +RDEPEND="${PYTHON_DEPS} + ${ADA_DEPS} + dev-ada/langkit:${SLOT}[${ADA_USEDEP},static-libs?,static-pic?] + $(python_gen_cond_dep ' + dev-ada/langkit[${PYTHON_USEDEP}] + ')" +BDEPEND="${RDEPEND} + dev-ada/gprbuild[${ADA_USEDEP}]" + +pkg_setup() { + python-single-r1_pkg_setup + ada_pkg_setup +} + +src_configure() { + cd contrib/python + ${EPYTHON} manage.py generate -P --disable-warning undocumented-nodes + cd ../lkt + ${EPYTHON} manage.py generate -P +} + +src_compile() { + cd contrib/python + build () { + rm -f build/obj/dev/*.lexch + gprbuild -v -p -j$(makeopts_jobs) -Pbuild/libpythonlang.gpr \ + -XLIBRARY_TYPE=$1 -XGPR_BUILD=$1 -XXMLADA_BUILD=$1 \ + -XLIBPYTHONLANG_WARNINGS=true -gnatef \ + -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die + } + build relocatable + use static-libs && build static + use static-pic && build static-pic + gprbuild -v -p -j$(makeopts_jobs) -Pbuild/mains.gpr \ + -XLIBRARY_TYPE=relocatable -XGPR_BUILD=relocatable \ + -XXMLADA_BUILD=relocatable -XLIBPYTHONLANG_WARNINGS=true \ + parse.adb -gnatef -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} \ + || die + cd ../lkt + build () { + rm -f build/obj/dev/*.lexch + gprbuild -v -p -j$(makeopts_jobs) -Pbuild/liblktlang.gpr \ + -XLIBRARY_TYPE=$1 -XGPR_BUILD=$1 -XXMLADA_BUILD=$1 \ + -XLIBLKTLANG_WARNINGS=true -gnatef \ + -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die + } + build relocatable + use static-libs && build static + use static-pic && build static-pic + gprbuild -v -p -j$(makeopts_jobs) -Pbuild/mains.gpr \ + -XLIBRARY_TYPE=relocatable -XGPR_BUILD=relocatable \ + -XXMLADA_BUILD=relocatable -XLIBLKTLANG_WARNINGS=true \ + parse.adb lkt_toolbox.adb unparse.adb -gnatef \ + -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die + cd ../.. +} + +src_install() { + cd contrib/python + build () { + gprinstall -v -p -Pbuild/libpythonlang.gpr --prefix="${D}"/usr \ + --build-var=LIBRARY_TYPE --build-var=LIBPYTHONLANG_LIBRARY_TYPE \ + --sources-subdir=include/libpythonlang --build-name=$1 \ + -XLIBRARY_TYPE=$1 -XGPR_BUILD=$1 -XXMLADA_BUILD=$1 || die + } + build relocatable + use static-libs && build static + use static-pic && build static-pic + python_domodule build/python/libpythonlang + cd ../lkt + build () { + gprinstall -v -p -Pbuild/liblktlang.gpr --prefix="${D}"/usr \ + --build-var=LIBRARY_TYPE --build-var=LIBLKTLANG_LIBRARY_TYPE \ + --sources-subdir=include/liblktlang --build-name=$1 \ + -XLIBRARY_TYPE=$1 -XGPR_BUILD=$1 -XXMLADA_BUILD=$1 || die + } + build relocatable + use static-libs && build static + use static-pic && build static-pic + python_domodule build/python/liblktlang +} |