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

EAPI=8

# ebuild generated by hackport 0.8.5.1.9999
#hackport: flags: -mtl21,+use-network-uri,-Cabal-syntax

CABAL_HACKAGE_REVISION=3

CABAL_FEATURES="lib profile haddock hoogle hscolour" # test-suite
inherit haskell-cabal
RESTRICT="test" # Requires Cabal-3.8 or newer

DESCRIPTION="Hackage security library"
HOMEPAGE="https://github.com/haskell/hackage-security"

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

PATCHES=(
	"${FILESDIR}/${PN}-0.6.2.6-change-cabal-syntax-dep.patch"
)

CABAL_CHDEPS=(
	'|| >= 3.0     && < 3.7' '|| >= 3.0'
	'base              >= 4.11     && < 4.21' 'base              >= 4.11'
	'template-haskell  >= 2.13     && < 2.23' 'template-haskell  >= 2.13'
)

RDEPEND=">=dev-haskell/base16-bytestring-0.1.1:=[profile?] <dev-haskell/base16-bytestring-1.1:=[profile?]
	>=dev-haskell/base64-bytestring-1.0:=[profile?] <dev-haskell/base64-bytestring-1.3:=[profile?]
	>=dev-haskell/cryptohash-sha256-0.11:=[profile?] <dev-haskell/cryptohash-sha256-0.12:=[profile?]
	>=dev-haskell/ed25519-0.0:=[profile?] <dev-haskell/ed25519-0.1:=[profile?]
	>=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-3.3:=[profile?]
	>=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?]
	>=dev-haskell/parsec-3.1.13:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
	>=dev-haskell/tar-0.5:=[profile?] <dev-haskell/tar-0.7:=[profile?]
	>=dev-haskell/zlib-0.5:=[profile?] <dev-haskell/zlib-0.8:=[profile?]
	>=dev-lang/ghc-9.0.2:=
	lukko? ( >=dev-haskell/lukko-0.1:=[profile?] <dev-haskell/lukko-0.2:=[profile?] )
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
"

# test? ( >=dev-haskell/quickcheck-2.11 <dev-haskell/quickcheck-2.16
# 	>=dev-haskell/tasty-1.1.0.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-1
# 	>=dev-haskell/temporary-1.2 <dev-haskell/temporary-1.4
# 	dev-haskell/text
# 	>=dev-haskell/unordered-containers-0.2.8.0 <dev-haskell/unordered-containers-0.3
# 	>=dev-haskell/vector-0.12 <dev-haskell/vector-0.14
# 	|| ( ( >=dev-haskell/aeson-1.4 <dev-haskell/aeson-1.6 )
# 		( >=dev-haskell/aeson-2.0 <dev-haskell/aeson-2.3 ) )
# 	cabal-syntax? ( >=dev-haskell/cabal-3.7 <dev-haskell/cabal-3.14 ) )

src_configure() {
	haskell-cabal_src_configure \
		--flag=-Cabal-syntax \
		$(cabal_flag lukko lukko) \
		--flag=-mtl21 \
		--flag=use-network-uri
}