summaryrefslogtreecommitdiff
blob: ab45bdd2461a84167cac66da55931ed63fbaeedd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

# ebuild generated by hackport 0.4.4.9999
#hackport: flags: +library,+executable,-hpc,-warn-as-error

CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
inherit base haskell-cabal

DESCRIPTION="a distributed, interactive, smart revision control system"
HOMEPAGE="http://darcs.net/"
SRC_URI="mirror://hackage/packages/archive/${PN}/${PV}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0/${PV}"
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
IUSE="+color +curl +http +mmap +network-uri +optimize static +terminfo test +threaded"

RDEPEND=">=dev-haskell/extensible-exceptions-0.1:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[profile?]
	>=dev-haskell/hashed-storage-0.5.6:=[profile?] <dev-haskell/hashed-storage-0.6:=[profile?]
	>=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
	>=dev-haskell/html-1.0:=[profile?] <dev-haskell/html-1.1:=[profile?]
	>=dev-haskell/mtl-1.0:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
	>=dev-haskell/parsec-2.0:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
	>=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?]
	>=dev-haskell/regex-compat-0.95.1:=[profile?]
	>=dev-haskell/tar-0.3:=[profile?] <dev-haskell/tar-0.5:=[profile?]
	>=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[profile?]
	>=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
	>=dev-haskell/vector-0.7:=[profile?]
	>=dev-haskell/zlib-0.5.1.0:=[profile?] <dev-haskell/zlib-0.6.0.0:=[profile?]
	>=dev-lang/ghc-7.4.1:=
	virtual/libiconv
	curl? ( net-misc/curl )
	http? ( >=dev-haskell/http-4000.0.8:=[profile?] <dev-haskell/http-4000.3:=[profile?]
		network-uri? ( >=dev-haskell/network-2.6:=[profile?]
				>=dev-haskell/network-uri-2.6:=[profile?] )
		!network-uri? ( >=dev-haskell/network-2.2:=[profile?] <dev-haskell/network-2.6:=[profile?] ) )
	mmap? ( >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?] )
	terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
"
DEPEND="${RDEPEND}
	>=dev-haskell/cabal-1.8
	dev-lang/ghc
	test? ( >=dev-haskell/cmdlib-0.2.1:=[profile?] <dev-haskell/cmdlib-0.4:=[profile?]
		>=dev-haskell/findbin-0.0:=[profile?] <dev-haskell/findbin-0.1:=[profile?]
		>=dev-haskell/hunit-1.0:=[profile?]
		>=dev-haskell/quickcheck-2.3:2=[profile?]
		>=dev-haskell/shellish-0.1.3:=[profile?] <dev-haskell/shellish-0.2:=[profile?]
		>=dev-haskell/test-framework-0.4.0:=[profile?]
		>=dev-haskell/test-framework-hunit-0.2.2:=[profile?]
		>=dev-haskell/test-framework-quickcheck2-0.2.8:=[profile?] )
"

PATCHES=("${FILESDIR}/${P}-ghc-7.10.patch")

src_prepare() {
	base_src_prepare
	cabal_chdeps \
		'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \
		'text       >= 0.11.0.6 && < 1.2' 'text       >= 0.11.0.6 && < 1.3' \
		'random     == 1.0.*' 'random     >= 1.0 && < 1.2' \
		'base >= 4.5 && < 4.8' 'base >= 4.5 && < 4.9' \
		'ghc >= 6.10 && < 7.10' 'ghc >= 6.10 && < 7.12' \
		'utf8-string >= 0.3.6 && < 0.4' 'utf8-string >= 0.3.6 && < 1.1'

}

src_configure() {
	haskell-cabal_src_configure \
		$(cabal_flag color color) \
		$(cabal_flag curl curl) \
		--flag=executable \
		--flag=-hpc \
		$(cabal_flag http http) \
		--flag=library \
		$(cabal_flag mmap mmap) \
		$(cabal_flag network-uri network-uri) \
		$(cabal_flag optimize optimize) \
		$(cabal_flag static static) \
		$(cabal_flag terminfo terminfo) \
		$(cabal_flag test test) \
		$(cabal_flag threaded threaded) \
		--flag=-warn-as-error
}

src_install() {
	haskell-cabal_src_install

	# fixup perms in such an an awkward way
	mv "${ED}/usr/share/man/man1/darcs.1" "${S}/darcs.1" || die "darcs.1 not found"
	doman "${S}/darcs.1" || die "failed to register darcs.1 as a manpage"
}