Files
saundersp-overlay/app-text/ltex-ls/ltex-ls-16.0.0.ebuild
2025-07-25 23:10:17 +02:00

95 lines
2.6 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit java-pkg-2
DESCRIPTION="LSP language server for LanguageTool supporting LaTeX, Markdown, and others"
HOMEPAGE="https://valentjn.github.io/ltex/"
SRC_URI="https://github.com/valentjn/ltex-ls/releases/download/${PV}/${P}.tar.gz"
LICENSE="MPL-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
CP_DEPEND="
dev-java/slf4j-api:0
dev-java/slf4j-nop:0
dev-java/guava:0
dev-java/icu4j:0
dev-java/jansi:2
dev-java/commons-lang:3.6
dev-java/commons-logging:0
dev-java/commons-text:0
dev-java/jackson-core:0
dev-java/jackson-annotations:2
dev-java/jackson-databind:0
dev-java/jaxb-api:2
dev-java/jaxb-runtime:4
dev-java/picocli:0
dev-java/protobuf-java:0
dev-java/stax2-api:0
dev-java/woodstox-core:0
dev-java/json:0
dev-java/j2objc-annotations:0
dev-java/istack-commons-runtime:0
dev-java/hamcrest-core:1.3
dev-java/failureaccess:0
dev-java/error-prone-annotations:0
dev-java/checker-framework-qual:0
dev-java/animal-sniffer-annotations:0
dev-java/fastinfoset:0
"
RDEPEND="
>=virtual/jre-1.8
${CP_DEPEND}
"
src_prepare() {
default
rm lib/{slf4j,guava,icu4j,junit,hamcrest-core,FastInfoset,animal-sniffer-annotations}*.jar || die
# rm lib/jansi*.jar || die # somewhy removing it causes ltex-ls to stop produce colors/boldness ascii-sequences
rm lib/checker-qual-*.jar || die # may cuse breakages. Needs testing.
rm lib/{commons-{lang3,text,logging},error_prone_annotations,failureaccess,istack-commons-runtime}*.jar || die
rm lib/{j2objc-annotations,jackson,jaxb-api,json,picocli,protobuf-java,stax2-api,woodstox-core}*.jar || die
mv lib/"${P/x-l/xl}".jar lib/"${PN}".jar || die
java-pkg-2_src_prepare
}
src_compile() { :; }
_gen-cp() {
debug-print-function ${FUNCNAME} "${@}"
local atom
local pat="/(([[:alnum:]+_-]+)-[0-9]+(\.[0-9]+)*[a-z]?(_[[:alnum:]]+)*(-r[0-9]*)?|[[:alnum:]+_-]+):([[:alnum:]+_.-]+)"
for atom in ${CP_DEPEND}; do
if [[ ${atom} =~ ${pat} ]]; then
atom=${BASH_REMATCH[2]:-${BASH_REMATCH[1]}}
[[ ${BASH_REMATCH[6]} != 0 ]] && atom+=-${BASH_REMATCH[6]}
local regex="(^|\s|,)${atom}($|\s|,)"
[[ ${!1} =~ ${regex} ]] || declare -g ${1}+=${!1:+,}${atom}
else
die "Invalid CP_DEPEND atom ${atom}, ensure a SLOT is included"
fi
done
}
src_install() {
java-pkg_dojar lib/*.jar
java-pkg_dolauncher ${PN} --main org.bsplines.ltexls.LtexLanguageServerLauncher
# java-pkg_dolauncher ${PN}-cli --main org.bsplines.lspcli.LspCliLauncher
# TODO: integrate with json from bin/
dodoc ACKNOWLEDGMENTS.md README.md
unset MY_DEPEND
_gen-cp MY_DEPEND
java-pkg_register-dependency "${MY_DEPEND}"
}