# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

# ebuild generated by hackport 0.8.4.0.9999
#hackport: flags: -portable,build-pong:pong-server,build-testserver:test-server

CABAL_HACKAGE_REVISION=2

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

DESCRIPTION="A web server for the Snap Framework"
HOMEPAGE="https://snapframework.com/"

LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="debug openssl pong-server test-server"

RDEPEND="
	>=dev-haskell/attoparsec-0.12:=[profile?] <dev-haskell/attoparsec-0.15:=[profile?]
	>=dev-haskell/blaze-builder-0.4:=[profile?] <dev-haskell/blaze-builder-0.5:=[profile?]
	>=dev-haskell/case-insensitive-1.1:=[profile?] <dev-haskell/case-insensitive-1.3:=[profile?]
	>=dev-haskell/clock-0.7.1:=[profile?] <dev-haskell/clock-0.9:=[profile?]
	>=dev-haskell/io-streams-1.3:=[profile?] <dev-haskell/io-streams-1.6:=[profile?]
	>=dev-haskell/io-streams-haproxy-1.0:=[profile?] <dev-haskell/io-streams-haproxy-1.1:=[profile?]
	>=dev-haskell/lifted-base-0.1:=[profile?] <dev-haskell/lifted-base-0.3:=[profile?]
	>=dev-haskell/network-2.3:=[profile?] <dev-haskell/network-3.2:=[profile?]
	>=dev-haskell/old-locale-1.0:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
	>=dev-haskell/snap-core-1.0:=[profile?] <dev-haskell/snap-core-1.1:=[profile?]
	>=dev-haskell/text-0.11:=[profile?] <dev-haskell/text-2.1:=[profile?]
	>=dev-haskell/unix-compat-0.2:=[profile?] <dev-haskell/unix-compat-0.8:=[profile?]
	>=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.14:=[profile?]
	>=dev-lang/ghc-8.10.6:=
	openssl? (
		>=dev-haskell/hsopenssl-0.10.4:=[profile?] <dev-haskell/hsopenssl-0.12:=[profile?]
		>=dev-haskell/openssl-streams-1.1:=[profile?] <dev-haskell/openssl-streams-1.3:=[profile?]
	)
	pong-server? (
		dev-haskell/bytestring-builder:=[profile?]
	)
	test-server? (
		dev-haskell/bytestring-builder:=[profile?]
	)
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-3.2.1.0
	test? (
		>=dev-haskell/base16-bytestring-0.1 <dev-haskell/base16-bytestring-1.1
		>=dev-haskell/http-common-0.7 <dev-haskell/http-common-0.9
		>=dev-haskell/http-streams-0.7 <dev-haskell/http-streams-0.9
		>=dev-haskell/hunit-1.2 <dev-haskell/hunit-2
		>=dev-haskell/monad-control-1.0 <dev-haskell/monad-control-1.1
		>=dev-haskell/parallel-3 <dev-haskell/parallel-4
		>=dev-haskell/quickcheck-2.3.0.2 <dev-haskell/quickcheck-3
		>=dev-haskell/random-1.0 <dev-haskell/random-1.3
		>=dev-haskell/test-framework-0.8.0.3 <dev-haskell/test-framework-0.9
		>=dev-haskell/test-framework-hunit-0.2.7 <dev-haskell/test-framework-hunit-0.4
		>=dev-haskell/test-framework-quickcheck2-0.2.12.1 <dev-haskell/test-framework-quickcheck2-0.4
		>=dev-haskell/threads-0.5 <dev-haskell/threads-0.6
	)
"

src_configure() {
	haskell-cabal_src_configure \
		$(cabal_flag pong-server build-pong) \
		$(cabal_flag test-server build-testserver) \
		$(cabal_flag debug debug) \
		$(cabal_flag openssl openssl) \
		--flag=-portable
}