Gitit is a wiki backed by a git, darcs, or mercurial filestore.
gitit.johnmacfarlane.net
gitit.johnmacfarlane.net
# yum -y install cabal-install
# cabal update
# cabal install gitit
Resolving dependencies...
cabal: cannot configure old-time-1.1.0.0. It requires base >=4.4 && <5
For the dependency on base >=4.4 && <5 there are these packages: base-4.4.0.0,
base-4.4.1.0, base-4.5.0.0 and base-4.5.1.0. However none of them are
available.
base-4.4.0.0 was excluded because base-4.3.1.0 was selected instead
base-4.4.0.0 was excluded because of the top level dependency base -any
base-4.4.1.0 was excluded because base-4.3.1.0 was selected instead
base-4.4.1.0 was excluded because of the top level dependency base -any
base-4.5.0.0 was excluded because base-4.3.1.0 was selected instead
base-4.5.0.0 was excluded because of the top level dependency base -any
base-4.5.1.0 was excluded because base-4.3.1.0 was selected instead
base-4.5.1.0 was excluded because of the top level dependency base -any
Sigh. "Haskell Platform" indeed. If I can't get it and run it, I
won't try it. Ruby and Python and Perl and Node make this work...As a workaround, my modus operandi right now is to use virthualenv and build everything in there. I understand cabal-dev provides similar functionality, but I haven't used it. I've never had dependency conflicts when I build something from hackage in a virthualenv, so if you're still interested in trying it you might want to give that a shot.
If you really want to install from source, try cabal-dev (worked for me, see my other comment) or virtualhenv.
For development work and reliable deployment, use the libs from your language's package manager (cabal, pip, easy-install, npm, cpan, rvm, bundler). For applications from your distro, use the packages in your distro.
However, your statement about Ruby, Python, Perl and Node is BS. Especially Ruby is very hairy to get up and running unless you are happy with old versions from your distro. Setting up the Haskell platform is not a lot more difficult than tinkering with rvm and bundler and whatnot to get Ruby up and running. Python is a little better because most useful libs are included in the "batteries" that ship with the interpreter. But try to use a bunch of libs and you enter virtualenv hell.
And whenever a new major change comes out, a new world of hurt begins. Ruby 1.9, Python 3 and Perl 6 transitions have been really painful.
If these languages work better, it's only because your distro package maintainers spend more time working on it.
But you cannot grab some software sources from dev repos (e.g. git clone gitit) and then install the required libs from apt and expect it to work. It may work if all the dependency libraries are very mature and stable, but that's not usually the case.
And I don't understand the "new major change" bit. I have base 4.3, apparently gitit won't run without 4.4. Are you seriously saying that's a version bump comparable to Python 3?
You, sir, greatly underestimate the efforts that distro package maintainers do.
> I have base 4.3, apparently gitit won't run without 4.4. Are you seriously saying that's a version bump comparable to Python 3?
No, that version bump is not as significant. But it may introduce incompatibilities nevertheless. These may or may not be applicable to gitit, but that is determined what gitit defines in their cabal build files.
Sometimes these minor changes can be worked around by modifying the cabal build files of the project you're building with relaxed version numbers, but it works only in the simplest of cases.
Given that I've actually been paid to do exactly that professionally, I assure you that I'm not. But to be blunt: if you're not willing to ship usable software, don't claim to be shipping a "Platform". If you want to play in your unstable garden forever, that's great. The rest of us just won't care.
I've just built gitit using cabal-dev and ghc 7.0.3. So more likely it's just an old case of "cabal hell".
The package tells me it's version 7.0.4, released 15 June 2011. It's the version currently packaged by Fedora, and it's barely a year old. Yet it's already incompatible with new software?
[1] Software that integrates well with the existing OS environment, to boot (again, something often sorely lacking inside the Haskell gardens). I mean, it uses git and runs as a self-contained web service. It looks nifty.
Haskell is one of the fastest moving languages out there. Don't be surprised if your distro can't keep up.
It is probably something very simple but would be much easier to figure out in real time, e.g. on the #haskell irc channel which generally handles such difficulties promptly. E.g. does a look at `ghc-pkg list` and `ghc-pkg check` suggest that something was broken?
(By the way, the comparison with Ruby and Python and Perl and Node is not that great; cabal is as much, or more, like `make` than `gem`, managing compilation, linking etc.; one uses it all the time locally where distribution is not in question; it looks like that is the aspect that you are bumping into.)
And apparently it was "wrong". Becuase while it's "The Haskell Platform", it's not the correct Haskell Platform.
My point was much simpler than people here are trying to interpret: the Haskell world is a mess, and it's very complicated to get it running. So interesting tools like gitit (which I swear, I really wanted to try) don't get any attention. Expecting your audience to have the same bleeding edge copy of The Haskell Platform as you do is never going to work. Someone needs to actually do the work to package and distribute the software.
This is not true of Perl, or Python, or Ruby, or Node, all of which have recent packaged versions in the distro that run recent software.
You may be right about Perl &co but I invite you to look at my gem installation...
[^1]: Pandoc adds some oft-needed extras to classic Markdown, such as support for tables, definition lists, LaTeX math, and footnotes.
https://github.com/scy/levitation
but that doesnt seem to have gone anywhere...