# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

# ebuild generated by hackport 0.8.4.0.9999

CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal

DESCRIPTION="HLS Plugin to support smart selection range and Folding range"
HOMEPAGE="https://github.com/haskell/haskell-language-server/tree/master/plugins/hls-code-range-plugin#readme"

GIT_REPO_NAME="haskell-language-server"
GIT_REPO="https://github.com/haskell/${GIT_REPO_NAME}"
GIT_COMMIT="6e0b342fa0327e628610f2711f8c3e4eaaa08b1e" # tag 2.6.0.0
GIT_P="${GIT_REPO_NAME}-${GIT_COMMIT}"

# Assets needed for tests only exist in the git repo
SRC_URI+="
	test? (
		${GIT_REPO}/archive/${GIT_COMMIT}.tar.gz
			-> ${GIT_P}.tar.gz
	)
"

LICENSE="Apache-2.0"
SLOT="0/${PV}"
KEYWORDS="~amd64"

RDEPEND="
	dev-haskell/aeson:=[profile?]
	dev-haskell/extra:=[profile?]
	~dev-haskell/ghcide-2.6.0.0:=[profile?]
	dev-haskell/hashable:=[profile?]
	~dev-haskell/hls-plugin-api-2.6.0.0:=[profile?]
	dev-haskell/lens:=[profile?]
	>=dev-haskell/lsp-2.3:=[profile?] <dev-haskell/lsp-2.4
	dev-haskell/semigroupoids:=[profile?]
	dev-haskell/text:=[profile?]
	dev-haskell/vector:=[profile?]
	>=dev-lang/ghc-9.0.2:=
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
	test? (
		~dev-haskell/hls-test-utils-2.6.0.0
		dev-haskell/lsp-test
		dev-haskell/tasty-hunit
	)
"

src_prepare() {
	if use test; then
		# a partial testdata directory already exists in the hackage release tarball
		rm -r "${S}/test/testdata/" || die
		# move the complete testdata directory from the github snapshot
		mv -v "${WORKDIR}/${GIT_P}/plugins/${PN}/test/testdata/" "${S}/test/" || die
	fi
	haskell-cabal_src_prepare
}