commit:     91ce4b9bfd61136ec8217012ffeaf02b9058994d
Author:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  9 18:41:25 2025 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Thu Jan  9 18:42:37 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=91ce4b9b

dev-ada/gnatcoll-core: add 25.0.0

Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org>

 dev-ada/gnatcoll-core/Manifest                     |   1 +
 .../files/gnatcoll-core-25.0.0-gentoo.patch        |  11 ++
 dev-ada/gnatcoll-core/gnatcoll-core-25.0.0.ebuild  | 121 +++++++++++++++++++++
 dev-ada/gnatcoll-core/metadata.xml                 |   1 +
 4 files changed, 134 insertions(+)

diff --git a/dev-ada/gnatcoll-core/Manifest b/dev-ada/gnatcoll-core/Manifest
index 0960d18c2e8b..4833ab1a8218 100644
--- a/dev-ada/gnatcoll-core/Manifest
+++ b/dev-ada/gnatcoll-core/Manifest
@@ -1 +1,2 @@
 DIST gnatcoll-core-24.0.0.tar.gz 764526 BLAKE2B 
f96b24dcac2af84802244ed93570f0a922ab0901ecf871fa4995f4c24607cdbd8d91fc760acf35024fe41a066fb307442396cb8c125c74363e0c9276d114ab5a
 SHA512 
1f1d470e7b74f238682f0938efe04c303c6bfca5a6b723eb789f5cb4bd33a199a9f2323626b8887758f01709ab1ba4d8045c56ce45f02e535babca4025662d9f
+DIST gnatcoll-core-25.0.0.tar.gz 7492612 BLAKE2B 
6c9653b74d575b24a5433dc56214f9fd55d8dfce65921d2f3172521d3f2c542e34e09df99c224634bf87da6068cffd4f47fdf6ed68f2b913d355a9f6ebff1624
 SHA512 
efa19b9760bd16b402445d4932dfd28f087f9a09b91ec688c6976b7b83fe5986580b1871378ac024e9a712df8ee75963e5dc88629a72ee1ce76f1d1403b8e122

diff --git a/dev-ada/gnatcoll-core/files/gnatcoll-core-25.0.0-gentoo.patch 
b/dev-ada/gnatcoll-core/files/gnatcoll-core-25.0.0-gentoo.patch
new file mode 100644
index 000000000000..66862c6b600a
--- /dev/null
+++ b/dev-ada/gnatcoll-core/files/gnatcoll-core-25.0.0-gentoo.patch
@@ -0,0 +1,11 @@
+--- a/projects/src/gnatcoll-projects.ads       2025-01-04 15:16:43.534598733 
+0100
++++ b/projects/src/gnatcoll-projects.ads       2025-01-04 15:17:23.548103890 
+0100
+@@ -2093,7 +2093,7 @@
+       Predefined_Source_Files : GNATCOLL.VFS.File_Array_Access;
+       --  The list of source files in Predefined_Source_Path
+ 
+-      Default_Gnatls : GNAT.Strings.String_Access := new String'("gnatls");
++      Default_Gnatls : GNAT.Strings.String_Access := new String'("@GNATLS@");
+       --  The default gnatls command to run.
+ 
+       Xrefs_Subdir : GNAT.Strings.String_Access;

diff --git a/dev-ada/gnatcoll-core/gnatcoll-core-25.0.0.ebuild 
b/dev-ada/gnatcoll-core/gnatcoll-core-25.0.0.ebuild
new file mode 100644
index 000000000000..81ec20c02d2d
--- /dev/null
+++ b/dev-ada/gnatcoll-core/gnatcoll-core-25.0.0.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+ADA_COMPAT=( gcc_13 gcc_14 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+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 ~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},shared?,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}"/${P}-gentoo.patch )
+
+python_check_deps() {
+       if use test; then
+               python_has_version "dev-ada/e3-testsuite[${PYTHON_USEDEP}]" || 
return 1
+       fi;
+       python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+       python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+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
+       rm -r testsuite/tests/file_indexes || die
+       rm -r testsuite/tests/vfs/basic || 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
+}

diff --git a/dev-ada/gnatcoll-core/metadata.xml 
b/dev-ada/gnatcoll-core/metadata.xml
index 5cad23aa44ea..5cf893d36197 100644
--- a/dev-ada/gnatcoll-core/metadata.xml
+++ b/dev-ada/gnatcoll-core/metadata.xml
@@ -5,6 +5,7 @@
                <email>[email protected]</email>
        </maintainer>
        <use>
+               <flag name="projects">Build gnatcoll_projects</flag>
                <flag name="shared">Build shared library</flag>
                <flag name="static-pic">Build static library with pic 
code</flag>
        </use>

Reply via email to