schell / gelatin

A nice Haskell graphics API. There's always room for jello.
BSD 3-Clause "New" or "Revised" License
41 stars 4 forks source link

Make it compile (with cabal new-build) and add some working ci builds #15

Closed fgaz closed 6 years ago

fgaz commented 6 years ago

new-build caches the results, so this will be faster too.

Note that the cabal 2.0 build does not run tests. This is because new-test will only work from the next cabal release (in cabal head it works). EDIT: maybe this was for cabal 1.24 and we actually can do a full new-build+test with 2.0... I'll have to check EDIT2: nope. next release it is.

The cabal-new-head-ghc-head build is failing because of the --allow-newer, which pulls an unbuildable cereal. We should consider removing that (or adding another build with cabal head and a fixed ghc so tests get run)

Also, what about marking all builds as optional except the ones that I can get to build with this pr?

schell commented 6 years ago

Wow! Thank you @fgaz - I appreciate it. I'll run through these commits and get you feedback (or just merge) today.

fgaz commented 6 years ago

You're welcome. I really want this project to take off! The haskell ecosystem lacks a good 2d rendering engine right now (gloss is too limited).

What about keeping only one build per GHC version (using cabal new-build) plus one with stack? This is what https://github.com/haskell/cabal does, and in my experience it works quite well.

I'll also add version bounds (maybe in another pr) if you are ok with that.

schell commented 6 years ago

I am totally okay with that. The CI I implemented was premature at best and then neglected as I moved on to other projects that built on top of gelatin, so any/all help and suggestions you have are much appreciated.

fgaz commented 6 years ago

Awesome! Wait a bit before merging then. I'll rewrite .travis.yml to do what i've written avove

schell commented 6 years ago

Would you like to become a collaborator, @fgaz ?

fgaz commented 6 years ago

Is it ok to drop support for GHC 7.6? It won't even compile, probably

fgaz commented 6 years ago

Would you like to become a collaborator, @fgaz ?

Well, why not! I'll probably try to make some (really basic) games with this in the future and I might try to add some features if I'm missing anything.

fgaz commented 6 years ago

Uh, it won't compile with GHC 7.8 either. That's the last release before the foldable-traversable-proposal (or was it the applicative monad proposal?), which added a bunch of incompatibilies. So we either resort to {-# LANGUAGE CPP #-} or support only GHC >=7.10

schell commented 6 years ago

I think it's okay to only support GHC >= 7.10... ...until somebody needs it, but we can cross that bridge when we get to it.

schell commented 6 years ago

Feel free to merge when you're ready :)

fgaz commented 6 years ago

This should suffice. edit: well, almost.

I'll wait till this last build completes and then merge.

You should add a long description to gelatin-freetype2 so we'll have a green badge... or remove cabal check from the cabal script ;-) (see job 291240490)