Gentoo Haskell TODO ******************* 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 sereval ways to find tasks, one is looking in this TODO. Another is to have a look at the bug reports piled up at the Gentoo Bugzilla; see http://tinyurl.com/2l3p48 Anything from actually solving the problem to just verify the report or provide more information is helpful. To start contribute you need a working copy of the haskell overlay, a copy that you can modify and send patches from. You could use layman to get a copy, but in this case I'd not recommend it. Assuming you have darcs emerged, run this to get your own copy of the repo: darcs get --partial http://code.haskell.org/gentoo/gentoo-haskell/ You need to be able to create patches and possibly send them directly from darcs, consult the darcs manual at http://darcs.net Introduction to Haskell Ebuilds =============================== We have two kinds of ebuilds, completely manually written, and those 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 absolutely mostpart though, are projects listed on the hackage site; http://hackage.haskell.org/packages/archive/pkg-list.html For all those packages we can generate ebuilds that often only require very little manual tweeking. 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-darcs available from the haskell overlay, or get your copy of the repo using darcs get --partial http://code.haskell.org/gentoo/hackport/ Next, lets see where your help is needed :) == Easy == == High priority == == New ebuilds == * get regex-{base,compat,posix} ~arch on all platforms * ebuild for wxhaskell and wxc * ebuild for takusen http://darcs.haskell.org/takusen * build binaries for ghc 6.6.1 for remaining platforms: ppc64 * hugs-2006.5 * haskelldb: though the current release is very old, perhaps prod them for a new release. The dev version supports HDBC I believe. * helium-1.6 (may not work on 64-bit arches) An ebuild is in the overlay but it needs some more love. Only tested on x86. 'hint' works with simple library and with type classes. The other executables only works with the simple library, type classes fail with: Using overloaded Prelude while overloading is not enabled Hint: Compile with --overloading, or use the simple Prelude * darcsweb-0.16 * add yhc when it's ready == Ebuild maintainance == * remove old versions of cabal. Do we need anything other than 1.1.6.2 and 1.2? * extralibs in ghc-6.8.2. test if the work with ghc 6.6.1 too, and add them to portage. as package.masked for those who only work with ghc 6.8.2. ALUT 2.1.0.0 GLUT 2.1.1.1 HUnit 1.2.0.0 ObjectIO 1.0.1.1 OpenAL 1.3.1.1 OpenGL 2.2.1.1 QuickCheck 1.1.0.0 cgi 3001.1.5.1 fgl 5.4.1.1 haskell-src 1.0.1.1 html 1.0.1.1 mtl 1.1.0.0 network 2.1.0.0 parallel 1.0.0.0 parsec 2.1.0.0 regex-base 0.72.0.1 regex-compat 0.71.0.1 regex-posix 0.72.0.2 stm 2.1.1.0 time 1.1.2.0 xhtml 3000.0.2.1 * ask ppc arch team to get these marked ~ppc: glut-2.1.1 openal-1.3.1 opengl-2.2.1 * ask ppc64 arch team to get these marked ~ppc64: filepath-1.0 regex-base-0.72 regex-compat-0.71 regex-posix-0.71 * ask hppa arch team to get these marked ~hppa: fgl-5.4.1 haskell-src-1.0.1 html-1.0.1 hunit-1.1.1 mtl-1.0.1 network-2.0.1 quickcheck-1.0.1 time-1.1.1 xhtml-3000.0.2 * get ebuilds marked ~amd64: helium * in the ghc ebuilds: does the ghcprof subst work? == Harder == == Long term & continuing projects == * get ghc bugs fixed upstream, send patches * help fix & improve cabal. improve cabal-install http://hackage.haskell.org/trac/hackage/report/9 http://darcs.haskell.org/cabal http://darcs.haskell.org/cabal-install * improve HackPort tool http://code.haskell.org/gentoo/hackport == Speculative == * Since there is no ghc-bin ebuild, do we really need /opt/ghc anymore? Can we just install to /usr instead? ==> Looks like it's working fine with the 6.8 releases... port these changes back to older releases? Though this may require re-stabilisation of the ebuilds in the official tree. --> No need to port it to older ebuilds. Let's just install to /usr from now on. * SLOT libs * SLOT ghc (probly not possible with current portage) * eclectic/haskell-config (related to SLOTting ghc & libs)