summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2021-12-06 13:53:25 +0100
committerAlfredo Tupone <tupone@gentoo.org>2021-12-06 13:53:25 +0100
commit3280155e870e24fcf0027fd6961f42f422a22dfb (patch)
tree0f3e1934224b5e1060714dbfa05d6eee918e160d
parentmedia-gfx/povray: remove USE=static-libs (diff)
downloadgentoo-3280155e870e24fcf0027fd6961f42f422a22dfb.tar.gz
gentoo-3280155e870e24fcf0027fd6961f42f422a22dfb.tar.bz2
gentoo-3280155e870e24fcf0027fd6961f42f422a22dfb.zip
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@gentoo.org>
-rw-r--r--dev-ada/langkit/Manifest1
-rw-r--r--dev-ada/langkit/files/langkit-22.0.0-gnarl.patch10
-rw-r--r--dev-ada/langkit/langkit-22.0.0.ebuild50
-rw-r--r--dev-ada/langkit/metadata.xml17
4 files changed, 78 insertions, 0 deletions
diff --git a/dev-ada/langkit/Manifest b/dev-ada/langkit/Manifest
new file mode 100644
index 00000000000..ea7b6a9fbab
--- /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 00000000000..fb69768dc9d
--- /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 00000000000..2fe1c770f73
--- /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 00000000000..1d15b41d3ff
--- /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>ada@gentoo.org</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>