[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: hackage for packages in debian

Hi Thomas,

Am Freitag, den 15.05.2015, 22:09 +0200 schrieb Thomas Koch:
> I'm working on a small haskell app (gitit2) on github and would like to make 
> sure, that it keeps compiling and running on the last Debian stable.
> One way to do this is to configure travis to check every pull request against 
> the package versions available in Debian. I could add "--constraint" options 
> to cabal to achieve this.
> It would be simpler, if there would be a "hackage" that exposes all haskell 
> packages available in Debian. Than I could run cabal with "--package-db" 
> pointing to Debians "hackage" and see if everything still compiles.

nice use case. But to me it seems that your --constraint approach is
already quite sensible, and much more lightweight than creating a custom

Note that you can put a cabal.config file in your project directory with
constraints; this is how stackage works. Its instructions are simply
$ wget https://www.stackage.org/lts/cabal.config

It should be easy go generate a corresponding constraint file for a
given Debian release, and as long as the dependencies that you are using
are not patched too much in Debian, then it would work out nicely.
In fact, it is easy enough to do it in one line:
$ grep-available -F Ghc-Package . -s Ghc-Package -n|sort|perl -ne 'BEGIN {print "constraints:\n"} /^(.*)-([0-9\.]*)-(.*)$/; print "  $1 ==$2,\n"; END {print "  dummy ==0\n"}' > cabal.config
(the dummy entry is because cabal does not allow a trailing comma here).

Does that do what you need?


Joachim "nomeata" Breitner
Debian Developer
  nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: F0FBF51F
  JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: