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 USES= gmake gprbuild zlib:build
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
34 MAKE_ENV= BUILD_MODE=prod
36 INSTALL_REQ_TOOLCHAIN= yes
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}
46 ${CP} ${FILESDIR}/ptsname_r.c ${WRKSRC}/source/spawn
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
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
67 [FILE:208:descriptions/desc.single]
68 Ada Process API (spawn)
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
77 1487fef86433d1d06c5c3af3c012aac9eae8d2f4b7f8c1d2fdbe2be0b1770fa8 43449 AdaCore-spawn-23.0.0.tar.gz
80 [FILE:2797:manifests/plist.single]
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
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
102 spawn-string_vectors.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
119 spawn-processes-monitor-osx_initialize.adb
120 spawn-processes-monitor-unix_initialize.adb
121 spawn-processes-platform__glib.adb
124 spawn-string_vectors.ads
126 lib/spawn.relocatable/
128 spawn-environments-internal__posix.ali
129 spawn-environments.ali
130 spawn-internal__posix.ali
132 spawn-processes-monitor__posix.ali
133 spawn-processes-monitor_loop.ali
135 spawn-string_vectors.ali
139 spawn-environments-internal__posix.ali
140 spawn-environments.ali
141 spawn-internal__posix.ali
143 spawn-processes-monitor__posix.ali
144 spawn-processes-monitor_loop.ali
146 spawn-string_vectors.ali
148 lib/spawn.static-pic/
150 spawn-environments-internal__posix.ali
151 spawn-environments.ali
152 spawn-internal__posix.ali
154 spawn-processes-monitor__posix.ali
155 spawn-processes-monitor_loop.ali
157 spawn-string_vectors.ali
159 lib/spawn_glib.relocatable/
162 spawn-environments-internal__glib.ali
163 spawn-environments.ali
164 spawn-internal__posix.ali
167 spawn-string_vectors.ali
169 lib/spawn_glib.static/
172 spawn-environments-internal__glib.ali
173 spawn-environments.ali
174 spawn-internal__posix.ali
177 spawn-string_vectors.ali
179 lib/spawn_glib.static-pic/
182 spawn-environments-internal__glib.ali
183 spawn-environments.ali
184 spawn-internal__posix.ali
187 spawn-string_vectors.ali
194 [FILE:529:patches/patch-Makefile]
195 --- Makefile.orig 2022-09-26 13:44:48 UTC
197 @@ -19,7 +19,7 @@ endif
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
204 export LD_LIBRARY_PATH=.libs/spawn/relocatable; \
205 for TEST in ${SPAWN_TESTS}; do \
206 @@ -28,6 +28,7 @@ check:
209 gprinstall $(GPRINSTALL_FLAGS) -p -P gnat/spawn.gpr
210 + gprinstall $(GPRINSTALL_FLAGS) -f -p -P gnat/spawn_glib.gpr
212 gprclean -q -P gnat/spawn.gpr
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";
226 function setsid return Interfaces.C.int
227 with Import, Convention => C, External_Name => "setsid";
230 [FILE:1353:files/ptsname_r.c]
232 # define __NEEDS_PTSNAME_R__
235 # include <sys/param.h>
236 # if __FreeBSD_version < 1203000
237 # define __NEEDS_PTSNAME_R__
241 #ifdef __NEEDS_PTSNAME_R__
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. */
251 __ptsname_r (int fd, char *buf, size_t buflen)
253 int saved_errno = errno;
254 char tmpbuf[5 + 4 + 10 + 1];
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)
269 /* Turn it into /dev/pts/N. */
270 memcpy (tmpbuf, "/dev/pts/", 5 + 4);
277 memcpy (buf, tmpbuf, n + 1);
278 /* Don't do a final stat(), since the file name /dev/pts/N does not actually
289 __ptsname_r (int fd, char *buf, size_t buflen)
291 return ptsname_r (fd, buf, buflen);
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"));
302 for Languages use ("Ada", "c");
306 for Source_Dirs use ("../../include/spawn/");
307 for Library_Dir use "../../lib/spawn.static/";
308 for Library_Kind use "static";
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";
319 for Library_Name use "spawn";
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";
344 for Active use "False";
347 for Externally_Built use "True";
350 ("unix", "osx", "Windows_NT");
352 type Spawn_Build_Kind is
353 ("dev", "prod", "coverage");
358 linker_options := ();
359 ada_switches := ("-gnatwe", "-O2", "-g");
360 common_excluded := ();
361 warnings_as_errors : any_boolean := "true";
363 build_mode : spawn_build_kind := "prod";
364 os_api : os_api_kind := "unix";
368 [FILE:2381:files/spawn_glib.gpr]
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"));
375 for Languages use ("Ada");
379 for Source_Dirs use ("../../include/spawn_glib/");
380 for Library_Dir use "../../lib/spawn_glib.static/";
381 for Library_Kind use "static";
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";
392 for Library_Name use "spawn_glib";
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";
413 for Active use "False";
416 for Externally_Built use "True";
419 ("unix", "osx", "Windows_NT");
421 type Spawn_Glib_Build_Kind is
422 ("dev", "prod", "coverage");
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";