1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
8 SDESC[standard]= Simple API to spawn communicating processes
10 CONTACT= John_Marino[draco@marino.st]
13 SITES[main]= GITHUB/AdaCore:spawn:v23.0.0
14 DISTFILE[1]= generated:main
16 SPKGS[standard]= single
18 OPTIONS_AVAILABLE= none
19 OPTIONS_STANDARD= none
21 BUILDRUN_DEPENDS= gtkada:primary:standard
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
32 MAKE_ENV= BUILD_MODE=prod
34 INSTALL_REQ_TOOLCHAIN= yes
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}
44 ${CP} ${FILESDIR}/ptsname_r.c ${WRKSRC}/source/spawn
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
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
65 [FILE:208:descriptions/desc.single]
66 Ada Process API (spawn)
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
75 1487fef86433d1d06c5c3af3c012aac9eae8d2f4b7f8c1d2fdbe2be0b1770fa8 43449 AdaCore-spawn-23.0.0.tar.gz
78 [FILE:2797:manifests/plist.single]
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
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
100 spawn-string_vectors.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
117 spawn-processes-monitor-osx_initialize.adb
118 spawn-processes-monitor-unix_initialize.adb
119 spawn-processes-platform__glib.adb
122 spawn-string_vectors.ads
124 lib/spawn.relocatable/
126 spawn-environments-internal__posix.ali
127 spawn-environments.ali
128 spawn-internal__posix.ali
130 spawn-processes-monitor__posix.ali
131 spawn-processes-monitor_loop.ali
133 spawn-string_vectors.ali
137 spawn-environments-internal__posix.ali
138 spawn-environments.ali
139 spawn-internal__posix.ali
141 spawn-processes-monitor__posix.ali
142 spawn-processes-monitor_loop.ali
144 spawn-string_vectors.ali
146 lib/spawn.static-pic/
148 spawn-environments-internal__posix.ali
149 spawn-environments.ali
150 spawn-internal__posix.ali
152 spawn-processes-monitor__posix.ali
153 spawn-processes-monitor_loop.ali
155 spawn-string_vectors.ali
157 lib/spawn_glib.relocatable/
160 spawn-environments-internal__glib.ali
161 spawn-environments.ali
162 spawn-internal__posix.ali
165 spawn-string_vectors.ali
167 lib/spawn_glib.static/
170 spawn-environments-internal__glib.ali
171 spawn-environments.ali
172 spawn-internal__posix.ali
175 spawn-string_vectors.ali
177 lib/spawn_glib.static-pic/
180 spawn-environments-internal__glib.ali
181 spawn-environments.ali
182 spawn-internal__posix.ali
185 spawn-string_vectors.ali
192 [FILE:529:patches/patch-Makefile]
193 --- Makefile.orig 2022-09-26 13:44:48 UTC
195 @@ -19,7 +19,7 @@ endif
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
202 export LD_LIBRARY_PATH=.libs/spawn/relocatable; \
203 for TEST in ${SPAWN_TESTS}; do \
204 @@ -28,6 +28,7 @@ check:
207 gprinstall $(GPRINSTALL_FLAGS) -p -P gnat/spawn.gpr
208 + gprinstall $(GPRINSTALL_FLAGS) -f -p -P gnat/spawn_glib.gpr
210 gprclean -q -P gnat/spawn.gpr
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";
224 function setsid return Interfaces.C.int
225 with Import, Convention => C, External_Name => "setsid";
228 [FILE:1353:files/ptsname_r.c]
230 # define __NEEDS_PTSNAME_R__
233 # include <sys/param.h>
234 # if __FreeBSD_version < 1203000
235 # define __NEEDS_PTSNAME_R__
239 #ifdef __NEEDS_PTSNAME_R__
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. */
249 __ptsname_r (int fd, char *buf, size_t buflen)
251 int saved_errno = errno;
252 char tmpbuf[5 + 4 + 10 + 1];
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)
267 /* Turn it into /dev/pts/N. */
268 memcpy (tmpbuf, "/dev/pts/", 5 + 4);
275 memcpy (buf, tmpbuf, n + 1);
276 /* Don't do a final stat(), since the file name /dev/pts/N does not actually
287 __ptsname_r (int fd, char *buf, size_t buflen)
289 return ptsname_r (fd, buf, buflen);
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"));
300 for Languages use ("Ada", "c");
304 for Source_Dirs use ("../../include/spawn/");
305 for Library_Dir use "../../lib/spawn.static/";
306 for Library_Kind use "static";
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";
317 for Library_Name use "spawn";
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";
342 for Active use "False";
345 for Externally_Built use "True";
348 ("unix", "osx", "Windows_NT");
350 type Spawn_Build_Kind is
351 ("dev", "prod", "coverage");
356 linker_options := ();
357 ada_switches := ("-gnatwe", "-O2", "-g");
358 common_excluded := ();
359 warnings_as_errors : any_boolean := "true";
361 build_mode : spawn_build_kind := "prod";
362 os_api : os_api_kind := "unix";
366 [FILE:2381:files/spawn_glib.gpr]
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"));
373 for Languages use ("Ada");
377 for Source_Dirs use ("../../include/spawn_glib/");
378 for Library_Dir use "../../lib/spawn_glib.static/";
379 for Library_Kind use "static";
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";
390 for Library_Name use "spawn_glib";
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";
411 for Active use "False";
414 for Externally_Built use "True";
417 ("unix", "osx", "Windows_NT");
419 type Spawn_Glib_Build_Kind is
420 ("dev", "prod", "coverage");
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";