summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2021-12-26 20:00:36 +0100
committerAlfredo Tupone <tupone@gentoo.org>2021-12-26 20:00:56 +0100
commit1ff8eb84caa7000f9af2af61bfe41b98fd2f07df (patch)
treea792bcc17264468d000023c4e6d9c65ae1d3ab0f /dev-ada/spawn
parentsys-process/fcron: Stabilize 3.2.1-r8 ppc64, #827888 (diff)
downloadgentoo-1ff8eb84caa7000f9af2af61bfe41b98fd2f07df.tar.gz
gentoo-1ff8eb84caa7000f9af2af61bfe41b98fd2f07df.tar.bz2
gentoo-1ff8eb84caa7000f9af2af61bfe41b98fd2f07df.zip
dev-ada/spawn: simple API to spawn processes
Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'dev-ada/spawn')
-rw-r--r--dev-ada/spawn/Manifest1
-rw-r--r--dev-ada/spawn/metadata.xml19
-rw-r--r--dev-ada/spawn/spawn-22.0.0.ebuild107
3 files changed, 127 insertions, 0 deletions
diff --git a/dev-ada/spawn/Manifest b/dev-ada/spawn/Manifest
new file mode 100644
index 000000000000..b2a11eba762d
--- /dev/null
+++ b/dev-ada/spawn/Manifest
@@ -0,0 +1 @@
+DIST spawn-22.0.0.tar.gz 49836 BLAKE2B 2283eadae1477600934cbecb67e0fa4c0640150c4d05356ec3d047fdd664e68510c99f9e495dc448c83fe0fea25523727ecb45ee6e85a4b205255a9549031110 SHA512 706c53dabe82994a809c33e984d467ff0f72a2ed9566dedc8262b2c908393f241546ce379a03ea50eb73bf2326b52fc4804d6e192810c703695fc32c9da0b530
diff --git a/dev-ada/spawn/metadata.xml b/dev-ada/spawn/metadata.xml
new file mode 100644
index 000000000000..73dd402e4ab3
--- /dev/null
+++ b/dev-ada/spawn/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ada@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="glib">
+ Add support to <pkg>dev-libs/glib</pkg>-based mainloop.
+ </flag>
+ <flag name="shared">Build shared library</flag>
+ <flag name="static-pic">Build static library with pic code</flag>
+ </use>
+ <longdescription lang="en">
+ This library provides simple API to spawn processes and communicate
+ with them. We provide two implementations of the same API - the
+ integrated into Glib event loop and the independent.
+ </longdescription>
+</pkgmetadata>
diff --git a/dev-ada/spawn/spawn-22.0.0.ebuild b/dev-ada/spawn/spawn-22.0.0.ebuild
new file mode 100644
index 000000000000..9ac4af26e845
--- /dev/null
+++ b/dev-ada/spawn/spawn-22.0.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ADA_COMPAT=( gnat_202{0,1} )
+inherit ada multiprocessing
+
+DESCRIPTION="Simple API to spawn processes"
+HOMEPAGE="https://github.com/AdaCore/spawn"
+SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz"
+
+LICENSE="GPL-3 gcc-runtime-library-exception-3.1"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="glib +shared static-libs static-pic"
+REQUIRED_USE="|| ( shared static-libs static-pic )
+ ${ADA_REQUIRED_USE}"
+
+RDEPEND="glib? (
+ dev-ada/gtkada[${ADA_USEDEP},shared?,static-libs?,static-pic?]
+ dev-libs/glib
+)"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-ada/gprbuild[${ADA_USEDEP}]"
+
+src_compile() {
+ build () {
+ gprbuild -p -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 \
+ gnat/spawn.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ if use glib; then
+ gprbuild -p -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 \
+ gnat/spawn_glib.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} \
+ || die
+ fi
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}
+
+src_test() {
+ build () {
+ gprbuild -p -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 \
+ gnat/spawn_tests.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} \
+ || die
+ if use glib; then
+ gprbuild -p -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 \
+ gnat/spawn_glib_tests.gpr \
+ -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ fi
+ }
+ if use shared; then
+ build relocatable
+ elif use static-libs; then
+ build static
+ elif use static-pic; then
+ build static-pic
+ fi
+ .obj/spawn_test/spawn_test || die
+ .obj/spawn_test/spawn_unexpected || die
+ .obj/spawn_test/spawn_kill || die
+ if use glib; then
+ .obj/spawn_test/spawn_glib_test || die
+ .obj/spawn_test/spawn_glib_args_test.exe || die
+ fi
+}
+
+src_install() {
+ build() {
+ gprinstall --prefix=/usr --sources-subdir="${D}"/usr/include/spawn \
+ -XLIBRARY_TYPE=$1 \
+ --lib-subdir="${D}"/usr/lib/spawn \
+ --project-subdir="${D}"/usr/share/gpr \
+ --link-lib-subdir="${D}"/usr/lib/ -p \
+ -P gnat/spawn.gpr || die
+ if use glib; then
+ gprinstall --prefix=/usr \
+ -XLIBRARY_TYPE=$1 \
+ --sources-subdir="${D}"/usr/include/spawn_glib \
+ --lib-subdir="${D}"/usr/lib/spawn_glib \
+ --project-subdir="${D}"/usr/share/gpr \
+ --link-lib-subdir="${D}"/usr/lib/ -p \
+ -P gnat/spawn_glib.gpr || die
+ fi
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+}