# 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: -devel

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

DESCRIPTION="Predicate Abstraction-based Horn-Clause/Implication Constraint Solver"
HOMEPAGE="https://github.com/ucsd-progsys/liquid-fixpoint#readme"

LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="executable link-z3-as-a-library "

PATCHES=(
	"${FILESDIR}/${PN}-0.8.10.7.1_pre20220624-executable-flag.patch"
	"${FILESDIR}/${PN}-0.8.10.7.1_pre20220624-disable-git-tests.patch"
)

CABAL_CHDEPS=(
	'tasty         ^>= 1.5' 'tasty >= 1.5'
	)

RDEPEND="dev-haskell/aeson:=[profile?]
	dev-haskell/ansi-terminal:=[profile?]
	>=dev-haskell/ascii-progress-0.3:=[profile?]
	dev-haskell/async:=[profile?]
	dev-haskell/attoparsec:=[profile?]
	dev-haskell/boxes:=[profile?]
	dev-haskell/cereal:=[profile?]
	dev-haskell/cmdargs:=[profile?]
	dev-haskell/fgl:=[profile?]
	dev-haskell/hashable:=[profile?]
	dev-haskell/intern:=[profile?]
	dev-haskell/lens-family:=[profile?]
	>=dev-haskell/megaparsec-7.0.0:=[profile?] <dev-haskell/megaparsec-10:=[profile?]
	dev-haskell/parallel:=[profile?]
	dev-haskell/parser-combinators:=[profile?]
	>=dev-haskell/rest-rewrite-0.3.0:=[profile?]
	>=dev-haskell/smtlib-backends-0.3:=[profile?]
	>=dev-haskell/smtlib-backends-process-0.3:=[profile?]
	dev-haskell/store:=[profile?]
	dev-haskell/syb:=[profile?]
	dev-haskell/text:=[profile?]
	dev-haskell/unordered-containers:=[profile?]
	<dev-haskell/vector-0.14:=[profile?]
	>=dev-lang/ghc-9.0.2:=
	link-z3-as-a-library? ( >=dev-haskell/smtlib-backends-z3-0.3:=[profile?] )
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
	test? ( dev-haskell/optparse-applicative
		dev-haskell/tagged
		>=dev-haskell/tasty-1.4 <dev-haskell/tasty-1.6
		dev-haskell/tasty-ant-xml
		>=dev-haskell/tasty-hunit-0.9
		dev-haskell/tasty-quickcheck
		>=dev-haskell/tasty-rerun-1.1.12 )
"

src_configure() {
	haskell-cabal_src_configure \
		--flag=-devel \
		$(cabal_flag link-z3-as-a-library link-z3-as-a-library)
		$(cabal_flag executable executable)
}

pkg_postinst() {
	optfeature "Required SMTLIB2 compatible solver" sci-mathematics/z3 sci-mathematics/cvc4
}