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
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.