Gentoo Haskell project
Haskell overlay consists of unstable software, so you'll 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/portage/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
* @egencache --jobs="$(($(nproc) + 1))" --repo=gentoo-haskell --update --update-use-local-desc
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 we'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 make 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 need 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 require very little
manual tweaking. The ebuild is generated from the dependencies, descriptions,
etc., described in the project's
.cabal file. The progress of hackage and
its development decisions are important for gentoo haskell, which is why we
keep a close cooperation with them.
To get the hackport tool, either install
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.