# 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_FEATURES="lib profile haddock hoogle hscolour"
inherit haskell-cabal

DESCRIPTION="mtl flavoured typeful hierarchical structured logging for di-core"
HOMEPAGE="https://github.com/k0001/di"

LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64 ~x86"
IUSE="+conduit +monad-control +pipes +pipes-safe +primitive +resourcet +streaming +transformers-base +unliftio-core"

RDEPEND="dev-haskell/di-core:=[profile?]
	>=dev-lang/ghc-9.0.2:=
	conduit? ( pipes? ( dev-haskell/conduit:=[profile?]
				dev-haskell/primitive:=[profile?]
				dev-haskell/resourcet:=[profile?]
				dev-haskell/unliftio-core:=[profile?] ) )
	monad-control? ( dev-haskell/monad-control:=[profile?]
				pipes? ( dev-haskell/transformers-base:=[profile?]
					streaming? ( dev-haskell/streaming:=[profile?] ) )
				!pipes? ( !pipes-safe? ( primitive? ( !streaming? ( conduit? ( !resourcet? ( !transformers-base? ( dev-haskell/unliftio-core:=[profile?]
																!unliftio-core? ( dev-haskell/conduit:=[profile?]
																		dev-haskell/resourcet:=[profile?] ) ) ) )
										!resourcet? ( dev-haskell/transformers-base:=[profile?] ) ) )
							!primitive? ( !streaming? ( conduit? ( !resourcet? ( !transformers-base? ( dev-haskell/unliftio-core:=[profile?]
																!unliftio-core? ( dev-haskell/conduit:=[profile?]
																		dev-haskell/primitive:=[profile?]
																		dev-haskell/resourcet:=[profile?] ) ) ) )
										!resourcet? ( dev-haskell/transformers-base:=[profile?] ) ) )
							streaming? ( dev-haskell/streaming:=[profile?]
								dev-haskell/transformers-base:=[profile?]
								conduit? ( dev-haskell/conduit:=[profile?]
										dev-haskell/primitive:=[profile?]
										dev-haskell/resourcet:=[profile?]
										dev-haskell/unliftio-core:=[profile?] ) )
							!streaming? ( conduit? ( transformers-base? ( dev-haskell/conduit:=[profile?]
												dev-haskell/primitive:=[profile?]
												dev-haskell/resourcet:=[profile?]
												dev-haskell/transformers-base:=[profile?]
												dev-haskell/unliftio-core:=[profile?] )
										unliftio-core? ( dev-haskell/conduit:=[profile?]
												dev-haskell/primitive:=[profile?]
												dev-haskell/resourcet:=[profile?]
												dev-haskell/transformers-base:=[profile?]
												dev-haskell/unliftio-core:=[profile?] ) )
								resourcet? ( dev-haskell/transformers-base:=[profile?]
										conduit? ( dev-haskell/conduit:=[profile?] ) ) ) ) ) )
	!monad-control? ( pipes? ( !pipes-safe? ( streaming? ( dev-haskell/streaming:=[profile?]
								dev-haskell/transformers-base:=[profile?] )
							!streaming? ( transformers-base? ( dev-haskell/transformers-base:=[profile?] ) ) ) )
				!pipes? ( !pipes-safe? ( primitive? ( !streaming? ( transformers-base? ( !resourcet? ( dev-haskell/transformers-base:=[profile?] ) )
										!transformers-base? ( conduit? ( dev-haskell/unliftio-core:=[profile?]
														!resourcet? ( !unliftio-core? ( dev-haskell/conduit:=[profile?]
																		dev-haskell/resourcet:=[profile?] ) ) ) ) ) )
							!primitive? ( !streaming? ( transformers-base? ( !resourcet? ( dev-haskell/transformers-base:=[profile?] ) )
										!transformers-base? ( conduit? ( dev-haskell/unliftio-core:=[profile?]
														!resourcet? ( !unliftio-core? ( dev-haskell/conduit:=[profile?]
																		dev-haskell/primitive:=[profile?]
																		dev-haskell/resourcet:=[profile?] ) ) ) ) ) )
							streaming? ( dev-haskell/streaming:=[profile?]
								dev-haskell/transformers-base:=[profile?]
								conduit? ( dev-haskell/conduit:=[profile?]
										dev-haskell/primitive:=[profile?]
										dev-haskell/resourcet:=[profile?]
										dev-haskell/unliftio-core:=[profile?] ) )
							!streaming? ( transformers-base? ( conduit? ( dev-haskell/conduit:=[profile?]
													dev-haskell/primitive:=[profile?]
													dev-haskell/resourcet:=[profile?]
													dev-haskell/transformers-base:=[profile?]
													dev-haskell/unliftio-core:=[profile?] )
											resourcet? ( dev-haskell/transformers-base:=[profile?] ) )
									!transformers-base? ( conduit? ( resourcet? ( dev-haskell/conduit:=[profile?] )
													unliftio-core? ( dev-haskell/conduit:=[profile?]
															dev-haskell/primitive:=[profile?]
															dev-haskell/resourcet:=[profile?]
															dev-haskell/unliftio-core:=[profile?] ) ) ) ) ) ) )
	pipes? ( dev-haskell/pipes:=[profile?] )
	pipes-safe? ( dev-haskell/monad-control:=[profile?]
			dev-haskell/pipes:=[profile?]
			dev-haskell/pipes-safe:=[profile?]
			dev-haskell/transformers-base:=[profile?]
			conduit? ( dev-haskell/conduit:=[profile?]
					dev-haskell/primitive:=[profile?]
					dev-haskell/resourcet:=[profile?]
					dev-haskell/unliftio-core:=[profile?] )
			streaming? ( dev-haskell/streaming:=[profile?] ) )
	!pipes-safe? ( !resourcet? ( streaming? ( dev-haskell/streaming:=[profile?]
							dev-haskell/transformers-base:=[profile?] ) ) )
	primitive? ( dev-haskell/primitive:=[profile?] )
	resourcet? ( dev-haskell/primitive:=[profile?]
			dev-haskell/resourcet:=[profile?]
			dev-haskell/unliftio-core:=[profile?] )
	!resourcet? ( unliftio-core? ( dev-haskell/unliftio-core:=[profile?] ) )
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.4.1.0
"

src_configure() {
	haskell-cabal_src_configure \
		$(cabal_flag conduit conduit) \
		$(cabal_flag monad-control monad-control) \
		$(cabal_flag pipes pipes) \
		$(cabal_flag pipes-safe pipes-safe) \
		$(cabal_flag primitive primitive) \
		$(cabal_flag resourcet resourcet) \
		$(cabal_flag streaming streaming) \
		$(cabal_flag transformers-base transformers-base) \
		$(cabal_flag unliftio-core unliftio-core)
}