| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 0.15.0.2 | 8 | ~amd64 | 0/0.15.0.2 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# ebuild generated by hackport 0.8.5.1.9999
CABAL_PN="HTF"
CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
inherit haskell-cabal
DESCRIPTION="The Haskell Test Framework"
HOMEPAGE="https://github.com/skogsbaer/HTF/"
LICENSE="LGPL-2.1"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="executable"
RESTRICT="test" # Various odd test failures
CABAL_TEST_REQUIRED_BINS=(
htfpp
)
PATCHES=(
"${FILESDIR}/${PN}-0.15.0.0-add-executable-flag.patch"
)
RDEPEND="
>=dev-haskell/aeson-0.11:=[profile?]
dev-haskell/base64-bytestring:=[profile?]
>=dev-haskell/cpphs-1.19:=[profile?]
>=dev-haskell/diff-0.3:=[profile?]
dev-haskell/haskell-src:=[profile?]
>=dev-haskell/hunit-1.2.5:=[profile?]
>=dev-haskell/lifted-base-0.1:=[profile?]
>=dev-haskell/monad-control-0.3:=[profile?]
>=dev-haskell/old-time-1.0:=[profile?]
>=dev-haskell/quickcheck-2.3:=[profile?]
>=dev-haskell/random-1.0:=[profile?]
>=dev-haskell/regex-compat-0.92:=[profile?]
>=dev-haskell/text-0.11:=[profile?]
dev-haskell/vector:=[profile?]
>=dev-haskell/xmlgen-0.6:=[profile?]
>=dev-lang/ghc-9.0.2:=
"
DEPEND="${RDEPEND}
>=dev-haskell/cabal-3.4.1.0
>=dev-haskell/cpphs-1.19
test? (
dev-haskell/aeson-pretty
>=dev-haskell/temporary-1.1
>=dev-haskell/unordered-containers-0.2
)
"
src_prepare() {
haskell-cabal_src_prepare
chmod +x "${S}/scripts/local-htfpp" || die
}
src_configure() {
if use executable || use test; then
local exe_flag=executable
else
local exe_flag=-executable
fi
haskell-cabal_src_configure \
--flag="${exe_flag}"
}
src_compile() {
# Tests are a bit odd and require a functional htfpp binary to build them
# (htfpp is used as a pre-processor when building the tests).
if use test; then
# First, we build only the library and executable
cabal-build "lib:${CABAL_PN}" "exe:htfpp"
# We compile everything else with the knowledge of where the library
# and executable live
LD_LIBRARY_PATH="${S}/dist/build${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" \
PATH="${S}/dist/build/htfpp${PATH+:}${PATH}" \
haskell-cabal_src_compile
else
haskell-cabal_src_compile
fi
}
src_install() {
local install_components=(
"lib:${CABAL_PN}"
)
use executable && install_components+=( "exe:htfpp" )
haskell-cabal_src_install "${install_components[@]}"
}
>=dev-haskell/aeson-0.11:=[profile?] dev-haskell/base64-bytestring:=[profile?] >=dev-haskell/cpphs-1.19:=[profile?] >=dev-haskell/diff-0.3:=[profile?] dev-haskell/haskell-src:=[profile?] >=dev-haskell/hunit-1.2.5:=[profile?] >=dev-haskell/lifted-base-0.1:=[profile?] >=dev-haskell/monad-control-0.3:=[profile?] >=dev-haskell/old-time-1.0:=[profile?] >=dev-haskell/quickcheck-2.3:=[profile?] >=dev-haskell/random-1.0:=[profile?] >=dev-haskell/regex-compat-0.92:=[profile?] >=dev-haskell/text-0.11:=[profile?] dev-haskell/vector:=[profile?] >=dev-haskell/xmlgen-0.6:=[profile?] >=dev-lang/ghc-9.0.2:= >=dev-haskell/cabal-3.4.1.0 >=dev-haskell/cpphs-1.19 test? ( dev-haskell/aeson-pretty >=dev-haskell/temporary-1.1 >=dev-haskell/unordered-containers-0.2 )
>=dev-haskell/aeson-0.11:=[profile?] dev-haskell/base64-bytestring:=[profile?] >=dev-haskell/cpphs-1.19:=[profile?] >=dev-haskell/diff-0.3:=[profile?] dev-haskell/haskell-src:=[profile?] >=dev-haskell/hunit-1.2.5:=[profile?] >=dev-haskell/lifted-base-0.1:=[profile?] >=dev-haskell/monad-control-0.3:=[profile?] >=dev-haskell/old-time-1.0:=[profile?] >=dev-haskell/quickcheck-2.3:=[profile?] >=dev-haskell/random-1.0:=[profile?] >=dev-haskell/regex-compat-0.92:=[profile?] >=dev-haskell/text-0.11:=[profile?] dev-haskell/vector:=[profile?] >=dev-haskell/xmlgen-0.6:=[profile?] >=dev-lang/ghc-9.0.2:=