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