Skip to content
Snippets Groups Projects

Bring recent Haskell tools

Merged fr33domlover requested to merge fr33domlover/package-helpers:haskell into belenos

When you start working with Haskell - developing or installing packages from source - the first step is to install the platform. The two required tools (which can be used to install all the others) are GHC and cabal-install.

Debian has packages for them both, but their versions are getting old. Developers use more recent versions, which usually means they download from external, such as PPAs or the Haskell Platform. Ubun7u inherits these from Debian, and Trisquel inherits them from Ubun7u.

This merge request brings the recent stable recommended versions of GHC and cabal-install from a PPA, so people can start with Haskell more easily without being confused by all the different external download locations.

NOTE ON HOW IT WORKS: In the PPA, there are several GHC versions and each one is built using the previous one, so there is a chain of build-depends between them. I solved the bootstraping problem by having this new GHC 7.8.3 be built using the existing GHC package coming from debian/ubun7u. Jenkinds successfully built it.

  • The debian package is GHC 7.6.3-10 + some patches
  • The PPA package used for building the new GHC 7.8.3 is 7.6.3-9 (without debian's patches)

Since they're nearly identical (I did a diff -r to see all the differences), I gave it a try. I was lucky and GHC 7.8.3 indeed builds with debian's GHC 7.6.3.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Build triggered.

  • This automatic jenkins build failed because I'm not on the list of authorized users. This is the build I did earlier today, which was successful:

    http://jenkins.trisquel.info:8085/view/Development/job/pbuilder-binaries-alone/147/

  • Reassigned to @ruben

  • @fr33domlover:

    • Does cabal-install pull packages from a third party repo? I assume so, in which case, does that repo follow strict licensing rules to distribute only fsdg compliant software? (note that we should at some point review all programs that do similar actions, but this is the first time we have a helper for a package that do, afaik).

    • I think this changes may break the haskell-platform package, could you check the dependencies?

    • Also, cabal-install 1.20 is available in Ubuntu upstream+1, should we use that instead of a ppa?

    • Dependencies look ok, and the PPA packages install into /opt so they shouldn't break existing older versions.
    • If the same version exists in upstream and you prefer to use it, no problem
    • I couldn't get a clear answer about the licenses but the 3rd party repo has an "all-rights-reserved" tag. Currently there are only 2 packages tagged with it: a dummy example project, and some old package whose README actually says "BSD-style". The existence of this tag may suggest that proprietary software is possible there. All the other license tags are for free software licenses approved by FSF. I will hopefully know more when I upload something there myself, but here's a general idea to be sure: eventually make a patch to cabal-install that checks the license tag first, and refuses proprietary packages. cabal-install downloads sources and builds them, so if the license info in the package config is not a free software license, we could get cabal-install to refuse to build the package and inform the user.

    This is the tag page: http://hackage.haskell.org/packages/tag/all-rights-reserved. Possibly also custom licenses are allowed for which there are no tags - I suppose some smarter query can find these cases if they exist, but merely the existence of an all-rights-reserved tag may be a reason to make a patch, just to be sure...

  • haskell-platform depends on cabal-install (>= 1.16.0.2), cabal-install (<< 1.16.0.2+) and ghc (>= 7.6.3), ghc (<< 7.6.3+) so I think it would prevent the package from installing. I imagine you should patch that one too.

  • Ruben Rodriguez mentioned in commit 0b3778cb

    mentioned in commit 0b3778cb

Please register or sign in to reply
Loading