Project:Haskell

From Gentoo Wiki
Jump to:navigation Jump to:search
Haskell
Description Support Haskell programming language ecosystem on Gentoo systems.
Project email haskell@gentoo.org
IRC channel #gentoo-haskell (webchat)
Lead(s) none
Last elected: 2019-05-26
Member(s)
Subproject(s)
(and inherited member(s))
(none)
Parent Project Gentoo
Project listing

The Haskell project maintains the packages for Haskell implementations, libraries, and development tools. We support GHC and Helium though GHC is the best supported. The library packages work only with GHC.

There is an overlay where we work on Haskell ebuilds before getting them into the main ::gentoo repository. The overlay can be installed using layman or eselect repository tools and is located here:

https://github.com/gentoo-haskell/gentoo-haskell

All development discussion takes place on the #gentoo-haskell (webchat) IRC channel. This channel is the appropriate place to report bugs in packages that are in the overlay. They should not be reported in Bugzilla, that's the place to report bugs about packages in the main ::gentoo git tree.

Further instructions and tips can be found in the Haskell article.

Developers

All developers can be reached by e-mail using nickname@gentoo.org.

Policies

While adding new packages to the tree overlay we follow next rules: we keep in tree end user applications and their depends plus haskell-platform. We are keeping all development libs in overlay. In overlay we do not have 'stable-' / 'testing' partitioning, and all packages are marked as testing.

Goals

Long-term

  • Support for the haskell-ecosystem in the Gentoo.

Short-term

  • Stabilizing Haskell Platform in Gentoo tree: bug tracker.
  • Fixing USE flags metadata entries in overlay.
  • Fix packages test in overlay.

Pending tasks

Contribution

  • Ebuilds contribution. For more information see overlay documentation
  • Contribute to project programs (hackport, haskell-updater, etc.)

TODO list

  • [easy-to-hard] Add packages requested by people to the overlay. HackPort is a nice tool to do it fast.
  • [easy-to-moderate] Keep up-to-date upstream versions in overlay, fix depends broken by package updates and upstream fixes. HackPort can help in tracking: hackport status --from-hackage.
  • Improve HackPort tool.
  • [easy] Some packages are patched on top of upstream. Ideally they should not :]. Your goal is to push nice patches upstream. Haskell world is very eager in getting feedback, so it's a source of pleasure to work with upstream!
  • Some code snippets on scanning the tree for such patched packages:
  • [moderate] Some packages have their testuites, but ebuilds don't utilize it or have tests blocked. Blocked tests are easy to find with git grep RESTRICT.
  • Here is some notes to say: upstream tests are sometimes unportable hacks, so your aim is to rework ill written testsuites by using Cabal recently introduced testing interface and/or using libraries helping in testing (HUnit, QuickCheck, test-framework-*). See tests in darcs as an advanced example.
  • [moderate] Get ghc bugs fixed upstream, send patches
  • [easy-to-moderate] Help fix & improve cabal. Improve cabal-install.
  • [easy] Write a program to check for build errors of package in overlay.
  • [easy] run pkgcheck scan on the overlay and provide fixes for found QA notices. Or check out our travis-ci dashboard