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 hackage. 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? Greetings, Joachim -- 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