haskell-distributed / distributed-process-platform

DEPRECATED (Cloud Haskell Platform) in favor of distributed-process-extras, distributed-process-async, distributed-process-client-server, distributed-process-registry, distributed-process-supervisor, distributed-process-task and distributed-process-execution
http://haskell-distributed.github.com
BSD 3-Clause "New" or "Revised" License
47 stars 17 forks source link

Update dependency on distributed-process to >= 0.5.0 #72

Closed jeremyjh closed 10 years ago

jeremyjh commented 10 years ago

The .cabal file requires 0.4.2 but master will not build with 0.4.2 due to imports of UnsafePrimitives

hyperthunk commented 10 years ago

Hi @jeremyjh - I'm a bit confused by this. The real issue with building here, seems to be that the development branch of this repository - well, actually the master branch as well, but that's because we've not released stable/master to hackage yet - depends on the development branch of distributed-process, not on a particular version on hackage. Looking at https://github.com/haskell-distributed/distributed-process/blob/development/distributed-process.cabal#L2, you can see that the version of distributed-process hasn't been bumped yet, which is to be expected because we've not reached readiness for the 0.5.0 release just yet - it's coming soon though!

So this change (to the version number of the dependencies) isn't due to come in until distributed-process gets its version bumped. As far as I can see, https://github.com/jeremyjh/distributed-process-platform/commit/99c167510dbe0b0facf6ad52034909059c09c273 will not build correctly until we change the cabal file for distributed-process. Have I missed something here?

jeremyjh commented 10 years ago

Hi - I do understand that but it looks like from the cabal file that platform should build from the version 0.4.2 that is on Hackage and of course it won't. So if you bump it to 0.5.0 and 0.5.0 doesn't exist anywhere it is pretty obvious it has to be built from the dev branch.

Maybe this is not a standard practice with Haskell/Cabal but I would have expected you to bump the version number or at least add a -dev tag to it for distributed-process's dev branch after the 0.4.2 release. Now if I build the development branch I've got something that is really a pre-release masquerading as 0.4.2.

Anyway I don't want to change how you do things I just thought this was an oversight so I'll close it.

hyperthunk commented 10 years ago

On 15 Nov 2013, at 16:30, Jeremy Huffman notifications@github.com wrote:

Hi - I do understand that but it looks like from the cabal file that platform should build from the version 0.4.2 that is on Hackage and of course it won't.

Yes, I agree that this is bad. So if you bump it to 0.5.0 and 0.5.0 doesn't exist anywhere it is pretty obvious it has to be built from the dev branch.

Good point, but it won't build even with the development branch if we do tht, so to build you'd have to hack the cabal file of your dependency by hand. That doesn't seem right either.

Maybe this is not a standard practice with Haskell/Cabal but I would have expected you to bump the version number or at least add a -dev tag to it for distributed-process's dev branch after the 0.4.2 release.

If there was a way to do that with cabal, I'd definitely do it! Now if I build the development branch I've got something that is really a pre-release masquerading as 0.4.2.

I appreciate that this isn't right. Let me spend a bit more time thinking about how to solve it in a way that doesn't break people's build or leave them with broken/incorrect dependencies.

Anyway I don't want to change how you do things I just thought this was an oversight so I'll close it.

Ok. I will look to address this issue though, so thanks for raising it!