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

EAPI=8

# ebuild generated by hackport 0.9.0.0.9999
#hackport: flags: -in-ghc-tree

CABAL_FEATURES="test-suite"
inherit haskell-cabal

DESCRIPTION="A documentation-generation tool for Haskell libraries"
HOMEPAGE="https://www.haskell.org/haddock/"

GIT_REPO="https://gitlab.haskell.org/ghc/haddock"
# pinned commit for haddock submodule in ghc-9.8
GIT_COMMIT="bb7b9480b0825d3fa978e61c7faf25dce718a305"
GIT_P="haddock-${GIT_COMMIT}"

SRC_URI="${GIT_REPO}/-/archive/${GIT_COMMIT}.tar.gz
	-> ${GIT_P}.tar.gz"

S="${WORKDIR}/${GIT_P}"
CABAL_FILE="${S}/${CABAL_PN}.cabal"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64"

CABAL_CHDEPS=(
	'haddock-api == 2.30.0' 'haddock-api == 2.29.2.9.8'
)

CABAL_TEST_REQUIRED_BINS=(
	'haddock'
)

RDEPEND="
	~dev-haskell/haddock-api-2.29.2.9.8:=
	>=dev-lang/ghc-9.8:= <dev-lang/ghc-9.9:=
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
	test? (
		~dev-haskell/haddock-test-9.8
	)
"

# Workaround to get haddock for ghc-9.8 and ghc-9.10 to fit into the
# gentoo-haskell versioning scheme
src_prepare() {
	sed -i -e \
		's/^\(version:.*\)2\.30\.0/\1'"${PV}"'/' \
		"${CABAL_FILE}" || die
	haskell-cabal_src_prepare
}

src_configure() {
	haskell-cabal_src_configure \
		--flag=-in-ghc-tree
}