dev-ada/ada_language_server: add 26.0.202411173

Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
This commit is contained in:
Alfredo Tupone
2026-01-05 08:57:14 +01:00
parent a8d5fe8cf0
commit 3c4e6dcf3d
7 changed files with 269 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST ada_language_server-25.0.20241014.tar.gz 2364793 BLAKE2B 3ee87c31d6b455d667e346a1e27bf32456719726004955b5a4cc84a3a4952baa7496eb815b816e3a3e4b23d4642159a675d0dfe8c31ca03df0f9b0acc663dfe7 SHA512 7ac80d53ac73b6a3012dcf0bf99148dfffd745af7f8ab753549efcffc006533aca0b981a856da94ca4b39cf27730d93cc2cdc303f64292bed9acc616a6a1f0a6
DIST ada_language_server-26.0.202411173.tar.gz 2387302 BLAKE2B 89e32aa9fe716f00e7ae7897ae7a622ebe81ec29dcaf771b28d059dafc553e28438d234ff4585eabf4d5fcf51767c7864b99a20210a353aca421ef7230a68b3f SHA512 fc639b182c2b40d94da48ebe619880773935cc568b6658125c7ece4f2e381c2c43444073a31831109cc0731a46ef57389f40754aca0884ddae150bb7445c8e10

View File

@@ -0,0 +1,99 @@
# Copyright 2021-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ADA_COMPAT=( gcc_{14..15} )
inherit ada multiprocessing
DESCRIPTION="a Language Server Protocol for Ada/SPARK"
HOMEPAGE="https://github.com/AdaCore/ada_language_server"
SRC_URI="https://github.com/AdaCore/${PN}/archive/refs/tags/${PV}.tar.gz
-> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="gtk test"
RESTRICT="test" # Tests do not work
RDEPEND="${ADA_DEPS}
dev-ada/ada_libfswatch:=[${ADA_USEDEP}]
dev-ada/AdaSAT:=[${ADA_USEDEP}]
>=dev-ada/gnatcoll-bindings-26:=[${ADA_USEDEP},shared]
>=dev-ada/gnatcoll-core-26:=[${ADA_USEDEP},shared]
>=dev-ada/gnatdoc-26:=[${ADA_USEDEP}]
>=dev-ada/gnatformat-26:=[${ADA_USEDEP}]
>=dev-ada/gpr-26.0.0:=[${ADA_USEDEP}]
dev-ada/lal-refactor:=[${ADA_USEDEP},shared(+)]
>=dev-ada/langkit-26:=[${ADA_USEDEP},shared(+)]
>=dev-ada/libadalang-26:=[${ADA_USEDEP}]
>=dev-ada/libadalang-tools-26:=[${ADA_USEDEP}]
>=dev-ada/libgpr-26:=[${ADA_USEDEP}]
dev-ada/prettier-ada:=[${ADA_USEDEP}]
dev-ada/spawn:=[${ADA_USEDEP},gtk?]
dev-ada/templates-parser:=[${ADA_USEDEP},shared(+)]
>=dev-ada/vss-text-26:=[${ADA_USEDEP}]
dev-ada/vss-extra:=[${ADA_USEDEP}]
>=dev-ada/xmlada-26:=[${ADA_USEDEP},shared]
dev-libs/gmp
sys-fs/fswatch:="
DEPEND="${RDEPEND}"
BDEPEND=">=dev-ada/gprbuild-26[${ADA_USEDEP}]
test? ( dev-ada/e3-testsuite )"
REQUIRED_USE="${ADA_REQUIRED_USE}"
PATCHES=(
"${FILESDIR}"/${P}-gpr2.patch
"${FILESDIR}"/${P}-gnatformat.patch
"${FILESDIR}"/${P}-langkit.patch
"${FILESDIR}"/${P}-lal.patch
"${FILESDIR}"/${P}-vss.patch
)
src_compile() {
gprbuild -v -m -j$(makeopts_jobs) -P gnat/lsp_server.gpr -p \
-XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
-XGPR_BUILD=relocatable -cargs:Ada ${ADAFLAGS} -largs ${LDFLAGS} \
|| die
gprbuild -v -m -j$(makeopts_jobs) -P gnat/lsp_3_17.gpr -p \
-XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
-XGPR_BUILD=relocatable -cargs:Ada ${ADAFLAGS} -largs ${LDFLAGS} \
|| die
gprbuild -v -m -j$(makeopts_jobs) -P gnat/tester.gpr -p \
-XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
-XGPR_BUILD=relocatable -cargs:Ada ${ADAFLAGS} -largs ${LDFLAGS} \
|| die
gprbuild -v -m -j$(makeopts_jobs) -P gnat/lsp_client.gpr -p \
-XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
-XGPR_BUILD=relocatable -cargs:Ada ${ADAFLAGS} -largs ${LDFLAGS} \
|| die
if use gtk; then
gprbuild -v -m -j$(makeopts_jobs) -P gnat/lsp_client_glib.gpr -p \
-XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
-XGPR_BUILD=relocatable -cargs:Ada ${ADAFLAGS} -largs ${LDFLAGS} \
|| die
fi
mkdir -p integration/vscode/ada/x64/linux
cp -f .obj/server/ada_language_server integration/vscode/ada/x64/linux || die
}
src_install() {
gprinstall -v -f -P gnat/lsp_server.gpr -p -r --mode=usage \
--prefix="${D}"/usr -XLIBRARY_TYPE=relocatable \
-XXMLADA_BUILD=relocatable -XGPR_BUILD=relocatable || die
gprinstall -v -f -P gnat/tester.gpr -p --prefix="${D}"/usr \
-XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable \
-XGPR_BUILD=relocatable || die
gprinstall -v -f -P gnat/lsp_client.gpr -p -r --mode=dev \
--prefix="${D}"/usr -XLIBRARY_TYPE=relocatable \
-XXMLADA_BUILD=relocatable -XGPR_BUILD=relocatable || die
if use gtk; then
gprinstall -v -f -P gnat/lsp_client_glib.gpr -p -r --mode=dev \
--prefix="${D}"/usr -XLIBRARY_TYPE=relocatable \
-XXMLADA_BUILD=relocatable -XGPR_BUILD=relocatable || die
fi
rm "${D}"/usr/share/gpr/gnatcoll.gpr || die
einstalldocs
}

