MichaelXavier / cron

Cron data structure and parser for Haskell
Other
53 stars 33 forks source link

Compatibility with stackage (older transformers library) #14

Closed andrewthad closed 9 years ago

andrewthad commented 9 years ago

I use stackage for everything, and I really wanted to use cron, so I forked it and made cron-compat which uses the transformers and mtl compatibility shims to add ExceptT to older versions. I mostly just wanted to put this here so that if anyone finds themselves in the same boat, they can just reuse my fork instead of redoing that work.

MichaelXavier commented 9 years ago

Is there a good reason for this to be a separate package rather than a pull request?

andrewthad commented 9 years ago

Sort of. I feel like the way you have things now (depending on mtl >= 2.2 which implies transformers >= 4.0) is ideal. I guess the best fix would be to do the trick where you conditionally depend on one package and possibly stick some CPP in your code. I'm not really familiar with how to do this though, so I just wanted to get something out there that I could use. My fix involved unconditionally taking a dependency on transformers-compat and mtl-compat, which I think would be bad for people using the newer libraries.

peti commented 9 years ago

@andrewthad, dude, when you fork a package, it's really bad practice to have the derived version's Cabal file point the the original's homepage and repository. It's certainly bad practice to keep the original author and maintainer entries in the Cabal file, because now you're publishing a package "cron-compat" that claims that Michael Xavier would be maintaining it, which he clearly does not. This has caused a lot of confusion, and you've wasted both my and Michael's time with this bogus information. :angry: Please fix the Cabal file of your derived version ASAP and update the package on Hackage to reflect properly who owns and maintains it.

MichaelXavier commented 9 years ago

Maybe we can squash this whole thing. @peti sent me this pr to cron:

https://github.com/MichaelXavier/cron/pull/16

Tests all pass. I'm planning on merging this. I have no clue if this will sit nicely with stackage because I don't use it, but if I merge it, will this eliminate the need for cron-compat? I'd really like it if we could achieve all of our goals in one package. Thoughts, @andrewthad?

andrewthad commented 9 years ago

I just checked, and this does build with stackage. I'll delete cron-compat from hackage when this gets released.

MichaelXavier commented 9 years ago

This is now on hackage at 0.3.0.

andrewthad commented 9 years ago

Sweet. I've marked cron-compat as deprecated. It doesn't seem like there's any way to really delete a package though.