Gentoo Archives: gentoo-commits

From: Alfredo Tupone <tupone@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ada/gprconfig_kb/, dev-ada/gprconfig_kb/files/
Date: Thu, 24 Nov 2022 20:26:41
Message-Id: 1669321581.ae69ac67cfc989fcbba8838863c170167a213522.tupone@gentoo
1 commit: ae69ac67cfc989fcbba8838863c170167a213522
2 Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
3 AuthorDate: Thu Nov 24 20:22:37 2022 +0000
4 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org>
5 CommitDate: Thu Nov 24 20:26:21 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae69ac67
7
8 dev-ada/gprconfig_kb: new package, add 22.0.0
9
10 Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>
11
12 dev-ada/gprconfig_kb/Manifest | 1 +
13 .../files/gprconfig_kb-22.0.0-gentoo.patch | 261 +++++++++++++++++++++
14 dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild | 42 ++++
15 dev-ada/gprconfig_kb/metadata.xml | 20 ++
16 4 files changed, 324 insertions(+)
17
18 diff --git a/dev-ada/gprconfig_kb/Manifest b/dev-ada/gprconfig_kb/Manifest
19 new file mode 100644
20 index 000000000000..638d372afab3
21 --- /dev/null
22 +++ b/dev-ada/gprconfig_kb/Manifest
23 @@ -0,0 +1 @@
24 +DIST gprconfig_kb-22.0.0.tar.gz 40598 BLAKE2B c0b18078ac3384de9bb503f78a1bb39a486b5ae899ad1ab135fa05da414eb6a55b5b7156bb4fc60a34c0d085b33af13ef2e0ec46840ad43ca63c387863ae6eac SHA512 69f8490af56b0e07afbfef51c12cd6361a00327af774cd0deacf8260ccc4782e1e8465a074e8a025024570ce43ba1b4b3adfbde9ae4ea372e487d342da6994d4
25
26 diff --git a/dev-ada/gprconfig_kb/files/gprconfig_kb-22.0.0-gentoo.patch b/dev-ada/gprconfig_kb/files/gprconfig_kb-22.0.0-gentoo.patch
27 new file mode 100644
28 index 000000000000..7dfa8e0e9cd4
29 --- /dev/null
30 +++ b/dev-ada/gprconfig_kb/files/gprconfig_kb-22.0.0-gentoo.patch
31 @@ -0,0 +1,261 @@
32 +--- a/db/compilers.xml 2019-06-01 21:29:57.611722804 +0200
33 ++++ b/db/compilers.xml 2019-06-01 21:42:56.000608601 +0200
34 +@@ -20,15 +20,15 @@
35 + <!-- GCC 3.x & 4.x (not for GNAT Pro)-->
36 + <compiler_description>
37 + <name>GCC</name>
38 +- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc</executable>
39 ++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc-@VER@</executable>
40 + <version>
41 +- <external>${PREFIX}gcc -v</external>
42 ++ <external>${PREFIX}gcc-@VER@ -v</external>
43 + <nogrep regexp="for GNAT Pro"></nogrep>
44 + <grep regexp="^gcc \S+ (\S+)" group="1"></grep>
45 + </version>
46 + <languages>C</languages>
47 + <target>
48 +- <external>${PREFIX}gcc -dumpmachine</external>
49 ++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
50 + <grep regexp="[^\r\n]+"></grep>
51 + </target>
52 + </compiler_description>
53 +@@ -185,14 +185,14 @@
54 + -->
55 + <compiler_description>
56 + <name>GNAT</name>
57 +- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*|.*-rtems.*)?gnatls</executable>
58 ++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*|.*-rtems.*)?gnatls-@VER@</executable>
59 + <version>
60 +- <external>${PREFIX}gnatls -v --version</external>
61 ++ <external>${PREFIX}gnatls-@VER@ -v --version</external>
62 + <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
63 + </version>
64 + <languages>Ada</languages>
65 + <variable name="gcc_version">
66 +- <external>${PREFIX}gcc -v</external>
67 ++ <external>${PREFIX}gcc-@VER@ -v</external>
68 + <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
69 + </variable>
70 + <runtimes default="default,kernel,native">
71 +@@ -202,68 +202,11 @@
72 + <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory>
73 + </runtimes>
74 + <target>
75 +- <external>${PREFIX}gcc -dumpmachine</external>
76 ++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external>
77 + <grep regexp="[^\r\n]+"></grep>
78 + </target>
79 + </compiler_description>
80 +
81 +- <!-- CodePeer -->
82 +-
83 +- <compiler_description>
84 +- <name>GNAT_CODEPEER</name>
85 +- <executable prefix="1">(.*gnsa-|.*codepeer-)gnatls</executable>
86 +- <version>
87 +- <external>${PREFIX}gnatls -v</external>
88 +- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
89 +- </version>
90 +- <languages>Ada,C,C++</languages>
91 +- <variable name="gcc_version">
92 +- <external>${PREFIX}gcc -v</external>
93 +- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
94 +- </variable>
95 +- <runtimes default="default,native">
96 +- <directory group="default" >\.\./lib/gcc/.*/$gcc_version/adalib/</directory>
97 +- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
98 +- <directory group="1" >\.\./lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
99 +- </runtimes>
100 +- <target>codepeer</target>
101 +- </compiler_description>
102 +-
103 +- <!-- Generic GNAT LLVM Target -->
104 +-
105 +- <compiler_description>
106 +- <name>GNAT_LLVM</name>
107 +- <executable prefix="1">(llvm-)gnatls</executable>
108 +- <version>
109 +- <external>${PREFIX}gnatls -v</external>
110 +- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
111 +- </version>
112 +- <languages>Ada</languages>
113 +- <variable name="gcc_version">
114 +- <external>${PREFIX}gcc -v</external>
115 +- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
116 +- </variable>
117 +- <runtimes default="default,native">
118 +- <directory group="default" >\.\./lib/rts-native/adalib/</directory>
119 +- <directory group="1" >\.\./lib/rts-(.*)/adalib/</directory>
120 +- </runtimes>
121 +- <target>llvm</target>
122 +- </compiler_description>
123 +-
124 +- <!-- Generic C compiler for LLVM -->
125 +- <compiler_description>
126 +- <name>C_LLVM</name>
127 +- <executable>clang</executable>
128 +- <version>
129 +- <external>clang --version</external>
130 +-
131 +- <!-- '...clang version 6.0.0...' -->
132 +- <grep regexp="clang version (\S+)" group="1"></grep>
133 +- </version>
134 +- <languages>C</languages>
135 +- <target>llvm</target>
136 +- </compiler_description>
137 +-
138 + <!-- Generic C++ compiler for LLVM -->
139 + <compiler_description>
140 + <name>C++_LLVM</name>
141 +@@ -221,28 +221,6 @@
142 + <target>llvm</target>
143 + </compiler_description>
144 +
145 +- <!-- C Target -->
146 +-
147 +- <compiler_description>
148 +- <name>GNAT_C</name>
149 +- <executable prefix="1">(c-)gnatls</executable>
150 +- <version>
151 +- <external>${PREFIX}gnatls -v</external>
152 +- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
153 +- </version>
154 +- <languages>Ada</languages>
155 +- <variable name="gcc_version">
156 +- <external>${PREFIX}gcc -v</external>
157 +- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep>
158 +- </variable>
159 +- <runtimes default="default,ccg">
160 +- <directory group="default" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/adalib/</directory>
161 +- <directory group="1" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory>
162 +- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory>
163 +- </runtimes>
164 +- <target>c</target>
165 +- </compiler_description>
166 +-
167 + <!-- CCG Target (C generation via LLVM) -->
168 +
169 + <compiler_description>
170 +@@ -286,23 +264,6 @@
171 + </compiler_description>
172 +
173 +
174 +- <!-- GNAT_DOTNET -->
175 +-
176 +- <compiler_description>
177 +- <name>GNAT_DOTNET</name>
178 +- <executable prefix="1">(.*dotnet-)gnatls</executable>
179 +- <version>
180 +- <external>${PREFIX}gnatls -v</external>
181 +- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep>
182 +- </version>
183 +- <languages>Ada</languages>
184 +- <runtimes default="default,kernel">
185 +- <directory group="default" >\.\./lib/dotgnat/adalib/</directory>
186 +- <directory group="1" >\.\./lib/dotgnat/rts-(.*)/adalib/</directory>
187 +- </runtimes>
188 +- <target>dotnet</target>
189 +- </compiler_description>
190 +-
191 + <!-- JGNAT -->
192 +
193 + <compiler_description>
194 +@@ -421,21 +326,6 @@
195 + </target>
196 + </compiler_description>
197 +
198 +- <!-- LLVM Compiler -->
199 +- <compiler_description>
200 +- <name>LLVM</name>
201 +- <executable>clang</executable>
202 +- <version>
203 +- <external>clang -v</external>
204 +- <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep>
205 +- </version>
206 +- <languages>C,C++</languages>
207 +- <target>
208 +- <external>clang -dumpmachine</external>
209 +- <grep regexp="[^\r\n]+"></grep>
210 +- </target>
211 +- </compiler_description>
212 +-
213 + <!-- Windres compiler -->
214 + <compiler_description>
215 + <name>WINDRES</name>
216 +--- a/db/gnat.xml 2019-06-01 21:53:53.383281607 +0200
217 ++++ b/db/gnat.xml 2019-06-01 21:57:08.414196529 +0200
218 +@@ -60,7 +60,7 @@
219 + &filter_gnat;
220 + <config>
221 + package Compiler is
222 +- for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc";
223 ++ for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@";
224 + for Language_Kind ("Ada") use "unit_based";
225 + for Dependency_Kind ("Ada") use "ALI_File";
226 + for Leading_Required_Switches ("Ada") use
227 +@@ -77,6 +77,9 @@
228 + for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE";
229 + for Driver ("Ada") use
230 + "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind";
231 ++ for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@");
232 ++ for Required_Switches ("Ada") use
233 ++ Binder'Required_Switches ("Ada") &amp; ("--RTS=${RUNTIME_DIR(ada)}");
234 + end Binder;
235 +
236 + for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}";
237 +--- a/db/c.xml 2019-06-01 21:57:36.244755708 +0200
238 ++++ b/db/c.xml 2019-06-01 21:59:14.919191663 +0200
239 +@@ -14,7 +14,7 @@
240 + </compilers>
241 + <config>
242 + package Compiler is
243 +- for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc";
244 ++ for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc-@VER@";
245 + end Compiler;
246 + </config>
247 + </configuration>
248 +--- a/db/linker.xml 2021-12-21 22:36:01.054738486 +0100
249 ++++ b/db/linker.xml 2021-12-21 22:36:59.973738600 +0100
250 +@@ -128,9 +128,13 @@
251 + <host name="^i686.*-linux.*$" />
252 + </hosts>
253 + <config>
254 +- for Object_Lister use ("nm", "-g");
255 ++ NM := External("NM", "nm");
256 ++ for Object_Lister use (NM, "-g");
257 + for Object_Lister_Matcher use " [TDRB] (.*)";
258 +
259 ++ LDFLAGS := External_As_List ("LDFLAGS", " ");
260 ++ for Leading_Library_Options use LDFLAGS;
261 ++
262 + package Linker is
263 + for Export_File_Format use "GNU";
264 + for Export_File_Switch use "-Wl,--version-script=";
265 +@@ -877,7 +877,8 @@
266 + <host name="^x86_64-.*linux.*" />
267 + </hosts>
268 + <config>
269 +- for Archive_Builder use ("ar", "cr");
270 ++ AR := External("AR", "ar");
271 ++ for Archive_Builder use (AR, "cr");
272 + for Archive_Builder_Append_Option use ("q");
273 + for Archive_Indexer use ("ranlib");
274 + for Archive_Suffix use ".a";
275 +@@ -1211,7 +1211,7 @@
276 + </targets>
277 + <config>
278 + for Library_Partial_Linker use
279 +- ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib")
280 ++ ("${PATH(ada)}${PREFIX(ada)}gcc-@VER@", "-nostdlib")
281 + &amp; GCC_No_Pie
282 + &amp; ("-Wl,-r", "-o");
283 + </config>
284 +@@ -1232,7 +1232,7 @@
285 + </targets>
286 + <config>
287 + for Library_Partial_Linker use
288 +- ("${PATH(c)}${PREFIX(c)}gcc", "-nostdlib")
289 ++ ("${PATH(c)}${PREFIX(c)}gcc-@VER@", "-nostdlib")
290 + &amp; GCC_No_Pie
291 + &amp; ("-Wl,-r", "-o");
292 + </config>
293
294 diff --git a/dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild b/dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild
295 new file mode 100644
296 index 000000000000..8dde8339ac1e
297 --- /dev/null
298 +++ b/dev-ada/gprconfig_kb/gprconfig_kb-22.0.0.ebuild
299 @@ -0,0 +1,42 @@
300 +# Copyright 1999-2022 Gentoo Authors
301 +# Distributed under the terms of the GNU General Public License v2
302 +
303 +EAPI=7
304 +
305 +ADA_COMPAT=( gnat_2021 gcc_12_2_0 )
306 +
307 +inherit ada
308 +
309 +DESCRIPTION="GPR configuration knowledge base"
310 +HOMEPAGE="https://www.adacore.com/"
311 +SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
312 + -> ${P}.tar.gz"
313 +LICENSE="GPL-3"
314 +SLOT="0"
315 +KEYWORDS="~amd64 ~x86"
316 +IUSE=""
317 +
318 +RDEPEND="!=dev-ada/gprbuild-2021*"
319 +
320 +REQUIRED_USE="${ADA_REQUIRED_USE}"
321 +PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
322 +
323 +src_prepare() {
324 + default
325 +
326 + sed -i \
327 + -e "s:@VER@:${GCC_PV}:g" \
328 + -e "s:\$gcc_version:${GCC_PV}:g" \
329 + db/compilers.xml \
330 + db/gnat.xml \
331 + db/c.xml \
332 + db/linker.xml \
333 + || die
334 +}
335 +
336 +src_install() {
337 + insinto /usr/share/gprconfig
338 + doins db/*.xml
339 + doins db/*.ent
340 + einstalldocs
341 +}
342
343 diff --git a/dev-ada/gprconfig_kb/metadata.xml b/dev-ada/gprconfig_kb/metadata.xml
344 new file mode 100644
345 index 000000000000..a8dc92e88861
346 --- /dev/null
347 +++ b/dev-ada/gprconfig_kb/metadata.xml
348 @@ -0,0 +1,20 @@
349 +<?xml version="1.0" encoding="UTF-8"?>
350 +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
351 +<pkgmetadata>
352 + <maintainer type="project">
353 + <email>ada@g.o</email>
354 + </maintainer>
355 + <longdescription lang="en">
356 + GPRbuild is an advanced software tool designed to help automate the
357 + construction of multi-language systems. It removes complexity from
358 + multi-language development by allowing developers to quickly and easily
359 + compile and link software written in a combination of languages
360 + including Ada, Assembler, C, C++, and Fortran. Easily extendable by
361 + users to cover new toolchains and languages it is primarily aimed at
362 + projects of all sizes organized into subsystems and libraries and is
363 + particularly well-suited for compiled languages.
364 + </longdescription>
365 + <upstream>
366 + <remote-id type="github">adacore/gprconfig_kb</remote-id>
367 + </upstream>
368 +</pkgmetadata>