commit:     3280155e870e24fcf0027fd6961f42f422a22dfb
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Mon Dec  6 12:53:25 2021 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Mon Dec  6 12:53:25 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3280155e

dev-ada/langkit: A Python framework to generate language parsers

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-ada/langkit/Manifest                         |  1 +
 dev-ada/langkit/files/langkit-22.0.0-gnarl.patch | 10 +++++
 dev-ada/langkit/langkit-22.0.0.ebuild            | 50 ++++++++++++++++++++++++
 dev-ada/langkit/metadata.xml                     | 17 ++++++++
 4 files changed, 78 insertions(+)

diff --git a/dev-ada/langkit/Manifest b/dev-ada/langkit/Manifest
new file mode 100644
index 000000000000..ea7b6a9fbab0
--- /dev/null
+++ b/dev-ada/langkit/Manifest
@@ -0,0 +1 @@
+DIST langkit-22.0.0.tar.gz 1008946 BLAKE2B 
2b4ee37c9af1c95f9a6e9ad81f37b6bb112d5bd70f36b78e95d969580eacc1101b824ea24de39d04ccf8bc9f9850906fa1c660a29de05e90d12106b10792c37d
 SHA512 
4c6207b650ae8352c65f3edda3192fc66c9b5d2c351665d78ca83b549960a0a41e7828e8974cb8daa3c415281b50253aa15a247407bcedc2c13e573aaa804909

diff --git a/dev-ada/langkit/files/langkit-22.0.0-gnarl.patch 
b/dev-ada/langkit/files/langkit-22.0.0-gnarl.patch
new file mode 100644
index 000000000000..fb69768dc9de
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-22.0.0-gnarl.patch
@@ -0,0 +1,10 @@
+--- a/langkit/templates/mains_project_file.mako        2020-06-09 
09:34:36.677265457 +0200
++++ b/langkit/templates/mains_project_file.mako        2020-06-09 
09:35:30.569451995 +0200
+@@ -40,4 +40,7 @@
+       for Switches ("ada") use ("-E");
+    end Binder;
+ 
++   package Linker is
++      for Switches ("ada") use ("-lgnat", "-lgnarl");
++   end Linker;
+ end Mains;

diff --git a/dev-ada/langkit/langkit-22.0.0.ebuild 
b/dev-ada/langkit/langkit-22.0.0.ebuild
new file mode 100644
index 000000000000..2fe1c770f737
--- /dev/null
+++ b/dev-ada/langkit/langkit-22.0.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8,9} )
+
+DISTUTILS_USE_SETUPTOOLS=no
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="A Python framework to generate language parsers"
+HOMEPAGE="https://www.adacore.com/community";
+SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
+       -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+       dev-ada/gnatcoll-bindings[iconv,shared]
+       dev-python/mako[${PYTHON_USEDEP}]
+       dev-python/pyyaml[${PYTHON_USEDEP}]
+       dev-python/funcy[${PYTHON_USEDEP}]
+       dev-python/docutils[${PYTHON_USEDEP}]
+       dev-ada/e3-core[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-gnarl.patch
+)
+
+src_compile() {
+       gprbuild -v -P support/langkit_support.gpr -p -j$(makeopts_jobs) \
+               -XBUILD_MODE=dev -XLIBRARY_TYPE=relocatable -cargs:Ada 
${ADAFLAGS} \
+               || die
+       distutils-r1_src_compile
+}
+
+src_install() {
+       gprinstall -v -P support/langkit_support.gpr -p -XBUILD_MODE=dev \
+               --prefix="${D}"/usr --build-var=LIBRARY_TYPE \
+               --build-var=LANGKIT_SUPPORT_LIBRARY_TYPE \
+               --sources-subdir=include/langkit_support \
+               -XLIBRARY_TYPE=relocatable --build-name=relocatable || die
+       distutils-r1_src_install
+}

diff --git a/dev-ada/langkit/metadata.xml b/dev-ada/langkit/metadata.xml
new file mode 100644
index 000000000000..1d15b41d3ff8
--- /dev/null
+++ b/dev-ada/langkit/metadata.xml
@@ -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>[email protected]</email>
+       </maintainer>
+       <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>
+</pkgmetadata>

Reply via email to