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