# Copyright 1999-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite" inherit edo haskell-cabal DESCRIPTION="Test interactive Haskell examples" HOMEPAGE="https://github.com/martijnbastiaan/doctest-parallel" LICENSE="MIT" SLOT="0/${PV}" KEYWORDS="~amd64" RDEPEND="dev-haskell/base-compat:=[profile?] dev-haskell/cabal:=[profile?] dev-haskell/code-page:=[profile?] dev-haskell/ghc-exactprint:=[profile?] dev-haskell/ghc-paths:=[profile?] dev-haskell/glob:=[profile?] dev-haskell/random:=[profile?] dev-haskell/syb:=[profile?] dev-haskell/unordered-containers:=[profile?]" DEPEND="${RDEPEND}" BDEPEND="dev-haskell/cabal test? ( dev-haskell/hspec dev-haskell/hspec-core dev-haskell/hunit dev-haskell/mockery dev-haskell/quickcheck dev-haskell/setenv dev-haskell/silently dev-haskell/stringbuilder )" PATCHES=( "${FILESDIR}/${PN}"-0.4.1-tests.patch ) src_prepare() { haskell-cabal_src_prepare sed -i '/license-file/d' doctest-parallel.cabal || die "sed failed" } src_test() { local pkgdb="${S}/dist/package.conf.inplace" # doctest-parallel spawns GHCi while running its tests. Cabal's # internal spectests-modules library is registered as hidden, so expose # it in the in-place package database used only for the test phase. edo ghc-pkg --package-db="${pkgdb}" expose "z-${PN}-z-spectests-modules-${PV}" GHC_PACKAGE_PATH="${pkgdb}:" haskell-cabal_src_test }