diff options
-rw-r--r-- | dev-ada/spawn/Manifest | 1 | ||||
-rw-r--r-- | dev-ada/spawn/metadata.xml | 19 | ||||
-rw-r--r-- | dev-ada/spawn/spawn-22.0.0.ebuild | 107 |
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 +} |