Gentoo Haskell project
Haskell overlay consists of unstable software, so you you likely need to keyword everything in it:
# install layman, if you don't have it yet: emerge layman layman -f echo source /var/lib/layman/make.conf >> /etc/make.conf # # and the overlay configuration itself: layman -a haskell # and unmask unstable versions for your arch: echo "*/*::gentoo-haskell ~$(portageq envvar ARCH)" >> /etc/portage/package.accept_keywords
And here is the trick to speed up metadata resolution a bit. If you happen to use eix-sync for rsyncs you might like the following /etc/eix-sync.conf:
* @egencache --jobs="$(($(nproc) + 1))" --repo=gentoo-haskell --update
It basically means:
- sync overlays in layman list before the main tree sync
- generate metadata for gentoo-haskell repo after main tree sync is done using N+1 cores
Oh, hi! So you've got a couple of moments to kill and you're looking for something to do? You've come to the right place.
There are several ways to find tasks. One is looking in our TODO list. Another is to have a look at the bug reports piled up at the Gentoo Bugzilla. Anything from actually solving the problem to just verifying the report or providing more information is helpful.
To start contributing you need a working copy of the Haskell overlay, a copy that you can modify and send patches/pull requests from. You could use layman to get a copy, but in this case I'd not recommend it. Assuming you have git emerged, run this to get your own copy of the repo:
git clone https://github.com/gentoo-haskell/gentoo-haskell.git
You need to be able to create patches and send patches/pull requests on github. If you are new to git try to read some git basics and drop in on irc://freenode.net/gentoo-haskell to get help.
Introduction to Haskell Ebuilds
We have two kinds of ebuilds: completely manually written ones, and ones mostly generated from hackage using our custom tool hackport.
Ebuilds for complex applications and libraries that take a little more care, like ghc, are written by hand.
The great majority, though, are projects listed on the hackage site. For all those packages, we can generate ebuilds that often only require very little manual tweaking. The dependencies, descriptions, etc. written in the .cabal files is used to correctly generate the ebuilds. The progress of hackage and development decisions are important for gentoo haskell, which is why we keep a close cooperation with them.
To get the hackport tool, either install app-portage/hackport-9999 available from the haskell overlay, or get your copy of the repo using
git clone https://github.com/gentoo-haskell/hackport.git
See HOWTO contribute for info on technical aspects of how to work with the overlay.