summaryrefslogtreecommitdiff
path: root/dev-ada
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada')
-rw-r--r--dev-ada/gprbuild/Manifest2
-rw-r--r--dev-ada/gprbuild/files/gprbuild-25.0.0-gcc16.patch11
-rw-r--r--dev-ada/gprbuild/gprbuild-26.0.0.ebuild99
-rw-r--r--dev-ada/libgpr/Manifest1
-rw-r--r--dev-ada/libgpr/files/libgpr-26.0.0-gcc16.patch11
-rw-r--r--dev-ada/libgpr/libgpr-26.0.0.ebuild59
-rw-r--r--dev-ada/xmlada/Manifest1
-rw-r--r--dev-ada/xmlada/xmlada-26.0.0.ebuild113
8 files changed, 286 insertions, 11 deletions
diff --git a/dev-ada/gprbuild/Manifest b/dev-ada/gprbuild/Manifest
index cd45d7ebc764..6c743f2ca61b 100644
--- a/dev-ada/gprbuild/Manifest
+++ b/dev-ada/gprbuild/Manifest
@@ -1,2 +1,4 @@
DIST gprbuild-25.0.0.tar.gz 940774 BLAKE2B b2a2895db767b55e459351ea6fbeb91a771b6e39672217d53fb2b4aeea4f42aa093760448da715ffb0b7da54c50b4b55f0034910ebfdfc52a8cde7dad7533ef0 SHA512 eb2d7072194323cae90acd0c8683eeb6a806ef6ff2ed4d3496e8b94c5b63dae8a428ec428a3610b380df7e122d7a00d9e9634ef06b5369b165536c99209602ce
+DIST gprbuild-26.0.0.tar.gz 922278 BLAKE2B ae055fd7427c926dd5bedb1de96d7070e4e3c4f395a6147cb8832eb2fca47d51dfd90f5e95d7012dffdece8b17e0a93673a6a8e825717e315cfc3602fb926f8f SHA512 e5a5dcaf0162154793b23655a9804453498b230a377ae45eabe67f51e15ff69194d98a6b6839fd2ebb0d136e3128e47d296da10ea7be67bec8dbed1d016a1777
DIST xmlada-25.0.0.tar.gz 1082553 BLAKE2B daddd7b1d6cd8c38ff3e9ecdc1d0864e1eca88128121635e8d1a8133f73285ced08478e732a0b7bb02cc00e240887d20a1a16048991450025290fd96ad5cb09f SHA512 c57db78e3afd20862c3275d3d0874ada1748e98df06a76841cb3dca3686b29c7693835a591ca5789dca2d3d6ba9677c9082df94857e180e0758a5b77fafc40c0
+DIST xmlada-26.0.0.tar.gz 1083101 BLAKE2B e9de49a6f94b686d64332042e7c897c61fe000f4fa8d343e64756a48c430c6aef73be45f878ac1f160f980b2822863150ae49b48b9226cb313d6cd59a5a0eb2b SHA512 0c46e2dce18a2040973a5b89b1fb89c838f0784b8f9d8668102006a808eaa7c96cdedd0c2078959b961da360f722d55f60cc195390c80adf5bd3d50e80922543
diff --git a/dev-ada/gprbuild/files/gprbuild-25.0.0-gcc16.patch b/dev-ada/gprbuild/files/gprbuild-25.0.0-gcc16.patch
index a0ee932b06c8..7e8ce532da2b 100644
--- a/dev-ada/gprbuild/files/gprbuild-25.0.0-gcc16.patch
+++ b/dev-ada/gprbuild/files/gprbuild-25.0.0-gcc16.patch
@@ -9,14 +9,3 @@
-- A set of project+language=map
function "<" (Left, Right : Id) return Boolean is
---- a/gpr/src/gpr-compilation-protocol.adb 2025-12-02 20:38:54.332285274 +0100
-+++ b/gpr/src/gpr-compilation-protocol.adb 2025-12-02 20:39:35.690782208 +0100
-@@ -978,7 +978,7 @@
- Set_File_Last_Modify_Time_Stamp
- (Path_Name,
- To_Ada
-- (time_t
-+ (Long_Long_Integer
- (Conversions.To_Unix_Time
- (Time_Of
- (TS (1, 4), TS (5, 6), TS (7, 8),
diff --git a/dev-ada/gprbuild/gprbuild-26.0.0.ebuild b/dev-ada/gprbuild/gprbuild-26.0.0.ebuild
new file mode 100644
index 000000000000..5b05f7f1c1c4
--- /dev/null
+++ b/dev-ada/gprbuild/gprbuild-26.0.0.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ADA_COMPAT=( gcc_{15..16} )
+PYTHON_COMPAT=( python3_{10..14} pypy3{,_11} )
+inherit ada python-any-r1 multiprocessing
+
+XMLADA=xmlada-${PV}
+
+DESCRIPTION="Multi-Language Management"
+HOMEPAGE="https://github.com/AdaCore/gprbuild"
+SRC_URI="
+ https://github.com/AdaCore/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/AdaCore/xmlada/archive/refs/tags/v${PV}.tar.gz
+ -> ${XMLADA}.tar.gz"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="doc"
+
+DEPEND="${ADA_DEPS}
+ dev-ada/gprconfig_kb[${ADA_USEDEP}]"
+RDEPEND="${DEPEND}"
+BDEPEND="doc? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ')
+)"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-22.0.0-gentoo.patch
+ "${FILESDIR}"/${PN}-25.0.0-gcc16.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+ ada_pkg_setup
+}
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s:@GNATBIND@:${GNATBIND}:g" \
+ src/gprlib.adb \
+ || die
+ sed -i \
+ -e "s|\"gnatbind\"|\"gnatbind-${GCC_PV}\"|" \
+ src/gprbind.adb \
+ || die
+ sed -i \
+ -e "s:18.0w:$(ver_cut 1-2):" \
+ -e "/Build_Type :/s:Gnatpro:FSF:" \
+ gpr/src/gpr-version.ads \
+ || die
+ cd gpr/src || die
+ ln -s gpr-util-put_resource_usage__unix.adb \
+ gpr-util-put_resource_usage.adb
+}
+
+bin_progs="gprbuild gprconfig gprclean gprinstall gprname gprls"
+lib_progs="gprlib gprbind"
+
+src_compile() {
+ local xmlada_src="../${XMLADA}"
+ inc_flags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \
+ -I${xmlada_src}/schema -I${xmlada_src}/unicode \
+ -I${xmlada_src}/input_sources"
+
+ gcc -c ${CFLAGS} gpr/src/gpr_imports.c -o gpr_imports.o || die
+ for bin in ${bin_progs}; do
+ gnatmake -j$(makeopts_jobs) ${inc_flags} $ADAFLAGS ${bin}-main \
+ -o ${bin} -largs ${LDFLAGS} gpr_imports.o || die
+ done
+ for lib in $lib_progs; do
+ gnatmake -j$(makeopts_jobs) ${inc_flags} ${lib} $ADAFLAGS \
+ -largs ${LDFLAGS} gpr_imports.o || die
+ done
+ use doc && emake -C doc html
+}
+
+src_install() {
+ dobin ${bin_progs}
+ exeinto /usr/libexec/gprbuild
+ doexe ${lib_progs}
+ insinto /usr/share/gpr
+ doins share/_default.gpr
+ local DOCS=README.md
+ use doc && HTML_DOCS="doc/html/*"
+ einstalldocs
+}
diff --git a/dev-ada/libgpr/Manifest b/dev-ada/libgpr/Manifest
index 2dc5ac1abb26..fefa61da4665 100644
--- a/dev-ada/libgpr/Manifest
+++ b/dev-ada/libgpr/Manifest
@@ -1 +1,2 @@
DIST gprbuild-25.0.0.tar.gz 940774 BLAKE2B b2a2895db767b55e459351ea6fbeb91a771b6e39672217d53fb2b4aeea4f42aa093760448da715ffb0b7da54c50b4b55f0034910ebfdfc52a8cde7dad7533ef0 SHA512 eb2d7072194323cae90acd0c8683eeb6a806ef6ff2ed4d3496e8b94c5b63dae8a428ec428a3610b380df7e122d7a00d9e9634ef06b5369b165536c99209602ce
+DIST gprbuild-26.0.0.tar.gz 922278 BLAKE2B ae055fd7427c926dd5bedb1de96d7070e4e3c4f395a6147cb8832eb2fca47d51dfd90f5e95d7012dffdece8b17e0a93673a6a8e825717e315cfc3602fb926f8f SHA512 e5a5dcaf0162154793b23655a9804453498b230a377ae45eabe67f51e15ff69194d98a6b6839fd2ebb0d136e3128e47d296da10ea7be67bec8dbed1d016a1777
diff --git a/dev-ada/libgpr/files/libgpr-26.0.0-gcc16.patch b/dev-ada/libgpr/files/libgpr-26.0.0-gcc16.patch
new file mode 100644
index 000000000000..7e8ce532da2b
--- /dev/null
+++ b/dev-ada/libgpr/files/libgpr-26.0.0-gcc16.patch
@@ -0,0 +1,11 @@
+--- a/gpr/src/gpr-compilation-process.adb 2025-12-02 20:16:02.856971670 +0100
++++ b/gpr/src/gpr-compilation-process.adb 2025-12-02 20:16:18.920776145 +0100
+@@ -41,7 +41,7 @@
+ -- A set of key=value
+
+ package Prj_Maps is new Containers.Indefinite_Ordered_Maps
+- (String, Env_Maps.Map, Env_Maps."<", Env_Maps."=");
++ (String, Env_Maps.Map, "<", Env_Maps."=");
+ -- A set of project+language=map
+
+ function "<" (Left, Right : Id) return Boolean is
diff --git a/dev-ada/libgpr/libgpr-26.0.0.ebuild b/dev-ada/libgpr/libgpr-26.0.0.ebuild
new file mode 100644
index 000000000000..55a1a647f546
--- /dev/null
+++ b/dev-ada/libgpr/libgpr-26.0.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ADA_COMPAT=( gcc_{15..16} )
+inherit ada multiprocessing
+
+MYPN=gprbuild
+MYP=${MYPN}-${PV}
+
+DESCRIPTION="Ada library to handle GPRbuild project files"
+HOMEPAGE="https://github.com/AdaCore/gprbuild"
+SRC_URI="https://github.com/AdaCore/${MYPN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${MYP}.tar.gz"
+
+S="${WORKDIR}"/${MYP}
+
+LICENSE="GPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="static-libs static-pic"
+
+RDEPEND="dev-ada/xmlada:=[shared,static-libs?,static-pic?,${ADA_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2020-gentoo.patch
+ "${FILESDIR}"/${P}-gcc16.patch
+)
+
+src_prepare() {
+ default
+ sed -i -e '/Library_Name/s|gpr|gnatgpr|' gpr/gpr.gpr || die
+}
+
+src_configure() {
+ emake setup
+}
+
+src_compile() {
+ build () {
+ gprbuild -p -m -j$(makeopts_jobs) -XBUILD=production -v \
+ -XLIBRARY_TYPE=$1 -XXMLADA_BUILD=$1 \
+ gpr/gpr.gpr -cargs:C ${CFLAGS} -cargs:Ada ${ADAFLAGS} || die
+ }
+ build relocatable
+ use static-libs && build static
+ use static-pic && build static-pic
+}
+
+src_install() {
+ emake prefix="${D}"/usr libgpr.install.shared
+ use static-libs && emake prefix="${D}"/usr libgpr.install.static
+ use static-pic && emake prefix="${D}"/usr libgpr.install.static-pic
+ rm -r "${D}"/usr/share/gpr/manifests || die
+}
diff --git a/dev-ada/xmlada/Manifest b/dev-ada/xmlada/Manifest
index 3b0faf91c43e..410f09ea3724 100644
--- a/dev-ada/xmlada/Manifest
+++ b/dev-ada/xmlada/Manifest
@@ -1 +1,2 @@
DIST xmlada-25.0.0.tar.gz 1082553 BLAKE2B daddd7b1d6cd8c38ff3e9ecdc1d0864e1eca88128121635e8d1a8133f73285ced08478e732a0b7bb02cc00e240887d20a1a16048991450025290fd96ad5cb09f SHA512 c57db78e3afd20862c3275d3d0874ada1748e98df06a76841cb3dca3686b29c7693835a591ca5789dca2d3d6ba9677c9082df94857e180e0758a5b77fafc40c0
+DIST xmlada-26.0.0.tar.gz 1083101 BLAKE2B e9de49a6f94b686d64332042e7c897c61fe000f4fa8d343e64756a48c430c6aef73be45f878ac1f160f980b2822863150ae49b48b9226cb313d6cd59a5a0eb2b SHA512 0c46e2dce18a2040973a5b89b1fb89c838f0784b8f9d8668102006a808eaa7c96cdedd0c2078959b961da360f722d55f60cc195390c80adf5bd3d50e80922543
diff --git a/dev-ada/xmlada/xmlada-26.0.0.ebuild b/dev-ada/xmlada/xmlada-26.0.0.ebuild
new file mode 100644
index 000000000000..1844a31bb558
--- /dev/null
+++ b/dev-ada/xmlada/xmlada-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
+
+ADA_COMPAT=( gcc_{12..16} )
+PYTHON_COMPAT=( python3_{10..14} pypy3{,_11} )
+inherit ada python-any-r1 multiprocessing
+
+DESCRIPTION="Set of modules that provide a simple manipulation of XML streams"
+HOMEPAGE="https://github.com/AdaCore/xmlada"
+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 +shared static-libs static-pic"
+REQUIRED_USE="|| ( shared static-libs static-pic )
+ ${ADA_REQUIRED_USE}"
+
+RDEPEND="${ADA_DEPS}"
+DEPEND="${RDEPEND}
+ dev-ada/gprbuild[${ADA_USEDEP}]"
+BDEPEND="doc? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+)"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-23.0.0-gentoo.patch
+ "${FILESDIR}"/${PN}-24.0.0-gentoo.patch
+)
+
+python_check_deps() {
+ python_has_version "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+ ada_pkg_setup
+}
+
+src_prepare() {
+ default
+ sed -i \
+ -e "s|@PF@|${PF}|g" \
+ input_sources/xmlada_input.gpr \
+ || die
+}
+
+src_compile() {
+ build () {
+ gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=$1 \
+ -XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
+ -largs ${LDFLAGS} \
+ -cargs ${ADAFLAGS} || die "gprbuild failed"
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+ use doc && emake -C docs html
+}
+
+src_test() {
+ GPR_PROJECT_PATH=schema:input_sources:dom:sax:unicode \
+ gprbuild -j$(makeopts_jobs) -m -p -v -XLIBRARY_TYPE=static \
+ -XBUILD=Production -XPROCESSORS=$(makeopts_jobs) xmlada.gpr \
+ -XTESTS_ACTIVATED=Only \
+ -largs ${LDFLAGS} \
+ -cargs ${ADAFLAGS} || die "gprbuild failed"
+ emake --no-print-directory -C tests tests | tee xmlada.testLog
+ grep -q DIFF xmlada.testLog && die
+ rm docs/*/b__* || die
+ rm docs/*/*ali || die
+ rm docs/*/*std* || die
+ rm docs/*/*bexch || die
+ rm docs/*/*.o || die
+ rm docs/*/*example || die
+ rm docs/dom/domexample2 || die
+ rm docs/sax/saxexample_main || die
+}
+
+src_install() {
+ build () {
+ gprinstall -XLIBRARY_TYPE=$1 -f -p -XBUILD=Production \
+ -XPROCESSORS=$(makeopts_jobs) --prefix="${D}"/usr \
+ --install-name=xmlada --build-var=LIBRARY_TYPE \
+ --build-var=XMLADA_BUILD \
+ --build-name=$1 xmlada.gpr || die "gprinstall failed"
+ }
+ if use shared; then
+ build relocatable
+ fi
+ if use static-libs; then
+ build static
+ fi
+ if use static-pic; then
+ build static-pic
+ fi
+ einstalldocs
+ rm -r "${D}"/usr/share/gpr/manifests
+}