diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-vcs/darcs | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-vcs/darcs')
-rw-r--r-- | dev-vcs/darcs/Manifest | 4 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.10.0-r1.ebuild | 107 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.10.1.ebuild | 100 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.8.4-r3.ebuild | 128 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.8.4-r6.ebuild | 134 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.8.4.ebuild | 117 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.8.5-r3.ebuild | 94 | ||||
-rw-r--r-- | dev-vcs/darcs/darcs-2.8.5-r4.ebuild | 96 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.4-fix-nonatomic-global.patch | 20 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-1.patch | 128 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.4-ghc-7.8-part-2.patch | 14 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.4-issue2364-part-2.patch | 52 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.4-issue2364.patch | 70 | ||||
-rw-r--r-- | dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch | 142 | ||||
-rw-r--r-- | dev-vcs/darcs/metadata.xml | 17 |
15 files changed, 1223 insertions, 0 deletions
diff --git a/dev-vcs/darcs/Manifest b/dev-vcs/darcs/Manifest new file mode 100644 index 000000000000..873e747e10d0 --- /dev/null +++ b/dev-vcs/darcs/Manifest @@ -0,0 +1,4 @@ +DIST darcs-2.10.0.tar.gz 1502347 SHA256 52b3db3f7b64a4306585b96af7b5887f62ba54f6e9c3bdbed9b6a18d97f16b36 SHA512 216fb69aeed03c56cc7773eb92b8de3ec60be0526826a15a05230b7a66f9804e492be230c82c6475faa46e49ffed1531a9b03ea0d9c60e8de802cb9cdd421dcb WHIRLPOOL 3c62966ee5ab933471f8c42ff8be622ed8d6d0f8c392528906288f0da8a0d8dacb512c8645b82fba4ca4a03f628fc361630079b0bd6d6d09bce640cf03fd322c +DIST darcs-2.10.1.tar.gz 1509208 SHA256 f1ef65b43780e7593ca1afdae5ecf44ed91d62cc1be360693a52c5ff7b57ee94 SHA512 b8c3971da3d635a7d90e35226c2ffa6d6ca8e78ba18793c632b7509bc4d52c1bda2490d147cdaea5842fbe5d8826b0025de61e2fb4f58c441875c5858d910e47 WHIRLPOOL a44550b9e44125ee468b10da723742c992c215a42411c074e8c2547643694ce572db7f59b5ba4209cef5aac26bd1ddcef1c54f592e8b73fd0da941d0e9e77d93 +DIST darcs-2.8.4.tar.gz 1301464 SHA256 3fab4dbb2d5dd9f381d49f4730c12e1534b5c484b0dde9712614a7151f659f98 SHA512 c60531bacea43bdd5a18ae461dd390fe64682cac56fa4e6b5153a5da3c003b59d8fb24827bd42b4b30f0d2c61877d36b58eb98317644f9f8a200ab7c5961c48e WHIRLPOOL 128e8e58e219d427928eb8725d9566c1b6b3bb478b3cda69b30ded8798fa104eb8dec0fda8a32701f5d074babf9f11f1b3036388cd15a82118853a566c832430 +DIST darcs-2.8.5.tar.gz 1306525 SHA256 064310ed589c89500e224ad5254ab88de815c349f14f9aef9513720eb857e399 SHA512 810fd8d2df2f8703891e85dc512b0185257dc84a35590aecb2077e14a78096b4fac57dbd7f89218987d04df846992d51c5d5c4deb8cc9f441ce9195ab202223b WHIRLPOOL 78cb6d20d8bd0af5eea71e3e737c12ef7063eb71f1788c2eb173abd5813930862b2e8f078243f2f650e4a65a4405b2d1d1539aef05a193e85521f367ec3ddd80 diff --git a/dev-vcs/darcs/darcs-2.10.0-r1.ebuild b/dev-vcs/darcs/darcs-2.10.0-r1.ebuild new file mode 100644 index 000000000000..25b457429995 --- /dev/null +++ b/dev-vcs/darcs/darcs-2.10.0-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# ebuild generated by hackport 0.4.5.9999 +#hackport: flags: +library,+executable,-hpc,-warn-as-error,+pkgconfig,-rts,-static,-optimize + +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 +terminfo +threaded" + +RESTRICT=test # some files are missing + +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.6.0.0:=[profile?] + >=dev-lang/ghc-7.4.1:= + virtual/libiconv + || ( ( >=dev-haskell/transformers-0.3:=[profile?] <dev-haskell/transformers-0.4.0.0:=[profile?] ) + ( >dev-haskell/transformers-0.4.0.0:=[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?] + >=dev-haskell/network-2.6:=[profile?] + dev-haskell/network-uri:=[profile?] + ) + terminfo? ( >=dev-haskell/terminfo-0.3:=[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.8 + >=dev-haskell/shelly-1.6 <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 \ + 'terminfo == 0.3.*' 'terminfo >= 0.3' \ + 'network >= 2.3 && < 2.5' 'network >= 2.6, network-uri' \ + 'QuickCheck >= 2.3 && < 2.8' 'QuickCheck >= 2.3' \ + 'attoparsec >= 0.11 && < 0.13' 'attoparsec >= 0.11 && < 0.14' +} + +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 \ + --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.1.ebuild b/dev-vcs/darcs/darcs-2.10.1.ebuild new file mode 100644 index 000000000000..b23bab985e36 --- /dev/null +++ b/dev-vcs/darcs/darcs-2.10.1.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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.4.0.0:=[profile?] ) + ( >dev-haskell/transformers-0.4.0.0:=[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.8.4-r3.ebuild b/dev-vcs/darcs/darcs-2.8.4-r3.ebuild new file mode 100644 index 000000000000..b21ee9339264 --- /dev/null +++ b/dev-vcs/darcs/darcs-2.8.4-r3.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~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/terminfo-0.5:=[profile?] + >=dev-haskell/text-0.11.0.6:=[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 + + 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 && < 7.9' +} + +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/darcs-2.8.4-r6.ebuild b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild new file mode 100644 index 000000000000..7ea5b9fe71ee --- /dev/null +++ b/dev-vcs/darcs/darcs-2.8.4-r6.ebuild @@ -0,0 +1,134 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 ~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.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/darcs-2.8.4.ebuild b/dev-vcs/darcs/darcs-2.8.4.ebuild new file mode 100644 index 000000000000..7c2fae5540d2 --- /dev/null +++ b/dev-vcs/darcs/darcs-2.8.4.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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/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" +} + +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/darcs-2.8.5-r3.ebuild b/dev-vcs/darcs/darcs-2.8.5-r3.ebuild new file mode 100644 index 000000000000..06cb957839ca --- /dev/null +++ b/dev-vcs/darcs/darcs-2.8.5-r3.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# ebuild generated by hackport 0.4.4.9999 +#hackport: flags: +library,+executable,-hpc,-warn-as-error + +CABAL_FEATURES="bin lib profile haddock hoogle hscolour" +inherit base 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="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +IUSE="+color +curl +http +mmap +network-uri +optimize static +terminfo test +threaded" + +RDEPEND=">=dev-haskell/extensible-exceptions-0.1:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[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/html-1.1:=[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/random-1.2:=[profile?] + >=dev-haskell/regex-compat-0.95.1:=[profile?] + >=dev-haskell/tar-0.3:=[profile?] <dev-haskell/tar-0.5:=[profile?] + >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[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-7.4.1:= + virtual/libiconv + curl? ( net-misc/curl ) + http? ( >=dev-haskell/http-4000.0.8:=[profile?] <dev-haskell/http-4000.3:=[profile?] + network-uri? ( >=dev-haskell/network-2.6:=[profile?] + >=dev-haskell/network-uri-2.6:=[profile?] ) + !network-uri? ( >=dev-haskell/network-2.2:=[profile?] <dev-haskell/network-2.6:=[profile?] ) ) + mmap? ( >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?] ) + terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.8 + dev-lang/ghc + test? ( >=dev-haskell/cmdlib-0.2.1:=[profile?] <dev-haskell/cmdlib-0.4:=[profile?] + >=dev-haskell/findbin-0.0:=[profile?] <dev-haskell/findbin-0.1:=[profile?] + >=dev-haskell/hunit-1.0:=[profile?] + >=dev-haskell/quickcheck-2.3:2=[profile?] + >=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?] ) +" + +PATCHES=("${FILESDIR}/${P}-ghc-7.10.patch") + +src_prepare() { + base_src_prepare + cabal_chdeps \ + 'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \ + 'text >= 0.11.0.6 && < 1.2' 'text >= 0.11.0.6 && < 1.3' \ + 'random == 1.0.*' 'random >= 1.0 && < 1.2' \ + 'base >= 4.5 && < 4.8' 'base >= 4.5 && < 4.9' \ + 'ghc >= 6.10 && < 7.10' 'ghc >= 6.10 && < 7.12' +} + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag color color) \ + $(cabal_flag curl curl) \ + --flag=executable \ + --flag=-hpc \ + $(cabal_flag http http) \ + --flag=library \ + $(cabal_flag mmap mmap) \ + $(cabal_flag network-uri network-uri) \ + $(cabal_flag optimize optimize) \ + $(cabal_flag static static) \ + $(cabal_flag terminfo terminfo) \ + $(cabal_flag test test) \ + $(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.8.5-r4.ebuild b/dev-vcs/darcs/darcs-2.8.5-r4.ebuild new file mode 100644 index 000000000000..ab45bdd2461a --- /dev/null +++ b/dev-vcs/darcs/darcs-2.8.5-r4.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +# ebuild generated by hackport 0.4.4.9999 +#hackport: flags: +library,+executable,-hpc,-warn-as-error + +CABAL_FEATURES="bin lib profile haddock hoogle hscolour" +inherit base 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="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris" +IUSE="+color +curl +http +mmap +network-uri +optimize static +terminfo test +threaded" + +RDEPEND=">=dev-haskell/extensible-exceptions-0.1:=[profile?] <dev-haskell/extensible-exceptions-0.2:=[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/html-1.1:=[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/random-1.2:=[profile?] + >=dev-haskell/regex-compat-0.95.1:=[profile?] + >=dev-haskell/tar-0.3:=[profile?] <dev-haskell/tar-0.5:=[profile?] + >=dev-haskell/text-0.11.0.6:=[profile?] <dev-haskell/text-1.3:=[profile?] + >=dev-haskell/utf8-string-0.3.6:=[profile?] <dev-haskell/utf8-string-1.1:=[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-7.4.1:= + virtual/libiconv + curl? ( net-misc/curl ) + http? ( >=dev-haskell/http-4000.0.8:=[profile?] <dev-haskell/http-4000.3:=[profile?] + network-uri? ( >=dev-haskell/network-2.6:=[profile?] + >=dev-haskell/network-uri-2.6:=[profile?] ) + !network-uri? ( >=dev-haskell/network-2.2:=[profile?] <dev-haskell/network-2.6:=[profile?] ) ) + mmap? ( >=dev-haskell/mmap-0.5:=[profile?] <dev-haskell/mmap-0.6:=[profile?] ) + terminfo? ( >=dev-haskell/terminfo-0.3:=[profile?] <dev-haskell/terminfo-0.5:=[profile?] ) +" +DEPEND="${RDEPEND} + >=dev-haskell/cabal-1.8 + dev-lang/ghc + test? ( >=dev-haskell/cmdlib-0.2.1:=[profile?] <dev-haskell/cmdlib-0.4:=[profile?] + >=dev-haskell/findbin-0.0:=[profile?] <dev-haskell/findbin-0.1:=[profile?] + >=dev-haskell/hunit-1.0:=[profile?] + >=dev-haskell/quickcheck-2.3:2=[profile?] + >=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?] ) +" + +PATCHES=("${FILESDIR}/${P}-ghc-7.10.patch") + +src_prepare() { + base_src_prepare + cabal_chdeps \ + 'terminfo == 0.3.*' 'terminfo >= 0.3 && < 0.5' \ + 'text >= 0.11.0.6 && < 1.2' 'text >= 0.11.0.6 && < 1.3' \ + 'random == 1.0.*' 'random >= 1.0 && < 1.2' \ + 'base >= 4.5 && < 4.8' 'base >= 4.5 && < 4.9' \ + 'ghc >= 6.10 && < 7.10' 'ghc >= 6.10 && < 7.12' \ + 'utf8-string >= 0.3.6 && < 0.4' 'utf8-string >= 0.3.6 && < 1.1' + +} + +src_configure() { + haskell-cabal_src_configure \ + $(cabal_flag color color) \ + $(cabal_flag curl curl) \ + --flag=executable \ + --flag=-hpc \ + $(cabal_flag http http) \ + --flag=library \ + $(cabal_flag mmap mmap) \ + $(cabal_flag network-uri network-uri) \ + $(cabal_flag optimize optimize) \ + $(cabal_flag static static) \ + $(cabal_flag terminfo terminfo) \ + $(cabal_flag test test) \ + $(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/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/files/darcs-2.8.5-ghc-7.10.patch b/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch new file mode 100644 index 000000000000..138c0848b9b8 --- /dev/null +++ b/dev-vcs/darcs/files/darcs-2.8.5-ghc-7.10.patch @@ -0,0 +1,142 @@ +--- darcs-2.8.5-orig/src/Darcs/Repository/Internal.hs 2014-08-26 06:27:34.000000000 +1000 ++++ darcs-2.8.5/src/Darcs/Repository/Internal.hs 2015-01-03 12:18:03.576529408 +1100 +@@ -71,8 +71,8 @@ + writeProblem, readProblem, readfromAndWritetoProblem ) + import System.Directory ( doesDirectoryExist, setCurrentDirectory, + createDirectoryIfMissing, doesFileExist ) +-import Control.Monad ( when, unless, filterM ) +-import Control.Applicative ( (<$>) ) ++import Control.Monad ( when, unless, filterM, ap ) ++import Control.Applicative ( Applicative(..), (<$>) ) + import Control.Exception ( catch, IOException ) + + import Workaround ( getCurrentDirectory, renameFile, setExecutable ) +@@ -184,6 +184,10 @@ + instance Functor (RIO p C(r u t t)) where + fmap f m = RIO $ \r -> fmap f (unsafeUnRIO m r) + ++instance Applicative (RIO p C(r u t t)) where ++ pure = return ++ (<*>) = ap ++ + -- | We have an instance of Monad so that IO actions that do not + -- change the tentative recorded state are convenient in the IO monad. + instance Monad (RIO p C(r u t t)) where +--- darcs-2.8.5-orig/src/Darcs/Patch/Prim/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000 ++++ darcs-2.8.5/src/Darcs/Patch/Prim/V1/Commute.hs 2015-01-03 12:11:31.281425244 +1100 +@@ -6,7 +6,8 @@ + where + + import Prelude hiding ( pi ) +-import Control.Monad ( MonadPlus, msum, mzero, mplus ) ++import Control.Applicative ( Applicative(..), Alternative(..) ) ++import Control.Monad ( MonadPlus, msum, mzero, mplus, liftM, ap ) + + import qualified Data.ByteString as B (ByteString, concat) + import qualified Data.ByteString.Char8 as BC (pack) +@@ -35,6 +36,17 @@ + + data Perhaps a = Unknown | Failed | Succeeded a + ++instance Functor Perhaps where ++ fmap = liftM ++ ++instance Applicative Perhaps where ++ pure = return ++ (<*>) = ap ++ ++instance Alternative Perhaps where ++ (<|>) = mplus ++ empty = mzero ++ + instance Monad Perhaps where + (Succeeded x) >>= k = k x + Failed >>= _ = Failed +--- darcs-2.8.5-orig/src/Darcs/IO.hs 2014-08-26 06:27:34.000000000 +1000 ++++ darcs-2.8.5/src/Darcs/IO.hs 2015-01-03 12:06:40.423103022 +1100 +@@ -23,6 +23,7 @@ + import Data.Char ( toLower ) + import Data.List ( isSuffixOf ) + import System.IO.Error ( isDoesNotExistError, isPermissionError ) ++import Control.Applicative ( Applicative(..) ) + import Control.Exception.Extensible ( catch, SomeException, IOException ) + import Control.Monad.Error + import System.Directory ( createDirectory, +@@ -97,6 +98,10 @@ + instance Functor TolerantIO where + fmap f m = m >>= return . f + ++instance Applicative TolerantIO where ++ pure = return ++ (<*>) = ap ++ + instance Monad TolerantIO where + f >>= g = runTM $ runIO f >>= runIO . g + f >> g = runTM $ runIO f >> runIO g +@@ -106,6 +111,10 @@ + instance Functor SilentIO where + fmap f m = m >>= return . f + ++instance Applicative SilentIO where ++ pure = return ++ (<*>) = ap ++ + instance Monad SilentIO where + f >>= g = runTM $ runIO f >>= runIO . g + f >> g = runTM $ runIO f >> runIO g +--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Real.hs 2014-08-26 06:27:34.000000000 +1000 ++++ darcs-2.8.5/src/Darcs/Patch/V2/Real.hs 2015-01-03 11:14:40.109221505 +1100 +@@ -29,6 +29,9 @@ + , mergeUnravelled + ) where + ++#if MIN_VERSION_base(4,8,0) ++import Prelude hiding ( (*>) ) ++#endif + import Control.Monad ( mplus, liftM ) + import qualified Data.ByteString.Char8 as BC ( ByteString, pack ) + import Data.Maybe ( fromMaybe ) +--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Non.hs 2014-08-26 06:27:34.000000000 +1000 ++++ darcs-2.8.5/src/Darcs/Patch/V2/Non.hs 2015-01-03 11:14:08.073788136 +1100 +@@ -40,7 +40,11 @@ + , (>>*) + ) where + ++#if MIN_VERSION_base(4,8,0) ++import Prelude hiding ( rem, (*>) ) ++#else + import Prelude hiding ( rem ) ++#endif + import Data.List ( delete ) + import Control.Monad ( liftM, mzero ) + import Darcs.Patch.Commute ( commuteFL ) +--- darcs-2.8.5-orig/src/Darcs/Patch/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000 ++++ darcs-2.8.5/src/Darcs/Patch/V1/Commute.hs 2015-01-03 12:11:47.084707544 +1100 +@@ -28,7 +28,8 @@ + ) + where + +-import Control.Monad ( MonadPlus, mplus, msum, mzero, guard ) ++import Control.Applicative ( Applicative(..), Alternative(..) ) ++import Control.Monad ( MonadPlus, mplus, msum, mzero, guard, liftM, ap ) + + import Darcs.Patch.Commute ( toFwdCommute ) + import Darcs.Patch.ConflictMarking ( mangleUnravelled ) +@@ -69,6 +70,17 @@ + + data Perhaps a = Unknown | Failed | Succeeded a + ++instance Functor Perhaps where ++ fmap = liftM ++ ++instance Applicative Perhaps where ++ pure = return ++ (<*>) = ap ++ ++instance Alternative Perhaps where ++ (<|>) = mplus ++ empty = mzero ++ + instance Monad Perhaps where + (Succeeded x) >>= k = k x + Failed >>= _ = Failed diff --git a/dev-vcs/darcs/metadata.xml b/dev-vcs/darcs/metadata.xml new file mode 100644 index 000000000000..91743df1aec2 --- /dev/null +++ b/dev-vcs/darcs/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>haskell</herd> +<maintainer> + <email>haskell@gentoo.org</email> +</maintainer> +<use> + <flag name="color">Use ansi color escapes.</flag> + <flag name="diff">Use 'lcs' for diff building.</flag> + <flag name="http">Use the pure Haskell HTTP package for HTTP support.</flag> + <flag name="optimize">Build with optimizations (-O2).</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> |