# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 # ebuild generated by hackport 0.6.7.9999 #hackport: flags: -bundled-binary-generic # Drop test-suite due to "circular" dependencies with quickcheck CABAL_FEATURES="lib profile haddock hoogle hscolour" CABAL_FEATURES+=" nocabaldep" # in case installed Cabal is broken inherit haskell-cabal MY_PN="Cabal" MY_P="${MY_PN}-${PV}" DESCRIPTION="A framework for packaging Haskell software" HOMEPAGE="https://www.haskell.org/cabal/" SRC_URI="https://hackage.haskell.org/package/${MY_P}/${MY_P}.tar.gz" LICENSE="BSD" SLOT="0/${PV}" KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" # ~ppc ~ppc64 ~ppc-macos ~x86-macos ~x86-solaris IUSE="" RESTRICT=test # circular deps: cabal -> quickcheck -> cabal # GHC lower bound set to 8.0 to remove semigroups and fail dependencies. RDEPEND=" >=dev-haskell/mtl-2.1:=[profile?] =dev-haskell/parsec-3.1.13.0:=[profile?] =dev-haskell/text-1.2.3.0:=[profile?] =dev-lang/ghc-8.0:= " DEPEND="${RDEPEND}" S="${WORKDIR}/${MY_P}" src_prepare() { default # Cabal bootstraps with 'ghc --make' without package cleanup in environment. # That causes module collisions at build: # - pulseaudio: Distribution/Utils/Structured.hs:98:1: error: Ambiguous module name ‘Data.Time’: it was found in multiple packages: pulseaudio-0.0.2.1 time-1.9.3 # - kinds: Distribution/Utils/Structured.hs:106:1: error: Ambiguous module name ‘Data.Kind’: it was found in multiple packages: base-4.14.1.0 kinds-0.0.1.5 HCFLAGS="${HCFLAGS} -ignore-package=pulseaudio" HCFLAGS="${HCFLAGS} -ignore-package=kinds" } src_configure() { haskell-cabal_src_configure \ --flag=-bundled-binary-generic } CABAL_CORE_LIB_GHC_PV="PM:8.10.3 PM:8.10.4 PM:8.10.4-r1 PM:9999"