On Sun, Jun 26, 2011 at 8:39 AM, Peter Simons <simons@cryp.to> wrote:

I'll try to describe my work-flow briefly:

 1) Clone the 'peti/arch-haskell' repository.

 2) Run "git submodules init" to set-up the HABS tree.

 3) Run "cabal update" to download the latest database from hackage.

 4) Run "make" to re-build all files in HABS based on the configuration
   that's described in the PKGLIST file. The format of that file is:

   | haskell-aes       AES             0.2.8           1
     ^^^^^^^^^^^       ^^^             ^^^^^           ^
     $pkgname          $_hkgname       $pkgver         $pkgrel

 5) Run "git diff" in the habs/ sub-directory to verify the changes.
   Then commit those changes in habs/.

 6) Run "make world" to build the latest version of the binary
   repository.

 7) If all went well, push the updated version of habs/ to Github.

Furthermore, you can run ...

 * "make updates" to get a list of all updates available on Hackage.
  Edit PKGLIST to pull in those updates that you want, then run "make
  all" to verify that all version constraints can be fulfilled. This is
  usually an iterative process, in which one package after another is
  updated until all updates that can be performed have been found.

 * If habs/ has been changed by another committer, you can run
  "scripts/extract-pkglist habs/habs/* >PKGLIST" to synchronize the
  PKGLIST file with the current state of the repository.

 * If you have updated packages "foo" and "bar" in habs, then run:

    make scripts/reverse-dependencies
    cd habs/habs
    ../../scripts/reverse-dependencies . foo bar

  This will show you the list of packages that need to be re-built
  after that update. If that looks okay, run

    ../../scripts/bump $(../../scripts/reverse-dependencies . foo bar)

  to bump the $pkgrel of all those packages. Commit those changes in
  habs/. Then run

    scripts/extract-pkglist habs/habs/* >PKGLIST

  to synchronize the PKGLIST file, and do the usual "make all && make
  world" routine to verify that everything is okay before pushing the
  changes to Github.

It's a bit of a mess, but it works okay. :-)


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. 
 
 > 4) Why haskell packages in extra depends on ghc-7.0.3 (still in testing)?

There is an update of GHC available in [testing], and unfortunately some
packages have been published that were built with that newer GHC version
before GHC itself is available. In short, Haskell support is currently
broken in ArchLinux. Unfortunately, these things happen, but it's most
probably going to be remedied soon.

Take care,
Peter


_______________________________________________
arch-haskell mailing list
arch-haskell@haskell.org
http://www.haskell.org/mailman/listinfo/arch-haskell


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.

-Leif