<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Gentoo Linux and Haskell</title>
	<atom:link href="http://gentoohaskell.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gentoohaskell.wordpress.com</link>
	<description>Gentoo and Haskell in symbiosis</description>
	<lastBuildDate>Sun, 20 Feb 2011 00:57:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gentoohaskell.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Gentoo Linux and Haskell</title>
		<link>http://gentoohaskell.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gentoohaskell.wordpress.com/osd.xml" title="Gentoo Linux and Haskell" />
	<atom:link rel='hub' href='http://gentoohaskell.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Details about the move to Github</title>
		<link>http://gentoohaskell.wordpress.com/2011/02/06/details-about-the-move-to-github/</link>
		<comments>http://gentoohaskell.wordpress.com/2011/02/06/details-about-the-move-to-github/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 13:27:05 +0000</pubDate>
		<dc:creator>Lennart Kolmodin</dc:creator>
				<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[hackport]]></category>
		<category><![CDATA[overlay]]></category>

		<guid isPermaLink="false">http://gentoohaskell.wordpress.com/?p=34</guid>
		<description><![CDATA[The Gentoo Linux Haskell Project recently moved to using git on github. We&#8217;ve got various repositories, some larger with several contributors and some smaller with only one developer. All repos were based on the darcs revision control system. You may browse the new repos at our new home. Overlay repository The overlay repository is the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=34&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The Gentoo Linux Haskell Project recently moved to using git on <a href="http://gentoohaskell.wordpress.com/2011/02/03/gentoo-haskell-overlay-moved-to-github/">github</a>.</p>
<p>We&#8217;ve got various repositories, some larger with several contributors and some smaller with only one developer. All repos were based on the <a href="http://darcs.net/">darcs</a> revision control system.</p>
<p>You may browse the new repos at our new <a href="https://github.com/gentoo-haskell">home</a>.</p>
<div id="overlay-repository">
<h1>Overlay repository</h1>
<p>The overlay repository is the heart of the <a href="http://www.gentoo.org/proj/en/prog_lang/haskell/index.xml">Gentoo Linux Haskell Project</a>. The most common packages are available in the portage tree, and thus available to all Gentoo Linux users without any additional configuration on their part.</p>
<p>For all other packages we use the overlay. It can be packages that change rapidly, are tricky to build, etc.</p>
<p>It&#8217;s our main repo, ~4000 commits from many users. There was two tools to consider:</p>
<ul>
<li><a href="http://hackage.haskell.org/package/darcs-fastconvert">darcs-fastconvert</a> written in haskell</li>
<li><a href="https://github.com/purcell/darcs-to-git">darcs-to-git</a> written in ruby</li>
</ul>
<p>We&#8217;ve decided to try both.</p>
<div id="darcs-to-git">
<h2>darcs-to-git</h2>
<pre><code>mkdir overlay.git &amp;&amp; cd overlay.git
darcs-to-git ../overlay
git commit --allow-empty -m "phony" # hack, described later
darcs-to-git ../overlay</code></pre>
<p>The hack with &#8211;allow-empty is used to workaround an error:</p>
<pre><code>Running: ["git", "log", "-n1", "--no-color"]
fatal: bad default revision 'HEAD'</code></pre>
<p>git does not track directory creation commits (when no files are affected). It&#8217;s our first commit. To be reported upstream.</p>
<p><code>darcs-to-git</code> took 7.5 hours(!) to convert our repo.</p>
</div>
<div id="darcs-fastconvert">
<h2>darcs-fastconvert</h2>
<pre><code>mkdir overlay.git &amp;&amp; cd overlay.git
(cd ../overlay ; darcs-fastconvert export) | git fast-import</code></pre>
<p>It was very fast! Took less, than 7 minutes to convert everything (~60 times faster than <code>darcs-to-git</code>!)</p>
</div>
<div id="some-notes">
<h2>some notes</h2>
<ul>
<li>
<p><code>darcs-fastconvert</code> does not try to make prettier email-only usernames:</p>
<p>username &#8216;john@doe&#8217; becomes &#8216;john@doe &lt;unknown&gt;&#8217;. Patch to convert such names to &#8216;john &lt;john@doe&gt;&#8217; sent upstream (left copy <a href="http://dev.gentoo.org/~slyfox/darcs-fastconvert-email-only-author.patch">here</a>).</p>
</li>
<li>
<p><code>darcs-fastconvert</code> does not filter out empty commits (directory-adding in darcs), so in order to get the same amount of commits as for <code>darcs-to-git</code> you will need to run <code>git filter-branch --prune-empty -f</code></p>
</li>
</ul>
</div>
</div>
<div id="hackport">
<h1>hackport</h1>
<p>hackport is the tool we use to generate Gentoo ebuilds from Hackage packages. It geatly simplifies the process and enables us to cover hundreds of packages with relatively few developers.</p>
<p>The hackport project started off as part of the overay repository in 2005. At some point we decided that it deserved its own repository, as it really was a standalone project. The development was forked from the overlay repository, and continued without being mixed with the overlay commits. However, the result was a repository with an messy history: hackport and overlay stuff was mixed. Moving to git gave us a new chance to clean it up.</p>
<p>When using git you have the option of changeing the history of your repository. Of course this is a powerful tool, but it should be used carefully. As we were in a transition of moving to git, we used these advantages. In general git will require greater knowledge of your consequences than similar tools (darcs, mercurial).</p>
<p>For this job we used the features of <code>git filter-branch</code>, see the git documentation at <a href="http://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html">filter-branch</a>. As the projects where clearly separated it was easy to tell git wich files were interesting:</p>
<pre><code>git filter-branch --tree-filter \
      'rm -rf ignore-this-file and-this-directory' HEAD
git filter-branch --prune-empty -f</code></pre>
<p>We repeated until we&#8217;ve cleared the history from the overlay commits. The result is clean and only contains the hackport project. You find it at <a href="https://github.com/gentoo-haskell/hackport">hackport</a>.</p>
<p>This way we could separate the ~400 commits from the ~1100 commits that had nothing to do with the hackport project.</p>
</div>
<div id="keyword-stat">
<h1>keyword-stat</h1>
<p><code>keyword-stat</code> is a tool to help us see the status of packages regarding Gentoo&#8217;s concept of stable and testing status. Each Gentoo user is able to choose the stability level of each package through the <a href="http://devmanual.gentoo.org/keywording/index.html">keywording</a> concept.</p>
<p>The repo was already at a nice state and the conversion was straight forward:</p>
<pre><code>mkdir keyword-stat.git &amp;&amp; cd keyword-stat.git
git init
( cd ../keyword-stat ; darcs-fastconvert export ) \
    | git fast-import</code></pre>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gentoohaskell.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gentoohaskell.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gentoohaskell.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gentoohaskell.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gentoohaskell.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gentoohaskell.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gentoohaskell.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gentoohaskell.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gentoohaskell.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gentoohaskell.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gentoohaskell.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gentoohaskell.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gentoohaskell.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gentoohaskell.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=34&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gentoohaskell.wordpress.com/2011/02/06/details-about-the-move-to-github/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c1d189a16f5d7c5a648ffbc547b1595d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kolmodin</media:title>
		</media:content>
	</item>
		<item>
		<title>gentoo haskell overlay moved to github</title>
		<link>http://gentoohaskell.wordpress.com/2011/02/03/gentoo-haskell-overlay-moved-to-github/</link>
		<comments>http://gentoohaskell.wordpress.com/2011/02/03/gentoo-haskell-overlay-moved-to-github/#comments</comments>
		<pubDate>Thu, 03 Feb 2011 21:49:19 +0000</pubDate>
		<dc:creator>Sergei Trofimovich</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gentoohaskell.wordpress.com/?p=23</guid>
		<description><![CDATA[We have moved gentoo-haskell overlay to github! It will require some additional actions for overlay users: layman -f layman -d haskell layman -a haskell Our move was stimulated by a couple of events: code.haskell.org was not very reliable, and as you might notice haskell overlay was (and still is) inaccessible since last week. Current status [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=23&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We have moved gentoo-haskell overlay to <a href="http://github.com/gentoo-haskell">github</a>!</p>
<p>It will require some additional actions for overlay users:</p>
<pre><code>layman -f
layman -d haskell
layman -a haskell</code></pre>
<p>Our move was stimulated by a couple of events:</p>
<ul>
<li>
<p>code.haskell.org was not very reliable, and</p>
</li>
<li>
<p>as you might notice <a href="http://code.haskell.org/gentoo/gentoo-haskell/">haskell overlay</a> was (and still is) inaccessible since last week. Current status of code.haskell.org can be tracked <a href="http://osdir.com/ml/haskell-cafe@haskell.org/2011-02/msg00042.html">here</a>.</p>
</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gentoohaskell.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gentoohaskell.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gentoohaskell.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gentoohaskell.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gentoohaskell.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gentoohaskell.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gentoohaskell.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gentoohaskell.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gentoohaskell.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gentoohaskell.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gentoohaskell.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gentoohaskell.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gentoohaskell.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gentoohaskell.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=23&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gentoohaskell.wordpress.com/2011/02/03/gentoo-haskell-overlay-moved-to-github/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b1d1edfe19c0fda8d24e1a969cc4e750?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">trofimovich</media:title>
		</media:content>
	</item>
		<item>
		<title>ghc 6.12.3 goes stable</title>
		<link>http://gentoohaskell.wordpress.com/2010/11/03/ghc-6-12-3-goes-stable/</link>
		<comments>http://gentoohaskell.wordpress.com/2010/11/03/ghc-6-12-3-goes-stable/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 20:44:43 +0000</pubDate>
		<dc:creator>Sergei Trofimovich</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gentoohaskell.wordpress.com/?p=19</guid>
		<description><![CDATA[Good news! We&#8217;ve got ghc-6.12.3 stable on x86, amd64 and sparc arches! (more to come) What does it mean for end user? You&#8217;ll get latest haskell compiler and will be able to taste it&#8217;s new features! We also got rid of hacky ghc-updater and switched to haskell-updater. Unfortunately, some haskell packages in main tree might [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=19&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Good news!</p>
<p>We&#8217;ve got <strong>ghc-6.12.3</strong> stable on <strong>x86</strong>, <strong>amd64</strong> and <strong>sparc</strong> arches! (<a href="https://bugs.gentoo.org/show_bug.cgi?id=338652">more to come</a>)</p>
<p>What does it mean for end user?</p>
<p>You&#8217;ll get latest <strong>haskell</strong> compiler and will be able to taste it&#8217;s new features! We also got rid of hacky <strong>ghc-updater</strong> and switched to <a href="/2009/07/22/announcing-haskell-updater/">haskell-updater</a>.</p>
<p>Unfortunately, some haskell packages in main tree might stop building on new compiler. Please report them as problematic to <a href="http://bugs.gentoo.org">gentoo bugzilla</a> or drop a line in #gentoo-haskell on freenode <strong>IRC</strong> network.</p>
<p>I&#8217;ve decided to look back and estimate timeframe it took us to deliver <strong>ghc</strong> for you:</p>
<ul>
<li>12 Oct 2009 &#8211; GHC-6.12 RC1 <a href="http://www.mail-archive.com/glasgow-haskell-users@haskell.org/msg17306.html">appears in public</a></li>
<li>2 Nov 2009 &#8211; GHC-6.12 RC1 hits <a href="http://code.haskell.org/gentoo/gentoo-haskell/">gentoo-haskell overlay</a></li>
<li>12 Jun 2010 &#8211; GHC-6.12.3 <a href="http://www.mail-archive.com/glasgow-haskell-users@haskell.org/msg18378.html">is released</a></li>
<li>26 Sep 2010 &#8211; GHC-6.12.3 goes stable on <strong>amd64</strong></li>
</ul>
<p>So, it took us almost 4 months.</p>
<p>The major problems were:</p>
<ul>
<li>Resurrect <strong>GHC</strong> on exotic architectures (we have 10 patches on top of vanilla ghc!). Unfortunately, <strong>hppa</strong> support was lost.</li>
<li>Fix packages breaking with <strong>6.10/6.12</strong> branch of <strong>ghc</strong> (tons of them)</li>
</ul>
<p>Brave souls can try to install <strong>ghc-7-rc2</strong> (aka 7.0.0.20101028) from overlay (currently masked). It has no <strong>base-3</strong> (deprecated in <strong>ghc-6.10</strong>), so you&#8217;ll have great chance to become a contributor to various haskell projects!</p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gentoohaskell.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gentoohaskell.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gentoohaskell.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gentoohaskell.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gentoohaskell.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gentoohaskell.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gentoohaskell.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gentoohaskell.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gentoohaskell.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gentoohaskell.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gentoohaskell.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gentoohaskell.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gentoohaskell.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gentoohaskell.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=19&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gentoohaskell.wordpress.com/2010/11/03/ghc-6-12-3-goes-stable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b1d1edfe19c0fda8d24e1a969cc4e750?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">trofimovich</media:title>
		</media:content>
	</item>
		<item>
		<title>Announcing haskell-updater</title>
		<link>http://gentoohaskell.wordpress.com/2009/07/22/announcing-haskell-updater/</link>
		<comments>http://gentoohaskell.wordpress.com/2009/07/22/announcing-haskell-updater/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 11:35:01 +0000</pubDate>
		<dc:creator>Ivan Miljenovic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gentoohaskell.wordpress.com/?p=7</guid>
		<description><![CDATA[haskell-updater is the new Haskell upgrading tool for Gentoo, replacing ghc-updater.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=7&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For those of you who have been hanging around in #gentoo-haskell (especially when I&#8217;m around&#8230; :p) or who have upgraded to dev-lang/ghc-6.10.4, you would probably have noticed the new <a href="http://haskell.org/haskellwiki/Gentoo#haskell-updater">haskell-updater</a> <a href="http://code.haskell.org/gentoo/gentoo-haskell/app-admin/haskell-updater/">package</a>.  This is our replacement to the venerable <em>ghc-updater</em> script that was packaged with previous versions of GHC.</p>
<p>ghc-updater is a bash script that was based long ago on <a href="http://packages.gentoo.org/package/app-admin/python-updater">python-updater</a>.  However, whilst python-updater was updated to let users use alternative package managers like Paludis or PkgCore, it wasn&#8217;t as simple to upgrade ghc-updater as we bundle it with dev-lang/ghc.  So, we (meaning <em>I</em> :p ) decided to split off a new haskell-updater package (with a deliberate name change to avoid problems with name clashes).  At first this was just going to be based off the newer versions of python-updater, but this approach was soon abandoned (I had trouble finding my way through what it was doing).</p>
<p>Thus, haskell-updater is unique as far as I know amongst the various app-admin/*-updater packages (well, the only two that are there are python-updater and emacs-updater :p ) in that it is written in the languages whose packages it aims to update and rebuild.  Using Haskell for haskell-updater gives us several advantages over the &#8220;traditional&#8221; bash-based kludge:</p>
<ul>
<li> It uses our language of choice; this means we&#8217;re more likely to be interested in it and maintain it (and be <em>able</em> to maintain it!) in future.</li>
<li> A more modular design makes it easier to split apart parts of the code rather than a one-file-fits-all bash script.</li>
<li> Ability to use the <a href="http://www.haskell.org/cabal/">Cabal</a> library (more on why this is a good thing later).</li>
<li> Speeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed!  After all, all <a href="http://funroll-loops.info/">Gentoo-ers are ricers</a>, aren&#8217;t we? :p  Seriously, haskell-updater takes roughly 2s for me to run (whilst doing more!  see below), ghc-updater takes 27s and I killed python-updater after 8.5 minutes :s</li>
<li> Have a piece of software written in Haskell that <a href="http://donsbot.wordpress.com/">Don Stewart</a> isn&#8217;t going to <a href="http://article.gmane.org/gmane.comp.lang.haskell.general/16435/">brag</a> about having it <a href="http://article.gmane.org/gmane.comp.lang.haskell.cafe/46463/">available</a> in <a href="http://archhaskell.wordpress.com/">Arch</a> <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p>Now, haskell-updater doesn&#8217;t just find packages installed with previous versions of GHC like ghc-updater did; it also finds broken packages, making it equivalent to revdep-rebuild/reconcilio/etc. for Haskell packages (though just for libraries, since at the moment GHC creates statically-linked binaries).  This has become a bigger problem in the last few years as the number of Haskell libraries has almost exploded (especially after the base library being split up).  Until now, however, users have had to manually run &#8220;ghc-pkg check&#8221; and build the corresponding packages by hand (otherwise you face the dreaded <a href="http://blog.well-typed.com/2008/08/solving-the-diamond-dependency-problem/">Diamond Dependency Problem</a>).  However, version 1.6 of the Cabal library includes support for parsing the output of &#8220;ghc-pkg check&#8221;, so we&#8217;re able to use this to have haskell-updater find these broken packages for you as well!</p>
<p>haskell-updater has several other incremental advantages over ghc-updater (supports slotted packages properly; able to find packages installed with previous versions of GHC even if someone manually went and deleted the old GHC directory when they shouldn&#8217;t have, etc.).  As such, we highly recommend that people install it and try it out.  Note, however, that it requires one of the 6.10 series of GHC releases or higher to work (technically it doesn&#8217;t as long as you install the necessary libraries yourself; however, we&#8217;ve stated this in the ebuild to try and avoid dependency problems when upgrading GHC).  With version 6.10.4, it has completely replaced ghc-updater (ghc-updater is still shipped with previous versions) as the used updating tool.</p>
<p>Extra features we&#8217;re considering adding in future releases:</p>
<ul>
<li> Allow user-defined package managers (in case of custom scripts, etc.).</li>
<li> The ability to print out the command to rebuild the packages rather than actually running it.</li>
<li> Detect and fix packages that didn&#8217;t get re-registered by ghc-pkg when re-building the same version of GHC (this seems to be a problem when using Paludis).</li>
<li> Adding colours to the output <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p>Note that haskell-updater is not available on <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/">HackageDB</a> like most other Haskell software; this is to avoid name-pollution there, and because we don&#8217;t think non-Gentoo users are going to be interested in it (and Gentoo users will probably have it automatically installed for them anyway).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gentoohaskell.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gentoohaskell.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gentoohaskell.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gentoohaskell.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gentoohaskell.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gentoohaskell.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gentoohaskell.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gentoohaskell.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gentoohaskell.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gentoohaskell.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gentoohaskell.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gentoohaskell.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gentoohaskell.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gentoohaskell.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=7&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gentoohaskell.wordpress.com/2009/07/22/announcing-haskell-updater/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/82401038e87257529066b9e6618d470e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ivanm</media:title>
		</media:content>
	</item>
		<item>
		<title>Haskell in Gentoo</title>
		<link>http://gentoohaskell.wordpress.com/2009/06/28/haskell-in-gentoo/</link>
		<comments>http://gentoohaskell.wordpress.com/2009/06/28/haskell-in-gentoo/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 09:41:09 +0000</pubDate>
		<dc:creator>Lennart Kolmodin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://gentoohaskell.wordpress.com/?p=3</guid>
		<description><![CDATA[Gentoo Linux supports Haskell! #gentoo-haskell on freenode<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=3&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Gentoo Linux supports Haskell!</p>
<p>#gentoo-haskell on freenode</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gentoohaskell.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gentoohaskell.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gentoohaskell.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gentoohaskell.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/gentoohaskell.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/gentoohaskell.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/gentoohaskell.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/gentoohaskell.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gentoohaskell.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gentoohaskell.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gentoohaskell.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gentoohaskell.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gentoohaskell.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gentoohaskell.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gentoohaskell.wordpress.com&amp;blog=7667502&amp;post=3&amp;subd=gentoohaskell&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gentoohaskell.wordpress.com/2009/06/28/haskell-in-gentoo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c1d189a16f5d7c5a648ffbc547b1595d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kolmodin</media:title>
		</media:content>
	</item>
	</channel>
</rss>
