summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wright <gienah@gentoo.org>2012-11-25 06:24:14 +0000
committerMark Wright <gienah@gentoo.org>2012-11-25 06:24:14 +0000
commit239eda3d2f1c9defe9a9ab0348c6f26eb70a6ee6 (patch)
treeb5da817f56cc506035ba3750546312d7a85876e5 /dev-vcs
parentBuild system improvements (diff)
downloadhistorical-239eda3d2f1c9defe9a9ab0348c6f26eb70a6ee6.tar.gz
historical-239eda3d2f1c9defe9a9ab0348c6f26eb70a6ee6.tar.bz2
historical-239eda3d2f1c9defe9a9ab0348c6f26eb70a6ee6.zip
Thanks to slyfox for patching darcs-2.8.3 for ghc 7.6.1
Package-Manager: portage-2.1.11.31/cvs/Linux x86_64 Manifest-Sign-Key: 0x618E971F
Diffstat (limited to 'dev-vcs')
-rw-r--r--dev-vcs/darcs/ChangeLog9
-rw-r--r--dev-vcs/darcs/Manifest13
-rw-r--r--dev-vcs/darcs/darcs-2.8.3-r1.ebuild132
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.1-tar-0.4.patch40
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.3-ghc-7.6.patch.bz2bin0 -> 9380 bytes
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.3-hack-for-haskeline-0.7-breaks-non-utf8.patch62
6 files changed, 251 insertions, 5 deletions
diff --git a/dev-vcs/darcs/ChangeLog b/dev-vcs/darcs/ChangeLog
index bc1ccba80cec..99f34b44ceea 100644
--- a/dev-vcs/darcs/ChangeLog
+++ b/dev-vcs/darcs/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-vcs/darcs
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.36 2012/09/25 14:19:45 nativemad Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.37 2012/11/25 06:24:06 gienah Exp $
+
+*darcs-2.8.3-r1 (25 Nov 2012)
+
+ 25 Nov 2012; Mark Wright <gienah@gentoo.org> +darcs-2.8.3-r1.ebuild,
+ +files/darcs-2.8.1-tar-0.4.patch, +files/darcs-2.8.3-ghc-7.6.patch.bz2,
+ +files/darcs-2.8.3-hack-for-haskeline-0.7-breaks-non-utf8.patch:
+ Thanks to slyfox for patching darcs-2.8.3 for ghc 7.6.1
25 Sep 2012; Andreas Schuerch <nativemad@gentoo.org> darcs-2.8.0.ebuild:
x86 stable, see bug 421351
diff --git a/dev-vcs/darcs/Manifest b/dev-vcs/darcs/Manifest
index bf9906ba358e..f987c7c66294 100644
--- a/dev-vcs/darcs/Manifest
+++ b/dev-vcs/darcs/Manifest
@@ -11,19 +11,24 @@ AUX darcs-2.5.2-relax-http-libs-deps.patch 1237 SHA256 300450943c78c12929ea7a500
AUX darcs-2.5.2-relax-regex-libs-deps.patch 2840 SHA256 fe32930704bbd411b0a65a6a378c7a9700257f165e8edad889b53ad227620b1a SHA512 ee0510a0c971a5f15266ac070b608bc8fc2997e4a164115a0f7bec2b50ffb2614011d668c1a50c830d6049f2e03a8f35d1e67c7b93834f73756a0dd96c0f9500 WHIRLPOOL f3a94ee4bf5d61d8669eff7034843a5325f1ab5c43dd0cd8f0b039a7c5b944e26bfc5e326d7519c3f64024f33774b2c3f67579020deb5ecf7ddc6e9875ca1e0a
AUX darcs-2.5.2-tests-ghc-7.2.patch 708 SHA256 f54f02114b5ca6477f750d0fb1712d79de61712e97480e54a94b35b6fa660104 SHA512 0b2323830a3089fb6310eded9a2e8ab3dcc184cd3df750ca370aeb0840c4614b482f3fdd95f2227486064be4b3dce7d36e8d64e1d2728a9f332e694c5a420aea WHIRLPOOL 9ec8e3a248ddea9cdde5dd539ce4fb044256aca367474ecbc16d54bdd54a8a0114bc9925f8cfaa39248a6333c5f24df0a00cd955d5a1248019137b26f20bdd19
AUX darcs-2.8.0-mtl-2.1.patch 1289 SHA256 50798b5d69b4600c3c9d15acdf4476b8a3764afb4d746e28eb79c9381bc3ae7b SHA512 bf3694cf774083a64c25038dd38be80e23125d4e41e34fda1b56b629e3c54152a5f781e252ab8187cd8c67480892a75624c77fc81e6a0e1927b8efacc3840cb9 WHIRLPOOL c5cc78e8feaa144dda546678e753d5102a92735af59c5455fe79db77207cece791093729f460c319d0d167d7b0506dedfeeb89c04d987cae17e646372e43dbcb
+AUX darcs-2.8.1-tar-0.4.patch 1329 SHA256 feccf9f2e149aa672fa6f32eb61400340a3e2a05013f355a04ce6057746bdb62 SHA512 0e9cc2650dc3b013935ea8db4d1dd9fd7f375c538f636ed5cfa4bdf9851ee4fd857efe4792bf76564b16ac9f93b46652c433d8f63affe29981bd154a40e43970 WHIRLPOOL 54d7e4fb5e89da7e6375144d1cb7741278c765bcd96cb58e5d4fe4b8193cfe35bca118ef205d8f8e93354f5f4be34762b7d49f884a12ec51b7deeea80ccabc50
+AUX darcs-2.8.3-ghc-7.6.patch.bz2 9380 SHA256 edcbcc3d5d0d5c51d5938b4926338241a551a2ccf4bbeb5cd781e36e8353f56e SHA512 c566a11ea08e9b88e24876aaabe08cd4e82dc1f6d2e6e6da24c969f0d3097493bfea6628641b216e3b184946b42032569760fe54a2b5dfb6508707b062248a2b WHIRLPOOL 03cdcd1a496ad9890d45a0bca921fde32d6a213435aafc5478d45490774f2d732255ae6221974d690e337087871dbb0182e4e71041cb00a01da6951759ed678e
+AUX darcs-2.8.3-hack-for-haskeline-0.7-breaks-non-utf8.patch 2425 SHA256 9fbb97f7437fca405c496937463f54cb0a78a0923da04887d05ff03083196a3a SHA512 60d17ca7b620979be0b45dcdec2f9590a86fa4042c5e30d7f9f623cb6653d6e8a2f5ee0541b45184c761a6516d76fc21a74001f1ac5165e0c8b2ab040aa1b456 WHIRLPOOL 8a7bc95bdf903c2531993414ad8fff39aacac9f304d17a466c4494bc59ed0148ba2465dd1d4a56984861cbf618b7adecae0af4185672e01abb753700a92c9b82
DIST darcs-2.4.4.tar.gz 1193126 SHA256 97cde35ae4b74488f8b98b487bc0498069eaa74fe035903394f3d4aff1da9f9e SHA512 6b611b80c8d14b5784fc11efbf1da6a8377f9d8eca8a1607073fc751d35d42f5097556497c970da1b22900a1c80d76303538223803f4fd6699bb847dc2c4cc36 WHIRLPOOL 5ce62a807bfc8795fc3a4ead6edcea464e55f8ae092b26fff3f761ca416e0db1eeac2ea48b50f2d493f858dcac68806e16d1b7e277de5702a50f0fa53ae838ba
DIST darcs-2.5.2.tar.gz 1231903 SHA256 8953f9d64f8013876466b8ad5474a212ee4e164f419ba4012b5dcc9e590fb386 SHA512 6203f7280436a15e94dc0744d8a7d24bc61f9c2f4bc32a7f29d38172b3e3c093aedf19b6931330d0aeb0a9aa907f4de6ba88ff01968fc5f86858ff9468f9d237 WHIRLPOOL f92bf86caffcc296f8ac4bcaf9fe7772f0c41050417b1b6143706af7c36cb9f31665cdfa87ef1af522800e6d659a9cc0c1d6a25e757be7d81c66ac42eaaa2813
DIST darcs-2.8.0.tar.gz 1297733 SHA256 1415c2a1a99db8cf76d5f31f6a3490a2a9d3e13f2abfcc67fc108885cf52ce83 SHA512 a944afad043a4ec21a88f090c7678dfc6790c1fd3ee07e8a10a63e0ee23de05460c585a0b542bf47c2fe1a007125da86c1a45db198b425f866b198eb6b4dcf64 WHIRLPOOL 10eba204757ec859b764cab4f4e2260d67d948f97d2b01c7b4bfc2952f218b9dc0575760e27ce02ba0844e1193a987036a69e6696a7e725ac66a44779bc718d7
+DIST darcs-2.8.3.tar.gz 1289187 SHA256 90750842926750cd60a97c61f8ba08e90faffdcb11478d10617a3d5d62216f59 SHA512 2cb997146077668b082e1302a54f728539c33088a42c034de10b0a87f00b49a95405feeaff58f601265c880f92d5b5fb37a041bb4fbf26c36f6964c0a3a40996 WHIRLPOOL 895a46c8a6d6dae8da9f094f881f830e17613359f3bddfb6d6f08bd11112c796a1139671795729c6e1c58f19f353f35172de5ccc89553698a882d266b1d4e90f
EBUILD darcs-2.4.4-r1.ebuild 4872 SHA256 feacaf6aaedaeb93771e61c691ef451445b9fb0a313a7b836872c2c2717d4361 SHA512 ac336de11496571542fc86179bdf3377fd4078233d6221b94b90399f2d6aec30f893029bbb1c488146878904073e66cccec2ccf7d7b590bde89fa6e1f757e913 WHIRLPOOL a4fb14bed147231864836648c08ddf4925e089c6c9e2d039114f39e86d6c1e3a82535aae604a729438a7ded8665a70143605e955a8fbf23cd808993971cf019d
EBUILD darcs-2.5.2-r1.ebuild 4197 SHA256 f348cb65e81491f050e51d8e3ee7e996c28586cbe4cff96f1ccf44a2639f9ec0 SHA512 43ba5ed5f0ed0d8857b7e08ecbadb47e2ebef87e8785b269865df54415f2b822d3b31a33a2e9a2802b308441ce54dde746c948d3c52cfa8a96113270145c9303 WHIRLPOOL 5861d5c33f6fd192100717dbdb7a8d4bedd2197b27c8736ad501b460247233f4ef43e0bdd3e9124cd9ef65b911183e3725dd7a3b351b5d27941a99863c90a570
EBUILD darcs-2.5.2-r2.ebuild 4245 SHA256 49aa67c60cb2077ad36ab962bbc3fecc0cea866ebcd18f614afe878b7021bfdc SHA512 b5bbd4c5558a12cb5fb7e3f06cb3c9a6f07dd9e1dac9f59d07bdd9df0c7eac4ed248ce064a6ee535bf61d1211cfb7b3732dcd04b93f198bf420cd4b50e174de7 WHIRLPOOL e91b75eb82dbc37809687638c79ecbb530973eb12513167109a9c283990eceb6c90544fa0eabd9123ac3c1390c3727cfc0af00e62cebccc259ee78d70c238f0b
EBUILD darcs-2.8.0.ebuild 4062 SHA256 e2ddd8152485a07c0140b0850074f859241d6c4968cf3a0a4871461b8f9606f9 SHA512 37475f4f42e2f006ca79099aa75af07013daadb4bfbb5d54ea5a3ad1280f9535ff29e2b11ddf3e3868ae915dac8f53037c7ead0c39db7e02528425e0e78b2f8b WHIRLPOOL 43d8cc2ec9929e94a2d38c2de30a5481b925132291afe57a65dc6de66b9a2a1148508820dad7d806ea15976f428636dacce0c62797e033035b81cf24018ad035
-MISC ChangeLog 23665 SHA256 60053ae5821197377f7b8ae724edd055680c2e469e2ddf8107c6bcac38c2dce1 SHA512 640a993294dcee870fb6a62906e98bc7e21cd93f705bf75eb34e3a49e8e95746a1e1c64bd86632224f6ba7bbb635b362c7cdd2ec7777d9a00796d999c154ad93 WHIRLPOOL 8047fdc86815544a8d147f51a29dec86e5e0feedc987d7ba620c4403fec32313e6cf4c8b1be5bd4cd8b137a99ffb53148f348c61000c8e37fc94ee94cba8084b
+EBUILD darcs-2.8.3-r1.ebuild 4657 SHA256 8bff80738388078b7c93c9675e408b8e8e7f9908a909fc81c7048e9b3ac07fa1 SHA512 478cfdf37b7deaba5721fdc267520b4e9f710bfb12549b2b7d50b8bf6488e2b0d5405cf7ea2ae624e918efc1ece36c89a121e0bcc4491ac07ac2f978b7113951 WHIRLPOOL 84ceeb5651cf7a9b13c25eda63bfb2c1a55ef6fef70d28572e7b221e4fb2a7dc7954b32a52ee0d14597dda7e553f86ad74e9eba27bfa591680471dcc100e3b46
+MISC ChangeLog 23964 SHA256 28ddefe90e40c1f1d47243d80b5214a8801deff9cf1ea6eedafad2be4772373f SHA512 3f45ed736e1ceefce2f9454d9670103a95e2e10517fa1e42d5fdd86412e49a84357f895b72a8f9620438e2fd406bee3841d282af6d56f796af7d64d641a613fd WHIRLPOOL f0c8dada6faf85fec8e24457737e9acd97f2da42442959bed26335a367375b6dbb3093eda7517c1cb331df549a4bd8549a23af11d267ab9ed3c891a68c7bf783
MISC metadata.xml 223 SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508 SHA512 24765bbf1cb187cd262aa7fb3824c1cec65e2bf3f2198099de688916d96401a26458265b15408f22b1fbd6d6a2842df814a57ceda80dfa00d130b24423b7544f WHIRLPOOL 8fd6700f6198db6540eb51edf11372faeb6eb8a542a692e515badf236f62444f2c180f7d08e0f98e9fdfa23de14631b31af50543469aaa27084d6b637e2644c7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iEYEAREIAAYFAlBhvCoACgkQakKUmsHeVLI/sQCdGbisleYYUa1ff4Hd7wkNa3VP
-2S0AnjmxX2zP4sPvfJPVgdFN2pRpISQY
-=S0jP
+iF4EAREIAAYFAlCxuYwACgkQoBEVQmGOlx8+PAD+PWcxmkx8K8z5zBZW2bIfrwHX
+dIqhCUWdLq1UlA+8e7kBAMEJ977+kfjY3aLSupY8izFrnIROenNrG6/CecybOYKU
+=O++F
-----END PGP SIGNATURE-----
diff --git a/dev-vcs/darcs/darcs-2.8.3-r1.ebuild b/dev-vcs/darcs/darcs-2.8.3-r1.ebuild
new file mode 100644
index 000000000000..bfac623fdca9
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.3-r1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/darcs-2.8.3-r1.ebuild,v 1.1 2012/11/25 06:24:06 gienah Exp $
+
+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/shellish-0.1.3[profile?]
+ <dev-haskell/shellish-0.2[profile?]
+ dev-haskell/test-framework[profile?]
+ dev-haskell/test-framework-hunit[profile?]
+ dev-haskell/test-framework-quickcheck2[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"
+ cabal_chdeps \
+ 'tar == 0.3.*' 'tar >= 0.3 && < 0.5' \
+ 'tar == 0.3.*' 'tar >= 0.3 && < 0.5' \
+ 'haskeline >= 0.6.3 && < 0.7' 'haskeline >= 0.6.3 && < 0.8'
+
+ epatch "${FILESDIR}/${PN}-2.8.1-tar-0.4.patch"
+ epatch "${FILESDIR}"/${P}-hack-for-haskeline-0.7-breaks-non-utf8.patch
+
+ # ghc-7.6
+ cabal_chdeps \
+ 'base >= 4.5 && < 4.6' 'base >= 4.5 && < 4.7' \
+ 'bytestring >= 0.9.0 && < 0.10' 'bytestring >= 0.9.0 && < 0.11' \
+ 'containers >= 0.1 && < 0.5' 'containers >= 0.1 && < 0.6' \
+ 'directory >= 1.0.0.0 && < 1.2.0.0' 'directory >= 1.0.0.0 && < 1.3.0.0' \
+ 'unix >= 1.0 && < 2.6' 'unix >= 1.0 && < 2.7' \
+ 'ghc >= 6.10 && < 7.6' 'ghc >= 6.10 && < 7.8'
+ epatch "${FILESDIR}"/${P}-ghc-7.6.patch.bz2
+}
+
+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."
+}
diff --git a/dev-vcs/darcs/files/darcs-2.8.1-tar-0.4.patch b/dev-vcs/darcs/files/darcs-2.8.1-tar-0.4.patch
new file mode 100644
index 000000000000..9bd2c26cd604
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.1-tar-0.4.patch
@@ -0,0 +1,40 @@
+diff --git a/src/Darcs/Repository.hs b/src/Darcs/Repository.hs
+index f68a77a..3c5af65 100644
+--- a/src/Darcs/Repository.hs
++++ b/src/Darcs/Repository.hs
+@@ -302,19 +302,35 @@ removeMetaFiles :: IO ()
+ removeMetaFiles = mapM_ (removeFile . (darcsdir </>)) .
+ filter ("meta-" `isPrefixOf`) =<< getDirectoryContents darcsdir
+
++#if MIN_VERSION_tar(0,4,0)
++unpackBasic :: Cache -> Tar.Entries Tar.FormatError -> IO ()
++#else
+ unpackBasic :: Cache -> Tar.Entries -> IO ()
++#endif
+ unpackBasic c x = do
+ withControlMVar $ \mv -> unpackTar c (basicMetaHandler c mv) x
+ removeMetaFiles
+
++#if MIN_VERSION_tar(0,4,0)
++unpackPatches :: Cache -> [String] -> Tar.Entries Tar.FormatError -> IO ()
++#else
+ unpackPatches :: Cache -> [String] -> Tar.Entries -> IO ()
++#endif
+ unpackPatches c ps x = do
+ withControlMVar $ \mv -> unpackTar c (patchesMetaHandler c ps mv) x
+ removeMetaFiles
+
++#if MIN_VERSION_tar(0,4,0)
++unpackTar :: Cache -> IO () -> Tar.Entries Tar.FormatError -> IO ()
++#else
+ unpackTar :: Cache -> IO () -> Tar.Entries -> IO ()
++#endif
+ unpackTar _ _ Tar.Done = return ()
++#if MIN_VERSION_tar(0,4,0)
++unpackTar _ _ (Tar.Fail e)= fail (show e)
++#else
+ unpackTar _ _ (Tar.Fail e)= fail e
++#endif
+ unpackTar c mh (Tar.Next x xs) = case Tar.entryContent x of
+ Tar.NormalFile x' _ -> do
+ let p = Tar.entryPath x
diff --git a/dev-vcs/darcs/files/darcs-2.8.3-ghc-7.6.patch.bz2 b/dev-vcs/darcs/files/darcs-2.8.3-ghc-7.6.patch.bz2
new file mode 100644
index 000000000000..81a53813a189
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.3-ghc-7.6.patch.bz2
Binary files differ
diff --git a/dev-vcs/darcs/files/darcs-2.8.3-hack-for-haskeline-0.7-breaks-non-utf8.patch b/dev-vcs/darcs/files/darcs-2.8.3-hack-for-haskeline-0.7-breaks-non-utf8.patch
new file mode 100644
index 000000000000..65eee6031e99
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.3-hack-for-haskeline-0.7-breaks-non-utf8.patch
@@ -0,0 +1,62 @@
+CAUTION: The patch is very incomplete!
+It will not work if your locale is not UTF-8.
+diff --git a/src/ByteStringUtils.hs b/src/ByteStringUtils.hs
+index 6394fea..6999312 100644
+--- a/src/ByteStringUtils.hs
++++ b/src/ByteStringUtils.hs
+@@ -71,7 +71,10 @@ import Control.Exception.Extensible ( catch, SomeException )
+ import System.IO
+ import System.IO.Unsafe ( unsafePerformIO )
+ import System.Console.Haskeline ( InputT, runInputTBehavior, defaultSettings, useFileHandle )
++
++#if ! MIN_VERSION_haskeline(0,7,0)
+ import System.Console.Haskeline.Encoding ( decode, encode )
++#endif
+
+ import Foreign.Storable ( peekElemOff, peek )
+ import Foreign.Marshal.Array ( advancePtr )
+@@ -526,6 +529,7 @@ unsafeRunInput = unsafePerformIO . runInputTBehavior (useFileHandle stdin) defau
+ isAscii :: B.ByteString -> Bool
+ isAscii = B.all (\w -> w < 128)
+
++#if ! MIN_VERSION_haskeline(0,7,0)
+ -- | Decode a ByteString to a String according to the current locale
+ -- unsafePerformIO in the locale function is ratified by the fact that GHC 6.12
+ -- and above also supply locale conversion with functions with a pure type.
+@@ -533,19 +537,30 @@ isAscii = B.all (\w -> w < 128)
+ decodeLocale :: B.ByteString -> String
+ decodeLocale = unsafeRunInput . decode
+
++-- | Encode a String to a ByteString according to the current locale
++encodeLocale :: String -> B.ByteString
++encodeLocale = unsafeRunInput . encode
++#else
++
++-- | Yes! I cheat here a lot and just assume you have UTF-8 locale.
++-- | haskeline-0.7 dropped encoding export.
++-- | All the blame should be directed to Sergei Trofimovich <slyfox@gentoo.org>
++
++decodeLocale :: B.ByteString -> String
++decodeLocale = unpackPSFromUTF8
++
++encodeLocale :: String -> B.ByteString
++encodeLocale = packStringToUTF8
++#endif
++
++
+ -- | Encode a String to a ByteString with latin1 (i.e., the values of the
+ -- characters become the values of the bytes; if a character value is greater
+ -- than 255, its byte becomes the character value modulo 256)
+ encodeLatin1 :: String -> B.ByteString
+ encodeLatin1 = B.pack . (map (fromIntegral . ord))
+
+--- | Encode a String to a ByteString according to the current locale
+-encodeLocale :: String -> B.ByteString
+-encodeLocale = unsafeRunInput . encode
+-
+ -- | Take a @String@ that represents byte values and re-decode it acording to
+ -- the current locale.
+ decodeString :: String -> String
+ decodeString = decodeLocale . encodeLatin1
+-
+-