diff options
Diffstat (limited to 'dev-vcs/darcs')
-rw-r--r-- | dev-vcs/darcs/ChangeLog | 15 | ||||
-rw-r--r-- | dev-vcs/darcs/Manifest | 10 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.4.4-r1.ebuild | 135 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.4.4-issue1770-curl_multi_perform-no-running-handles.patch | 38 |
4 files changed, 193 insertions, 5 deletions
diff --git a/dev-vcs/darcs/ChangeLog b/dev-vcs/darcs/ChangeLog index af6b76b7d9ee..d01487395f17 100644 --- a/dev-vcs/darcs/ChangeLog +++ b/dev-vcs/darcs/ChangeLog @@ -1,6 +1,19 @@ # 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.5 2010/06/17 06:33:35 kolmodin Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-vcs/darcs/ChangeLog,v 1.6 2010/06/28 18:53:32 kolmodin Exp $ + +*darcs-2.4.4-r1 (28 Jun 2010) + + 28 Jun 2010; Lennart Kolmodin <kolmodin@gentoo.org> + +darcs-2.4.4-r1.ebuild, + +files/darcs-2.4.4-issue1770-curl_multi_perform-no-running-handles.patch: + Attempt to solve issue1770 ( http://bugs.darcs.net/issue1770 ) which stops + users from fetching the Gentoo Haskell overlay. The patch is taken from + darcs HEAD and is written by Dmitry Kurochkin + <dmitry.kurochkin@gmail.com>. + + Also, remove test case that required hlint. If the user would have a + recent version of hlint installed it would break the tests. Fix by slyfox. 16 Jun 2010; Lennart Kolmodin <kolmodin@gentoo.org> -darcs-1.1.0_pre1.ebuild, darcs-2.1.0-r1.ebuild, darcs-2.2.1.ebuild, diff --git a/dev-vcs/darcs/Manifest b/dev-vcs/darcs/Manifest index 31edfedae8a3..259537501b40 100644 --- a/dev-vcs/darcs/Manifest +++ b/dev-vcs/darcs/Manifest @@ -5,6 +5,7 @@ AUX darcs-1.0.8-ghc66.patch 3057 RMD160 0eb34da97317b5ae24800ae6b026d3a8acc990b1 AUX darcs-1.0.9-bashcomp.patch 510 RMD160 73888c758f4a2ac93b83229115d23599162c0b15 SHA1 1abf5c0477169eb0109a0dd7ecfb2c38dfee15ff SHA256 39a7e531f68ee4b71958d52557e6c6ace0c7717d546dcddccc4a5e7fb5daeff6 AUX darcs-1.1.0pre1-ghc68.patch 1548 RMD160 bde8493cae0dd2fa9e21367ec5322252780209d5 SHA1 9f64935e8b4a44cab474352a0b8090192b3052e0 SHA256 252199c644163c24c09504c72a34cf750d065fab322a2c17bf4016d83b1b826e AUX darcs-2.0.2-add-dummy-base-dependency.diff 520 RMD160 b7206ef051d9be2df94d0c331dd029de6358106c SHA1 5c3dc86bcadfa51b452d0532d9cd45efec71a3a7 SHA256 a93ffcb918456fdb1514b02e7d1a3fc9498f8505f11d5f1d03cf9acd189a78b2 +AUX darcs-2.4.4-issue1770-curl_multi_perform-no-running-handles.patch 1617 RMD160 6cd0fdcae04518cb8d701f0db89ce7cad4a51c61 SHA1 10cd5b15ffcb9678e0fc8700b9059244a12bf06a SHA256 9716fad28813bae04e06c8a039c9e5cb094cbd0c4907855142e14c49334d387e DIST darcs-1.0.9.tar.gz 1059363 RMD160 3a971f778e4343d90e88f1ba8815ea3c880ac2a1 SHA1 b2d2238c01d530796c29db4b46fd4fd9c21be9b6 SHA256 f848a63363ad72d3217b1eb469c267c00ea6085a491172d385ab6eda210b30dc DIST darcs-2.0.2.tar.gz 1800653 RMD160 e401bd2ab64e2df4c654bdc03355ce215a053195 SHA1 75a186b906ac8bbc1144c5124c215e4c57c06222 SHA256 164c87bb7e41d1e81c4423432804b634862269291fa495f25e7f67f1b95bf49e DIST darcs-2.1.0.tar.gz 1851395 RMD160 4f0073b7a879f5e357601f92320b902098258140 SHA1 738a063e67b90f5f831b7164969f285692250cee SHA256 d5a63e62bceb45905163d508c6b25158dab6aca367015566d8c539ec37107ab4 @@ -14,13 +15,14 @@ EBUILD darcs-1.0.9.ebuild 3103 RMD160 abf5175636beace77fc07ef40caa13c45b4dd804 S EBUILD darcs-2.0.2.ebuild 3227 RMD160 665eb7b84866fce8a99fd0c93fb4ab3d56c2db78 SHA1 b850ecc4544c59092d81a9d95daebef51af2a17f SHA256 02777ab0a8e9ccf21b1b466b7090db02b66f5da3907ca8cabd8933ffa9ada1af EBUILD darcs-2.1.0-r1.ebuild 2781 RMD160 f99d3a9cbdb220c624cc584db85a18bc446ad1de SHA1 b1ad1aad24262319859e9d166470369bc77d1903 SHA256 5f83a97f4c43216c9c975009fb1e5c6d94ed2a2640135e6023a65108160fb811 EBUILD darcs-2.2.1.ebuild 2363 RMD160 1c4f98f7a7d5c57c5dbd9970ef40187915e7fbd4 SHA1 3603fb40c1836f75b87272460ca90495da167ef7 SHA256 ba6ed3fda9fa3fd27a029c50c93d0dfddf3933e76d4d31c9177883e787c218c7 +EBUILD darcs-2.4.4-r1.ebuild 4234 RMD160 55fac24bf7d0c6816c8b9e44bde1781bbed82d79 SHA1 1cab9673ca7547e0e749be65784579ff95354db3 SHA256 f9eb90c31ba6d8052dc241a2108cec12edbccc66e15e217531e56bd3f640905b EBUILD darcs-2.4.4.ebuild 4054 RMD160 879d1474fb06c40ca4124816239f1a57b4aed61d SHA1 9e724b6de27a2d6928fe2c7ae94b71fb134343a2 SHA256 405b1c6af6fbc26df5099a218affcc268cc81edb452d62316e724ddcd143d17d -MISC ChangeLog 17921 RMD160 d2faf5c020a46f0e0d52dcbd892f12901be511a4 SHA1 8a7980a8fb11d5af8d6d061d0a909d4b43dfab9e SHA256 83eb6bd6240cfc5618c7cc5d0f54f47604b7e87643a5a0f0ba43e645bca94cdd +MISC ChangeLog 18489 RMD160 261764e614d0729f5f347f67178ac567031fc581 SHA1 ef1eba9c8c6ef9284f526f078fa6222a61e246d9 SHA256 bbec63e7da09978bd6236f64510ecc827288cfb0fbe723d7507bbccb6ab4114e MISC metadata.xml 223 RMD160 7783e6057effb8b8f0b79cffe8b557b32c633839 SHA1 7b962c77f2e38479a9d1621ec8d307ca9f761753 SHA256 1d00c8be162a6cb87b3de440b3e63e10b39c12d56e8fbfe592e75aed872b2508 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) -iEYEARECAAYFAkwZwc8ACgkQ1n/CYbXjntK1gACfWiNAJV6oLijXBlEj5OUNLmhu -zGYAoKm1eKpZbaJswBzlxfVtur1J7+Vb -=ZNbk +iEYEARECAAYFAkwo76YACgkQ1n/CYbXjntLC4gCfV7CjUYaQwKG9p1eBDyBZk8Zs +eFEAn32HqHDew9NocTgN/1HvO34yFIBT +=jOwn -----END PGP SIGNATURE----- diff --git a/dev-vcs/darcs/darcs-2.4.4-r1.ebuild b/dev-vcs/darcs/darcs-2.4.4-r1.ebuild new file mode 100644 index 000000000000..f0c36cfb4afe --- /dev/null +++ b/dev-vcs/darcs/darcs-2.4.4-r1.ebuild @@ -0,0 +1,135 @@ +# 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-r1.ebuild,v 1.1 2010/06/28 18:53:32 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 + + epatch "${FILESDIR}/${P}-issue1770-curl_multi_perform-no-running-handles.patch" + + # 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" + + # hlint tests tend to break on every newly released hlint + rm "${S}/tests/haskell_policy.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=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." +} diff --git a/dev-vcs/darcs/files/darcs-2.4.4-issue1770-curl_multi_perform-no-running-handles.patch b/dev-vcs/darcs/files/darcs-2.4.4-issue1770-curl_multi_perform-no-running-handles.patch new file mode 100644 index 000000000000..dd61a027d4d5 --- /dev/null +++ b/dev-vcs/darcs/files/darcs-2.4.4-issue1770-curl_multi_perform-no-running-handles.patch @@ -0,0 +1,38 @@ +Fri Apr 16 00:47:39 CEST 2010 Dmitry Kurochkin <dmitry.kurochkin@gmail.com> + * Fix hscurl.c when URL is downloaded during the first call to curl_multi_perform. + Turns out that the first call to curl_multi_perform() can fetch the URL or + result in error. I can easily reproduce this using HTTP server on localhost. + This means that situation when running_handles is zero is valid, so remove the + error and handle it correctly. +diff -rN -u old-darcs.net/src/hscurl.c new-darcs.net/src/hscurl.c +--- old-darcs.net/src/hscurl.c 2010-06-28 19:35:56.382397912 +0200 ++++ new-darcs.net/src/hscurl.c 2010-06-28 19:35:57.544398155 +0200 +@@ -19,7 +19,6 @@ + RESULT_MULTI_INIT_FAIL, + RESULT_EASY_INIT_FAIL, + RESULT_SLIST_APPEND_FAIL, +- RESULT_NO_RUNNING_HANDLES, + RESULT_MULTI_INFO_READ_FAIL, + RESULT_UNKNOWN_MESSAGE, + RESULT_FILE_OPEN_FAIL +@@ -33,7 +32,6 @@ + "curl_multi_init() failed", + "curl_easy_init() failed", + "curl_slist_append() failed", +- "curl_multi_perform() - no running handles", + "curl_multi_info_read() failed", + "curl_multi_info_read() returned unknown message", + "fopen() failed" +@@ -67,11 +65,9 @@ + error = curl_multi_perform(multi, &running_handles); + if (error != CURLM_OK && error != CURLM_CALL_MULTI_PERFORM) + return curl_multi_strerror(error); +- if (running_handles == 0) +- return error_strings[RESULT_NO_RUNNING_HANDLES]; + + running_handles_last = running_handles; +- while (1) ++ while (running_handles_last > 0) + { + while (error == CURLM_CALL_MULTI_PERFORM) + error = curl_multi_perform(multi, &running_handles); |