# 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

CABAL_HACKAGE_REVISION=3

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

DESCRIPTION="http-client backend using the connection package and tls library"
HOMEPAGE="https://github.com/snoyberg/http-client"

LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64"

RESTRICT=test # requires network acess

CABAL_CHDEPS=(
  'crypton < 1.1' 'crypton'
)

RDEPEND="dev-haskell/case-insensitive:=[profile?]
	dev-haskell/crypton:=[profile?]
	dev-haskell/crypton-connection:=[profile?]
	dev-haskell/data-default:=[profile?]
	>=dev-haskell/http-client-0.7.11:=[profile?]
	dev-haskell/http-types:=[profile?]
	dev-haskell/memory:=[profile?]
	dev-haskell/network:=[profile?]
	dev-haskell/network-uri:=[profile?]
	dev-haskell/text:=[profile?]
	>=dev-lang/ghc-9.0.2:=
	>=dev-haskell/tls-2.1.2:=[profile?]
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
	test? ( dev-haskell/hspec )
"

src_prepare() {
    haskell-cabal_src_prepare

    # crypton >= 1.1 removed memory's ByteArrayAccess instance for Digest.
    # Replace convertToBase (which requires that instance) with show + pack.
    sed -i \
        -e 's|import Data.ByteArray.Encoding (convertToBase, Base (Base16))|import qualified Data.ByteString.Char8 as S8|' \
        -e 's|convertToBase Base16 (hash bs :: Digest MD5)|S8.pack $ show (hash bs :: Digest MD5)|' \
        Network/HTTP/Client/TLS.hs
}