commit:     b3c3fb418d57285b4f5974a72aa28aaf1998eef9
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 20 20:51:55 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Mon Nov 20 20:51:55 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3c3fb41

dev-ada/libadalang: Adding libadalang to the tree

Package-Manager: Portage-2.3.13, Repoman-2.3.3

 dev-ada/libadalang/Manifest                        |  3 +
 .../libadalang/files/libadalang-2017-gentoo.patch  | 32 ++++++++++
 dev-ada/libadalang/libadalang-2017.ebuild          | 73 ++++++++++++++++++++++
 dev-ada/libadalang/metadata.xml                    | 18 ++++++
 4 files changed, 126 insertions(+)

diff --git a/dev-ada/libadalang/Manifest b/dev-ada/libadalang/Manifest
new file mode 100644
index 00000000000..ee26ebc2f65
--- /dev/null
+++ b/dev-ada/libadalang/Manifest
@@ -0,0 +1,3 @@
+DIST langkit-gps-src-2017.tar.gz 364589 SHA256 
eb5e344aba3c1ed59120d788db76bb17af13fda0a0ee23d44e7c323a18b96d98 SHA512 
1c86e60710e4def3d430372eed11bf1a27bf82e84c7b787c5a0be15229b6e5f786dbdf830a311423dd7539841de3076d370afc8b4c1b0cddd1bc379372dcdc95
 WHIRLPOOL 
2d8a5dee96bad2a019e87ed48f9ebee2433dd37c425913512d33bea8b6f4eabf46c10ea686ab1a7076247c8758b67c59d85bbc78cb1a88aadda6dc2a3014ea2e
+DIST libadalang-2017-src.tar.gz 1862217 SHA256 
5f837e76e2a74bd3df551cf080e35d80c6bf9de6fde21fc2b9edf4260c6484f6 SHA512 
c8663a7214c3c1dd73a6589a6db10d219fcd2db39ba2ce184eea85272c5f206ab0aa8d13b0e19b08a5996906c7fbddd479795363ec22e889dfceda9967c346c7
 WHIRLPOOL 
501b9f36eebdda3535381fc27dfeb514c380b62431f3124a8a72ea20060dd56a2765e2b5bd449416c53f1eadf8d30113429a38e3f5e1aec13c955ffd138090fe
+DIST quex-0.65.4.tar.gz 2202154 SHA256 
42245d5795d03ca053741947733660ac4a0d6d54abdd7d2fa9997a9f2bd4ef3f SHA512 
0b11d7e5c5165674626fbbe7f54853656c579c63b78bd2fef2f5a9b316171dc647812d9a37df4e7c49c05de11a307b6425089f4ab281affb6c03a9cf09e2a035
 WHIRLPOOL 
a8103ae3c2adb1c3b0524f2d64b8043464e87a69741e6fb3735163bd58773e75c12ba464ecb08a91b6f465c5830adf1a45e4171fa72d0f738fbedaec5f764ea6

