# Copyright 1999-2026 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: support_aesni:cpu_flags_x86_aes,+support_deepseq,support_pclmuldq:cpu_flags_x86_pclmul,support_rdrand:cpu_flags_x86_rdrand,support_sse:cpu_flags_x86_sse2

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

DESCRIPTION="Cryptography Primitives"
HOMEPAGE="https://github.com/kazu-yamamoto/crypton"

LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="check-alignment cpu_flags_x86_aes cpu_flags_x86_pclmul cpu_flags_x86_sse2 +integer-gmp old-toolchain-inliner +support-s2n-bignum +target-attributes"
CABAL_CHDEPS=(
	'base16 >=1.0 && <1.1,' 'base16 >=1.0,'
)

RDEPEND=">=dev-haskell/base16-1.0:=[profile?]
	>=dev-haskell/primitive-0.9:=[profile?] <dev-haskell/primitive-0.10:=[profile?]
	>=dev-haskell/ram-0.20.1:=[profile?] <dev-haskell/ram-0.23:=[profile?]
	<dev-haskell/text-2.2:=[profile?]
	>=dev-lang/ghc-9.0.2:=
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
	test? ( dev-haskell/hspec
		dev-haskell/quickcheck )
"

src_configure() {
	haskell-cabal_src_configure \
		$(cabal_flag check-alignment check_alignment) \
		$(cabal_flag integer-gmp integer-gmp) \
		$(cabal_flag old-toolchain-inliner old_toolchain_inliner) \
		$(cabal_flag cpu_flags_x86_aes support_aesni) \
		--flag=support_deepseq \
		$(cabal_flag cpu_flags_x86_pclmul support_pclmuldq) \
		$(cabal_flag support-s2n-bignum support_s2n_bignum) \
		$(cabal_flag cpu_flags_x86_sse2 support_sse) \
		$(cabal_flag target-attributes use_target_attributes)
}