Ravenports generated: 30 Jan 2023 20:50
[ravenports.git] / bucket_9F / ada_spawn
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               ada_spawn
4 VERSION=                23.0.0
5 REVISION=               1
6 KEYWORDS=               devel ada
7 VARIANTS=               standard
8 SDESC[standard]=        Simple API to spawn communicating processes
9 HOMEPAGE=               none
10 CONTACT=                John_Marino[draco@marino.st]
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            GITHUB/AdaCore:spawn:v23.0.0
14 DISTFILE[1]=            generated:main
15 DF_INDEX=               1
16 SPKGS[standard]=        single
17
18 OPTIONS_AVAILABLE=      none
19 OPTIONS_STANDARD=       none
20
21 BUILDRUN_DEPENDS=       gtkada:primary:standard
22                         harfbuzz:dev:standard
23                         glib:dev:standard
24
25 USES=                   gmake gprbuild zlib:build
26
27 LICENSE=                APACHE20:single
28 LICENSE_TERMS=          single:{{WRKDIR}}/TERMS
29 LICENSE_FILE=           APACHE20:{{WRKSRC}}/LICENSE
30 LICENSE_AWK=            TERMS:"^$$"
31 LICENSE_SOURCE=         TERMS:{{WRKSRC}}/source/spawn/spawn.ads
32 LICENSE_SCHEME=         solo
33
34 MAKE_ENV=               BUILD_MODE=prod
35
36 INSTALL_REQ_TOOLCHAIN=  yes
37
38 do-build:
39 .for LT in relocatable static-pic static
40 . for GPR in spawn.gpr spawn_glib.gpr
41         ${SETENV} ${MAKE_ENV} gprbuild -p -j0 -XLIBRARY_TYPE=${LT} -P ${WRKSRC}/gnat/${GPR}
42 . endfor
43 .endfor
44
45 post-extract:
46         ${CP} ${FILESDIR}/ptsname_r.c ${WRKSRC}/source/spawn
47
48 do-install:
49 .for LT in relocatable static-pic static
50 . for GPR in spawn spawn_glib
51         ${SETENV} ${MAKE_ENV} gprinstall\
52                 --prefix=${STAGEDIR}${PREFIX}\
53                 --lib-subdir=lib/${GPR}.${LT}\
54                 --sources-subdir=include/${GPR}\
55                 -p -P ${WRKSRC}/gnat/${GPR}.gpr
56 . endfor
57 .endfor
58         ${RM} -r ${STAGEDIR}${PREFIX}/share/gpr/manifests
59         # override generated gpr with our own
60         ${INSTALL_DATA} ${FILESDIR}/*.gpr ${STAGEDIR}${PREFIX}/share/gpr
61         # I don't know where these lines are coming from
62         ${SED} -i'' -e '/spawn-processes__posix.adb/d' \
63                 ${STAGEDIR}${PREFIX}/share/gpr/spawn.gpr
64         ${SED} -i'' -e '/spawn-processes__glib.adb/d' \
65                 ${STAGEDIR}${PREFIX}/share/gpr/spawn_glib.gpr
66
67 [FILE:208:descriptions/desc.single]
68 Ada Process API (spawn)
69
70 This library provides simple API to spawn processes and communicate with
71 them. Two implementations of the same API are provided:
72  * The integrated into Glib event loop
73  * Independent
74
75
76 [FILE:106:distinfo]
77 1487fef86433d1d06c5c3af3c012aac9eae8d2f4b7f8c1d2fdbe2be0b1770fa8        43449 AdaCore-spawn-23.0.0.tar.gz
78
79
80 [FILE:2797:manifests/plist.single]
81 include/spawn/
82  posix_const.c
83  ptsname_r.c
84  spawn-environments-initialize_default__posix.adb
85  spawn-environments-internal__posix.adb
86  spawn-environments-internal__posix.ads
87  spawn-environments-search_in_path__posix.adb
88  spawn-environments.adb
89  spawn-environments.ads
90  spawn-internal__posix.adb
91  spawn-internal__posix.ads
92  spawn-posix.ads
93  spawn-processes-monitor-osx_initialize.adb
94  spawn-processes-monitor-unix_initialize.adb
95  spawn-processes-monitor.ads
96  spawn-processes-monitor__posix.adb
97  spawn-processes-monitor_loop.adb
98  spawn-processes-monitor_loop.ads
99  spawn-processes-platform__posix.adb
100  spawn-processes.adb
101  spawn-processes.ads
102  spawn-string_vectors.ads
103  spawn.ads
104 include/spawn_glib/
105  pipe2.c
106  posix_const.c
107  ptsname_r.c
108  spawn-channels.adb
109  spawn-channels.ads
110  spawn-environments-initialize_default__glib.adb
111  spawn-environments-internal__glib.adb
112  spawn-environments-internal__glib.ads
113  spawn-environments-search_in_path__posix.adb
114  spawn-environments.adb
115  spawn-environments.ads
116  spawn-internal__glib.ads
117  spawn-internal__posix.adb
118  spawn-posix.ads
119  spawn-processes-monitor-osx_initialize.adb
120  spawn-processes-monitor-unix_initialize.adb
121  spawn-processes-platform__glib.adb
122  spawn-processes.adb
123  spawn-processes.ads
124  spawn-string_vectors.ads
125  spawn.ads
126 lib/spawn.relocatable/
127  libspawn.a
128  spawn-environments-internal__posix.ali
129  spawn-environments.ali
130  spawn-internal__posix.ali
131  spawn-posix.ali
132  spawn-processes-monitor__posix.ali
133  spawn-processes-monitor_loop.ali
134  spawn-processes.ali
135  spawn-string_vectors.ali
136  spawn.ali
137 lib/spawn.static/
138  libspawn.a
139  spawn-environments-internal__posix.ali
140  spawn-environments.ali
141  spawn-internal__posix.ali
142  spawn-posix.ali
143  spawn-processes-monitor__posix.ali
144  spawn-processes-monitor_loop.ali
145  spawn-processes.ali
146  spawn-string_vectors.ali
147  spawn.ali
148 lib/spawn.static-pic/
149  libspawn.a
150  spawn-environments-internal__posix.ali
151  spawn-environments.ali
152  spawn-internal__posix.ali
153  spawn-posix.ali
154  spawn-processes-monitor__posix.ali
155  spawn-processes-monitor_loop.ali
156  spawn-processes.ali
157  spawn-string_vectors.ali
158  spawn.ali
159 lib/spawn_glib.relocatable/
160  libspawn_glib.a
161  spawn-channels.ali
162  spawn-environments-internal__glib.ali
163  spawn-environments.ali
164  spawn-internal__posix.ali
165  spawn-posix.ali
166  spawn-processes.ali
167  spawn-string_vectors.ali
168  spawn.ali
169 lib/spawn_glib.static/
170  libspawn_glib.a
171  spawn-channels.ali
172  spawn-environments-internal__glib.ali
173  spawn-environments.ali
174  spawn-internal__posix.ali
175  spawn-posix.ali
176  spawn-processes.ali
177  spawn-string_vectors.ali
178  spawn.ali
179 lib/spawn_glib.static-pic/
180  libspawn_glib.a
181  spawn-channels.ali
182  spawn-environments-internal__glib.ali
183  spawn-environments.ali
184  spawn-internal__posix.ali
185  spawn-posix.ali
186  spawn-processes.ali
187  spawn-string_vectors.ali
188  spawn.ali
189 share/gpr/
190  spawn.gpr
191  spawn_glib.gpr
192
193
194 [FILE:529:patches/patch-Makefile]
195 --- Makefile.orig       2022-09-26 13:44:48 UTC
196 +++ Makefile
197 @@ -19,7 +19,7 @@ endif
198  
199  all:
200         gprbuild $(GPRBUILD_FLAGS) -P gnat/spawn.gpr
201 -       gprbuild $(GPRBUILD_FLAGS) -P gnat/spawn_tests.gpr
202 +       gprbuild $(GPRBUILD_FLAGS) -P gnat/spawn_glib.gpr
203  check:
204         export LD_LIBRARY_PATH=.libs/spawn/relocatable; \
205         for TEST in ${SPAWN_TESTS}; do \
206 @@ -28,6 +28,7 @@ check:
207  
208  install:
209         gprinstall $(GPRINSTALL_FLAGS) -p -P gnat/spawn.gpr
210 +       gprinstall $(GPRINSTALL_FLAGS) -f -p -P gnat/spawn_glib.gpr
211  clean:
212         gprclean -q -P gnat/spawn.gpr
213  
214
215
216 [FILE:521:patches/patch-source_spawn_spawn-posix.ads]
217 --- source/spawn/spawn-posix.ads.orig   2022-09-26 13:44:48 UTC
218 +++ source/spawn/spawn-posix.ads
219 @@ -154,7 +154,7 @@ package Spawn.Posix is
220       (fd     : Interfaces.C.int;
221        buf    : out Interfaces.C.char_array;
222        buflen : Interfaces.C.size_t) return Interfaces.C.int
223 -     with Import, Convention => C, External_Name => "ptsname_r";
224 +     with Import, Convention => C, External_Name => "__ptsname_r";
225  
226     function setsid return Interfaces.C.int
227       with Import, Convention => C, External_Name => "setsid";
228
229
230 [FILE:1353:files/ptsname_r.c]
231 #ifdef __DragonFly__
232 # define __NEEDS_PTSNAME_R__
233 #endif
234 #ifdef __FreeBSD__
235 # include <sys/param.h>
236 # if __FreeBSD_version < 1203000
237 #  define __NEEDS_PTSNAME_R__
238 # endif
239 #endif
240
241 #ifdef __NEEDS_PTSNAME_R__
242
243 #include <stdlib.h>
244 #include <errno.h>
245 #include <string.h>
246
247 /* Store at most BUFLEN characters of the pathname of the slave pseudo
248    terminal associated with the master FD is open on in BUF.
249    Return 0 on success, otherwise an error number.  */
250 int
251 __ptsname_r (int fd, char *buf, size_t buflen)
252 {
253   int saved_errno = errno;
254   char tmpbuf[5 + 4 + 10 + 1];
255   int ret;
256   int n;
257   if (buf == NULL)
258     {
259       errno = EINVAL;
260       return errno;
261     }
262   /* The result of fdevname_r is typically of the form ptm/N.  */
263   ret = fdevname_r (fd, tmpbuf + 5, sizeof (tmpbuf) - 5);
264   if (ret < 0 || strncmp (tmpbuf + 5, "ptm/", 4) != 0)
265     {
266       errno = ENOTTY;
267       return errno;
268     }
269   /* Turn it into /dev/pts/N.  */
270   memcpy (tmpbuf, "/dev/pts/", 5 + 4);
271   n = strlen (tmpbuf);
272   if (n >= buflen)
273     {
274       errno = ERANGE;
275       return errno;
276     }
277   memcpy (buf, tmpbuf, n + 1);
278   /* Don't do a final stat(), since the file name /dev/pts/N does not actually
279      exist.  */
280   errno = saved_errno;
281   return 0;
282 }
283
284 #else
285
286 #include <stdlib.h>
287
288 int
289 __ptsname_r (int fd, char *buf, size_t buflen)
290 {
291   return ptsname_r (fd, buf, buflen);
292 }
293
294 #endif
295
296
297 [FILE:2515:files/spawn.gpr]
298 library project Spawn is
299    type BUILD_KIND is ("static", "static-pic", "relocatable");
300    BUILD : BUILD_KIND := external("SPAWN_BUILD", external("LIBRARY_TYPE", "static-pic"));
301
302    for Languages use ("Ada", "c");
303
304    case BUILD is
305       when "static" =>
306          for Source_Dirs use ("../../include/spawn/");
307          for Library_Dir use "../../lib/spawn.static/";
308          for Library_Kind use "static";
309       when "static-pic" =>
310          for Source_Dirs use ("../../include/spawn");
311          for Library_Dir use "../../lib/spawn.static-pic";
312          for Library_Kind use "static-pic";
313       when "relocatable" =>
314          for Source_Dirs use ("../../include/spawn");
315          for Library_Dir use "../../lib/spawn.relocatable";
316          for Library_Kind use "relocatable";
317    end case;
318
319    for Library_Name use "spawn";
320
321    package Naming is
322       for dot_replacement use "-";
323       for casing use "lowercase";
324       for spec_suffix ("c") use ".h";
325       for spec_suffix ("ada") use ".ads";
326       for body_suffix ("c") use ".c";
327       for body_suffix ("ada") use ".adb";      
328       for body ("spawn.processes.monitor.initialize") use "spawn-processes-monitor-unix_initialize.adb";
329       for body ("spawn.processes.monitor") use "spawn-processes-monitor__posix.adb";
330       for body ("spawn.environments.search_in_path") use "spawn-environments-search_in_path__posix.adb";
331       for body ("spawn.processes") use "spawn-processes__posix.adb";
332       for body ("spawn.environments.internal") use "spawn-environments-internal__posix.adb";
333       for body ("spawn.environments.initialize_default") use "spawn-environments-initialize_default__posix.adb";
334       for body ("spawn.internal") use "spawn-internal__posix.adb";
335       for spec ("spawn.environments.internal") use "spawn-environments-internal__posix.ads";
336       for spec ("spawn.internal") use "spawn-internal__posix.ads";
337    end Naming;
338
339    package Linker is
340       null;
341    end Linker;
342
343    package Install is
344       for Active use "False";
345    end Install;
346
347    for Externally_Built use "True";
348
349    type Os_Api_Kind is
350      ("unix", "osx", "Windows_NT");
351
352    type Spawn_Build_Kind is
353      ("dev", "prod", "coverage");
354
355    type Any_Boolean is
356      ("false", "true");
357
358    linker_options     := ();
359    ada_switches       := ("-gnatwe", "-O2", "-g");
360    common_excluded    := ();
361    warnings_as_errors : any_boolean := "true";
362    superproject       := "";
363    build_mode         : spawn_build_kind := "prod";
364    os_api             : os_api_kind := "unix";
365 end Spawn;
366
367
368 [FILE:2381:files/spawn_glib.gpr]
369 with "gtkada";
370
371 library project Spawn_Glib is
372    type BUILD_KIND is ("static", "static-pic", "relocatable");
373    BUILD : BUILD_KIND := external("SPAWN_GLIB_BUILD", external("LIBRARY_TYPE", "static-pic"));
374
375    for Languages use ("Ada");
376
377    case BUILD is
378       when "static" =>
379          for Source_Dirs use ("../../include/spawn_glib/");
380          for Library_Dir use "../../lib/spawn_glib.static/";
381          for Library_Kind use "static";
382       when "static-pic" =>
383          for Source_Dirs use ("../../include/spawn_glib");
384          for Library_Dir use "../../lib/spawn_glib.static-pic";
385          for Library_Kind use "static-pic";
386       when "relocatable" =>
387          for Source_Dirs use ("../../include/spawn_glib");
388          for Library_Dir use "../../lib/spawn_glib.relocatable";
389          for Library_Kind use "relocatable";
390    end case;
391
392    for Library_Name use "spawn_glib";
393
394    package Naming is
395       for dot_replacement use "-";
396       for casing use "lowercase";
397       for spec_suffix ("ada") use ".ads";
398       for body_suffix ("ada") use ".adb";
399       for body ("spawn.processes") use "spawn-processes__glib.adb";
400       for body ("spawn.environments.search_in_path") use "spawn-environments-search_in_path__posix.adb";
401       for body ("spawn.environments.internal") use "spawn-environments-internal__glib.adb";
402       for body ("spawn.environments.initialize_default") use "spawn-environments-initialize_default__glib.adb";
403       for body ("spawn.internal") use "spawn-internal__posix.adb";
404       for spec ("spawn.environments.internal") use "spawn-environments-internal__glib.ads";
405       for spec ("spawn.internal") use "spawn-internal__glib.ads";
406    end Naming;
407
408    package Linker is
409       null;
410    end Linker;
411
412    package Install is
413       for Active use "False";
414    end Install;
415
416    for Externally_Built use "True";
417
418    type Os_Api_Kind is
419      ("unix", "osx", "Windows_NT");
420
421    type Spawn_Glib_Build_Kind is
422      ("dev", "prod", "coverage");
423
424    type Any_Boolean is
425      ("false", "true");
426
427    linker_options     := ();
428    ada_switches       := ("-gnatwe", "-O2", "-g");
429    common_excluded    := ("spawn-processes-monitor.ads", "spawn-processes-monitor_loop.ads", "spawn-processes-monitor_loop.adb");
430    warnings_as_errors : any_boolean := "true";
431    build_mode         : spawn_glib_build_kind := "prod";
432    os_api             : os_api_kind := "unix";
433 end Spawn_Glib;
434