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

EAPI=8

# ebuild generated by hackport 0.9.1.0.9999
#hackport: flags: sse42:cpu_flags_x86_sse4_2,+unsafe-tricks,-portable

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

DESCRIPTION="Mutable hash tables in the ST monad"
HOMEPAGE="https://github.com/gregorycollins/hashtables"

LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
IUSE="bounds-checking cpu_flags_x86_sse4_2 debug detailed-profiling"

RDEPEND=">=dev-haskell/hashable-1.4:=[profile?] <dev-haskell/hashable-1.6:=[profile?]
	dev-haskell/primitive:=[profile?]
	>=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.14:=[profile?]
	>=dev-lang/ghc-9.0.2:=
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
	test? ( >=dev-haskell/mwc-random-0.8 <dev-haskell/mwc-random-0.16
		>=dev-haskell/quickcheck-2.9
		>=dev-haskell/tasty-1.4 <=dev-haskell/tasty-1.6
		>=dev-haskell/tasty-hunit-0.10 <dev-haskell/tasty-hunit-0.11
		>=dev-haskell/tasty-quickcheck-0.10 <dev-haskell/tasty-quickcheck-0.12 )
"

PATCHES=(
	"${FILESDIR}"/${PN}-1.3.1-clang-argument-must-be-a-constant-integer.patch
)

src_configure() {
	haskell-cabal_src_configure \
		$(cabal_flag bounds-checking bounds-checking) \
		$(cabal_flag debug debug) \
		$(cabal_flag detailed-profiling detailed-profiling) \
		--flag=-portable \
		$(cabal_flag cpu_flags_x86_sse4_2 sse42) \
		--flag=unsafe-tricks
}