summaryrefslogtreecommitdiff
path: root/dev-vcs/darcs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-vcs/darcs
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-vcs/darcs')
-rw-r--r--dev-vcs/darcs/Manifest21
-rw-r--r--dev-vcs/darcs/darcs-2.10.1.ebuild98
-rw-r--r--dev-vcs/darcs/darcs-2.10.3-r1.ebuild103
-rw-r--r--dev-vcs/darcs/darcs-2.12.0.ebuild97
-rw-r--r--dev-vcs/darcs/darcs-2.12.4.ebuild92
-rw-r--r--dev-vcs/darcs/darcs-2.12.5.ebuild94
-rw-r--r--dev-vcs/darcs/darcs-2.8.4-r6.ebuild133
-rw-r--r--dev-vcs/darcs/files/darcs-2.12.4-ghc-8.0.2_rc1.patch9
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch20
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch128
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch14
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch52
-rw-r--r--dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch70
-rw-r--r--dev-vcs/darcs/metadata.xml14
14 files changed, 945 insertions, 0 deletions
diff --git a/dev-vcs/darcs/Manifest b/dev-vcs/darcs/Manifest
new file mode 100644
index 000000000000..88d9794f34df
--- /dev/null
+++ b/dev-vcs/darcs/Manifest
@@ -0,0 +1,21 @@
+AUX darcs-2.12.4-ghc-8.0.2_rc1.patch 540 SHA256 c411b711c92dc1137538a9e3100e5d81c02f7661b5889e43e46868650636052f SHA512 455b8c3b70c78eb8f59d9792b299d5d610079fef2f72090e6eb1b26fc3b97a9e6800187e73f5be17fe0d8623b4ad6e946419ceca7971590d16d42ddcb673cab4 WHIRLPOOL 7ac8b0778c2104c9f4b4c6e0596a30facc474f60440608e6d7bd6f9622fab1c1e77b281852b77a2c23413a90f83237426b25ebe6059bc30484aa4eef7ee34756
+AUX darcs-2.8.4-fix-nonatomic-global.patch 837 SHA256 f61a2e32a707d3fdcd9cad425e129018bce7d3ec291f0c84f14ff4e8056d5d6b SHA512 98c05960d2c5d74df7c934fc6d94f1f8367e04b07ad6189004d09ce190e9bb1799cf7cd43387dad8bc15230dbebd06ccc874e81460119c3d7b959c761e359825 WHIRLPOOL 37bd60dffbd3d2bdb94ee6eaf345d6d9cf61432e48754605124ddb48b900b443e0fb8989411689de1478c1a4ca9c191ac096b18222136911c530549d7e063e9c
+AUX darcs-2.8.4-ghc-7.8-part-1.patch 5679 SHA256 454ca11d487379d3d7b19acae2c599bace01356c3f7c7a5cdace1018e82e6eda SHA512 9c6674e835227cae04074f82777a08e7b1cedc6b42deff7c271c53e2622b14217926a52ccba7651e3b7e0cfd40e0243e10529141ceae9044895d021af8ee1599 WHIRLPOOL f6063033e215dabd93e79a6b7417586ae75be89172c86c7c07ccabadc9b9593de6c83896c754314c281a5c2715ce56be4c2173b9f51582d01ad0273233ece1b0
+AUX darcs-2.8.4-ghc-7.8-part-2.patch 449 SHA256 1f8fcdc2c2c0b40d5062cbb45ec4a58f4e5777306ed4e126f7cb57a80a1ab410 SHA512 3dd469ea3f42f2b2c5388a9a47cdd4c901af2b663c8c1cb5ae75c595915e141652d3fe9f89b898483c06d3ee9b2d7df651b401e215b8aac0c1431b6e17639e41 WHIRLPOOL ed31ee69948625cd3b0c028d819eb71bb987582ae44749c4660cf0896c8d1584d2907fb246ec4019470a0d49becea0bcdee4cb8d7f9c90cd10c96dbf84a66cdb
+AUX darcs-2.8.4-issue2364-part-2.patch 1787 SHA256 f4468cdad4a344f48e3cefcf977d3423f4a5a98bce04326d6578d11b022cc19f SHA512 54594052d5492d98472da7aee611314bd08e3dfd3bfbe55b082cf3071048b4a066ddcdbbf445be6774255f406c8f67a6c9a76e536817354b89902ee30eeed02b WHIRLPOOL b07f0d58c06d44691e4a5ac907d35903fa80aeddb13d3c18cbd9368cbc270ae5baf77e90326a1b569b39db08505dd8d3cd14e0a8d31e325b32377c131f58fec9
+AUX darcs-2.8.4-issue2364.patch 2955 SHA256 82a427123f74a288bad08a23189be94b2137c5a264faa8e96e12ec527174b53c SHA512 01c70841c53bfdc8d047bd91609a30e37dee9def3c52930709a990ad4918461f01d5467ff9a0c0771def5151fdc5198c9a883c2f25ff2a16be756f60029f1e2e WHIRLPOOL f7f6cc4dfe2458a038cf1df5f8d72e1d0acd4245d297221fdf3d08c00576fbb0f7040e7498b0f21f0a43ef55298ada4e14eb46943566f901fd6450a73a67af5e
+DIST darcs-2.10.1.tar.gz 1509208 SHA256 f1ef65b43780e7593ca1afdae5ecf44ed91d62cc1be360693a52c5ff7b57ee94 SHA512 b8c3971da3d635a7d90e35226c2ffa6d6ca8e78ba18793c632b7509bc4d52c1bda2490d147cdaea5842fbe5d8826b0025de61e2fb4f58c441875c5858d910e47 WHIRLPOOL a44550b9e44125ee468b10da723742c992c215a42411c074e8c2547643694ce572db7f59b5ba4209cef5aac26bd1ddcef1c54f592e8b73fd0da941d0e9e77d93
+DIST darcs-2.10.3.tar.gz 1513296 SHA256 ca00c40d08276f94868c7c1bbc6dbd9b6b41a15c1907c34947aaa51d4dbbf642 SHA512 cf8f34df331d8a47c6a25775c465824e5d71ed00ae6bc477989b4bb0e7fad606b213a4fb4e06b02dca096df2b6b1fe36f394672a112b48c6b56188a7eae8f90e WHIRLPOOL e52fdbe2bd87de7787c0d15ed8d7499a8514d4149a30139c18060139bcbe2ab56f9525b3b4222025cd71afb167b3cc0db265fb1c339eac1336d9cb3fef45eff1
+DIST darcs-2.12.0.tar.gz 1465730 SHA256 17318d1b49ca4b1aa00a4bffc2ab30a448e7440ce1945eed9bf382d77582308d SHA512 654f9054dfe8e23e17ae00cdf22153ddaf89d114c5ee0e1ca86f373c1abf62b7bd808965f4d4df695aaba44d1d334d725cc0d57dea5df7cd1992a0ef15e49135 WHIRLPOOL fe95b27590f15259e808a0583ddce415eaca8fdcc67e473d7e35d876de2faaa46fb72996d64807cf7a0139fb10f0a11a8bb6971f1631e961f8e50c4b76c7637c
+DIST darcs-2.12.4.tar.gz 1462383 SHA256 48e836a482bd2fcfe0be499fe4f255925ce50bdcf5ce8023bb9aa359288fdc49 SHA512 52a0b9b8a23b05dc29513c20c3c0fdc0b696da87156ea83a5736ea294618b993d1f3914f82a918e331db5de0746c147244f46d396ee7dbb02fee116825e1dd6a WHIRLPOOL cf3ddcb5c542226865dff34c9f9f57bd8279dcda3fcfcd939fc1cafc944c7735b254d5277a71b330468a78ef9c06b43f5dfbd0764a8e225c8f032fdc60401ff3
+DIST darcs-2.12.5.tar.gz 1460698 SHA256 355b04c85c27bca43c8c380212988d9c1e9a984b0b593ceb2884de4295063553 SHA512 9bda8149269dc23750321f3929e156e32c76de4f5bb8291bc248d0e326bf08b69c82ef7383f9d02dcc65ca199078f6e1ab575197fc2aee225486a8c1b9275542 WHIRLPOOL 7889c5a34f58853db2fadb0197044822af30fc632b58edd33c6eb8ca9249d48c38bb69b2ddfa949aedfd1d27d8de3dc795a5ef24ccf0e683f53a09d1975f3bd1
+DIST darcs-2.8.4.tar.gz 1301464 SHA256 3fab4dbb2d5dd9f381d49f4730c12e1534b5c484b0dde9712614a7151f659f98 SHA512 c60531bacea43bdd5a18ae461dd390fe64682cac56fa4e6b5153a5da3c003b59d8fb24827bd42b4b30f0d2c61877d36b58eb98317644f9f8a200ab7c5961c48e WHIRLPOOL 128e8e58e219d427928eb8725d9566c1b6b3bb478b3cda69b30ded8798fa104eb8dec0fda8a32701f5d074babf9f11f1b3036388cd15a82118853a566c832430
+EBUILD darcs-2.10.1.ebuild 4718 SHA256 97fb5c0378aefe48cca772880afc0112ef8ce3cceffe216a6f81a7a14df5246c SHA512 def0e14e55a47d37ba3a930d31f89ce952094b06b0ff945c4d927e353684885142d2cca0df635c6b560a6d587e8c66637c2846eb6eb56e8587337425f8e00e8d WHIRLPOOL 62b0415f73142a8285f8aedd53287f727fe9ef83788a52d25cdfc42641fe3e469747f260099d23c35c936f772abc32e585ceef1eeaa64ee1b5e11f029ece65f3
+EBUILD darcs-2.10.3-r1.ebuild 4808 SHA256 423fb17886c884ff1c09c5798a97acf78e42fa994b25fd16b8cc435078405a13 SHA512 7591fca5a971792ead68bcc5ed0e60e7bd5dab9c88910fa76d286c3b4db08117e1a288b2518621a4834522f6089307bed7628c709aafd1929e81d3f28b2cc3a0 WHIRLPOOL 9aa1b4ad1972b5c38c759e539a9666f7b8d1f94a13157d0eb2b49d376c8d7c2ffe633a1f0bbd7b2cd423396b6d675a94f3053b8e9ce82eeb99fcc67850394eab
+EBUILD darcs-2.12.0.ebuild 4848 SHA256 c709e35acde6fcc4c6a9a58f74a2d5b6df3905b88cdb46e3e58fe1fb6cae1ef7 SHA512 b33bd6342fc307ebbf7fe6ee4494afcf06cd6a13ae5355269728e0bda5cd2779c877cdf8795b308aa838d5095bfe406d098a86ffef217ad943601ef2d872fdaf WHIRLPOOL 9e3f965686ca3fc3d3063d1b5c6f212d6165083bd1468c82bcea77411152c4aff58eb19a9ae0b334773e388defbd7bb3099f7fae92a63971a7c53b64ed981799
+EBUILD darcs-2.12.4.ebuild 4485 SHA256 3dea32321578aaa9c0a1196fe21da2b78608195552ffcb2e3851dd3ffe05939d SHA512 01cf2fbbbc9d72093cd7e5dc00ed120e7a7c24e0e94746dc8a3daeaac7c699ba28c61d7b1459198e35789e37ec302dfd0378e9093857ed6eca6075159d977dd9 WHIRLPOOL 99bfee247edd89ece0ce35468d3b857b95357947131532a6060a0ee46d5b88fd2cccfa98f068121b826aa0a56b4161adc6938d0d1e1ec704254581a34a065e27
+EBUILD darcs-2.12.5.ebuild 4539 SHA256 5d3ac71f4ef67a2bb01d3e38c4df033cac1028a35dd44aacc613a2f0ee443b04 SHA512 14224e9130171d617552257bdaf0c6f0b6918bfcedc84047202726eb377e7bf92ac0e6468d63d7db3b1526af09d381dbf1d84a2b575bc08a379bc5f30cb6059d WHIRLPOOL 4fc9bf56342680708e137bc07c5893b1eb297edda080575e603d3244d7c6c08000fa3d312c13fb8bf1631550317c0fc3e5ac6fc2e7646edac76d2117f32efcfe
+EBUILD darcs-2.8.4-r6.ebuild 4727 SHA256 6659c62fee30ba38d05defff3f0e354c356fc79b0f6109982036caee86058619 SHA512 9f866150888280f6b12ccc6f714a04f6789cc84d34ed982e84d365abb5a3e6c97dfcc981141675ea7ed45bf1a8f5940fd9abc138c1dce6ecaaa8faf99a8606ec WHIRLPOOL c8769117480245aad3fc6ec2850d2c4fcafe6479986bed9036ac11e9779a89600dc042ebeeeb4d19d7abe2e12139263466c282fd84b8428b76a5be203f664382
+MISC ChangeLog 4639 SHA256 bb957a0c7eb8a3ef78090112870dc87cef5a95b28c1d70ad008bd854c4220374 SHA512 64a1576187b7d02ef6cbd9b69ed55d414e7fd8a3a63c73706f5ff4bdb83351fd38a446814d56062fae38730c2d5d30a61b969668e93d34766d3c52eade811dd3 WHIRLPOOL cf8227073e0d31a68f637e799e7c2c451e8495a66a3ddfa5885bc6d5008e73ef1135230dad91c9ae7d0702af34875ee8ea6c1d363acd32d34782aba44ed362b3
+MISC ChangeLog-2015 28186 SHA256 2295f585bd79b5481b760eb508c21e38665ea89355761b887e098573bd2be3a5 SHA512 d5521bda4f122db42be0f8a70cf946158dcc45dba106f4b2917a57566c21b2720cbc6c4108efeff3e22507f2f242a0d602596b04a7650a0ca89db4fb10bd6c8f WHIRLPOOL 312546d255da137b14925aacb0618a08b7bff032147b7420c18373f0a83bf4e468585c482b3a7018fccf12137c199377ec2b608759eb58ea839b82239fcd2c1f
+MISC metadata.xml 593 SHA256 789d6af1ae66f250e11f1eeb2a0f363180257dfa100dd9d6317e6f47c042f32d SHA512 cab7d36edce3f7da1742ebf086f69468f2745cb58fae83e74fa3e6016f4a7285aaa57100fed17df47940a51029ea78892147b7fe86ef2e456b7e34cc34a421bd WHIRLPOOL 2d898a28a388d05d0bd6b077225dc455e57fd4d4cc12a5a0c9ae4761c284b3855768777a97de75095aea28e15a2f225ed972b4c2f148655727e90310fea497bf
diff --git a/dev-vcs/darcs/darcs-2.10.1.ebuild b/dev-vcs/darcs/darcs-2.10.1.ebuild
new file mode 100644
index 000000000000..74d9bedab0db
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.10.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.5.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+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="~amd64 ~x86"
+IUSE="+curl diff +http +network-uri +terminfo +threaded"
+
+RESTRICT=test # missing file 'tests/bin/renameHelper.hs'
+
+RDEPEND=">=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/binary-0.5:=[profile?] <dev-haskell/binary-0.8:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/dataenc-0.11:=[profile?] <dev-haskell/dataenc-0.15:=[profile?]
+ >=dev-haskell/hashable-1.0:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-locale-1.0:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.5:=[profile?]
+ >=dev-haskell/text-0.11.2.0:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.5:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.11:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.3:=[profile?]
+ >=dev-haskell/zlib-0.5.3.0:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ virtual/libiconv
+ >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.5:=[profile?]
+ curl? ( net-misc/curl )
+ diff? ( dev-haskell/lcs:=[profile?] )
+ http? ( >=dev-haskell/http-4000.2.3:=[profile?] <dev-haskell/http-4000.3:=[profile?]
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.3:=[profile?] <dev-haskell/network-2.6:=[profile?] ) )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.10
+ dev-lang/ghc
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.0 <dev-haskell/hunit-1.3
+ >=dev-haskell/quickcheck-2.3 <dev-haskell/quickcheck-2.9
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.1.4.1 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ $(cabal_flag diff hashed-storage-diff) \
+ --flag=-hpc \
+ $(cabal_flag http http) \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # 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"
+}
diff --git a/dev-vcs/darcs/darcs-2.10.3-r1.ebuild b/dev-vcs/darcs/darcs-2.10.3-r1.ebuild
new file mode 100644
index 000000000000..1006022a8160
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.10.3-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# ebuild generated by hackport 0.4.6.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+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="~amd64 ~x86"
+IUSE="+curl diff +http +network-uri +terminfo +threaded"
+
+RESTRICT=test # occasionally hangs on directory creation race conditions
+
+RDEPEND=">=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/binary-0.5:=[profile?] <dev-haskell/binary-0.9:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/hashable-1.0:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-locale-1.0:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.2:=[profile?] <dev-haskell/sandi-0.4:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-0.11.3.1:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.7:=[profile?] <dev-haskell/vector-0.12:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?]
+ >=dev-haskell/zlib-0.5.3.0:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.4.1:=
+ virtual/libiconv
+ >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.6:=[profile?]
+ curl? ( net-misc/curl )
+ diff? ( dev-haskell/lcs:=[profile?] )
+ http? ( >=dev-haskell/http-4000.2.3:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.3:=[profile?] <dev-haskell/network-2.6:=[profile?] ) )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.10
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.0 <dev-haskell/hunit-1.4
+ >=dev-haskell/quickcheck-2.3 <dev-haskell/quickcheck-2.9
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.1.4.1 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ cabal_chdeps \
+ 'base >= 4.5 && < 4.9' 'base >= 4.5' \
+ 'zip-archive >= 0.2.3 && < 0.3' 'zip-archive >= 0.2.3'
+}
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ $(cabal_flag diff hashed-storage-diff) \
+ --flag=-hpc \
+ $(cabal_flag http http) \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # 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"
+}
diff --git a/dev-vcs/darcs/darcs-2.12.0.ebuild b/dev-vcs/darcs/darcs-2.12.0.ebuild
new file mode 100644
index 000000000000..f7e328a92b90
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.12.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.5.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff,+http
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+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="amd64 x86"
+IUSE="+curl +network-uri +terminfo +threaded"
+
+RESTRICT=test # occasionally hangs on directory creation race conditions
+
+RDEPEND=">=dev-haskell/async-2.0.1.4:=[profile?] <dev-haskell/async-2.2:=[profile?]
+ >=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/binary-0.5:=[profile?] <dev-haskell/binary-0.9:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/fgl-5.5.0.1:=[profile?] <dev-haskell/fgl-5.6:=[profile?]
+ >=dev-haskell/graphviz-2999.17.0.1:=[profile?] <dev-haskell/graphviz-2999.19:=[profile?]
+ >=dev-haskell/hashable-1.1.2.5:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0.1.2:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/http-4000.2.8:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-locale-1.0.0.5:=[profile?] <dev-haskell/old-locale-1.1:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0.1.1:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.2:=[profile?] <dev-haskell/sandi-0.4:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-1.2.1.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.10.0.1:=[profile?] <dev-haskell/vector-0.12:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.4:=[profile?]
+ >=dev-haskell/zlib-0.5.4.1:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.6.2:=
+ >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.6:=[profile?]
+ curl? ( net-misc/curl )
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.4.1.2:=[profile?] <dev-haskell/network-2.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.16.0
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.2.5.2 <dev-haskell/hunit-1.4
+ >=dev-haskell/quickcheck-2.6 <dev-haskell/quickcheck-2.9
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.2.2 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ --flag=http \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # 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"
+}
diff --git a/dev-vcs/darcs/darcs-2.12.4.ebuild b/dev-vcs/darcs/darcs-2.12.4.ebuild
new file mode 100644
index 000000000000..bd27cb3592a7
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.12.4.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.5.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff,+http
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+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="~amd64 ~x86"
+IUSE="+curl +network-uri +terminfo +threaded"
+
+RDEPEND=">=dev-haskell/async-2.0.1.4:=[profile?] <dev-haskell/async-2.2:=[profile?]
+ >=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/fgl-5.5.0.1:=[profile?] <dev-haskell/fgl-5.6:=[profile?]
+ >=dev-haskell/graphviz-2999.17.0.1:=[profile?] <dev-haskell/graphviz-2999.19:=[profile?]
+ >=dev-haskell/hashable-1.1.2.5:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0.1.2:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/http-4000.2.8:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0.1.1:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.4:=[profile?] <dev-haskell/sandi-0.5:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-1.2.1.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.10.0.1:=[profile?] <dev-haskell/vector-0.12:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.4:=[profile?]
+ >=dev-haskell/zlib-0.5.4.1:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.10.1:=
+ curl? ( net-misc/curl )
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.4.1.2:=[profile?] <dev-haskell/network-2.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.22.2.0
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.2.5.2 <dev-haskell/hunit-1.4
+ >=dev-haskell/quickcheck-2.6 <dev-haskell/quickcheck-2.10
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.2.2 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ --flag=http \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # 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"
+}
diff --git a/dev-vcs/darcs/darcs-2.12.5.ebuild b/dev-vcs/darcs/darcs-2.12.5.ebuild
new file mode 100644
index 000000000000..df94ced13860
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.12.5.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+# ebuild generated by hackport 0.5.1.9999
+#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize,hashed-storage-diff:diff,+http
+
+CABAL_FEATURES="lib profile haddock hoogle hscolour test-suite"
+inherit haskell-cabal
+
+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="amd64 x86"
+IUSE="+curl +network-uri +terminfo +threaded"
+
+RDEPEND=">=dev-haskell/async-2.0.1.4:=[profile?] <dev-haskell/async-2.2:=[profile?]
+ >=dev-haskell/attoparsec-0.11:=[profile?] <dev-haskell/attoparsec-0.14:=[profile?]
+ >=dev-haskell/base16-bytestring-0.1:=[profile?] <dev-haskell/base16-bytestring-0.2:=[profile?]
+ >=dev-haskell/cryptohash-0.4:=[profile?] <dev-haskell/cryptohash-0.12:=[profile?]
+ >=dev-haskell/data-ordlist-0.4:=[profile?] <dev-haskell/data-ordlist-0.5:=[profile?]
+ >=dev-haskell/fgl-5.5.0.1:=[profile?] <dev-haskell/fgl-5.6:=[profile?]
+ >=dev-haskell/graphviz-2999.17.0.1:=[profile?] <dev-haskell/graphviz-2999.19:=[profile?]
+ >=dev-haskell/hashable-1.1.2.5:=[profile?] <dev-haskell/hashable-1.3:=[profile?]
+ >=dev-haskell/haskeline-0.6.3:=[profile?] <dev-haskell/haskeline-0.8:=[profile?]
+ >=dev-haskell/html-1.0.1.2:=[profile?] <dev-haskell/html-1.1:=[profile?]
+ >=dev-haskell/http-4000.2.8:=[profile?] <dev-haskell/http-4000.4:=[profile?]
+ >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?]
+ >=dev-haskell/mtl-2.1.2:=[profile?] <dev-haskell/mtl-2.3:=[profile?]
+ >=dev-haskell/old-time-1.1:=[profile?] <dev-haskell/old-time-1.2:=[profile?]
+ >=dev-haskell/parsec-3.1:=[profile?] <dev-haskell/parsec-3.2:=[profile?]
+ >=dev-haskell/random-1.0.1.1:=[profile?] <dev-haskell/random-1.2:=[profile?]
+ >=dev-haskell/regex-applicative-0.2:=[profile?] <dev-haskell/regex-applicative-0.4:=[profile?]
+ >=dev-haskell/regex-compat-tdfa-0.95.1:=[profile?] <dev-haskell/regex-compat-tdfa-0.96:=[profile?]
+ >=dev-haskell/sandi-0.4:=[profile?] <dev-haskell/sandi-0.5:=[profile?]
+ >=dev-haskell/tar-0.4:=[profile?] <dev-haskell/tar-0.6:=[profile?]
+ >=dev-haskell/text-1.2.1.3:=[profile?] <dev-haskell/text-1.3:=[profile?]
+ >=dev-haskell/transformers-compat-0.4:=[profile?] <dev-haskell/transformers-compat-0.6:=[profile?]
+ >=dev-haskell/unix-compat-0.1.2:=[profile?] <dev-haskell/unix-compat-0.5:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[profile?]
+ >=dev-haskell/vector-0.10.0.1:=[profile?] <dev-haskell/vector-0.13:=[profile?]
+ >=dev-haskell/zip-archive-0.2.3:=[profile?] <dev-haskell/zip-archive-0.4:=[profile?]
+ >=dev-haskell/zlib-0.5.4.1:=[profile?] <dev-haskell/zlib-0.7.0.0:=[profile?]
+ >=dev-lang/ghc-7.10.1:=
+ curl? ( net-misc/curl )
+ network-uri? ( >=dev-haskell/network-2.6:=[profile?] <dev-haskell/network-2.7:=[profile?]
+ >=dev-haskell/network-uri-2.6:=[profile?] <dev-haskell/network-uri-2.7:=[profile?] )
+ !network-uri? ( >=dev-haskell/network-2.4.1.2:=[profile?] <dev-haskell/network-2.6:=[profile?] )
+ terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] )
+"
+DEPEND="${RDEPEND}
+ >=dev-haskell/cabal-1.22.2.0
+ test? ( >=dev-haskell/cmdargs-0.10 <dev-haskell/cmdargs-0.11
+ >=dev-haskell/findbin-0.0 <dev-haskell/findbin-0.1
+ >=dev-haskell/hunit-1.2.5.2 <dev-haskell/hunit-1.6
+ >=dev-haskell/quickcheck-2.6 <dev-haskell/quickcheck-2.10
+ >=dev-haskell/shelly-1.6.2 <dev-haskell/shelly-1.7
+ >=dev-haskell/split-0.2.2 <dev-haskell/split-0.3
+ >=dev-haskell/test-framework-0.4.0 <dev-haskell/test-framework-0.9
+ >=dev-haskell/test-framework-hunit-0.2.2 <dev-haskell/test-framework-hunit-0.4
+ >=dev-haskell/test-framework-quickcheck2-0.3 <dev-haskell/test-framework-quickcheck2-0.4 )
+ curl? ( virtual/pkgconfig )
+"
+
+PATCHES=("${FILESDIR}"/${PN}-2.12.4-ghc-8.0.2_rc1.patch)
+
+src_configure() {
+ haskell-cabal_src_configure \
+ $(cabal_flag curl curl) \
+ --flag=executable \
+ --flag=-hpc \
+ --flag=http \
+ --flag=library \
+ $(cabal_flag network-uri network-uri) \
+ --flag=-optimize \
+ --flag=pkgconfig \
+ --flag=-rts \
+ --flag=-static \
+ $(cabal_flag terminfo terminfo) \
+ $(cabal_flag threaded threaded) \
+ --flag=-warn-as-error
+}
+
+src_install() {
+ haskell-cabal_src_install
+
+ # 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"
+}
diff --git a/dev-vcs/darcs/darcs-2.8.4-r6.ebuild b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild
new file mode 100644
index 000000000000..d16e80cbb5f6
--- /dev/null
+++ b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+# ebuild generated by hackport 0.3.9999
+
+CABAL_FEATURES="bin lib profile haddock hoogle hscolour"
+inherit eutils 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 ~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.3:=[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/terminfo-0.5:=[profile?]
+ >=dev-haskell/text-0.11.0.6:=[profile?]
+ >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-0.4:=[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"
+
+ epatch "${FILESDIR}"/${P}-ghc-7.8-part-1.patch
+ epatch "${FILESDIR}"/${P}-ghc-7.8-part-2.patch
+ epatch "${FILESDIR}"/${P}-fix-nonatomic-global.patch
+ epatch "${FILESDIR}"/${P}-issue2364.patch
+ epatch "${FILESDIR}"/${P}-issue2364-part-2.patch
+
+ cabal_chdeps \
+ 'text >= 0.11.0.6 && < 0.12.0.0' 'text >= 0.11.0.6' \
+ 'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \
+ 'array >= 0.1 && < 0.5' 'array >= 0.1 && <0.6' \
+ 'process >= 1.0.0.0 && < 1.2.0.0' 'process >= 1.0.0.0 && < 1.3' \
+ 'unix >= 1.0 && < 2.7' 'unix >=1.0 && <2.8' \
+ 'base >= 4.5 && < 4.7' 'base >= 4.5 && < 4.8' \
+ 'ghc >= 6.10 && < 7.8' 'ghc >= 6.10' \
+ 'mtl >= 1.0 && < 2.2' 'mtl >= 1.0 && < 2.3'
+}
+
+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 \
+ --flags=force-char8-encoding \
+ $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.12.4-ghc-8.0.2_rc1.patch b/dev-vcs/darcs/files/darcs-2.12.4-ghc-8.0.2_rc1.patch
new file mode 100644
index 000000000000..9602d1d1ccdc
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.12.4-ghc-8.0.2_rc1.patch
@@ -0,0 +1,9 @@
+diff --git a/harness/Darcs/Test/Patch.hs b/harness/Darcs/Test/Patch.hs
+index f50f6b9..f0f4e2a 100644
+--- a/harness/Darcs/Test/Patch.hs
++++ b/harness/Darcs/Test/Patch.hs
+@@ -244,3 +244,3 @@ properties :: forall thing gen. (Show1 gen, Arbitrary (Sealed gen)) =>
+ properties gen prefix genname tests =
+- [ cond name condition check | (name, condition, check) <- tests ]
++ [ cond name condition check | (name, condition :: TestCondition thing, check :: TestCheck thing testable) <- tests ]
+ where cond :: forall testable. Testable testable
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch b/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch
new file mode 100644
index 000000000000..c3fce6fbc9e8
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch
@@ -0,0 +1,20 @@
+There is a bug in speculateFileOrUrl.
+It puts downloaded file nonatomically.
+
+There is a window when copyFileOrUrl can (and does)
+copy partially downloaded file.
+
+Darcs-bug: http://bugs.darcs.net/issue2364
+diff --git a/src/Darcs/External.hs b/src/Darcs/External.hs
+index 2e0e791..d5a0b9f 100644
+--- a/src/Darcs/External.hs
++++ b/src/Darcs/External.hs
+@@ -184,7 +184,7 @@ copyFileOrUrl rd fou out _ | isSshUrl fou = copySSH rd (splitSshUrl fou)
+ copyFileOrUrl _ fou _ _ = fail $ "unknown transport protocol: " ++ fou
+
+ speculateFileOrUrl :: String -> FilePath -> IO ()
+-speculateFileOrUrl fou out | isHttpUrl fou = speculateRemote fou out
++speculateFileOrUrl fou out | isHttpUrl fou = speculateRemote fou out >> waitUrl fou
+ | otherwise = return ()
+
+ copyLocal :: String -> FilePath -> IO ()
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch
new file mode 100644
index 000000000000..3680c29b0440
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch
@@ -0,0 +1,128 @@
+diff --git a/src/Crypt/SHA256.hs b/src/Crypt/SHA256.hs
+index 69a8a4c..606f2ad 100644
+--- a/src/Crypt/SHA256.hs
++++ b/src/Crypt/SHA256.hs
+@@ -20,9 +20,10 @@ import Numeric (showHex)
+ import Foreign.C.String ( withCString )
+ import Data.ByteString.Unsafe (unsafeUseAsCStringLen)
+ import qualified Data.ByteString as B
++import qualified System.IO.Unsafe as U
+
+ sha256sum :: B.ByteString -> String
+-sha256sum p = unsafePerformIO $
++sha256sum p = U.unsafePerformIO $
+ withCString (take 64 $ repeat 'x') $ \digestCString ->
+ unsafeUseAsCStringLen p $ \(ptr,n) ->
+ do let digest = castPtr digestCString :: Ptr Word8
+diff --git a/src/Darcs/Commands/Get.hs b/src/Darcs/Commands/Get.hs
+index e450d28..6b51915 100644
+--- a/src/Darcs/Commands/Get.hs
++++ b/src/Darcs/Commands/Get.hs
+@@ -157,7 +157,8 @@ copyRepoAndGoToChosenVersion opts repodir rfsource = do
+ copyRepo
+ withRepository opts ((RepoJob $ \repository -> goToChosenVersion repository opts) :: RepoJob ())
+ putInfo opts $ text "Finished getting."
+- where copyRepo =
++ where copyRepo :: IO ()
++ copyRepo =
+ withRepository opts $ RepoJob $ \repository ->
+ if formatHas HashedInventory rfsource
+ then do
+diff --git a/src/Darcs/Global.hs b/src/Darcs/Global.hs
+index 9792bf0..e17f071 100644
+--- a/src/Darcs/Global.hs
++++ b/src/Darcs/Global.hs
+@@ -60,8 +60,9 @@ module Darcs.Global
+ import Control.Applicative ( (<$>), (<*>) )
+ import Control.Monad ( when )
+ import Control.Concurrent.MVar
+-import Control.Exception.Extensible ( bracket_, catch, catchJust, SomeException
+- , block, unblock
++import Control.Exception.Extensible as E
++ ( bracket_, catch, catchJust, SomeException
++ , mask
+ )
+ import Data.IORef ( IORef, newIORef, readIORef, writeIORef )
+ import Data.IORef ( modifyIORef )
+@@ -106,12 +107,12 @@ withAtexit prog =
+ exit
+ prog
+ where
+- exit = block $ do
++ exit = E.mask $ \restore -> do
+ Just actions <- swapMVar atexitActions Nothing
+ -- from now on atexit will not register new actions
+- mapM_ runAction actions
+- runAction action =
+- catch (unblock action) $ \(exn :: SomeException) -> do
++ mapM_ (runAction restore) actions
++ runAction restore action =
++ catch (restore action) $ \(exn :: SomeException) -> do
+ hPutStrLn stderr $ "Exception thrown by an atexit registered action:"
+ hPutStrLn stderr $ show exn
+
+diff --git a/src/Darcs/SignalHandler.hs b/src/Darcs/SignalHandler.hs
+index ac0f526..d0ef162 100644
+--- a/src/Darcs/SignalHandler.hs
++++ b/src/Darcs/SignalHandler.hs
+@@ -26,8 +26,8 @@ import Prelude hiding ( catch )
+ import System.IO.Error ( isUserError, ioeGetErrorString, ioeGetFileName )
+ import System.Exit ( exitWith, ExitCode ( ExitFailure ) )
+ import Control.Concurrent ( ThreadId, myThreadId )
+-import Control.Exception.Extensible
+- ( catch, throw, throwTo, block, unblock,
++import Control.Exception.Extensible as E
++ ( catch, throw, throwTo, mask,
+ Exception(..), SomeException(..), IOException )
+ import System.Posix.Files ( getFdStatus, isNamedPipe )
+ import System.Posix.IO ( stdOutput )
+@@ -128,8 +128,8 @@ catchUserErrors comp handler = catch comp handler'
+ | otherwise = throw ioe
+
+ withSignalsBlocked :: IO a -> IO a
+-withSignalsBlocked job = block (job >>= \r ->
+- unblock(return r) `catchSignal` couldnt_do r)
++withSignalsBlocked job = E.mask $ \restore -> (job >>= \r ->
++ restore (return r) `catchSignal` couldnt_do r)
+ where couldnt_do r s | s == sigINT = oops "interrupt" r
+ | s == sigHUP = oops "HUP" r
+ | s == sigABRT = oops "ABRT" r
+diff --git a/src/Darcs/Test/Patch/Info.hs b/src/Darcs/Test/Patch/Info.hs
+index fd27fb3..b35cfef 100644
+--- a/src/Darcs/Test/Patch/Info.hs
++++ b/src/Darcs/Test/Patch/Info.hs
+@@ -28,7 +28,6 @@ import Data.Maybe ( isNothing )
+ import Data.Text as T ( find, any )
+ import Data.Text.Encoding ( decodeUtf8With )
+ import Data.Text.Encoding.Error ( lenientDecode )
+-import Foreign ( unsafePerformIO )
+ import Test.QuickCheck ( Arbitrary(arbitrary), oneof, listOf, choose, shrink
+ , Gen )
+ import Test.Framework.Providers.QuickCheck2 ( testProperty )
+@@ -39,6 +38,8 @@ import Darcs.Patch.Info ( PatchInfo(..), patchinfo,
+ piLog, piAuthor, piName )
+ import ByteStringUtils ( decodeLocale, packStringToUTF8, unpackPSFromUTF8 )
+
++import qualified System.IO.Unsafe as U
++
+ testSuite :: Test
+ testSuite = testGroup "Darcs.Patch.Info"
+ [ metadataDecodingTest
+@@ -86,7 +87,7 @@ instance Arbitrary UTF8PatchInfo where
+ sa <- shrink (piAuthor pi)
+ sl <- shrink (filter (not . isPrefixOf "Ignore-this:") (piLog pi))
+ return (UTF8PatchInfo
+- (unsafePerformIO $ patchinfo sn
++ (U.unsafePerformIO $ patchinfo sn
+ (BC.unpack (_piDate pi)) sa sl))
+
+ instance Arbitrary UTF8OrNotPatchInfo where
+@@ -101,7 +102,7 @@ arbitraryUTF8Patch =
+ d <- arbitrary
+ a <- asString `fmap` arbitrary
+ l <- (lines . asString) `fmap` arbitrary
+- return $ unsafePerformIO $ patchinfo n d a l
++ return $ U.unsafePerformIO $ patchinfo n d a l
+
+ -- | Generate arbitrary patch metadata that has totally arbitrary byte strings
+ -- as its name, date, author and log.
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch
new file mode 100644
index 000000000000..33786477b3fa
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch
@@ -0,0 +1,14 @@
+diff --git a/src/Darcs/Test/Patch.hs b/src/Darcs/Test/Patch.hs
+index 0f7ed24..078fbc3 100644
+--- a/src/Darcs/Test/Patch.hs
++++ b/src/Darcs/Test/Patch.hs
+@@ -2,6 +2,9 @@
+ #if __GLASGOW_HASKELL__ >= 700
+ {-# LANGUAGE ImpredicativeTypes #-}
+ #endif
++#if __GLASGOW_HASKELL__ >= 708
++{-# LANGUAGE AllowAmbiguousTypes #-}
++#endif
+ -- Copyright (C) 2002-2005,2007 David Roundy
+ --
+ -- This program is free software; you can redistribute it and/or modify
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch b/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch
new file mode 100644
index 000000000000..6164a4a00074
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch
@@ -0,0 +1,52 @@
+Tue May 13 22:07:19 FET 2014 Sergei Trofimovich <slyfox@community.haskell.org>
+ * resolve issue2364: don't break list of 'bad sources'
+
+ This time the bug manifested on a simple operation:
+ $ darcs record -a -m "something"
+
+ Attempt to write a patch resulted in something like:
+ Failed to record patch 'hello'
+
+ HINT: I could not reach the following repositories:
+ http://repetae.net/repos/jhc
+ /home/st/.darcs/cache
+ /home/st/.cache/darcs
+ /home/st/dev/darcs/jhc
+ If you're not using them, you should probably delete
+
+ The sequence should be the following:
+ 1. store patch to inventory/foo
+ 2. try to store to a writable cache (say, ~/.darcs/cache/patches)
+ 3. fail to write
+ 4. filter out bad caches
+ 5. try again
+ 6. copy from cache to patches/
+
+ Due to missing NOINLINE step 4. led to
+ all caches treated as writable, thus step 5
+ failed without a chance for patch to
+ go to 'patches/'.
+
+ As a side-effect building darcs with -O0 produced seemingly working darcs.
+ Reported-by: Ivan Miljenovic
+diff -rN -u old-darcs.net/src/Darcs/Util/Global.hs new-darcs.net/src/Darcs/Util/Global.hs
+--- old-darcs.net/src/Darcs/Global.hs 2014-05-13 22:23:29.897329750 +0300
++++ new-darcs.net/src/Darcs/Global.hs 2014-05-13 22:23:29.979329754 +0300
+@@ -135,7 +135,7 @@
+
+ _badSourcesList :: IORef [String]
+ _badSourcesList = unsafePerformIO $ newIORef []
+-{- NOINLINE _badSourcesList -}
++{-# NOINLINE _badSourcesList #-}
+
+
+ addBadSource :: String -> IO ()
+@@ -154,7 +154,7 @@
+
+ _reachableSourcesList :: IORef [String]
+ _reachableSourcesList = unsafePerformIO $ newIORef []
+-{- NOINLINE _reachableSourcesList -}
++{-# NOINLINE _reachableSourcesList #-}
+
+
+ addReachableSource :: String -> IO ()
diff --git a/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch b/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch
new file mode 100644
index 000000000000..97c4e0f1ad2b
--- /dev/null
+++ b/dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch
@@ -0,0 +1,70 @@
+* resolve issue2364: fix file corruption on double fetch
+
+The bug is the result of attempt to fetch the same file
+(say F) by the same URL (U) multiple times concurrently.
+
+First time U gets fetched by speculative prefetch logic.
+Second time as an ordinary file (while first fetch is not finished).
+
+The function 'copyUrlWithPriority' sends download request
+to 'urlChan' both times (it's already not a nice situation,
+fixed by this patch).
+
+Later urlThread satisfies first request, notifies receiver,
+and starts downloading exactly the same U again.
+
+I don't know exact data corruption mechanics yet, but it has
+to do with non-random intermediate file names of downloaded
+files and 'truncate' call when temp file is opened for a new
+downlaod job.
+
+All temp names are completely non-random for a single darcs run:
+
+ urlThread :: Chan UrlRequest -> IO ()
+ urlThread ch = do
+ junk <- flip showHex "" `fmap` randomRIO rrange
+ evalStateT urlThread' (UrlState Map.empty emptyQ 0 junk)
+
+ createDownloadFileName :: FilePath -> UrlState -> FilePath
+ createDownloadFileName f st = f ++ "-new_" ++ randomJunk st
+
+My theory is next download manages to step on toes of previous job.
+
+I'll try to make file names truly random in other patch.
+That way such errors should manifest as read erros instead of data
+corruption.
+
+Thanks!
+diff --git a/src/URL.hs b/src/URL.hs
+index 4cb85ee..26de278 100644
+--- a/src/URL.hs
++++ b/src/URL.hs
+@@ -18,11 +18,12 @@ module URL ( copyUrl, copyUrlFirst, setDebugHTTP,
+ import Data.IORef ( newIORef, readIORef, writeIORef, IORef )
+ import Data.Map ( Map )
+ import qualified Data.Map as Map
++import Data.Tuple ( swap )
+ import System.Directory ( copyFile )
+ import System.IO.Unsafe ( unsafePerformIO )
+ import Control.Concurrent ( forkIO )
+ import Control.Concurrent.Chan ( isEmptyChan, newChan, readChan, writeChan, Chan )
+-import Control.Concurrent.MVar ( isEmptyMVar, modifyMVar_, newEmptyMVar, newMVar, putMVar, readMVar, withMVar, MVar )
++import Control.Concurrent.MVar ( isEmptyMVar, modifyMVar, modifyMVar_, newEmptyMVar, newMVar, putMVar, readMVar, withMVar, MVar )
+ import Control.Monad ( unless, when )
+ import Control.Monad.Trans ( liftIO )
+ import Control.Monad.State ( evalStateT, get, modify, put, StateT )
+@@ -196,10 +197,10 @@ copyUrlWithPriority p u f c = do
+ debugMessage ("URL.copyUrlWithPriority ("++u++"\n"++
+ " -> "++f++")")
+ v <- newEmptyMVar
+- let fn _ old_val = old_val
+- modifyMVar_ urlNotifications (return . (Map.insertWith fn u v))
+- let r = UrlRequest u f c p
+- writeChan urlChan r
++ old_mv <- modifyMVar urlNotifications (return . swap . Map.insertLookupWithKey (\_k _n old -> old) u v)
++ case old_mv of
++ Nothing -> writeChan urlChan $ UrlRequest u f c p -- ok, new URL
++ Just _ -> debugMessage $ "URL.copyUrlWithPriority already in progress, skip (" ++ u ++ "\n" ++ "-> " ++ f ++ ")"
+
+ waitNextUrl :: StateT UrlState IO ()
+ waitNextUrl = do
diff --git a/dev-vcs/darcs/metadata.xml b/dev-vcs/darcs/metadata.xml
new file mode 100644
index 000000000000..f42758756fc4
--- /dev/null
+++ b/dev-vcs/darcs/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>haskell@gentoo.org</email>
+</maintainer>
+<use>
+ <flag name="diff">Use 'lcs' for diff building.</flag>
+ <flag name="http">Use the pure Haskell HTTP package for HTTP support.</flag>
+ <flag name="network-uri">Get Network.URI from the network-uri package.</flag>
+ <flag name="terminfo">Use the terminfo package for enhanced console support.</flag>
+ <flag name="threaded">Use threading and SMP support.</flag>
+</use>
+</pkgmetadata>