# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= ada_spawn VERSION= 23.0.0 REVISION= 5 KEYWORDS= devel ada VARIANTS= standard SDESC[standard]= Simple API to spawn communicating processes HOMEPAGE= none CONTACT= John_Marino[draco@marino.st] DOWNLOAD_GROUPS= main SITES[main]= GITHUB/AdaCore:spawn:2642bd6 DISTFILE[1]= generated:main DF_INDEX= 1 SPKGS[standard]= complete primary dev OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= gtkada:dev:standard BUILDRUN_DEPENDS= gtkada:primary:standard gettext:solinks:standard EXRUN[dev]= harfbuzz:dev:standard glib:dev:standard USES= gmake gprbuild fontconfig zlib:build gettext:build GNOME_COMPONENTS= gtk3 LICENSE= APACHE20:primary LICENSE_TERMS= primary:{{WRKDIR}}/TERMS LICENSE_FILE= APACHE20:{{WRKSRC}}/LICENSE.txt LICENSE_AWK= TERMS:"^$$" LICENSE_SOURCE= TERMS:{{WRKSRC}}/source/spawn/spawn.ads LICENSE_SCHEME= solo MAKE_ENV= BUILD_MODE=prod INSTALL_REQ_TOOLCHAIN= yes SOVERSION= 23.0.0 post-patch: ${REINPLACE_CMD} -e 's/@SOVERSION@/23.0.0/' ${WRKSRC}/gnat/spawn*.gpr do-build: .for LT in relocatable static-pic static . for GPR in spawn.gpr spawn_glib.gpr ${SETENV} ${MAKE_ENV} gprbuild -p -j0 -XSPAWN_LIBRARY_TYPE=${LT} -P ${WRKSRC}/gnat/${GPR} . endfor .endfor post-extract: ${CP} ${FILESDIR}/ptsname_r.c ${WRKSRC}/source/spawn do-install: .for LT in relocatable static-pic static . for GPR in spawn spawn_glib ${SETENV} ${MAKE_ENV} gprinstall\ --build-var=SPAWN_LIBRARY_TYPE\ --build-name=${LT}\ --prefix=${STAGEDIR}${PREFIX}\ --lib-subdir=lib/${GPR}.${LT}\ --sources-subdir=include/${GPR}\ --link-lib-subdir=lib \ --no-manifests\ -XSPAWN_LIBRARY_TYPE=${LT}\ -p -P ${WRKSRC}/gnat/${GPR}.gpr . endfor .endfor ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libspawn.so [FILE:208:descriptions/desc.primary] Ada Process API (spawn) This library provides simple API to spawn processes and communicate with them. Two implementations of the same API are provided: * The integrated into Glib event loop * Independent [FILE:107:distinfo] d4b8acc316ed8bc21431ab5051ca48321179872d25a6893f2ff2087ddc812ded 66736 AdaCore-spawn-2642bd6.tar.gz [FILE:108:manifests/plist.primary] lib/ libspawn.so libspawn.so.%%SOVERSION%% lib/spawn.relocatable/ libspawn.so libspawn.so.%%SOVERSION%% [FILE:3762:manifests/plist.dev] include/spawn/ posix_const.c ptsname_r.c spawn-channels__posix.adb spawn-channels__posix.ads spawn-common.adb spawn-common.ads spawn-environments-initialize_default__posix.adb spawn-environments-internal__posix.adb spawn-environments-internal__posix.ads spawn-environments-search_in_path__posix.adb spawn-environments.adb spawn-environments.ads spawn-internal-monitor-osx_initialize.adb spawn-internal-monitor-unix_initialize.adb spawn-internal-monitor.ads spawn-internal-monitor__posix.adb spawn-internal__posix.adb spawn-internal__posix.ads spawn-polls-posix_polls.adb spawn-polls-posix_polls.ads spawn-polls.ads spawn-posix.ads spawn-process_listeners.ads spawn-processes-monitor_loop.adb spawn-processes-monitor_loop.ads spawn-processes.adb spawn-processes.ads spawn-string_vectors.ads spawn.ads include/spawn_glib/ pipe2.c posix_const.c ptsname_r.c spawn-channels__glib_posix.adb spawn-channels__glib_posix.ads spawn-common.adb spawn-common.ads spawn-environments-initialize_default__glib.adb spawn-environments-internal__glib.adb spawn-environments-internal__glib.ads spawn-environments-search_in_path__posix.adb spawn-environments.adb spawn-environments.ads spawn-internal-monitor-osx_initialize.adb spawn-internal-monitor-unix_initialize.adb spawn-internal__glib_posix.adb spawn-internal__glib_posix.ads spawn-polls-posix_polls.adb spawn-polls-posix_polls.ads spawn-polls.ads spawn-posix.ads spawn-process_listeners.ads spawn-processes.adb spawn-processes.ads spawn-string_vectors.ads spawn.ads lib/spawn.relocatable/ spawn-channels__posix.ali spawn-common.ali spawn-environments-internal__posix.ali spawn-environments.ali spawn-internal-monitor__posix.ali spawn-internal__posix.ali spawn-polls-posix_polls.ali spawn-polls.ali spawn-posix.ali spawn-process_listeners.ali spawn-processes-monitor_loop.ali spawn-processes.ali spawn-string_vectors.ali spawn.ali lib/spawn.static/ libspawn.a spawn-channels__posix.ali spawn-common.ali spawn-environments-internal__posix.ali spawn-environments.ali spawn-internal-monitor__posix.ali spawn-internal__posix.ali spawn-polls-posix_polls.ali spawn-polls.ali spawn-posix.ali spawn-process_listeners.ali spawn-processes-monitor_loop.ali spawn-processes.ali spawn-string_vectors.ali spawn.ali lib/spawn.static-pic/ libspawn.a spawn-channels__posix.ali spawn-common.ali spawn-environments-internal__posix.ali spawn-environments.ali spawn-internal-monitor__posix.ali spawn-internal__posix.ali spawn-polls-posix_polls.ali spawn-polls.ali spawn-posix.ali spawn-process_listeners.ali spawn-processes-monitor_loop.ali spawn-processes.ali spawn-string_vectors.ali spawn.ali lib/spawn_glib.relocatable/ libspawn_glib.a spawn-channels__glib_posix.ali spawn-common.ali spawn-environments-internal__glib.ali spawn-environments.ali spawn-internal__glib_posix.ali spawn-polls-posix_polls.ali spawn-polls.ali spawn-posix.ali spawn-process_listeners.ali spawn-processes.ali spawn-string_vectors.ali spawn.ali lib/spawn_glib.static/ libspawn_glib.a spawn-channels__glib_posix.ali spawn-common.ali spawn-environments-internal__glib.ali spawn-environments.ali spawn-internal__glib_posix.ali spawn-polls-posix_polls.ali spawn-polls.ali spawn-posix.ali spawn-process_listeners.ali spawn-processes.ali spawn-string_vectors.ali spawn.ali lib/spawn_glib.static-pic/ libspawn_glib.a spawn-channels__glib_posix.ali spawn-common.ali spawn-environments-internal__glib.ali spawn-environments.ali spawn-internal__glib_posix.ali spawn-polls-posix_polls.ali spawn-polls.ali spawn-posix.ali spawn-process_listeners.ali spawn-processes.ali spawn-string_vectors.ali spawn.ali share/gpr/ spawn.gpr spawn_glib.gpr [FILE:441:patches/patch-gnat_spawn.gpr] --- gnat/spawn.gpr.orig 2023-05-18 09:24:48 UTC +++ gnat/spawn.gpr @@ -25,6 +25,7 @@ library project Spawn is for Object_Dir use "../.obj/" & Superproject & "/spawn/" & Library_Type; for Library_Dir use "../.libs/" & Superproject & "/spawn/" & Library_Type; for Library_Name use "spawn"; + for Library_Version use "libspawn.so.@SOVERSION@"; for Source_Dirs use ("../source/spawn"); for Languages use ("Ada", "c"); [FILE:431:patches/patch-gnat_spawn__glib.gpr] --- gnat/spawn_glib.gpr.orig 2023-05-18 09:24:48 UTC +++ gnat/spawn_glib.gpr @@ -24,6 +24,7 @@ library project Spawn_Glib is for Object_Dir use "../.obj/spawn_glib/" & Library_Type; for Library_Dir use "../.libs/spawn_glib/" & Library_Type; for Library_Name use "spawn_glib"; + for Library_Version use "spawn_glib.so.@SOVERSION@"; for Source_Dirs use ("../source/spawn"); for Languages use ("Ada", "c"); [FILE:521:patches/patch-source_spawn_spawn-posix.ads] --- source/spawn/spawn-posix.ads.orig 2023-05-18 09:24:48 UTC +++ source/spawn/spawn-posix.ads @@ -156,7 +156,7 @@ package Spawn.Posix is (fd : Interfaces.C.int; buf : out Interfaces.C.char_array; buflen : Interfaces.C.size_t) return Interfaces.C.int - with Import, Convention => C, External_Name => "ptsname_r"; + with Import, Convention => C, External_Name => "__ptsname_r"; function setsid return Interfaces.C.int with Import, Convention => C, External_Name => "setsid"; [FILE:1353:files/ptsname_r.c] #ifdef __DragonFly__ # define __NEEDS_PTSNAME_R__ #endif #ifdef __FreeBSD__ # include # if __FreeBSD_version < 1203000 # define __NEEDS_PTSNAME_R__ # endif #endif #ifdef __NEEDS_PTSNAME_R__ #include #include #include /* Store at most BUFLEN characters of the pathname of the slave pseudo terminal associated with the master FD is open on in BUF. Return 0 on success, otherwise an error number. */ int __ptsname_r (int fd, char *buf, size_t buflen) { int saved_errno = errno; char tmpbuf[5 + 4 + 10 + 1]; int ret; int n; if (buf == NULL) { errno = EINVAL; return errno; } /* The result of fdevname_r is typically of the form ptm/N. */ ret = fdevname_r (fd, tmpbuf + 5, sizeof (tmpbuf) - 5); if (ret < 0 || strncmp (tmpbuf + 5, "ptm/", 4) != 0) { errno = ENOTTY; return errno; } /* Turn it into /dev/pts/N. */ memcpy (tmpbuf, "/dev/pts/", 5 + 4); n = strlen (tmpbuf); if (n >= buflen) { errno = ERANGE; return errno; } memcpy (buf, tmpbuf, n + 1); /* Don't do a final stat(), since the file name /dev/pts/N does not actually exist. */ errno = saved_errno; return 0; } #else #include int __ptsname_r (int fd, char *buf, size_t buflen) { return ptsname_r (fd, buf, buflen); } #endif