summaryrefslogtreecommitdiff
path: root/dev-ada/langkit
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-12-25 17:37:52 +0000
committerV3n3RiX <venerix@redcorelinux.org>2017-12-25 17:37:52 +0000
commit2f51c9978dda4c6e8debca43e4235ecc86914032 (patch)
treebc41e1c4383040034174c327504f702c8517a123 /dev-ada/langkit
parent51536d2fe4697ba9114d611178bb9e20d3d5b729 (diff)
gentoo resync : 25.12.2017
Diffstat (limited to 'dev-ada/langkit')
-rw-r--r--dev-ada/langkit/Manifest4
-rw-r--r--dev-ada/langkit/files/langkit-2017-gentoo.patch36
-rw-r--r--dev-ada/langkit/langkit-2017.ebuild45
-rw-r--r--dev-ada/langkit/metadata.xml18
4 files changed, 103 insertions, 0 deletions
diff --git a/dev-ada/langkit/Manifest b/dev-ada/langkit/Manifest
new file mode 100644
index 000000000000..b2be7c08f2b4
--- /dev/null
+++ b/dev-ada/langkit/Manifest
@@ -0,0 +1,4 @@
+AUX langkit-2017-gentoo.patch 1861 BLAKE2B e82dbc0b73833215e706362dc7fcee11a23dc7f2567dd095cdd06a3938a22a5e3240b5624a2d445e8f1d0b3cb61504f2b3351238af8eeb98cfc343a30c195050 SHA512 5c82150304cd66e0d6bdb6f568ce88101363d4125199d9a299f49aa213960ded751d6d326329d0c7887c1d7ddf7b3c1250659ec887ce896a4452f8f0a5c060df
+DIST langkit-gps-src-2017.tar.gz 364589 BLAKE2B 14d80e904ded20a73d65a5828157ea82672559b5bb47e465381989ad3a6e90f41bd0c6db0a5e4f7b7c532fd4f697f9bc8cb3163c6e61106d0d44da994b1c7b28 SHA512 1c86e60710e4def3d430372eed11bf1a27bf82e84c7b787c5a0be15229b6e5f786dbdf830a311423dd7539841de3076d370afc8b4c1b0cddd1bc379372dcdc95
+EBUILD langkit-2017.ebuild 921 BLAKE2B 99eeaa5fede2398bca076bd8f41c090ea031071841074159b6ba60492dc8245eb82d4f18415a95a615bf82d7b5dbdd28e3c9477f1828582a5a2b927a2909ba53 SHA512 2ba63d5b0a9d188b7d663a636f237ca4ebad290c4d0b8f23da00b57cbd85281c8bf31fb69903157a80c5b0a90d4ea83af42ecd75f8d29546997114328c66d73b
+MISC metadata.xml 748 BLAKE2B 29a7b386b6d8d1b2f2bc8fc16739c28129b7886c8cdae6784d54bfaadea87502a5338ed6113f536e7c5701cefb42d5912f6189dccb55ddd704445ae65f5c4176 SHA512 8a3183336e00f01eeb51a5b7d06833599b408801b71713575d83131d39b82c8c74fda8ce133b352dc356135721ef19ca488ef17723172579cd1507d4c1d7c809
diff --git a/dev-ada/langkit/files/langkit-2017-gentoo.patch b/dev-ada/langkit/files/langkit-2017-gentoo.patch
new file mode 100644
index 000000000000..0260d44c8885
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2017-gentoo.patch
@@ -0,0 +1,36 @@
+--- langkit-gps-src/langkit/templates/project_file.mako.old 2017-07-11 14:19:12.841221846 +0200
++++ langkit-gps-src/langkit/templates/project_file.mako 2017-07-11 14:12:39.104981170 +0200
+@@ -82,9 +82,11 @@
+ for Default_Switches ("Ada") use
+ Common_Ada_Cargs & ("-g", "-O0", "-gnatwe", "-gnata");
+
+- for Default_Switches ("C") use Common_C_Cargs & ("-g3", "-O0");
++ for Default_Switches ("C") use Common_C_Cargs &
++ ("-g3", "-O0", "-fPIC");
+
+- for Switches ("quex_lexer.c") use Common_C_Cargs & ("-g0", "-O0");
++ for Switches ("quex_lexer.c") use Common_C_Cargs &
++ ("-g0", "-O0", "-fPIC");
+ -- This file is *huge* and the debugging information for it harms
+ -- Valgrind runs. We almost never have to debug this file so
+ -- this is acceptable.
+@@ -111,6 +111,7 @@
+ -- ... and this prevents OOM on other platforms
+ end case;
+ end case;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Binder is
+--- langkit-gps-src/langkit/compile_context.py.old 2017-12-13 22:12:38.689143125 +0100
++++ langkit-gps-src/langkit/compile_context.py 2017-12-13 22:13:02.446737994 +0100
+@@ -1171,8 +1171,7 @@
+ # the Quex specification changed from last build.
+ if generate_lexer and self.cache.is_stale('quex_specification',
+ quex_spec):
+- quex_py_file = path.join(os.environ["QUEX_PATH"], "quex-exe.py")
+- subprocess.check_call([sys.executable, quex_py_file, "-i",
++ subprocess.check_call(["quex", "-i",
+ quex_file,
+ "-o", "quex_lexer",
+ "--buffer-element-size", "4",
diff --git a/dev-ada/langkit/langkit-2017.ebuild b/dev-ada/langkit/langkit-2017.ebuild
new file mode 100644
index 000000000000..90b59dbad415
--- /dev/null
+++ b/dev-ada/langkit/langkit-2017.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit python-single-r1
+
+MYPN=${PN}-gps-src
+
+DESCRIPTION="A Python framework to generate language parsers"
+HOMEPAGE="https://www.adacore.com/community"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed044
+ -> ${MYPN}-${PV}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ dev-ada/gnatcoll[gnat_2017,iconv,shared]
+ dev-python/mako
+ dev-python/pyyaml
+ dev-python/enum34
+ dev-python/funcy
+ dev-python/docutils
+ dev-python/quex"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MYPN}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_test() {
+ testsuite/testsuite.py | grep FAILED && die "Test failed"
+}
+
+src_install() {
+ default
+ python_domodule langkit
+ python_doscript scripts/create-project.py
+}
diff --git a/dev-ada/langkit/metadata.xml b/dev-ada/langkit/metadata.xml
new file mode 100644
index 000000000000..bfb9cb6484b2
--- /dev/null
+++ b/dev-ada/langkit/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </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>