1 |
commit: b3c3fb418d57285b4f5974a72aa28aaf1998eef9 |
2 |
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Nov 20 20:51:55 2017 +0000 |
4 |
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Nov 20 20:51:55 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3c3fb41 |
7 |
|
8 |
dev-ada/libadalang: Adding libadalang to the tree |
9 |
|
10 |
Package-Manager: Portage-2.3.13, Repoman-2.3.3 |
11 |
|
12 |
dev-ada/libadalang/Manifest | 3 + |
13 |
.../libadalang/files/libadalang-2017-gentoo.patch | 32 ++++++++++ |
14 |
dev-ada/libadalang/libadalang-2017.ebuild | 73 ++++++++++++++++++++++ |
15 |
dev-ada/libadalang/metadata.xml | 18 ++++++ |
16 |
4 files changed, 126 insertions(+) |
17 |
|
18 |
diff --git a/dev-ada/libadalang/Manifest b/dev-ada/libadalang/Manifest |
19 |
new file mode 100644 |
20 |
index 00000000000..ee26ebc2f65 |
21 |
--- /dev/null |
22 |
+++ b/dev-ada/libadalang/Manifest |
23 |
@@ -0,0 +1,3 @@ |
24 |
+DIST langkit-gps-src-2017.tar.gz 364589 SHA256 eb5e344aba3c1ed59120d788db76bb17af13fda0a0ee23d44e7c323a18b96d98 SHA512 1c86e60710e4def3d430372eed11bf1a27bf82e84c7b787c5a0be15229b6e5f786dbdf830a311423dd7539841de3076d370afc8b4c1b0cddd1bc379372dcdc95 WHIRLPOOL 2d8a5dee96bad2a019e87ed48f9ebee2433dd37c425913512d33bea8b6f4eabf46c10ea686ab1a7076247c8758b67c59d85bbc78cb1a88aadda6dc2a3014ea2e |
25 |
+DIST libadalang-2017-src.tar.gz 1862217 SHA256 5f837e76e2a74bd3df551cf080e35d80c6bf9de6fde21fc2b9edf4260c6484f6 SHA512 c8663a7214c3c1dd73a6589a6db10d219fcd2db39ba2ce184eea85272c5f206ab0aa8d13b0e19b08a5996906c7fbddd479795363ec22e889dfceda9967c346c7 WHIRLPOOL 501b9f36eebdda3535381fc27dfeb514c380b62431f3124a8a72ea20060dd56a2765e2b5bd449416c53f1eadf8d30113429a38e3f5e1aec13c955ffd138090fe |
26 |
+DIST quex-0.65.4.tar.gz 2202154 SHA256 42245d5795d03ca053741947733660ac4a0d6d54abdd7d2fa9997a9f2bd4ef3f SHA512 0b11d7e5c5165674626fbbe7f54853656c579c63b78bd2fef2f5a9b316171dc647812d9a37df4e7c49c05de11a307b6425089f4ab281affb6c03a9cf09e2a035 WHIRLPOOL a8103ae3c2adb1c3b0524f2d64b8043464e87a69741e6fb3735163bd58773e75c12ba464ecb08a91b6f465c5830adf1a45e4171fa72d0f738fbedaec5f764ea6 |
27 |
|
28 |
diff --git a/dev-ada/libadalang/files/libadalang-2017-gentoo.patch b/dev-ada/libadalang/files/libadalang-2017-gentoo.patch |
29 |
new file mode 100644 |
30 |
index 00000000000..a54f0cf9858 |
31 |
--- /dev/null |
32 |
+++ b/dev-ada/libadalang/files/libadalang-2017-gentoo.patch |
33 |
@@ -0,0 +1,32 @@ |
34 |
+--- work/langkit-gps-src/langkit/templates/project_file.mako.old 2017-07-11 14:19:12.841221846 +0200 |
35 |
++++ work/langkit-gps-src/langkit/templates/project_file.mako 2017-07-11 14:12:39.104981170 +0200 |
36 |
+@@ -82,9 +82,9 @@ |
37 |
+ for Default_Switches ("Ada") use |
38 |
+ Common_Ada_Cargs & ("-g", "-O0", "-gnatwe", "-gnata"); |
39 |
+ |
40 |
+- for Default_Switches ("C") use Common_C_Cargs & ("-g3", "-O0"); |
41 |
++ for Default_Switches ("C") use Common_C_Cargs & ("-g3", "-O0", "-fPIC"); |
42 |
+ |
43 |
+- for Switches ("quex_lexer.c") use Common_C_Cargs & ("-g0", "-O0"); |
44 |
++ for Switches ("quex_lexer.c") use Common_C_Cargs & ("-g0", "-O0", "-fPIC"); |
45 |
+ -- This file is *huge* and the debugging information for it harms |
46 |
+ -- Valgrind runs. We almost never have to debug this file so |
47 |
+ -- this is acceptable. |
48 |
+@@ -111,6 +111,7 @@ |
49 |
+ -- ... and this prevents OOM on other platforms |
50 |
+ end case; |
51 |
+ end case; |
52 |
++ for Driver ("C") use External ("GCC", "gcc"); |
53 |
+ end Compiler; |
54 |
+ |
55 |
+ package Binder is |
56 |
+--- work/libadalang-gps-src/ada/testsuite/testsuite_support/capi_driver.py 2017-07-30 16:01:31.495287196 +0200 |
57 |
++++ work/libadalang-gps-src/ada/testsuite/testsuite_support/capi_driver.py.old 2017-07-30 16:00:08.104464440 +0200 |
58 |
+@@ -72,6 +72,7 @@ |
59 |
+ -- different default standard. |
60 |
+ |
61 |
+ "-I{support_include_dir}", "-g"); |
62 |
++ for Driver ("C") use External ("GCC", "gcc"); |
63 |
+ end Compiler; |
64 |
+ end P; |
65 |
+ '''.format(main_source=compile_units[0], |
66 |
|
67 |
diff --git a/dev-ada/libadalang/libadalang-2017.ebuild b/dev-ada/libadalang/libadalang-2017.ebuild |
68 |
new file mode 100644 |
69 |
index 00000000000..5a0a5cfba07 |
70 |
--- /dev/null |
71 |
+++ b/dev-ada/libadalang/libadalang-2017.ebuild |
72 |
@@ -0,0 +1,73 @@ |
73 |
+# Copyright 1999-2017 Gentoo Foundation |
74 |
+# Distributed under the terms of the GNU General Public License v2 |
75 |
+ |
76 |
+EAPI=6 |
77 |
+ |
78 |
+PYTHON_COMPAT=( python2_7 ) |
79 |
+ |
80 |
+inherit python-single-r1 |
81 |
+ |
82 |
+DESCRIPTION="high performance semantic engine for the Ada programming language" |
83 |
+HOMEPAGE="https://libre.adacore.com/" |
84 |
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed042 |
85 |
+ -> ${P}-src.tar.gz |
86 |
+ mirror://sourceforge/quex/quex-0.65.4.tar.gz |
87 |
+ http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed044 |
88 |
+ -> langkit-gps-src-${PV}.tar.gz" |
89 |
+ |
90 |
+LICENSE="GPL-3 gcc-runtime-library-exception-3.1" |
91 |
+SLOT="0" |
92 |
+KEYWORDS="~amd64" |
93 |
+IUSE="gnat_2016 gnat_2017" |
94 |
+ |
95 |
+RDEPEND="dev-python/pyyaml |
96 |
+ ${PYTHON_DEPS}" |
97 |
+DEPEND="${RDEPEND} |
98 |
+ dev-python/virtualenv |
99 |
+ dev-ada/gnatcoll[projects,shared,gnat_2016=,gnat_2017=] |
100 |
+ dev-python/docutils |
101 |
+ dev-python/mako |
102 |
+ dev-python/enum34 |
103 |
+ dev-python/funcy" |
104 |
+#REQUIRED_USE="gnat_2016 !gnat_2017 ${PYTHON_REQUIRED_USE}" |
105 |
+REQUIRED_USE="${PYTHON_REQUIRED_USE}" |
106 |
+ |
107 |
+S="${WORKDIR}" |
108 |
+ |
109 |
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) |
110 |
+ |
111 |
+src_prepare() { |
112 |
+ default |
113 |
+ rm -r ${PN}-gps-src/ada/testsuite/tests/{acats_parse,stylechecks} || die |
114 |
+} |
115 |
+ |
116 |
+src_compile() { |
117 |
+ cd ${PN}-gps-src |
118 |
+ mkdir bin |
119 |
+ ln -sf /usr/bin/gnatbind-4.9.4 bin/gnatbind |
120 |
+ PATH=$PATH:${PWD}/bin \ |
121 |
+ QUEX_PATH="${WORKDIR}"/quex-0.65.4 \ |
122 |
+ PYTHONPATH=${PYTHONPATH}:"${WORKDIR}"/langkit-gps-src \ |
123 |
+ GCC=${CHOST}-gcc-4.9.4 ada/manage.py make || die |
124 |
+} |
125 |
+ |
126 |
+src_test () { |
127 |
+ local myDir="${WORKDIR}"/${PN}-gps-src |
128 |
+ cd ${PN}-gps-src/ada/testsuite |
129 |
+ ln -sf "${myDir}"/build/include/libadalang.h c_support/libadalang.h |
130 |
+ #./testsuite.py --show-error-output |& grep FAILED && die "Test failed" |
131 |
+ GPR_PROJECT_PATH="${myDir}"/build/lib/gnat \ |
132 |
+ LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"${myDir}"/build/lib/libadalang.relocatable \ |
133 |
+ PYTHONPATH="${myDir}"/build/python \ |
134 |
+ PATH=${PATH}:"${myDir}"/build/bin ./testsuite.py --show-error-output |
135 |
+ rm c_support/libadalang.h |
136 |
+ cd - |
137 |
+} |
138 |
+ |
139 |
+src_install () { |
140 |
+ cd ${PN}-gps-src |
141 |
+ QUEX_PATH="${WORKDIR}"/quex-0.65.4 \ |
142 |
+ PYTHONPATH=${PYTHONPATH}:"${WORKDIR}"/langkit-gps-src \ |
143 |
+ ada/manage.py install "${D}"usr |
144 |
+ python_domodule build/python/libadalang.py |
145 |
+} |
146 |
|
147 |
diff --git a/dev-ada/libadalang/metadata.xml b/dev-ada/libadalang/metadata.xml |
148 |
new file mode 100644 |
149 |
index 00000000000..31ddba84751 |
150 |
--- /dev/null |
151 |
+++ b/dev-ada/libadalang/metadata.xml |
152 |
@@ -0,0 +1,18 @@ |
153 |
+<?xml version="1.0" encoding="UTF-8"?> |
154 |
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
155 |
+<pkgmetadata> |
156 |
+ <maintainer type="person"> |
157 |
+ <email>tupone@g.o</email> |
158 |
+ <name>Tupone Alfredo</name> |
159 |
+ </maintainer> |
160 |
+ <use> |
161 |
+ <flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag> |
162 |
+ <flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag> |
163 |
+ </use> |
164 |
+ <longdescription lang="en"> |
165 |
+ Libadalang is a project to build a high performance semantic engine for |
166 |
+ the Ada programming language. It is meant to provide a basis to write |
167 |
+ Ada tooling, including tools working on potentially changing and |
168 |
+ incorrect code, such as IDEs. |
169 |
+ </longdescription> |
170 |
+</pkgmetadata> |