diff options
author | Mark Wright <gienah@gentoo.org> | 2012-11-25 06:24:14 +0000 |
---|---|---|
committer | Mark Wright <gienah@gentoo.org> | 2012-11-25 06:24:14 +0000 |
commit | 239eda3d2f1c9defe9a9ab0348c6f26eb70a6ee6 (patch) | |
tree | b5da817f56cc506035ba3750546312d7a85876e5 /dev-vcs | |
parent | Build system improvements (diff) | |
download | historical-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/ChangeLog | 9 | ||||
-rw-r--r-- | dev-vcs/darcs/Manifest | 13 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.8.3-r1.ebuild | 132 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.1-tar-0.4.patch | 40 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.3-ghc-7.6.patch.bz2 | bin | 0 -> 9380 bytes | |||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.3-hack-for-haskeline-0.7-breaks-non-utf8.patch | 62 |
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 Binary files differnew file mode 100644 index 000000000000..81a53813a189 --- /dev/null +++ b/dev-vcs/darcs/files/darcs-2.8.3-ghc-7.6.patch.bz2 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 +- +- |