# 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

CABAL_PN="Cabal-tests"

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

DESCRIPTION="Tests for Cabal library"
HOMEPAGE="https://www.haskell.org/cabal/"

GIT_REPO="https://github.com/haskell/cabal"
GIT_COMMIT="260ecdc3d848782d4df49e629cb0a5dc9e96ca9e" # tag cabal-install-v3.12.1.0
GIT_P="cabal-${GIT_COMMIT}"

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

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

LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"

RDEPEND="
	dev-haskell/cabal:=[profile?]
	>=dev-lang/ghc-9.0.2:=
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
	test? (
		>=dev-haskell/async-2.2.2 <dev-haskell/async-2.3
		>=dev-haskell/base-compat-0.11.0 <dev-haskell/base-compat-0.14
		>=dev-haskell/base-orphans-0.6 <dev-haskell/base-orphans-0.10
		dev-haskell/cabal-described
		dev-haskell/cabal-quickcheck
		dev-haskell/cabal-syntax
		dev-haskell/cabal-tree-diff
		>=dev-haskell/clock-0.8 <dev-haskell/clock-0.9
		>=dev-haskell/diff-0.4 <dev-haskell/diff-0.6
		>=dev-haskell/integer-logarithms-1.0.2 <dev-haskell/integer-logarithms-1.1
		>=dev-haskell/nothunks-0.1.1.0 <dev-haskell/nothunks-0.3
		>=dev-haskell/optparse-applicative-0.13.2.0 <dev-haskell/optparse-applicative-0.19
		>=dev-haskell/quickcheck-2.14 <dev-haskell/quickcheck-2.15
		>=dev-haskell/rere-0.1 <dev-haskell/rere-0.3
		dev-haskell/tagged
		>=dev-haskell/tar-0.5.0.3 <dev-haskell/tar-0.7
		>=dev-haskell/tasty-1.2.3 <dev-haskell/tasty-1.6
		dev-haskell/tasty-expected-failure
		>=dev-haskell/tasty-golden-2.3.1.1 <dev-haskell/tasty-golden-2.4
		dev-haskell/tasty-hunit
		<dev-haskell/tasty-quickcheck-0.11
		dev-haskell/temporary
		dev-haskell/text
		>=dev-haskell/tree-diff-0.1 <dev-haskell/tree-diff-0.4
	)
"

src_prepare() {
	sed -i -e \
		's/^\(version:.*\)3/\1'"${PV}"'/' \
		"${CABAL_FILE}" || die
	haskell-cabal_src_prepare
}