| # Copyright 1999-2014 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| EAPI=5 |
| |
| # ebuild generated by hackport 0.3.9999 |
| |
| CABAL_FEATURES="bin lib profile haddock hoogle hscolour" |
| inherit haskell-cabal bash-completion-r1 |
| |
| 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="doc test" |
| |
| RDEPEND="=dev-haskell/extensible-exceptions-0.1*:=[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/mmap-0.5*:=[profile?] |
| >=dev-haskell/mtl-1.0:=[profile?] |
| <dev-haskell/mtl-2.2:=[profile?] |
| >=dev-haskell/parsec-2.0:=[profile?] |
| <dev-haskell/parsec-3.2:=[profile?] |
| =dev-haskell/random-1.0*:=[profile?] |
| >=dev-haskell/regex-compat-0.95.1:=[profile?] |
| >=dev-haskell/tar-0.3:=[profile?] |
| <dev-haskell/tar-0.5:=[profile?] |
| =dev-haskell/terminfo-0.3*:=[profile?] |
| >=dev-haskell/text-0.11.0.6:=[profile?] |
| <dev-haskell/text-0.12.0.0:=[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-6.10.4:= |
| net-misc/curl" |
| DEPEND="${RDEPEND} |
| >=dev-haskell/cabal-1.8 |
| doc? ( virtual/latex-base |
| || ( dev-tex/latex2html[png] |
| dev-tex/latex2html[gif] |
| ) |
| ) |
| test? ( >=dev-haskell/cmdlib-0.2.1[profile?] |
| <dev-haskell/cmdlib-0.4[profile?] |
| =dev-haskell/findbin-0.0*[profile?] |
| >=dev-haskell/quickcheck-2.3 |
| >=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?] |
| ) |
| " |
| |
| src_prepare() { |
| rm "${S}/tests/add_permissions.sh" || die "Could not rm add_permissions.sh" |
| rm "${S}/tests/send-output-v1.sh" || die "Could not rm send-output-v1.sh" |
| rm "${S}/tests/send-output-v2.sh" || die "Could not rm send-output-v2.sh" |
| rm "${S}/tests/utf8.sh" || die "Could not rm utf8.sh" |
| } |
| |
| src_configure() { |
| # checking whether ghc supports -threaded flag |
| # Beware: http://www.haskell.org/ghc/docs/latest/html/users_guide/options-phases.html#options-linker |
| # contains: 'The ability to make a foreign call that does not block all other Haskell threads.' |
| # It might have interactivity impact. |
| |
| threaded_flag="" |
| if $(ghc-getghc) --info | grep "Support SMP" | grep -q "YES"; then |
| threaded_flag="--flags=threaded" |
| einfo "$P will be built with threads support" |
| else |
| threaded_flag="--flags=-threaded" |
| einfo "$P will be built without threads support" |
| fi |
| |
| # Use curl for net stuff to avoid strict version dep on HTTP and network |
| cabal_src_configure \ |
| --flags=curl \ |
| --flags=-http \ |
| --flags=color \ |
| --flags=terminfo \ |
| --flags=mmap \ |
| $threaded_flag \ |
| $(cabal_flag test) |
| } |
| |
| src_test() { |
| # run cabal test from haskell-cabal |
| haskell-cabal_src_test || die "cabal test failed" |
| } |
| |
| src_install() { |
| cabal_src_install |
| newbashcomp "${S}/contrib/darcs_completion" "${PN}" |
| |
| # 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" |
| } |
| |
| pkg_postinst() { |
| ghc-package_pkg_postinst |
| |
| ewarn "NOTE: in order for the darcs send command to work properly," |
| ewarn "you must properly configure your mail transport agent to relay" |
| ewarn "outgoing mail. For example, if you are using ssmtp, please edit" |
| ewarn "${EPREFIX}/etc/ssmtp/ssmtp.conf with appropriate values for your site." |
| } |