diff options
Diffstat (limited to 'dev-ada')
| -rw-r--r-- | dev-ada/gnatcoll-bindings/Manifest | 1 | ||||
| -rw-r--r-- | dev-ada/gnatcoll-bindings/gnatcoll-bindings-26.0.0.ebuild | 113 | ||||
| -rw-r--r-- | dev-ada/gnatcoll-core/Manifest | 1 | ||||
| -rw-r--r-- | dev-ada/gnatcoll-core/gnatcoll-core-26.0.0.ebuild | 134 |
4 files changed, 249 insertions, 0 deletions
diff --git a/dev-ada/gnatcoll-bindings/Manifest b/dev-ada/gnatcoll-bindings/Manifest index 1d40df8f9494..d54aa3b7f8f8 100644 --- a/dev-ada/gnatcoll-bindings/Manifest +++ b/dev-ada/gnatcoll-bindings/Manifest @@ -1 +1,2 @@ DIST gnatcoll-bindings-25.0.0.tar.gz 299443 BLAKE2B 8feee477728f036d32b4957ffde309d529eb5ccead784dd1bfaf7a3b945046672467ed3eac49336369bda473f317d30ce73f2d6a8afcbb289da4a4f7496f523a SHA512 0cc5b4a1e966b6e05dcfa15e60cb3960894ffe73b9348f0642a972f4d517e535c617893a4080d33095ee62779b14aeb6cdd8a8f0a8b5a6c8e81c94df132420b2 +DIST gnatcoll-bindings-26.0.0.tar.gz 331403 BLAKE2B 165b96abc362351e9d06363b1fe52d1b51bd8889cd5119a21026cb2518e9e1798a9b571db1b1a654c10c6e5ad8020cb73162b5add5a8b8c0ce5e278989611ea4 SHA512 f65b1043983d89064584f6b540b512425e06e3af7399661aaf4497c047bf0d2f97becd5b88f854894f1f79061ca27c5b7b8e078a2d773999cf838ef31c8f874e diff --git a/dev-ada/gnatcoll-bindings/gnatcoll-bindings-26.0.0.ebuild b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-26.0.0.ebuild new file mode 100644 index 000000000000..a426851aa380 --- /dev/null +++ b/dev-ada/gnatcoll-bindings/gnatcoll-bindings-26.0.0.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +ADA_COMPAT=( gcc_{13..16} ) +inherit ada multiprocessing python-single-r1 + +DESCRIPTION="GNAT Component Collection" +HOMEPAGE="https://github.com/AdaCore/gnatcoll-bindings/" +SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc gmp lzma openmp +shared static-libs static-pic" +REQUIRED_USE="|| ( shared static-libs static-pic ) + ${PYTHON_REQUIRED_USE} + ${ADA_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + ${ADA_DEPS} + dev-ada/gnatcoll-core:${SLOT}[${ADA_USEDEP},shared?,static-libs?,static-pic?] + gmp? ( dev-libs/gmp:* ) + lzma? ( app-arch/xz-utils ) + openmp? ( sys-devel/gcc:=[openmp] ) + $(python_gen_cond_dep ' + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ) + ')" +DEPEND="${RDEPEND} + dev-ada/gprbuild[${ADA_USEDEP}]" + +QA_EXECSTACK=usr/lib/gnatcoll_readline.*/libgnatcoll_readline.* + +pkg_setup() { + python-single-r1_pkg_setup + ada_pkg_setup +} + +src_prepare() { + rm -r python || die + mv python3 python || die + default +} + +src_compile() { + build () { + gprbuild -j$(makeopts_jobs) -m -p -v \ + -XGPR_BUILD=$2 -XGNATCOLL_CORE_BUILD=$2 \ + -XLIBRARY_TYPE=$2 -P $1/gnatcoll_$1.gpr -XBUILD="PROD" \ + -XGNATCOLL_VERSION=${PV} \ + -XGNATCOLL_ICONV_OPT= -XGNATCOLL_PYTHON_CFLAGS="-I$(python_get_includedir)" \ + -XGNATCOLL_PYTHON_LIBS=$(python_get_library_path) \ + -cargs:Ada ${ADAFLAGS} -cargs:C ${CFLAGS} || die "gprbuild failed" + } + for kind in shared static-libs static-pic ; do + if use $kind; then + lib=${kind%-libs} + lib=${lib/shared/relocatable} + build cpp $lib + build iconv $lib + use gmp && build gmp $lib + use lzma && build lzma $lib + use openmp && build omp $lib + build python $lib + build syslog $lib + build readline $lib + build zlib $lib + fi + done + if use doc; then + emake -C iconv/docs html + emake -C readline/docs html + emake -C syslog/docs html + mkdir html + mv iconv/docs/_build/html html/iconv || die + mv readline/docs/_build/html html/readline || die + mv syslog/docs/_build/html html/syslog || die + fi +} + +src_install() { + build () { + gprinstall -p -f -XBUILD=PROD --prefix="${D}"/usr -XLIBRARY_TYPE=$2 \ + -XGPR_BUILD=$2 -XGNATCOLL_CORE_BUILD=$2 \ + -XGNATCOLL_VERSION=${PV} --build-var=LIBRARY_TYPE \ + -XGNATCOLL_ICONV_OPT= -P $1/gnatcoll_$1.gpr --build-name=$2 + } + for kind in shared static-libs static-pic ; do + if use $kind; then + lib=${kind%-libs} + lib=${lib/shared/relocatable} + build cpp $lib + use gmp && build gmp $lib + build iconv $lib + use lzma && build lzma $lib + use openmp && build omp $lib + build python $lib + build syslog $lib + build readline $lib + use lzma && build lzma $lib + build zlib $lib + fi + done + rm -rf "${D}"/usr/share/gpr/manifests + use doc && HTML_DOCS=( html/* ) + einstalldocs +} diff --git a/dev-ada/gnatcoll-core/Manifest b/dev-ada/gnatcoll-core/Manifest index 26cf81fc9438..abce0c1bad36 100644 --- a/dev-ada/gnatcoll-core/Manifest +++ b/dev-ada/gnatcoll-core/Manifest @@ -1 +1,2 @@ DIST gnatcoll-core-25.0.0.tar.gz 7492612 BLAKE2B 6c9653b74d575b24a5433dc56214f9fd55d8dfce65921d2f3172521d3f2c542e34e09df99c224634bf87da6068cffd4f47fdf6ed68f2b913d355a9f6ebff1624 SHA512 efa19b9760bd16b402445d4932dfd28f087f9a09b91ec688c6976b7b83fe5986580b1871378ac024e9a712df8ee75963e5dc88629a72ee1ce76f1d1403b8e122 +DIST gnatcoll-core-26.0.0.tar.gz 7526941 BLAKE2B 82068d0a0e875f5fb00c141a3ec10a08e2dd8bd717e576066d8d8c3303845e7e3d4f02f4fde9585497e931f9f4dc5dd90872dd12e1a42d0a15dcc6d6c5a3e1c5 SHA512 59a3ac4c911f1d2950964afc9ad5508a9cbd1facb0d1a49caaab8dea18376e287cbbe1948c2ae6a21de3e8488aa0b4d4a94d53f55529a909123e2db0c6c38cde diff --git a/dev-ada/gnatcoll-core/gnatcoll-core-26.0.0.ebuild b/dev-ada/gnatcoll-core/gnatcoll-core-26.0.0.ebuild new file mode 100644 index 000000000000..9ad83b81fcc3 --- /dev/null +++ b/dev-ada/gnatcoll-core/gnatcoll-core-26.0.0.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +ADA_COMPAT=( gcc_{13..16} ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit ada python-any-r1 multiprocessing + +DESCRIPTION="GNAT Component Collection Core packages" +HOMEPAGE="https://github.com/AdaCore/gnatcoll-core/" +SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0/${PV}" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="doc minimal +projects +shared static-libs static-pic test" +RESTRICT="test" +REQUIRED_USE="|| ( shared static-libs static-pic ) + ${ADA_REQUIRED_USE} + projects? ( !minimal )" + +RDEPEND=" + projects? ( + ~dev-ada/libgpr-${PV}:=[${ADA_USEDEP},static-libs?,static-pic?] + ) +" +BDEPEND="${RDEPEND} + dev-ada/gprbuild[${ADA_USEDEP}] + $(python_gen_any_dep ' + test? ( dev-ada/e3-testsuite[${PYTHON_USEDEP}] ) + doc? ( + dev-python/sphinx[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ) + ')" + +PATCHES=( + "${FILESDIR}"/${PN}-25.0.0-gentoo.patch +) + +python_check_deps() { + if use doc && use test ; then + python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" && + python_has_version "dev-ada/e3-testsuite[${PYTHON_USEDEP}]" || return 1 + + return 0 + elif use test; then + python_has_version "dev-ada/e3-testsuite[${PYTHON_USEDEP}]" || return 1 + + return 0 + elif use doc; then + python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" && + python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]" || return 1 + fi + + return 0 +} + +pkg_setup() { + if use doc || use test; then + python-any-r1_pkg_setup + fi + ada_pkg_setup +} + +src_prepare() { + default + sed -i \ + -e "s:@GNATLS@:${GNATLS}:g" \ + projects/src/gnatcoll-projects.ads \ + || die +} + +src_compile() { + export GPR_PROJECT_PATH=minimal:core + build() { + gprbuild -v -p -m -P$2/gnatcoll_$2.gpr -j$(makeopts_jobs) \ + -XGNATCOLL_VERSION=$(ver_cut 1-2) -XLIBRARY_TYPE=$1 \ + -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die + } + buildAll () { + build $1 minimal + use minimal && return + build $1 core + use projects && build $1 projects + } + if use shared; then + buildAll relocatable + fi + if use static-libs; then + buildAll static + fi + if use static-pic; then + buildAll static-pic + fi + use doc && emake -C docs html +} + +src_test() { + #To be run after installation + cd testsuite + ./run-tests || die +} + +src_install() { + export GPR_PROJECT_PATH=minimal:core + build() { + gprinstall -v -P$2/gnatcoll_$2.gpr -XGNATCOLL_VERSION=$(ver_cut 1-2) \ + -p -f --prefix="${D}"/usr --sources-subdir=include/gnatcoll_$2 \ + -XLIBRARY_TYPE=$1 --build-name=$1 --build-var=LIBRARY_TYPE || die + } + buildAll () { + build $1 minimal + use minimal && return + build $1 core + use projects && build $1 projects + } + if use shared; then + buildAll relocatable + fi + if use static-libs; then + buildAll static + fi + if use static-pic; then + buildAll static-pic + fi + insinto /usr/share/gpr + doins gnatcoll.gpr + use doc && HTML_DOCS=( docs/_build/html/* ) + einstalldocs + rm -r "${D}"/usr/share/gpr/manifests +} |