View File

@@ -0,0 +1,51 @@
From a04d8733651cf784e88d310a440f8bfa8773f64f Mon Sep 17 00:00:00 2001
From: Joao Azevedo <azevedo@adacore.com>
Date: Wed, 12 Mar 2025 16:22:39 +0000
Subject: [PATCH] Update to latest GNATformat API
---
source/ada/lsp-ada_documents.adb | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/source/ada/lsp-ada_documents.adb b/source/ada/lsp-ada_documents.adb
index a56072213..ca39160e0 100644
--- a/source/ada/lsp-ada_documents.adb
+++ b/source/ada/lsp-ada_documents.adb
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- Language Server Protocol --
-- --
--- Copyright (C) 2018-2023, AdaCore --
+-- Copyright (C) 2018-2025, AdaCore --
-- --
-- This is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -21,6 +21,7 @@ with GNAT.Strings;
with GNATCOLL.Traces;
with GNATCOLL.VFS;
with Gnatformat.Configuration;
+with Gnatformat.Edits;
with Gnatformat.Formatting;
with Langkit_Support.Symbols;
@@ -1450,7 +1451,7 @@ package body LSP.Ada_Documents is
declare
Range_Formatted_Document :
- constant Gnatformat.Formatting.Formatted_Edits :=
+ constant Gnatformat.Edits.Formatting_Edit_Type :=
Gnatformat.Formatting.Range_Format
(Self.Unit (Context),
Self.To_Source_Location_Range (Span),
@@ -1458,9 +1459,9 @@ package body LSP.Ada_Documents is
begin
return
- (Self.To_A_Range (Range_Formatted_Document.Edit.Location),
+ (Self.To_A_Range (Range_Formatted_Document.Text_Edit.Location),
VSS.Strings.Conversions.To_Virtual_String
- (Range_Formatted_Document.Edit.Text));
+ (Range_Formatted_Document.Text_Edit.Text));
end;
end Range_Format;

View File

@@ -0,0 +1,20 @@
--- a/source/ada/lsp-ada_contexts.adb 2025-12-25 21:37:25.412257712 +0100
+++ b/source/ada/lsp-ada_contexts.adb 2025-12-25 21:39:02.018150826 +0100
@@ -27,7 +27,7 @@
with GPR2.Path_Name;
with GPR2.Project.Attribute;
with GPR2.Project.Attribute_Index;
-with GPR2.Project.View.Set;
+with GPR2.Project.View.Vector;
with GPR2.Build.Source;
with GPR2.Build.Source.Sets;
@@ -640,7 +640,7 @@
Self.External_Source_Dirs.Clear;
declare
- Views : constant GPR2.Project.View.Set.Object :=
+ Views : constant GPR2.Project.View.Vector.Object :=
Root.Closure (Include_Self => True);
begin
for View of Views

View File

@@ -0,0 +1,34 @@
From 3de3b12c288a47009c836b67f7bcd9fcfd4d438b Mon Sep 17 00:00:00 2001
From: Romain Beguet <beguet@adacore.com>
Date: Tue, 2 Sep 2025 15:50:52 +0200
Subject: [PATCH] Update due to recent LAL API change.
(cherry picked from commit 9a3378a9ab645737177e1b9236cc288f88f975ab)
---
source/ada/lsp-ada_highlighters.adb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/source/ada/lsp-ada_highlighters.adb b/source/ada/lsp-ada_highlighters.adb
index 6abe568aa..16db6036f 100644
--- a/source/ada/lsp-ada_highlighters.adb
+++ b/source/ada/lsp-ada_highlighters.adb
@@ -741,7 +741,7 @@ package body LSP.Ada_Highlighters is
end case;
end To_Kind;
- Failsafe_Def : Libadalang.Analysis.Refd_Def;
+ Failsafe_Decl : Libadalang.Analysis.Refd_Decl;
Def : Libadalang.Analysis.Defining_Name;
Decl : Libadalang.Analysis.Basic_Decl;
Kind : LSP.Enumerations.SemanticTokenTypes;
@@ -772,8 +772,8 @@ package body LSP.Ada_Highlighters is
Highlight_Token (Node.Token_Start, declaration);
end;
else
- Failsafe_Def := Node.P_Failsafe_Referenced_Def_Name (True);
- Def := Libadalang.Analysis.Defining_Name (Failsafe_Def.Def_Name);
+ Failsafe_Decl := Node.P_Failsafe_Referenced_Decl (True);
+ Def := Libadalang.Analysis.Defining_Name (Failsafe_Decl.Def_Name);
end if;
if Node.Kind in Libadalang.Common.Ada_Name then

View File

@@ -0,0 +1,32 @@
From 3c5a0e5a389c71645b94a8a9e8f78e448e3150d4 Mon Sep 17 00:00:00 2001
From: Pierre-Marie de Rodat <derodat@adacore.com>
Date: Mon, 14 Apr 2025 13:01:41 +0000
Subject: [PATCH] lsp-utils.adb: update after recent internal API changes in
Langkit
(cherry picked from commit 879c4216922414105ae747f9ab7fa02f3b302ab2)
---
source/ada/lsp-utils.adb | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/source/ada/lsp-utils.adb b/source/ada/lsp-utils.adb
index f257d7327..8af9e71c6 100644
--- a/source/ada/lsp-utils.adb
+++ b/source/ada/lsp-utils.adb
@@ -24,6 +24,7 @@ with Libadalang.Sources;
with Langkit_Support.Diagnostics;
with Langkit_Support.Symbols;
with Langkit_Support.Token_Data_Handlers;
+with Langkit_Support.Types;
with Pp.Actions;
with VSS.Strings.Character_Iterators;
@@ -202,7 +203,7 @@ package body LSP.Utils is
procedure Tokenize_Output is
Input : constant Libadalang.Lexer.Lexer_Input :=
- (Kind => Libadalang.Common.Bytes_Buffer,
+ (Kind => Langkit_Support.Types.Bytes_Buffer,
Charset => Ada.Strings.Unbounded.To_Unbounded_String ("utf-8"),
Read_BOM => False,
Bytes => To_Unbounded_String (Output));

View File

@@ -0,0 +1,32 @@
From 7b030ed859fa2a97aebfae3c52edf5735466827d Mon Sep 17 00:00:00 2001
From: Vadim Godunko <godunko@adacore.com>
Date: Tue, 29 Jul 2025 15:19:04 +0400
Subject: [PATCH] Add dependency from `vss_os.gpr`
(cherry picked from commit 163e295cfaf46efb4c8d2d0956398ad710e570ba)
---
gnat/lsp_server.gpr | 3 ++-
gnat/tester.gpr | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/gnat/tester.gpr b/gnat/tester.gpr
index 5693dc003..007990f15 100644
--- a/gnat/tester.gpr
+++ b/gnat/tester.gpr
@@ -1,7 +1,7 @@
------------------------------------------------------------------------------
-- Language Server Protocol --
-- --
--- Copyright (C) 2018, AdaCore --
+-- Copyright (C) 2018-2025, AdaCore --
-- --
-- This is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -17,6 +17,7 @@
with "lsp_client";
with "gnatcoll";
+with "vss_os.gpr";
project Tester is