Files
guru/dev-util/docker-language-server/docker-language-server-0.20.1.ebuild
ingenarel (NeoJesus) 8e5bd0b0ad dev-util/docker-language-server: new package, add 0.20.1
Signed-off-by: ingenarel (NeoJesus) <ingenarel_neojesus@disroot.org>
2026-06-16 09:12:22 +06:00

72 lines
2.3 KiB
Bash

# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit go-module shell-completion optfeature
DESCRIPTION="Language server for Dockerfiles, Compose files, and Bake files"
HOMEPAGE="https://github.com/docker/docker-language-server"
if [[ "${PV}" == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/docker/docker-language-server.git"
else
KEYWORDS="~amd64"
SRC_URI="https://github.com/docker/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
https://github.com/ingenarel/guru-depfiles/releases/download/${P}-deps.tar.xz/${P}-go-mod-deps.tar.xz ->
${P}-deps.tar.xz
"
fi
LICENSE="Apache-2.0"
#gentoo-go-license docker-language-server-0.20.1.ebuild
LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 "
# dependency licenses
# if it says unknown license, and it's for in_toto, it's Apache-2.0
SLOT="0"
RESTRICT="test"
BDEPEND=">=dev-lang/go-1.25.0"
PATCHES=(
"${FILESDIR}/telemetry-0.20.1.patch"
)
# the telemetry patch removes some unnessary bloat where the lsp would try to publish the telemetry (but will fail
# anyway because we don't have the api keys), otherwise i would actually use the telemetry use flag for this
src_unpack(){
if [[ "${PV}" == 9999 ]];then
git-r3_src_unpack
go-module_live_vendor
else
default
fi
}
src_compile(){
local VERSION
if [[ "${PV}" == 9999 ]]; then
VERSION="$(git show -s --format=%cs)-$(git rev-parse --short HEAD)"
else
VERSION="${PV}"
fi
CGO_ENABLED=0 ego build \
-ldflags="-s -w -X 'github.com/docker/docker-language-server/internal/pkg/cli/metadata.Version=${VERSION}'" \
-o ./bin/"${PN}" ./cmd/"${PN}"
}
src_install(){
dobin ./bin/"${PN}"
./bin/"${PN}" completion bash > "${PN}" || die "generating bash completion failed"
dobashcomp "${PN}"
./bin/"${PN}" completion zsh > "_${PN}" || die "generating zsh completion failed"
dozshcomp "_${PN}"
./bin/"${PN}" completion fish > "${PN}.fish" || die "generating fish completion failed"
dofishcomp "${PN}.fish"
}
pkg_postinst(){
# at the time of writing this, it doesn't say what features, just some optional features
# https://github.com/docker/docker-language-server/blob/5187ff578db630f5df5b5922a10d8415a5bb7d32/README.md?plain=1#L7
optfeature "some optional features" app-containers/docker-buildx
}