
On Sun, Jun 26, 2011 at 8:39 AM, Peter Simons
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