diff --git a/dev-ada/libadalang/files/libadalang-2017-gentoo.patch 
b/dev-ada/libadalang/files/libadalang-2017-gentoo.patch
new file mode 100644
index 00000000000..a54f0cf9858
--- /dev/null
+++ b/dev-ada/libadalang/files/libadalang-2017-gentoo.patch
@@ -0,0 +1,32 @@
+--- work/langkit-gps-src/langkit/templates/project_file.mako.old       
2017-07-11 14:19:12.841221846 +0200
++++ work/langkit-gps-src/langkit/templates/project_file.mako   2017-07-11 
14:12:39.104981170 +0200
+@@ -82,9 +82,9 @@
+             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
+--- work/libadalang-gps-src/ada/testsuite/testsuite_support/capi_driver.py     
2017-07-30 16:01:31.495287196 +0200
++++ work/libadalang-gps-src/ada/testsuite/testsuite_support/capi_driver.py.old 
2017-07-30 16:00:08.104464440 +0200
+@@ -72,6 +72,7 @@
+                        --  different default standard.
+ 
+                        "-I{support_include_dir}", "-g");
++                   for Driver ("C") use External ("GCC", "gcc");
+                 end Compiler;
+             end P;
+             '''.format(main_source=compile_units[0],

diff --git a/dev-ada/libadalang/libadalang-2017.ebuild 
b/dev-ada/libadalang/libadalang-2017.ebuild
new file mode 100644
index 00000000000..5a0a5cfba07
--- /dev/null
+++ b/dev-ada/libadalang/libadalang-2017.ebuild
@@ -0,0 +1,73 @@
+# 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
+
+DESCRIPTION="high performance semantic engine for the Ada programming language"
+HOMEPAGE="https://libre.adacore.com/";
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed042
+       -> ${P}-src.tar.gz
+       mirror://sourceforge/quex/quex-0.65.4.tar.gz
+       http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed044
+       -> langkit-gps-src-${PV}.tar.gz"
+
+LICENSE="GPL-3 gcc-runtime-library-exception-3.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gnat_2016 gnat_2017"
+
+RDEPEND="dev-python/pyyaml
+       ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+       dev-python/virtualenv
+       dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=]
+       dev-python/docutils
+       dev-python/mako
+       dev-python/enum34
+       dev-python/funcy"
+#REQUIRED_USE="gnat_2016 !gnat_2017 ${PYTHON_REQUIRED_USE}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S="${WORKDIR}"
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+       default
+       rm -r ${PN}-gps-src/ada/testsuite/tests/{acats_parse,stylechecks} || die
+}
+
+src_compile() {
+       cd ${PN}-gps-src
+       mkdir bin
+       ln -sf /usr/bin/gnatbind-4.9.4 bin/gnatbind
+       PATH=$PATH:${PWD}/bin \
+               QUEX_PATH="${WORKDIR}"/quex-0.65.4 \
+               PYTHONPATH=${PYTHONPATH}:"${WORKDIR}"/langkit-gps-src \
+               GCC=${CHOST}-gcc-4.9.4 ada/manage.py make || die
+}
+
+src_test () {
+       local myDir="${WORKDIR}"/${PN}-gps-src
+       cd ${PN}-gps-src/ada/testsuite
+       ln -sf "${myDir}"/build/include/libadalang.h c_support/libadalang.h
+       #./testsuite.py --show-error-output |& grep FAILED && die "Test failed"
+       GPR_PROJECT_PATH="${myDir}"/build/lib/gnat \
+               
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${myDir}"/build/lib/libadalang.relocatable \
+               PYTHONPATH="${myDir}"/build/python \
+               PATH=${PATH}:"${myDir}"/build/bin ./testsuite.py 
--show-error-output
+       rm c_support/libadalang.h
+       cd -
+}
+
+src_install () {
+       cd ${PN}-gps-src
+       QUEX_PATH="${WORKDIR}"/quex-0.65.4 \
+               PYTHONPATH=${PYTHONPATH}:"${WORKDIR}"/langkit-gps-src \
+               ada/manage.py install "${D}"usr
+       python_domodule build/python/libadalang.py
+}

diff --git a/dev-ada/libadalang/metadata.xml b/dev-ada/libadalang/metadata.xml
new file mode 100644
index 00000000000..31ddba84751
--- /dev/null
+++ b/dev-ada/libadalang/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>[email protected]</email>
+               <name>Tupone Alfredo</name>
+       </maintainer>
+       <use>
+               <flag name="gnat_2016">Compile with 
dev-lang/gnat-gpl-2016</flag>
+               <flag name="gnat_2017">Compile with 
dev-lang/gnat-gpl-2017</flag>
+       </use>
+       <longdescription lang="en">
+               Libadalang is a project to build a high performance semantic 
engine for
+               the Ada programming language. It is meant to provide a basis to 
write
+               Ada tooling, including tools working on potentially changing and
+               incorrect code, such as IDEs.
+       </longdescription>
+</pkgmetadata>

Reply via email to