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
24 gettext:solinks:standard
26 USES= gmake gprbuild fontconfig zlib:build gettext:build
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
35 MAKE_ENV= BUILD_MODE=prod
37 INSTALL_REQ_TOOLCHAIN= yes
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}
47 ${CP} ${FILESDIR}/ptsname_r.c ${WRKSRC}/source/spawn
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
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
68 [FILE:208:descriptions/desc.single]
69 Ada Process API (spawn)
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
78 1487fef86433d1d06c5c3af3c012aac9eae8d2f4b7f8c1d2fdbe2be0b1770fa8 43449 AdaCore-spawn-23.0.0.tar.gz
81 [FILE:2797:manifests/plist.single]
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
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
103 spawn-string_vectors.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
120 spawn-processes-monitor-osx_initialize.adb
121 spawn-processes-monitor-unix_initialize.adb
122 spawn-processes-platform__glib.adb
125 spawn-string_vectors.ads
127 lib/spawn.relocatable/
129 spawn-environments-internal__posix.ali
130 spawn-environments.ali
131 spawn-internal__posix.ali
133 spawn-processes-monitor__posix.ali
134 spawn-processes-monitor_loop.ali
136 spawn-string_vectors.ali
140 spawn-environments-internal__posix.ali
141 spawn-environments.ali
142 spawn-internal__posix.ali
144 spawn-processes-monitor__posix.ali
145 spawn-processes-monitor_loop.ali
147 spawn-string_vectors.ali
149 lib/spawn.static-pic/
151 spawn-environments-internal__posix.ali
152 spawn-environments.ali
153 spawn-internal__posix.ali
155 spawn-processes-monitor__posix.ali
156 spawn-processes-monitor_loop.ali
158 spawn-string_vectors.ali
160 lib/spawn_glib.relocatable/
163 spawn-environments-internal__glib.ali
164 spawn-environments.ali
165 spawn-internal__posix.ali
168 spawn-string_vectors.ali
170 lib/spawn_glib.static/
173 spawn-environments-internal__glib.ali
174 spawn-environments.ali
175 spawn-internal__posix.ali
178 spawn-string_vectors.ali
180 lib/spawn_glib.static-pic/
183 spawn-environments-internal__glib.ali
184 spawn-environments.ali
185 spawn-internal__posix.ali
188 spawn-string_vectors.ali
195 [FILE:529:patches/patch-Makefile]
196 --- Makefile.orig 2022-09-26 13:44:48 UTC
198 @@ -19,7 +19,7 @@ endif
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
205 export LD_LIBRARY_PATH=.libs/spawn/relocatable; \
206 for TEST in ${SPAWN_TESTS}; do \
207 @@ -28,6 +28,7 @@ check:
210 gprinstall $(GPRINSTALL_FLAGS) -p -P gnat/spawn.gpr
211 + gprinstall $(GPRINSTALL_FLAGS) -f -p -P gnat/spawn_glib.gpr
213 gprclean -q -P gnat/spawn.gpr
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";
227 function setsid return Interfaces.C.int
228 with Import, Convention => C, External_Name => "setsid";
231 [FILE:1353:files/ptsname_r.c]
233 # define __NEEDS_PTSNAME_R__
236 # include <sys/param.h>
237 # if __FreeBSD_version < 1203000
238 # define __NEEDS_PTSNAME_R__
242 #ifdef __NEEDS_PTSNAME_R__
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. */
252 __ptsname_r (int fd, char *buf, size_t buflen)
254 int saved_errno = errno;
255 char tmpbuf[5 + 4 + 10 + 1];
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)
270 /* Turn it into /dev/pts/N. */
271 memcpy (tmpbuf, "/dev/pts/", 5 + 4);
278 memcpy (buf, tmpbuf, n + 1);
279 /* Don't do a final stat(), since the file name /dev/pts/N does not actually
290 __ptsname_r (int fd, char *buf, size_t buflen)
292 return ptsname_r (fd, buf, buflen);
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"));
303 for Languages use ("Ada", "c");
307 for Source_Dirs use ("../../include/spawn/");
308 for Library_Dir use "../../lib/spawn.static/";
309 for Library_Kind use "static";
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";
320 for Library_Name use "spawn";
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";
345 for Active use "False";
348 for Externally_Built use "True";
351 ("unix", "osx", "Windows_NT");
353 type Spawn_Build_Kind is
354 ("dev", "prod", "coverage");
359 linker_options := ();
360 ada_switches := ("-gnatwe", "-O2", "-g");
361 common_excluded := ();
362 warnings_as_errors : any_boolean := "true";
364 build_mode : spawn_build_kind := "prod";
365 os_api : os_api_kind := "unix";
369 [FILE:2381:files/spawn_glib.gpr]
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"));
376 for Languages use ("Ada");
380 for Source_Dirs use ("../../include/spawn_glib/");
381 for Library_Dir use "../../lib/spawn_glib.static/";
382 for Library_Kind use "static";
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";
393 for Library_Name use "spawn_glib";
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";
414 for Active use "False";
417 for Externally_Built use "True";
420 ("unix", "osx", "Windows_NT");
422 type Spawn_Glib_Build_Kind is
423 ("dev", "prod", "coverage");
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";