diff options
Diffstat (limited to 'dev-ada/langkit-contrib')
-rw-r--r-- | dev-ada/langkit-contrib/Manifest | 3 | ||||
-rw-r--r-- | dev-ada/langkit-contrib/langkit-contrib-25.0.0.ebuild | 108 | ||||
-rw-r--r-- | dev-ada/langkit-contrib/metadata.xml | 23 |
3 files changed, 134 insertions, 0 deletions
diff --git a/dev-ada/langkit-contrib/Manifest b/dev-ada/langkit-contrib/Manifest new file mode 100644 index 000000000000..524a041ab5cb --- /dev/null +++ b/dev-ada/langkit-contrib/Manifest @@ -0,0 +1,3 @@ +DIST langkit-25.0.0.tar.gz 1560623 BLAKE2B ef03755397e85fde9b968dced7cf6bc72e85c21b6baef41160e527840caf32e0ea573d52f66c4b82ce9fa7e2dd0120286e06a3f3525e0acad5f9f11037be29b9 SHA512 27ffecb9b6c5568ebdba4864d9c5ef7e511718083fe087e3af60cfe8cc994b6ea7353cc745bc33395d33e169aaaf6916d991fa4941774932904df3e9b455f1dc +EBUILD langkit-contrib-25.0.0.ebuild 3223 BLAKE2B ceb56272876ddb2a39372cebcd0bf2b1fec788d550adf3432a0e2315222039ee7662b9a18e097eafb753e8d270c22b928f35c9df8d429db55e4e4f6ecb92f464 SHA512 d27fcd18a883ed2234295593e825aca5fd16bd84139987d612746ede56a32e5159ff3b5b9882fa92bf5930094e02c43918f50e18ab34d190bde186e76ae8ed05 +MISC metadata.xml 880 BLAKE2B 7b5d947e9fd00cebd69774da16e0b393bb91c03312f6004f838924f3d3dd0f6cb53e2ad810a42365803e09a18c1a08d94eae071cd833ced96fa0734832a3f68c SHA512 cdfa00bf9730cd0c990a9b084e4fb09958f5e8611e16a292ffa0de1b9a3a34b4e231688c700d789166ab64bb45db828cfdae3593ea04cf5add2b1c0615d0afd6 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..781b9c6d13ee --- /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 ~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 +} diff --git a/dev-ada/langkit-contrib/metadata.xml b/dev-ada/langkit-contrib/metadata.xml new file mode 100644 index 000000000000..de96d346448b --- /dev/null +++ b/dev-ada/langkit-contrib/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>ada@gentoo.org</email> + </maintainer> + <use> + <flag name="static-pic">Build static library with pic code</flag> + </use> + <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> + <upstream> + <remote-id type="github">AdaCore/langkit</remote-id> + </upstream> +</pkgmetadata> |