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

EAPI=8

# ebuild generated by hackport 0.8.2.0.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.3-change-cabal-syntax-dep.patch"
)

CABAL_CHDEPS=(
	'|| >= 3.0     && < 3.7' '|| >= 3.0'
	'base              >= 4.5     && < 4.19' 'base              >= 4.5'
	'bytestring        >= 0.9     && < 0.12' 'bytestring        >= 0.9'
	'template-haskell  >= 2.7     && < 2.21' 'template-haskell  >= 2.7'
)

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-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?]
	>=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
	>=dev-haskell/tar-0.5:=[profile?] <dev-haskell/tar-0.6:=[profile?]
	>=dev-haskell/zlib-0.5:=[profile?] <dev-haskell/zlib-0.7:=[profile?]
	>=dev-lang/ghc-8.8.1:=
	|| (
		( >=dev-haskell/network-2.6 <dev-haskell/network-2.9 )
		( >=dev-haskell/network-3.0 <dev-haskell/network-3.2 )
	)
	dev-haskell/network:=[profile?]
	lukko? (
		>=dev-haskell/lukko-0.1:=[profile?] <dev-haskell/lukko-0.2:=[profile?]
	)
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.0.0.0
"
#	test? (
#		>=dev-haskell/cabal-3.7 <dev-haskell/cabal-3.12
#		>=dev-haskell/quickcheck-2.11 <dev-haskell/quickcheck-2.15
#		>=dev-haskell/tasty-1.2 <dev-haskell/tasty-1.5
#		>=dev-haskell/tasty-hunit-0.10 <dev-haskell/tasty-hunit-0.11
#		>=dev-haskell/tasty-quickcheck-0.10 <dev-haskell/tasty-quickcheck-0.11
#		>=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.2 )
#		)
#	)

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