<br><br><div class="gmail_quote">On Sun, Jun 26, 2011 at 8:39 AM, Peter Simons <span dir="ltr"><<a href="mailto:simons@cryp.to">simons@cryp.to</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br>
</div>I'll try to describe my work-flow briefly:<br>
<br>
 1) Clone the 'peti/arch-haskell' repository.<br>
<br>
 2) Run "git submodules init" to set-up the HABS tree.<br>
<br>
 3) Run "cabal update" to download the latest database from hackage.<br>
<br>
 4) Run "make" to re-build all files in HABS based on the configuration<br>
    that's described in the PKGLIST file. The format of that file is:<br>
<br>
    | haskell-aes       AES             0.2.8           1<br>
      ^^^^^^^^^^^       ^^^             ^^^^^           ^<br>
      $pkgname          $_hkgname       $pkgver         $pkgrel<br>
<br>
 5) Run "git diff" in the habs/ sub-directory to verify the changes.<br>
    Then commit those changes in habs/.<br>
<br>
 6) Run "make world" to build the latest version of the binary<br>
    repository.<br>
<br>
 7) If all went well, push the updated version of habs/ to Github.<br>
<br>
Furthermore, you can run ...<br>
<br>
 * "make updates" to get a list of all updates available on Hackage.<br>
   Edit PKGLIST to pull in those updates that you want, then run "make<br>
   all" to verify that all version constraints can be fulfilled. This is<br>
   usually an iterative process, in which one package after another is<br>
   updated until all updates that can be performed have been found.<br>
<br>
 * If habs/ has been changed by another committer, you can run<br>
   "scripts/extract-pkglist habs/habs/* >PKGLIST" to synchronize the<br>
   PKGLIST file with the current state of the repository.<br>
<br>
 * If you have updated packages "foo" and "bar" in habs, then run:<br>
<br>
     make scripts/reverse-dependencies<br>
     cd habs/habs<br>
     ../../scripts/reverse-dependencies . foo bar<br>
<br>
   This will show you the list of packages that need to be re-built<br>
   after that update. If that looks okay, run<br>
<br>
     ../../scripts/bump $(../../scripts/reverse-dependencies . foo bar)<br>
<br>
   to bump the $pkgrel of all those packages. Commit those changes in<br>
   habs/. Then run<br>
<br>
     scripts/extract-pkglist habs/habs/* >PKGLIST<br>
<br>
   to synchronize the PKGLIST file, and do the usual "make all && make<br>
   world" routine to verify that everything is okay before pushing the<br>
   changes to Github.<br>
<br>
It's a bit of a mess, but it works okay. :-)<br>
<div class="im"><br></div></blockquote><div><br></div><div>Should we put these instructions up on the README of the GitHub project for HABS / ArchHaskell ?  I've just been manually mucking about with HABS this whole time. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">
 > 4) Why haskell packages in extra depends on ghc-7.0.3 (still in testing)?<br>
<br>
</div>There is an update of GHC available in [testing], and unfortunately some<br>
packages have been published that were built with that newer GHC version<br>
before GHC itself is available. In short, Haskell support is currently<br>
broken in ArchLinux. Unfortunately, these things happen, but it's most<br>
probably going to be remedied soon.<br>
<br>
Take care,<br>
<font color="#888888">Peter<br>
</font><div><div></div><div class="h5"><br>
<br>
_______________________________________________<br>
arch-haskell mailing list<br>
<a href="mailto:arch-haskell@haskell.org">arch-haskell@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/arch-haskell" target="_blank">http://www.haskell.org/mailman/listinfo/arch-haskell</a><br>
</div></div></blockquote></div><br><div><br></div><div>About that - I installed ghc 7.0.3 and glibc 2.1.4 from testing to work around that.  I'm hoping they get moved into extra/core sometime soon.</div><div><br></div>
<div>-Leif</div>