1 |
commit: 0f1f8f502c96495a9abe50a6edf0ab07924125a6 |
2 |
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Jun 2 16:50:56 2019 +0000 |
4 |
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jun 2 16:50:56 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f1f8f50 |
7 |
|
8 |
dev-ada/gprbuild: New (2019) version |
9 |
|
10 |
Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org> |
11 |
Package-Manager: Portage-2.3.66, Repoman-2.3.11 |
12 |
|
13 |
dev-ada/gprbuild/Manifest | 2 + |
14 |
dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch | 274 ++++++++++++++++++++++ |
15 |
dev-ada/gprbuild/gprbuild-2019.ebuild | 90 +++++++ |
16 |
3 files changed, 366 insertions(+) |
17 |
|
18 |
diff --git a/dev-ada/gprbuild/Manifest b/dev-ada/gprbuild/Manifest |
19 |
index 75d4210b6e2..06e3942bc69 100644 |
20 |
--- a/dev-ada/gprbuild/Manifest |
21 |
+++ b/dev-ada/gprbuild/Manifest |
22 |
@@ -1,4 +1,6 @@ |
23 |
+DIST gprbuild-2019-20190517-194D8-src.tar.gz 2507961 BLAKE2B 0f70d94cb0db9ddc1dd308862aaa305a91965a62a936cfbdde2ae9f3f735f0cc3d69596b09da4b979a1d7923087ab0ec5cf2d6541551f057b5e8e0c499065a90 SHA512 0388d7e6cdf625fef40b33da764091b3283dd88714c64ecfad4b5e99253f183b1a9b717c19281e6d45cc4277a05fadb2e2ace394d6f30638664b66c97123052b |
24 |
DIST gprbuild-gpl-2017-src.tar.gz 2454957 BLAKE2B 890e5aa29e9f8fa8b140988ee8e5d6042640c34fe0877acde959de803bf690bb33c63b1c7e7db486f804882bddd77ab76ffbaa4dd27da327e21ed0376cadb99d SHA512 12f3682d64ce0718de4940c1e71a4380b20021805d88543842dbf3b5ce5d518c23a6b2d868565579baf81efa1d8cf05c7778253162f0df5d7adc0eb1865c9f88 |
25 |
DIST gprbuild-gpl-2018-src.tar.gz 2479651 BLAKE2B b0e24f4d97f06fe84569f8f0284e1028fce8e4ae90cfd27ab31ada0988f4f1b37eca4868bc212a21d26fb1a0a7ba6f031062e16d9758ab211e2fee40e25077ab SHA512 d22c0133baa6a0b626a0c1d145b21865bd0699cd8155ca22727272b0f8988c78163410b432ae148e87099e931df19d51ea867981556c79cb1cceb25456333044 |
26 |
+DIST xmlada-2019-20190429-19B9D-src.tar.gz 1582603 BLAKE2B e2be3e7c0c8b843bfc808a3dd726235a82588caed8c919975a97ce34c72d6d634361bbc34208590210936add9e2f881b59d01168ef79abed1e489c50b27094d8 SHA512 f8e0e25b0aee9a7a18223ae7761603082af55134f062c767d0cd0dbf0dbcb2058fc7c57532b567fb2c6efa464a53ead57b300578e98962025866e5c3ad73e380 |
27 |
DIST xmlada-gpl-2017-src.tar.gz 1578393 BLAKE2B 7b4894040b6044e86c96cbd530ebda5c0cfc4ad0e2b472d46798a93f535aca0916b03385a3aef49bd4e59d508a9665c856360e9cab0a4f67b15091228b629d81 SHA512 371f6adc01550a4bb13204ec0404dc1165438db595f4346813e5a23a155de74c857c40c55adde173919c2fe35b3b91d78b235c9718ee86bc848e62ddfd7fa2b4 |
28 |
DIST xmlada-gpl-2018-src.tar.gz 1582215 BLAKE2B 11012dab19f45507eeb5ce6ebec9a77ceb5dfb7749960922f0f48bb1b0409305fd43466a7af90b48ff0a0cf58612e8859274a92e0fe272b4e57a59b92a1725f1 SHA512 8970c4e68defad66625c1110554dadfc485fbbe42e832987593cf727e98f13dd87c90b84461187dbbe2b1051831e6e70f9f53d6a0cfc07451726d601b2856430 |
29 |
|
30 |
diff --git a/dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch |
31 |
new file mode 100644 |
32 |
index 00000000000..352ff033b81 |
33 |
--- /dev/null |
34 |
+++ b/dev-ada/gprbuild/files/gprbuild-2019-gentoo.patch |
35 |
@@ -0,0 +1,274 @@ |
36 |
+--- a/src/gprlib.adb 2019-06-02 10:57:49.807002425 +0200 |
37 |
++++ b/src/gprlib.adb 2019-06-02 11:01:32.986518447 +0200 |
38 |
+@@ -266,7 +266,9 @@ |
39 |
+ |
40 |
+ Driver_Name : Name_Id := No_Name; |
41 |
+ |
42 |
+- Gnatbind_Name : String_Access := new String'("gnatbind"); |
43 |
++ Gnatbind_Name : String_Access := new String'("@GNATBIND@"); |
44 |
++ |
45 |
++ Gnatbind_Path_Option : constant String := "--gnatbind_path="; |
46 |
+ |
47 |
+ Compiler_Name : String_Access := new String'("gcc"); |
48 |
+ |
49 |
+@@ -2081,7 +2083,7 @@ |
50 |
+ and then Line (Last - 2 .. Last) = "gcc" |
51 |
+ then |
52 |
+ Gnatbind_Name := |
53 |
+- new String'(Line (1 .. Last - 3) & "gnatbind"); |
54 |
++ new String'(Line (1 .. Last - 3) & "@GNATBIND@"); |
55 |
+ Objcopy_Name := |
56 |
+ new String'(Line (1 .. Last - 3) & "objcopy"); |
57 |
+ |
58 |
+@@ -2089,7 +2091,7 @@ |
59 |
+ and then Line (Last - 6 .. Last) = "gcc.exe" |
60 |
+ then |
61 |
+ Gnatbind_Name := |
62 |
+- new String'(Line (1 .. Last - 7) & "gnatbind"); |
63 |
++ new String'(Line (1 .. Last - 7) & "@GNATBIND@"); |
64 |
+ Objcopy_Name := |
65 |
+ new String'(Line (1 .. Last - 7) & "objcopy"); |
66 |
+ end if; |
67 |
+@@ -2241,7 +2243,13 @@ |
68 |
+ Mapping_File_Name := new String'(Line (1 .. Last)); |
69 |
+ |
70 |
+ when Binding_Options => |
71 |
+- Binding_Options_Table.Append (Line (1 .. Last)); |
72 |
++ if Last > Gnatbind_Path_Option'Length |
73 |
++ and then Line (1 .. Gnatbind_Path_Option'Length) = |
74 |
++ Gnatbind_Path_Option then |
75 |
++ null; |
76 |
++ else |
77 |
++ Binding_Options_Table.Append (Line (1 .. Last)); |
78 |
++ end if; |
79 |
+ |
80 |
+ when Copy_Source_Dir => |
81 |
+ Copy_Source_Directory := new String'(Line (1 .. Last)); |
82 |
+--- a/share/gprconfig/compilers.xml 2019-06-01 21:29:57.611722804 +0200 |
83 |
++++ b/share/gprconfig/compilers.xml 2019-06-01 21:42:56.000608601 +0200 |
84 |
+@@ -20,15 +20,15 @@ |
85 |
+ <!-- GCC 3.x & 4.x (not for GNAT Pro)--> |
86 |
+ <compiler_description> |
87 |
+ <name>GCC</name> |
88 |
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc</executable> |
89 |
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-)?gcc-@VER@</executable> |
90 |
+ <version> |
91 |
+- <external>${PREFIX}gcc -v</external> |
92 |
++ <external>${PREFIX}gcc-@VER@ -v</external> |
93 |
+ <nogrep regexp="for GNAT Pro"></nogrep> |
94 |
+ <grep regexp="^gcc \S+ (\S+)" group="1"></grep> |
95 |
+ </version> |
96 |
+ <languages>C</languages> |
97 |
+ <target> |
98 |
+- <external>${PREFIX}gcc -dumpmachine</external> |
99 |
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external> |
100 |
+ <grep regexp="[^\r\n]+"></grep> |
101 |
+ </target> |
102 |
+ </compiler_description> |
103 |
+@@ -170,14 +170,14 @@ |
104 |
+ --> |
105 |
+ <compiler_description> |
106 |
+ <name>GNAT</name> |
107 |
+- <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls</executable> |
108 |
++ <executable prefix="1">(.*-wrs-.*|.*-sysgo.*|.*-elf-.*|.*-eabi-.*|.*-eabispe-.*|avr-.*|.*-elinos-linux.*|.*-generic-linux-gnu-|.*-pc-mingw32.*|.*-xcoff-.*|arm-linux-androideabi-|arm-linux-gnueabi-|arm-linux-gnueabihf-|e500v2-gnu-linux-|powerpc-.*-linux.*-|.*-darwin.*-|aarch64-linux-gnu-|.*-qnx.*)?gnatls-@VER@</executable> |
109 |
+ <version> |
110 |
+- <external>${PREFIX}gnatls -v --version</external> |
111 |
++ <external>${PREFIX}gnatls-@VER@ -v --version</external> |
112 |
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep> |
113 |
+ </version> |
114 |
+ <languages>Ada</languages> |
115 |
+ <variable name="gcc_version"> |
116 |
+- <external>${PREFIX}gcc -v</external> |
117 |
++ <external>${PREFIX}gcc-@VER@ -v</external> |
118 |
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep> |
119 |
+ </variable> |
120 |
+ <runtimes default="default,kernel,native"> |
121 |
+@@ -187,67 +187,11 @@ |
122 |
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory> |
123 |
+ </runtimes> |
124 |
+ <target> |
125 |
+- <external>${PREFIX}gcc -dumpmachine</external> |
126 |
++ <external>${PREFIX}gcc-@VER@ -dumpmachine</external> |
127 |
+ <grep regexp="[^\r\n]+"></grep> |
128 |
+ </target> |
129 |
+ </compiler_description> |
130 |
+ |
131 |
+- <!-- CodePeer --> |
132 |
+- |
133 |
+- <compiler_description> |
134 |
+- <name>GNAT_CODEPEER</name> |
135 |
+- <executable prefix="1">(.*gnsa-|.*codepeer-)gnatls</executable> |
136 |
+- <version> |
137 |
+- <external>${PREFIX}gnatls -v</external> |
138 |
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep> |
139 |
+- </version> |
140 |
+- <languages>Ada,C,C++</languages> |
141 |
+- <variable name="gcc_version"> |
142 |
+- <external>${PREFIX}gcc -v</external> |
143 |
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep> |
144 |
+- </variable> |
145 |
+- <runtimes default="default,native"> |
146 |
+- <directory group="default" >\.\./lib/gcc/.*/$gcc_version/adalib/</directory> |
147 |
+- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory> |
148 |
+- <directory group="1" >\.\./lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory> |
149 |
+- </runtimes> |
150 |
+- <target>codepeer</target> |
151 |
+- </compiler_description> |
152 |
+- |
153 |
+- <!-- Generic GNAT LLVM Target --> |
154 |
+- |
155 |
+- <compiler_description> |
156 |
+- <name>GNAT_LLVM</name> |
157 |
+- <executable prefix="1">(llvm-)gnatls</executable> |
158 |
+- <version> |
159 |
+- <external>${PREFIX}gnatls -v</external> |
160 |
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep> |
161 |
+- </version> |
162 |
+- <languages>Ada</languages> |
163 |
+- <variable name="gcc_version"> |
164 |
+- <external>${PREFIX}gcc -v</external> |
165 |
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep> |
166 |
+- </variable> |
167 |
+- <runtimes default="default,native"> |
168 |
+- <directory group="default" >\.\./lib/rts-native/adalib/</directory> |
169 |
+- </runtimes> |
170 |
+- <target>llvm</target> |
171 |
+- </compiler_description> |
172 |
+- |
173 |
+- <!-- Generic C compiler for LLVM --> |
174 |
+- <compiler_description> |
175 |
+- <name>C_LLVM</name> |
176 |
+- <executable>clang</executable> |
177 |
+- <version> |
178 |
+- <external>clang --version</external> |
179 |
+- |
180 |
+- <!-- 'clang version 6.0.0 ...' --> |
181 |
+- <grep regexp="^clang version (\S+) " group="1"></grep> |
182 |
+- </version> |
183 |
+- <languages>C</languages> |
184 |
+- <target>llvm</target> |
185 |
+- </compiler_description> |
186 |
+- |
187 |
+ <!-- Generic C++ compiler for LLVM --> |
188 |
+ <compiler_description> |
189 |
+ <name>C++_LLVM</name> |
190 |
+@@ -262,45 +206,6 @@ |
191 |
+ <target>llvm</target> |
192 |
+ </compiler_description> |
193 |
+ |
194 |
+- <!-- C Target --> |
195 |
+- |
196 |
+- <compiler_description> |
197 |
+- <name>GNAT_C</name> |
198 |
+- <executable prefix="1">(c-)gnatls</executable> |
199 |
+- <version> |
200 |
+- <external>${PREFIX}gnatls -v</external> |
201 |
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep> |
202 |
+- </version> |
203 |
+- <languages>Ada</languages> |
204 |
+- <variable name="gcc_version"> |
205 |
+- <external>${PREFIX}gcc -v</external> |
206 |
+- <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep> |
207 |
+- </variable> |
208 |
+- <runtimes default="default,ccg"> |
209 |
+- <directory group="default" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/adalib/</directory> |
210 |
+- <directory group="1" >\.\./libexec/gnat_ccg/lib/gcc/.*/$gcc_version/rts-(.*)/adalib/</directory> |
211 |
+- <directory group="1" >\.\./lib/gnat/(.*)/adalib/</directory> |
212 |
+- </runtimes> |
213 |
+- <target>c</target> |
214 |
+- </compiler_description> |
215 |
+- |
216 |
+- <!-- GNAT_DOTNET --> |
217 |
+- |
218 |
+- <compiler_description> |
219 |
+- <name>GNAT_DOTNET</name> |
220 |
+- <executable prefix="1">(.*dotnet-)gnatls</executable> |
221 |
+- <version> |
222 |
+- <external>${PREFIX}gnatls -v</external> |
223 |
+- <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep> |
224 |
+- </version> |
225 |
+- <languages>Ada</languages> |
226 |
+- <runtimes default="default,kernel"> |
227 |
+- <directory group="default" >\.\./lib/dotgnat/adalib/</directory> |
228 |
+- <directory group="1" >\.\./lib/dotgnat/rts-(.*)/adalib/</directory> |
229 |
+- </runtimes> |
230 |
+- <target>dotnet</target> |
231 |
+- </compiler_description> |
232 |
+- |
233 |
+ <!-- G77 --> |
234 |
+ <compiler_description> |
235 |
+ <name>G77</name> |
236 |
+@@ -404,21 +309,6 @@ |
237 |
+ </target> |
238 |
+ </compiler_description> |
239 |
+ |
240 |
+- <!-- LLVM Compiler --> |
241 |
+- <compiler_description> |
242 |
+- <name>LLVM</name> |
243 |
+- <executable>clang</executable> |
244 |
+- <version> |
245 |
+- <external>clang -v</external> |
246 |
+- <grep regexp=".*(LLVM|clang) version ([0-9.]*)" group="2"></grep> |
247 |
+- </version> |
248 |
+- <languages>C,C++</languages> |
249 |
+- <target> |
250 |
+- <external>clang -dumpmachine</external> |
251 |
+- <grep regexp="[^\r\n]+"></grep> |
252 |
+- </target> |
253 |
+- </compiler_description> |
254 |
+- |
255 |
+ <!-- Windres compiler --> |
256 |
+ <compiler_description> |
257 |
+ <name>WINDRES</name> |
258 |
+--- a/share/gprconfig/gnat.xml 2019-06-01 21:53:53.383281607 +0200 |
259 |
++++ b/share/gprconfig/gnat.xml 2019-06-01 21:57:08.414196529 +0200 |
260 |
+@@ -60,7 +60,7 @@ |
261 |
+ &filter_gnat; |
262 |
+ <config> |
263 |
+ package Compiler is |
264 |
+- for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc"; |
265 |
++ for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@"; |
266 |
+ for Language_Kind ("Ada") use "unit_based"; |
267 |
+ for Dependency_Kind ("Ada") use "ALI_File"; |
268 |
+ for Leading_Required_Switches ("Ada") use |
269 |
+@@ -77,6 +77,9 @@ |
270 |
+ for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE"; |
271 |
+ for Driver ("Ada") use |
272 |
+ "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind"; |
273 |
++ for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@"); |
274 |
++ for Required_Switches ("Ada") use |
275 |
++ Binder'Required_Switches ("Ada") & ("--RTS=${RUNTIME_DIR(ada)}"); |
276 |
+ end Binder; |
277 |
+ |
278 |
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}"; |
279 |
+--- a/share/gprconfig/c.xml 2019-06-01 21:57:36.244755708 +0200 |
280 |
++++ b/share/gprconfig/c.xml 2019-06-01 21:59:14.919191663 +0200 |
281 |
+@@ -14,7 +14,7 @@ |
282 |
+ </compilers> |
283 |
+ <config> |
284 |
+ package Compiler is |
285 |
+- for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc"; |
286 |
++ for Driver ("C") use "${PATH(c)}${PREFIX(c)}gcc-@VER@"; |
287 |
+ end Compiler; |
288 |
+ </config> |
289 |
+ </configuration> |
290 |
+--- a/share/gprconfig/linker.xml 2019-06-01 21:59:34.546880368 +0200 |
291 |
++++ b/share/gprconfig/linker.xml 2019-06-01 22:00:50.906668730 +0200 |
292 |
+@@ -1015,7 +1015,7 @@ |
293 |
+ </targets> |
294 |
+ <config> |
295 |
+ for Library_Partial_Linker use |
296 |
+- ("${PATH(ada)}${PREFIX(ada)}gcc", "-nostdlib", "-Wl,-r", "-o"); |
297 |
++ ("${PATH(ada)}${PREFIX(ada)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o"); |
298 |
+ </config> |
299 |
+ </configuration> |
300 |
+ |
301 |
+@@ -1034,7 +1034,7 @@ |
302 |
+ </targets> |
303 |
+ <config> |
304 |
+ for Library_Partial_Linker use |
305 |
+- ("${PATH(c)}${PREFIX(c)}gcc", "-nostdlib", "-Wl,-r", "-o"); |
306 |
++ ("${PATH(c)}${PREFIX(c)}gcc-@VER@", "-nostdlib", "-Wl,-r", "-no-pie", "-o"); |
307 |
+ </config> |
308 |
+ </configuration> |
309 |
+ |
310 |
|
311 |
diff --git a/dev-ada/gprbuild/gprbuild-2019.ebuild b/dev-ada/gprbuild/gprbuild-2019.ebuild |
312 |
new file mode 100644 |
313 |
index 00000000000..7afdf9a67bf |
314 |
--- /dev/null |
315 |
+++ b/dev-ada/gprbuild/gprbuild-2019.ebuild |
316 |
@@ -0,0 +1,90 @@ |
317 |
+# Copyright 1999-2019 Gentoo Authors |
318 |
+# Distributed under the terms of the GNU General Public License v2 |
319 |
+ |
320 |
+EAPI=6 |
321 |
+ |
322 |
+inherit toolchain-funcs multiprocessing |
323 |
+ |
324 |
+MYP=${P}-20190517-194D8-src |
325 |
+XMLADA=xmlada-${PV}-20190429-19B9D-src |
326 |
+ |
327 |
+DESCRIPTION="Multi-Language Management" |
328 |
+HOMEPAGE="http://libre.adacore.com/" |
329 |
+SRC_URI=" |
330 |
+ http://mirrors.cdn.adacore.com/art/5cdf8e8031e87a8f1d425093 |
331 |
+ -> ${MYP}.tar.gz |
332 |
+ http://mirrors.cdn.adacore.com/art/5cdf916831e87a8f1d4250b5 |
333 |
+ -> ${XMLADA}.tar.gz" |
334 |
+LICENSE="GPL-3" |
335 |
+SLOT="0" |
336 |
+KEYWORDS="~amd64 ~x86" |
337 |
+IUSE="gnat_2016 gnat_2017 gnat_2018 +gnat_2019" |
338 |
+ |
339 |
+DEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) |
340 |
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) |
341 |
+ gnat_2018? ( dev-lang/gnat-gpl:7.3.1 ) |
342 |
+ gnat_2019? ( dev-lang/gnat-gpl:8.3.1 )" |
343 |
+RDEPEND="${DEPEND}" |
344 |
+ |
345 |
+S="${WORKDIR}"/${MYP} |
346 |
+ |
347 |
+REQUIRED_USE="!gnat_2016 ^^ ( gnat_2017 gnat_2018 gnat_2019 )" |
348 |
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) |
349 |
+ |
350 |
+src_prepare() { |
351 |
+ if use gnat_2017; then |
352 |
+ GCC_PV=6.3.0 |
353 |
+ elif use gnat_2018; then |
354 |
+ GCC_PV=7.3.1 |
355 |
+ else |
356 |
+ GCC_PV=8.3.1 |
357 |
+ fi |
358 |
+ default |
359 |
+ sed -i \ |
360 |
+ -e "s:@VER@:${GCC_PV}:g" \ |
361 |
+ share/gprconfig/compilers.xml \ |
362 |
+ share/gprconfig/gnat.xml \ |
363 |
+ share/gprconfig/c.xml \ |
364 |
+ share/gprconfig/linker.xml \ |
365 |
+ || die |
366 |
+ sed -i \ |
367 |
+ -e "s:@GNATBIND@:gnatbind-${GCC_PV}:g" \ |
368 |
+ src/gprlib.adb \ |
369 |
+ || die |
370 |
+} |
371 |
+ |
372 |
+src_configure() { |
373 |
+ emake prefix="${D}"usr setup |
374 |
+} |
375 |
+ |
376 |
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls" |
377 |
+lib_progs="gprlib gprbind" |
378 |
+ |
379 |
+src_compile() { |
380 |
+ GCC=${CHOST}-gcc-${GCC_PV} |
381 |
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV} |
382 |
+ local xmlada_src="../${XMLADA}" |
383 |
+ incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \ |
384 |
+ -I${xmlada_src}/schema -I${xmlada_src}/unicode \ |
385 |
+ -I${xmlada_src}/input_sources" |
386 |
+ ${GCC} -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die |
387 |
+ for bin in ${bin_progs}; do |
388 |
+ ${GNATMAKE} -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \ |
389 |
+ -o ${bin} -largs gpr_imports.o || die |
390 |
+ done |
391 |
+ for lib in $lib_progs; do |
392 |
+ ${GNATMAKE} -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \ |
393 |
+ -largs gpr_imports.o || die |
394 |
+ done |
395 |
+} |
396 |
+ |
397 |
+src_install() { |
398 |
+ dobin ${bin_progs} |
399 |
+ exeinto /usr/libexec/gprbuild |
400 |
+ doexe ${lib_progs} |
401 |
+ insinto /usr/share/gprconfig |
402 |
+ doins share/gprconfig/* |
403 |
+ insinto /usr/share/gpr |
404 |
+ doins share/_default.gpr |
405 |
+ einstalldocs |
406 |
+} |