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

EAPI=6

# ebuild generated by hackport 0.5.6.9999
#hackport: flags: -all_extensions,+with_threaded,+with_utf8,with_iwlib:wifi,with_alsa:alsa,with_xft:xft,with_datezone:timezone,with_dbus:dbus,with_mpd:mpd,with_inotify:inotify,with_mpris:mpris,with_xpm:xpm

CABAL_FEATURES="test-suite"
inherit haskell-cabal

DESCRIPTION="A Minimalistic Text Based Status Bar"
HOMEPAGE="http://xmobar.org"
SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"

LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa dbus inotify mpd mpris timezone wifi with_conduit +with_rtsopts with_uvmeter +with_weather xft xpm"

RDEPEND=">=dev-haskell/mtl-2.1:= <dev-haskell/mtl-2.3:=
	dev-haskell/old-locale:=
	>=dev-haskell/parsec-3.1:= <dev-haskell/parsec-3.2:=
	>=dev-haskell/parsec-numbers-0.1.0:=
	dev-haskell/regex-compat:=
	>=dev-haskell/stm-2.3:= <dev-haskell/stm-2.6:=
	>=dev-haskell/utf8-string-0.3:= <dev-haskell/utf8-string-1.1:=
	>=dev-haskell/x11-1.6.1:=
	>=dev-lang/ghc-8.0.2:=
	x11-libs/libXrandr
	x11-libs/libXrender
	alsa? ( >=dev-haskell/alsa-core-0.5:= <dev-haskell/alsa-core-0.6:=
		>dev-haskell/alsa-mixer-0.2.0.2:= )
	dbus? ( >=dev-haskell/dbus-1:= )
	inotify? ( >=dev-haskell/hinotify-0.3:= <dev-haskell/hinotify-0.5:= )
	mpd? ( >=dev-haskell/libmpd-0.9.0.6:= )
	mpris? ( >=dev-haskell/dbus-1:= )
	timezone? ( >=dev-haskell/timezone-olson-0.1:= <dev-haskell/timezone-olson-0.2:=
			>=dev-haskell/timezone-series-0.1:= <dev-haskell/timezone-series-0.2:= )
	wifi? ( >=dev-haskell/iwlib-0.1.0:= <dev-haskell/iwlib-0.2:=
		net-wireless/wireless-tools )
	with_conduit? ( with_uvmeter? ( dev-haskell/http-conduit:=
					dev-haskell/http-types:= )
			with_weather? ( dev-haskell/http-conduit:=
					dev-haskell/http-types:= ) )
	with_weather? ( >=dev-haskell/http-4000.2.4:= )
	xft? ( dbus? ( >=dev-haskell/x11-xft-0.2:= <dev-haskell/x11-xft-0.4:= )
		mpris? ( !dbus? ( !with_uvmeter? ( !with_weather? ( >=dev-haskell/x11-xft-0.2:= <dev-haskell/x11-xft-0.4:= ) ) )
			xpm? ( >=dev-haskell/x11-xft-0.2:= <dev-haskell/x11-xft-0.4:= )
			!xpm? ( with_uvmeter? ( >=dev-haskell/x11-xft-0.2:= <dev-haskell/x11-xft-0.4:= )
				with_weather? ( >=dev-haskell/x11-xft-0.2:= <dev-haskell/x11-xft-0.4:= ) ) )
		!mpris? ( >=dev-haskell/x11-xft-0.2:= <dev-haskell/x11-xft-0.4:= ) )
	xpm? ( x11-libs/libXpm )
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-1.24.2.0
	test? ( >=dev-haskell/hspec-2 <dev-haskell/hspec-3
		~dev-haskell/parsec-numbers-0.1.0 )
"

src_configure() {
	haskell-cabal_src_configure \
		--flag=-all_extensions \
		$(cabal_flag alsa with_alsa) \
		$(cabal_flag with_conduit with_conduit) \
		$(cabal_flag timezone with_datezone) \
		$(cabal_flag dbus with_dbus) \
		$(cabal_flag inotify with_inotify) \
		$(cabal_flag wifi with_iwlib) \
		$(cabal_flag mpd with_mpd) \
		$(cabal_flag mpris with_mpris) \
		$(cabal_flag with_rtsopts with_rtsopts) \
		--flag=with_threaded \
		--flag=with_utf8 \
		$(cabal_flag with_uvmeter with_uvmeter) \
		$(cabal_flag with_weather with_weather) \
		$(cabal_flag xft with_xft) \
		$(cabal_flag xpm with_xpm)
}

src_install() {
	cabal_src_install

	dodoc samples/xmobar.config readme.md changelog.md
}