summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-ada/ada_language_server/Manifest1
-rw-r--r--dev-ada/ada_language_server/ada_language_server-24.0.1.ebuild81
2 files changed, 82 insertions, 0 deletions
diff --git a/dev-ada/ada_language_server/Manifest b/dev-ada/ada_language_server/Manifest
index e167f304b164..f325498679c8 100644
--- a/dev-ada/ada_language_server/Manifest
+++ b/dev-ada/ada_language_server/Manifest
@@ -1 +1,2 @@
DIST ada_language_server-23.0.10.tar.gz 1224074 BLAKE2B 100a0d042a6c638b1b3eb7c9c27a638f218a66e3f52a6f9be53fc42e764aff636c4fe7c1f532f2ba7ae6a811bf4cb8a8ce4a416fd1958c460ffb7f715a7166f5 SHA512 bc062d9e4b6c37a9add7a5665a44ee0ad06fd9ef12cb854b49ed52ed060dfe3582b54a47a4764f0f5b305c2ea697d180832ee4ed87dfcde37bcbc83cb2479299
+DIST ada_language_server-24.0.1.tar.gz 1923431 BLAKE2B a2b4383fd12cd2b3a806263a34194cc479de6c9740a520f2e2dc1fb1f0aa3521dd4011042cbcff4dee9efb0957f7d3c1dbc95973321c6cb229b3b054784c8f2d SHA512 3e9e020240ce39061c9fb938eb616f3885ea1df58b143065705a014ac1d9fcb29066b24e69240698327f54c9cae80d9bce543557410cf25a650e7c73af001daf
diff --git a/dev-ada/ada_language_server/ada_language_server-24.0.1.ebuild b/dev-ada/ada_language_server/ada_language_server-24.0.1.ebuild
new file mode 100644
index 000000000000..dbe31fc036e1
--- /dev/null
+++ b/dev-ada/ada_language_server/ada_language_server-24.0.1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ADA_COMPAT=( gnat_2021 gcc_12 gcc_13 )
+inherit ada multiprocessing toolchain-funcs
+
+DESCRIPTION="an implementation of the Microsoft 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"
+IUSE="test"
+RESTRICT="test" # Tests do not work
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="${ADA_DEPS}
+ dev-ada/ada_libfswatch[${ADA_USEDEP}]
+ sys-fs/fswatch:=
+ dev-ada/gnatcoll-core[${ADA_USEDEP},shared]
+ dev-ada/gnatdoc[${ADA_USEDEP}]
+ dev-ada/gpr-unit-provider[${ADA_USEDEP},shared]
+ dev-ada/libadalang[${ADA_USEDEP}]
+ dev-ada/lal-refactor[${ADA_USEDEP},shared]
+ >=dev-ada/libadalang-tools-23[${ADA_USEDEP},shared]
+ dev-ada/spawn[${ADA_USEDEP},shared,glib]
+ >=dev-ada/VSS-24.0.0[${ADA_USEDEP},shared]"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-ada/gprbuild[${ADA_USEDEP}]
+ test? ( dev-ada/e3-testsuite )"
+
+REQUIRED_USE="${ADA_REQUIRED_USE}"
+
+src_prepare() {
+ sed -i \
+ -e "s:g++:$(tc-getCXX):" \
+ gnat/lsp_server.gpr \
+ || die
+ default
+}
+
+src_compile() {
+ gprbuild -v -j$(makeopts_jobs) -P gnat/lsp_3_17.gpr -p \
+ -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ -c lsp-inputs.adb -cargs:Ada ${ADAFLAGS} || die
+ gprbuild -v -j$(makeopts_jobs) -P gnat/lsp_3_17.gpr -p \
+ -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ -cargs:Ada ${ADAFLAGS} || die
+ gprbuild -v -j$(makeopts_jobs) -P gnat/tester.gpr -p \
+ -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ -cargs:Ada ${ADAFLAGS} || die
+ gprbuild -v -j$(makeopts_jobs) -d -ws -c -u \
+ -P gnat/lsp_server.gpr -p \
+ -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ s-memory.adb -cargs:Ada ${ADAFLAGS} || die
+ gprbuild -v -j$(makeopts_jobs) -d -P gnat/lsp_server.gpr \
+ -p -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ -XVERSION= -XBUILD_DATE= -cargs:Ada ${ADAFLAGS} || die
+ gprbuild -v -j$(makeopts_jobs) -d -P gnat/lsp_client.gpr \
+ -p -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ -cargs:Ada ${ADAFLAGS} || die
+ mkdir -p integration/vscode/ada/x64/linux
+ cp -f .obj/server/ada_language_server integration/vscode/ada/x64/linux || die
+}
+
+src_install() {
+ gprinstall -f -P gnat/lsp_server.gpr -p -r --mode=usage \
+ --prefix="${D}"/usr -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ || die
+ gprinstall -f -P gnat/tester.gpr -p \
+ --prefix="${D}"/usr -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ || die
+ gprinstall -f -P gnat/lsp_client.gpr -p -r --mode=dev \
+ --prefix="${D}"/usr -XBUILD_MODE=prod -XLIBRARY_TYPE=relocatable \
+ || die
+
+ einstalldocs
+}