Skip to content
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

Merged
merged 1 commit into from
May 11, 2014

Conversation

xich
Copy link
Contributor

@xich xich commented May 5, 2014

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.

@blaenk
Copy link

blaenk commented May 6, 2014

Thanks for this. Hopefully it gets merged soon.

@fosskers
Copy link

fosskers commented May 6, 2014

Awesome. This is causing my Travis builds to fail and I was perplexed as to why.

@tibbe
Copy link

tibbe commented May 7, 2014

I don't see how exceptions 0.6 could break temporary, as temporary doesn't allow for exceptions 0.6: exceptions >= 0.1.1 && < 0.4. What's the error message you're seeing?

@@ -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,
Copy link

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.

@xich
Copy link
Contributor Author

xich commented May 7, 2014

Max released a new version that isn't on github (but is on hackage) with no
upper bound on exceptions. (1.2.0.2)
On May 7, 2014 7:42 AM, "Johan Tibell" [email protected] wrote:

I don't see how exceptions 0.6 could break temporary, as temporary doesn't
allow for exceptions 0.6: exceptions >= 0.1.1 && < 0.4. What's the error
message you're seeing?


Reply to this email directly or view it on GitHubhttps://github.com//pull/12#issuecomment-42421646
.[image: Web Bug from
https://github.com/notifications/beacon/19712__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcxNTA4NTcyOSwiZGF0YSI6eyJpZCI6MzE0OTI5MTd9fQ==--b8db9c15d7efa900c07498267428eff148eaf4dc.gif]


if !os(windows)
build-depends: unix >= 2.3 && < 2.8
build-depends: unix >= 2.3
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto

@tibbe
Copy link

tibbe commented May 7, 2014

Ugh. People need to stop doing that. It breaks old code on Hackage in an
unfixable way.

On Wed, May 7, 2014 at 2:43 PM, Andrew Farmer [email protected]:

Max released a new version that isn't on github (but is on hackage) with
no
upper bound on exceptions. (1.2.0.2)
On May 7, 2014 7:42 AM, "Johan Tibell" [email protected] wrote:

I don't see how exceptions 0.6 could break temporary, as temporary
doesn't
allow for exceptions 0.6: exceptions >= 0.1.1 && < 0.4. What's the error
message you're seeing?


Reply to this email directly or view it on GitHub<
https://github.com/batterseapower/temporary/pull/12#issuecomment-42421646>

.[image: Web Bug from

https://github.com/notifications/beacon/19712__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcxNTA4NTcyOSwiZGF0YSI6eyJpZCI6MzE0OTI5MTd9fQ==--b8db9c15d7efa900c07498267428eff148eaf4dc.gif]


Reply to this email directly or view it on GitHubhttps://github.com//pull/12#issuecomment-42421808
.

@xich
Copy link
Contributor Author

xich commented May 7, 2014

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.

@tibbe
Copy link

tibbe commented May 7, 2014

Oh I see. My mistake.

On Wed, May 7, 2014 at 2:51 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.


Reply to this email directly or view it on GitHubhttps://github.com//pull/12#issuecomment-42422514
.

fujimura added a commit to fujimura/hi that referenced this pull request May 7, 2014
@UnkindPartition
Copy link

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.

pbrisbin added a commit to pbrisbin/yesod-markdown that referenced this pull request May 9, 2014
@romhack
Copy link

romhack commented May 10, 2014

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.
Hope this request will be merged asap.

@hikari-no-yume
Copy link

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.

@romhack
Copy link

romhack commented May 10, 2014

Taze, you still can install Haste. Just save this commit and install package manually.

@UnkindPartition
Copy link

There's an even simpler workaround:

cabal install haste --constraint='exceptions < 0.6'

@hikari-no-yume
Copy link

@feuerbach: cabal install haste-compiler --constraint='exceptions < 0.6' worked, thanks!

@fosskers
Copy link

I really wish this would be merged.

@fosskers
Copy link

@feuerbach I don't know if you emailed Max directly, but I just did, as I really need this merged.
Your forking of this is wonderful for cabal only setups, but a number of linux distributions have hackage packages bundled as Linux ones, so that they can all be managed by a central package manager. If a package breaks you can't just circumvent it and use cabal directly, as that could cause dependency hell. Likewise, a number of packages depend on the Linux package haskell-temporary which is a bundle of the original temporary Hackage package, and are now breaking.

@xich
Copy link
Contributor Author

xich commented May 10, 2014

@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.

@fosskers
Copy link

@xich My project also depends on it, hence the above.

batterseapower added a commit that referenced this pull request May 11, 2014
Fix temporary for exceptions >= 0.6
@batterseapower batterseapower merged commit b877ca6 into batterseapower:master May 11, 2014
@batterseapower
Copy link
Owner

Thanks for the contribution - released as v1.2.0.3

@fosskers
Copy link

Thank you!

@nomeata
Copy link

nomeata commented Aug 3, 2014

Thanks.
@feuerbach, with this closed, can you make tasty-golden work with the pristine temporary again?

Fuuzetsu added a commit to tweag/HaskellR that referenced this pull request Jul 21, 2015
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants