dev-ada/gnatcoll-bindings: add 26.0.0

Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
This commit is contained in:
Alfredo Tupone 2025-12-16 22:27:45 +01:00
parent d0054889c4
commit 915dde69b8
No known key found for this signature in database
GPG Key ID: FBE5925C5B02CE58
2 changed files with 114 additions and 0 deletions

View File

@ -1 +1,2 @@
DIST gnatcoll-bindings-25.0.0.tar.gz 299443 BLAKE2B 8feee477728f036d32b4957ffde309d529eb5ccead784dd1bfaf7a3b945046672467ed3eac49336369bda473f317d30ce73f2d6a8afcbb289da4a4f7496f523a SHA512 0cc5b4a1e966b6e05dcfa15e60cb3960894ffe73b9348f0642a972f4d517e535c617893a4080d33095ee62779b14aeb6cdd8a8f0a8b5a6c8e81c94df132420b2 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

View File

@ -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
}