1 |
commit: 3d9e0024cf577d70fcc7b8780460cc005d7b417a |
2 |
Author: Tupone Alfredo <tupone <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jun 9 19:07:34 2018 +0000 |
4 |
Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jun 9 19:08:08 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3d9e0024 |
7 |
|
8 |
dev-ada/gprbuild: Version bump to dev-ada/gprbuild-2018 |
9 |
|
10 |
Package-Manager: Portage-2.3.24, Repoman-2.3.6 |
11 |
|
12 |
dev-ada/gprbuild/Manifest | 2 + |
13 |
dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch | 81 +++++++++++++++++++++ |
14 |
dev-ada/gprbuild/files/gprbuild-2018.xml | 85 +++++++++++++++++++++++ |
15 |
dev-ada/gprbuild/gprbuild-2018.ebuild | 84 ++++++++++++++++++++++ |
16 |
dev-ada/gprbuild/metadata.xml | 1 + |
17 |
5 files changed, 253 insertions(+) |
18 |
|
19 |
diff --git a/dev-ada/gprbuild/Manifest b/dev-ada/gprbuild/Manifest |
20 |
index 215384713a4..75d4210b6e2 100644 |
21 |
--- a/dev-ada/gprbuild/Manifest |
22 |
+++ b/dev-ada/gprbuild/Manifest |
23 |
@@ -1,2 +1,4 @@ |
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-gpl-2017-src.tar.gz 1578393 BLAKE2B 7b4894040b6044e86c96cbd530ebda5c0cfc4ad0e2b472d46798a93f535aca0916b03385a3aef49bd4e59d508a9665c856360e9cab0a4f67b15091228b629d81 SHA512 371f6adc01550a4bb13204ec0404dc1165438db595f4346813e5a23a155de74c857c40c55adde173919c2fe35b3b91d78b235c9718ee86bc848e62ddfd7fa2b4 |
27 |
+DIST xmlada-gpl-2018-src.tar.gz 1582215 BLAKE2B 11012dab19f45507eeb5ce6ebec9a77ceb5dfb7749960922f0f48bb1b0409305fd43466a7af90b48ff0a0cf58612e8859274a92e0fe272b4e57a59b92a1725f1 SHA512 8970c4e68defad66625c1110554dadfc485fbbe42e832987593cf727e98f13dd87c90b84461187dbbe2b1051831e6e70f9f53d6a0cfc07451726d601b2856430 |
28 |
|
29 |
diff --git a/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch |
30 |
new file mode 100644 |
31 |
index 00000000000..c5225d8d11f |
32 |
--- /dev/null |
33 |
+++ b/dev-ada/gprbuild/files/gprbuild-2018-gentoo.patch |
34 |
@@ -0,0 +1,81 @@ |
35 |
+--- gprbuild-2017/gpr/gpr.gpr.old 2017-05-27 20:59:07.061135892 +0200 |
36 |
++++ gprbuild-2017/gpr/gpr.gpr 2017-05-27 20:59:38.022638398 +0200 |
37 |
+@@ -67,6 +67,7 @@ |
38 |
+ for Switches ("gpr*.ad?") use |
39 |
+ Compiler'Default_Switches ("Ada") & ("-g1"); |
40 |
+ end case; |
41 |
++ for Driver ("C") use External ("CC", "gcc"); |
42 |
+ end Compiler; |
43 |
+ |
44 |
+ end GPR; |
45 |
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.ads.old 2017-11-19 13:09:18.947527738 +0100 |
46 |
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.ads 2017-11-19 13:10:08.125654595 +0100 |
47 |
+@@ -27,6 +27,8 @@ |
48 |
+ Name_Buffer : String (1 .. 1_000_000); |
49 |
+ Name_Len : Natural := 0; |
50 |
+ |
51 |
++ Last_Id : Name_Id := Name_Id'First; |
52 |
++ |
53 |
+ procedure Get_Name_String (Id : Name_Id); |
54 |
+ procedure Get_Name_String (Id : Unit_Name_Type); |
55 |
+ procedure Get_Name_String (Id : File_Name_Type); |
56 |
+--- gprbuild-gpl-2017-src/gpr/src/gpr-names.adb.old 2017-11-19 13:10:27.674316703 +0100 |
57 |
++++ gprbuild-gpl-2017-src/gpr/src/gpr-names.adb 2017-11-19 13:14:38.360963627 +0100 |
58 |
+@@ -354,6 +354,8 @@ |
59 |
+ |
60 |
+ Name_Chars.Append (ASCII.NUL); |
61 |
+ |
62 |
++ Last_Id := Name_Entries.Last; |
63 |
++ |
64 |
+ return Name_Entries.Last; |
65 |
+ end Name_Enter; |
66 |
+ |
67 |
+@@ -427,6 +429,8 @@ |
68 |
+ |
69 |
+ Name_Chars.Append (ASCII.NUL); |
70 |
+ |
71 |
++ Last_Id := Name_Entries.Last; |
72 |
++ |
73 |
+ return Name_Entries.Last; |
74 |
+ end Name_Find; |
75 |
+ |
76 |
+--- gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb.old 2017-11-19 13:12:41.592995718 +0100 |
77 |
++++ gprbuild-gpl-2017-src/gpr/src/gpr-snames.adb 2017-11-19 13:16:31.980979696 +0100 |
78 |
+@@ -53,6 +53,10 @@ |
79 |
+ return; |
80 |
+ end if; |
81 |
+ |
82 |
++ if Last_Id = Name_Id'First then |
83 |
++ Add_Name (""); |
84 |
++ end if; |
85 |
++ |
86 |
+ Add_Name ("a"); |
87 |
+ Add_Name ("b"); |
88 |
+ Add_Name ("c"); |
89 |
+--- gprbuild-gpl-2017/src/gprlib.adb.old 2017-12-18 12:20:02.937317216 +0100 |
90 |
++++ gprbuild-gpl-2017/src/gprlib.adb 2017-12-18 12:21:36.519604590 +0100 |
91 |
+@@ -263,7 +263,7 @@ |
92 |
+ |
93 |
+ Driver_Name : Name_Id := No_Name; |
94 |
+ |
95 |
+- Gnatbind_Name : String_Access := new String'("gnatbind"); |
96 |
++ Gnatbind_Name : String_Access := new String'("@GNATBIND@"); |
97 |
+ |
98 |
+ Compiler_Name : String_Access := new String'("gcc"); |
99 |
+ |
100 |
+@@ -2237,13 +2237,13 @@ |
101 |
+ and then Line (Last - 2 .. Last) = "gcc" |
102 |
+ then |
103 |
+ Gnatbind_Name := |
104 |
+- new String'(Line (1 .. Last - 3) & "gnatbind"); |
105 |
++ new String'(Line (1 .. Last - 3) & "@GNATBIND@"); |
106 |
+ |
107 |
+ elsif Last > 7 |
108 |
+ and then Line (Last - 6 .. Last) = "gcc.exe" |
109 |
+ then |
110 |
+ Gnatbind_Name := |
111 |
+- new String'(Line (1 .. Last - 7) & "gnatbind"); |
112 |
++ new String'(Line (1 .. Last - 7) & "@GNATBIND@"); |
113 |
+ end if; |
114 |
+ end if; |
115 |
+ |
116 |
|
117 |
diff --git a/dev-ada/gprbuild/files/gprbuild-2018.xml b/dev-ada/gprbuild/files/gprbuild-2018.xml |
118 |
new file mode 100644 |
119 |
index 00000000000..9e1e47b512e |
120 |
--- /dev/null |
121 |
+++ b/dev-ada/gprbuild/files/gprbuild-2018.xml |
122 |
@@ -0,0 +1,85 @@ |
123 |
+<?xml version="1.0" ?> |
124 |
+<gprconfig> |
125 |
+ <compiler_description> |
126 |
+ <name>GNAT-@VER@</name> |
127 |
+ <executable prefix="1">gnatls-@VER@</executable> |
128 |
+ <version> |
129 |
+ <external>${PREFIX}gnatls-@VER@ -v --version</external> |
130 |
+ <grep regexp="^GNATLS.+?(\d+(\.\d+)?)" group="1"></grep> |
131 |
+ </version> |
132 |
+ <languages>Ada</languages> |
133 |
+ <variable name="gcc_version"> |
134 |
+ <external>${PREFIX}gcc-@VER@ -v</external> |
135 |
+ <grep regexp="^[-\w]*gcc \S+ (\S+)" group="1"></grep> |
136 |
+ </variable> |
137 |
+ <runtimes default="default,kernel,native"> |
138 |
+ <directory group="default" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/adalib/</directory> |
139 |
+ <directory group="default" contents="^rts-">\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/ada_object_path</directory> |
140 |
+ <directory group="2" >\.\./lib/gcc(-lib)?/$TARGET/$gcc_version/rts-(.*)/adalib/</directory> |
141 |
+ <directory group="1" >\.\./$TARGET/lib/gnat/(.*)/adalib/</directory> |
142 |
+ </runtimes> |
143 |
+ <target> |
144 |
+ <external>${PREFIX}gcc-@VER@ -dumpmachine</external> |
145 |
+ <grep regexp="[^\r\n]+"></grep> |
146 |
+ </target> |
147 |
+ </compiler_description> |
148 |
+ |
149 |
+ <configuration> |
150 |
+ <compilers> |
151 |
+ <compiler name="GNAT-@VER@" /> |
152 |
+ </compilers> |
153 |
+ <config> |
154 |
+ package Compiler is |
155 |
+ for Driver ("Ada") use "${PATH(ada)}${PREFIX(ada)}gcc-@VER@"; |
156 |
+ for Language_Kind ("Ada") use "unit_based"; |
157 |
+ for Dependency_Kind ("Ada") use "ALI_File"; |
158 |
+ for Leading_Required_Switches ("Ada") use |
159 |
+ ("-c", "-x", "ada", "-gnatA") |
160 |
+ & Compiler'Leading_Required_Switches ("Ada"); |
161 |
+ for Mapping_File_Switches ("Ada") use ("-gnatem="); |
162 |
+ for Mapping_Spec_Suffix ("Ada") use "%s"; |
163 |
+ for Mapping_Body_Suffix ("Ada") use "%b"; |
164 |
+ for Config_File_Switches ("Ada") use ("-gnatec="); |
165 |
+ for Include_Path_File ("Ada") use "ADA_PRJ_INCLUDE_FILE"; |
166 |
+ for Multi_Unit_Switches ("Ada") use ("-gnateI"); |
167 |
+ for Multi_Unit_Object_Separator ("Ada") use "~"; |
168 |
+ for Config_Body_File_Name ("Ada") use |
169 |
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"");"; |
170 |
+ for Config_Spec_File_Name ("Ada") use |
171 |
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"");"; |
172 |
+ for Config_Body_File_Name_Index ("Ada") use |
173 |
+ "pragma Source_File_Name_Project (%u, Body_File_Name => ""%f"", Index => %i);"; |
174 |
+ for Config_Spec_File_Name_Index ("Ada") use |
175 |
+ "pragma Source_File_Name_Project (%u, Spec_File_Name => ""%f"", Index => %i);"; |
176 |
+ for Config_Body_File_Name_Pattern ("Ada") use |
177 |
+ "pragma Source_File_Name_Project " & |
178 |
+ " (Body_File_Name => ""*%b""," & |
179 |
+ " Casing => %c," & |
180 |
+ " Dot_Replacement => ""%d"");"; |
181 |
+ for Config_Spec_File_Name_Pattern ("Ada") use |
182 |
+ "pragma Source_File_Name_Project " & |
183 |
+ " (Spec_File_Name => ""*%s""," & |
184 |
+ " Casing => %c," & |
185 |
+ " Dot_Replacement => ""%d"");"; |
186 |
+ for Config_File_Unique ("Ada") use "False"; |
187 |
+ for PIC_Option ("Ada") use ("-fPIC"); |
188 |
+ for Leading_Required_Switches ("Ada") use |
189 |
+ Compiler'Leading_Required_Switches ("Ada") & ("--RTS=${RUNTIME_DIR(ada)}"); |
190 |
+ end Compiler; |
191 |
+ |
192 |
+ package Binder is |
193 |
+ for Objects_Path_File ("Ada") use "ADA_PRJ_OBJECTS_FILE"; |
194 |
+ for Driver ("Ada") use |
195 |
+ "${GPRCONFIG_PREFIX}libexec/gprbuild/gprbind"; |
196 |
+ for Switches ("Ada") use ("--gnatbind_path=gnatbind-@VER@"); |
197 |
+ for Required_Switches ("Ada") use |
198 |
+ Binder'Required_Switches ("Ada") & ("--RTS=${RUNTIME_DIR(ada)}"); |
199 |
+ end Binder; |
200 |
+ |
201 |
+ for Toolchain_Version ("Ada") use "GNAT ${VERSION(ada)}"; |
202 |
+ |
203 |
+for Runtime_Dir ("Ada") use "${RUNTIME_DIR(ada)}"; |
204 |
+ for Library_Encapsulated_Supported use "true"; |
205 |
+ </config> |
206 |
+ </configuration> |
207 |
+</gprconfig> |
208 |
|
209 |
diff --git a/dev-ada/gprbuild/gprbuild-2018.ebuild b/dev-ada/gprbuild/gprbuild-2018.ebuild |
210 |
new file mode 100644 |
211 |
index 00000000000..2a10644bfbb |
212 |
--- /dev/null |
213 |
+++ b/dev-ada/gprbuild/gprbuild-2018.ebuild |
214 |
@@ -0,0 +1,84 @@ |
215 |
+# Copyright 1999-2018 Gentoo Foundation |
216 |
+# Distributed under the terms of the GNU General Public License v2 |
217 |
+ |
218 |
+EAPI=6 |
219 |
+ |
220 |
+inherit toolchain-funcs multiprocessing |
221 |
+ |
222 |
+MYP=${PN}-gpl-${PV} |
223 |
+ |
224 |
+DESCRIPTION="Multi-Language Management" |
225 |
+HOMEPAGE="http://libre.adacore.com/" |
226 |
+SRC_URI=" |
227 |
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a68 |
228 |
+ -> ${MYP}-src.tar.gz |
229 |
+ http://mirrors.cdn.adacore.com/art/5b0819dec7a447df26c27a40 |
230 |
+ -> xmlada-gpl-${PV}-src.tar.gz" |
231 |
+LICENSE="GPL-3" |
232 |
+SLOT="0" |
233 |
+KEYWORDS="~amd64 ~x86" |
234 |
+IUSE="gnat_2016 gnat_2017 +gnat_2018" |
235 |
+ |
236 |
+DEPEND="gnat_2016? ( dev-lang/gnat-gpl:4.9.4 ) |
237 |
+ gnat_2017? ( dev-lang/gnat-gpl:6.3.0 ) |
238 |
+ gnat_2018? ( dev-lang/gnat-gpl:7.3.0 )" |
239 |
+RDEPEND="${DEPEND}" |
240 |
+ |
241 |
+S="${WORKDIR}"/${MYP}-src |
242 |
+ |
243 |
+REQUIRED_USE="^^ ( gnat_2016 gnat_2017 gnat_2018 )" |
244 |
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) |
245 |
+ |
246 |
+src_prepare() { |
247 |
+ if use gnat_2016; then |
248 |
+ GCC_PV=4.9.4 |
249 |
+ elif use gnat_2017; then |
250 |
+ GCC_PV=6.3.0 |
251 |
+ else |
252 |
+ GCC_PV=7.3.0 |
253 |
+ fi |
254 |
+ sed -e "s:@VER@:${GCC_PV}:g" "${FILESDIR}"/${P}.xml > gnat-${GCC_PV}.xml |
255 |
+ default |
256 |
+ sed -i \ |
257 |
+ -e "s:@GNATBIND@:gnatbind-${GCC_PV}:g" \ |
258 |
+ src/gprlib.adb \ |
259 |
+ || die |
260 |
+} |
261 |
+ |
262 |
+src_configure() { |
263 |
+ emake prefix="${D}"usr setup |
264 |
+} |
265 |
+ |
266 |
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls" |
267 |
+lib_progs="gprlib gprbind" |
268 |
+ |
269 |
+src_compile() { |
270 |
+ GCC=${CHOST}-gcc-${GCC_PV} |
271 |
+ GNATMAKE=${CHOST}-gnatmake-${GCC_PV} |
272 |
+ local xmlada_src="../xmlada-gpl-${PV}-src" |
273 |
+ incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \ |
274 |
+ -I${xmlada_src}/schema -I${xmlada_src}/unicode \ |
275 |
+ -I${xmlada_src}/input_sources" |
276 |
+ ${GCC} -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die |
277 |
+ for bin in ${bin_progs}; do |
278 |
+ ${GNATMAKE} -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \ |
279 |
+ -o ${bin} -largs gpr_imports.o || die |
280 |
+ done |
281 |
+ for lib in $lib_progs; do |
282 |
+ ${GNATMAKE} -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \ |
283 |
+ -largs gpr_imports.o || die |
284 |
+ done |
285 |
+} |
286 |
+ |
287 |
+src_install() { |
288 |
+ dobin ${bin_progs} |
289 |
+ exeinto /usr/libexec/gprbuild |
290 |
+ doexe ${lib_progs} |
291 |
+ insinto /usr/share/gprconfig |
292 |
+ doins share/gprconfig/* |
293 |
+ insinto /usr/share/gpr |
294 |
+ doins share/_default.gpr |
295 |
+ insinto /usr/share/gprconfig |
296 |
+ doins gnat-${GCC_PV}.xml |
297 |
+ einstalldocs |
298 |
+} |
299 |
|
300 |
diff --git a/dev-ada/gprbuild/metadata.xml b/dev-ada/gprbuild/metadata.xml |
301 |
index 4540dd6e09e..5a1bc58bccd 100644 |
302 |
--- a/dev-ada/gprbuild/metadata.xml |
303 |
+++ b/dev-ada/gprbuild/metadata.xml |
304 |
@@ -8,6 +8,7 @@ |
305 |
<use> |
306 |
<flag name="gnat_2016">Compile with dev-lang/gnat-gpl-2016</flag> |
307 |
<flag name="gnat_2017">Compile with dev-lang/gnat-gpl-2017</flag> |
308 |
+ <flag name="gnat_2018">Compile with dev-lang/gnat-gpl-2018</flag> |
309 |
</use> |
310 |
<longdescription lang="en"> |
311 |
GPRbuild is an advanced software tool designed to help automate the |