summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-vcs')
-rw-r--r--dev-vcs/darcs/ChangeLog7
-rw-r--r--dev-vcs/darcs/darcs-2.4.4.ebuild130
2 files changed, 136 insertions, 1 deletions
diff --git a/dev-vcs/darcs/ChangeLog b/dev-vcs/darcs/ChangeLog
index 47f3a21aea86..feccb7c32f6d 100644
--- a/dev-vcs/darcs/ChangeLog
+++ b/dev-vcs/darcs/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-vcs/darcs
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.3 2010/03/28 21:40:12 kolmodin Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.4 2010/05/23 22:10:58 kolmodin Exp $
+
+*darcs-2.4.4 (23 May 2010)
+
+ 23 May 2010; Lennart Kolmodin <kolmodin@gentoo.org> +darcs-2.4.4.ebuild:
+ Version bump.
*darcs-2.4 (28 Mar 2010)
diff --git a/dev-vcs/darcs/darcs-2.4.4.ebuild b/dev-vcs/darcs/darcs-2.4.4.ebuild
new file mode 100644
index 000000000000..42d9834491d9
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.4.4.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/darcs-2.4.4.ebuild,v 1.1 2010/05/23 22:10:58 kolmodin Exp $
+
+EAPI="2"
+CABAL_FEATURES="bin lib profile haddock"
+inherit haskell-cabal eutils bash-completion
+
+DESCRIPTION="a distributed, interactive, smart revision control system"
+HOMEPAGE="http://darcs.net/"
+SRC_URI="http://hackage.haskell.org/packages/archive/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE="doc test"
+
+# Dependency notes:
+# 1) Use a cunning trick for hashed-storage, haskeline, regex-compat
+# where the min bound is the lowest version available.
+# 2) Do the opposite for zlib: highest not available.
+# 3) Prefer curl over HTTP since darcs uses an old version of HTTP.
+# 4) Use the same bounds for mmap as hashed-storage.
+
+COMMONDEPS=">=dev-lang/ghc-6.8
+ >=dev-haskell/hashed-storage-0.4.13
+ =dev-haskell/haskeline-0.6*
+ =dev-haskell/html-1.0*
+ =dev-haskell/mmap-0.4*
+ <dev-haskell/mtl-1.2
+ =dev-haskell/network-2.2*
+ dev-haskell/parsec:0
+ <dev-haskell/regex-compat-0.94
+ =dev-haskell/terminfo-0.3*
+ =dev-haskell/utf8-string-0.3*
+ <dev-haskell/zlib-0.6.0.0
+ net-misc/curl"
+
+DEPEND="${COMMONDEPS}
+ >=dev-haskell/cabal-1.6
+ doc? ( virtual/latex-base
+ dev-tex/latex2html )
+ test? ( dev-haskell/test-framework
+ dev-haskell/test-framework-hunit
+ dev-haskell/test-framework-quickcheck2 )
+ "
+
+# darcs also has a library version; we thus need $DEPEND
+RDEPEND="${COMMONDEPS}
+ virtual/mta"
+
+pkg_setup() {
+ if use doc && ! built_with_use -o dev-tex/latex2html png gif; then
+ eerror "Building darcs with USE=\"doc\" requires that"
+ eerror "dev-tex/latex2html is built with at least one of"
+ eerror "USE=\"png\" and USE=\"gif\"."
+ die "USE=doc requires dev-tex/latex2html with USE=\"png\" or USE=\"gif\""
+ fi
+}
+
+src_prepare() {
+ pushd "contrib"
+ epatch "${FILESDIR}/${PN}-1.0.9-bashcomp.patch"
+ popd
+
+ # Loosen dependency on hashed-storage
+ sed -i -e "s/hashed-storage == 0.4.13/hashed-storage == 0.4.*/" \
+ "${S}/${PN}.cabal" \
+ || die "Could not loosen deps on hashed-storage"
+}
+
+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=curl-pipelining \
+ --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"
+
+ # run the unit tests (not part of cabal test for some reason...)
+ # breaks the cabal abstraction a bit...
+ "${S}/dist/build/unit/unit" || die "unit tests failed"
+}
+
+src_install() {
+ cabal_src_install
+ dobashcompletion "${S}/contrib/darcs_completion" "${PN}"
+
+ rm "${D}/usr/bin/unit" 2> /dev/null
+
+ # fixup perms in such an an awkward way
+ mv "${D}/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"
+
+ # if tests were enabled, make sure the unit test driver is deleted
+ rm -rf "${D}/usr/bin/unit"
+}
+
+pkg_postinst() {
+ ghc-package_pkg_postinst
+ bash-completion_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 "/etc/ssmtp/ssmtp.conf with appropriate values for your site."
+}