-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix temporary for exceptions >= 0.6 #12
Conversation
Thanks for this. Hopefully it gets merged soon. |
Awesome. This is causing my Travis builds to fail and I was perplexed as to why. |
I don't see how exceptions 0.6 could break temporary, as temporary doesn't allow for exceptions 0.6: |
@@ -22,8 +22,8 @@ Library | |||
exposed-modules: System.IO.Temp | |||
other-modules: Distribution.Compat.Exception | |||
Distribution.Compat.TempFile | |||
build-depends: base >= 3 && < 6, filepath >= 1.1 && < 1.4, directory >= 1.0 && < 1.3, | |||
transformers >= 0.2.0.0 && < 0.4, exceptions >= 0.1.1 && < 0.4 | |||
build-depends: base >= 3 && < 10, filepath >= 1.1, directory >= 1.0, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removing these upper bounds guarantees breakages in the future (e.g. when exceptions 0.7 comes out). Those breakages will be unfixable because even if we re-add an upper bound, cabal will happily (and correctly) use the old broken version of temporary.
Max released a new version that isn't on github (but is on hackage) with no
|
|
||
if !os(windows) | ||
build-depends: unix >= 2.3 && < 2.8 | ||
build-depends: unix >= 2.3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ditto
Ugh. People need to stop doing that. It breaks old code on Hackage in an On Wed, May 7, 2014 at 2:43 PM, Andrew Farmer [email protected]:
|
I agree, and wish the upper bounds were still there. (I've learned that lesson the hard way before too.) Just to be clear, I made my patch against the hackage version, then committed it all at once. I should have split into two commits I guess. I didn't remove the upper bounds, but didn't add them back either, as its not my package. I just bumped exceptions to >= 0.6. |
Oh I see. My mistake. On Wed, May 7, 2014 at 2:51 PM, Andrew Farmer [email protected]:
|
Thanks for the patch, Andrew. Since I didn't get a response from Max, I've forked the package and released it as http:https://hackage.haskell.org/package/temporary-rc I am now looking for backup maintainers for this fork to ensure that a similar situation won't occur again. Let me know if you'd like to become one. |
Thank you, Andrew. I'm a newbie and was confused as this issue did not let me install pandoc, hakyll, which are frequently used by people far from haskell platform. Most of them know only "cabal install hakyll" command. |
So, the issue here is simply that the upper bound on the version number for exceptions was removed, so cabal grabs a newer, incompatible version, thus breaking temporary? I'm a newbie to all this. I just wanted to install Haste. |
Taze, you still can install Haste. Just save this commit and install package manually. |
There's an even simpler workaround:
|
@feuerbach: |
I really wish this would be merged. |
@feuerbach I don't know if you emailed Max directly, but I just did, as I really need this merged. |
@batterseapower @feuerbach I wouldn't mind be added as a maintainer on temporary for stuff like this. I certainly don't want to be in charge of merging new features, as I don't really know the code, but can do the tedious version bumping stuff. The temporary package is one of the dependencies of a project I work on daily, so I tend to notice when it breaks. |
@xich My project also depends on it, hence the above. |
Fix temporary for exceptions >= 0.6
Thanks for the contribution - released as v1.2.0.3 |
Thank you! |
Thanks. |
This resolves an ambiguous package import. The issue is that `temporary-rc` is a `temporary` fork. Some time ago (1 year+), `temporary-rc` contained extra patches and `tasty` library moved to using that. So now we have `temporary-rc` used by `tasty` and `temporary` we tried to use – a clash. Now the packages are functionally the same so we use `temporary-rc`. If in the future `tasty` decides to move back to `temporary` (as prompted at batterseapower/temporary#12 and @qnikst is going to attempt to find out if there is such a plan at all), we will have to move to `temporary`. But for now we use `temporary-rc` for simplicity.
As others have posted in the issue tracker, exceptions 0.6 breaks temporary 1.2.0.2 (the most recent on hackage).
As github doesn't seem to have 1.2.0.2, I pulled down the tar.gz file from hackage and overlaid it on the github repo. The only change seems to be the lack of upper bounds on packages. I fixed the
MonadMask
problem, bumped the version to 1.2.0.3, and bumped the min bound on exceptions to 0.6.