Skip to content

Relax some version bounds and fix build with Cabal 3.#3838

Closed
arrowd wants to merge 1 commit intopurescript:masterfrom
arrowd:cabal-3
Closed

Relax some version bounds and fix build with Cabal 3.#3838
arrowd wants to merge 1 commit intopurescript:masterfrom
arrowd:cabal-3

Conversation

@arrowd
Copy link
Copy Markdown
Contributor

@arrowd arrowd commented Apr 9, 2020

No description provided.

@arrowd
Copy link
Copy Markdown
Contributor Author

arrowd commented Apr 19, 2020

If breaking compatibility with Cabal < 3 is a concern, let's at least partially merge this?

@hdgarrood
Copy link
Copy Markdown
Contributor

Sorry, but this sort of change is not really a priority for us. In particular building the compiler with dependencies other than those specified by stack.yaml is not recommended. If this is blocking you elsewhere because your distribution provides newer versions of libraries etc, I would recommend that you find a different way of building the compiler.

@kritzcreek
Copy link
Copy Markdown
Member

The PR is failing on CI, because our Stackage snapshot contains a version of Protolude that doesn't export unlines yet. It's not generally important to us to compile with the latest version of every library on Hackage. By the time we update the snapshot, we'll have to do the fixes for the libraries that end up being bumped, but I was thinking we'd do that after 0.14.0. Unless you had other plans @hdgarrood?

@hdgarrood
Copy link
Copy Markdown
Contributor

Yeah I mean we definitely will want to do it eventually - I just mean that doing it soon is going to be difficult to justify based on the other things we could be looking at.

@hdgarrood
Copy link
Copy Markdown
Contributor

Such as getting 0.14.0 out the door.

@arrowd
Copy link
Copy Markdown
Contributor Author

arrowd commented Apr 19, 2020

No problem, I can surely patch Purescript on our side. I just wanted to minimize amount of extra patches.

Is there any ETA for a release that would have my happy fix in?

@hdgarrood
Copy link
Copy Markdown
Contributor

The next release will be 0.14.0, and it shouldn’t be too far away, but it will have some breaking changes. However I still would like to encourage you not to maintain patches; whatever is breaking for you now will surely break again later, because we do not move at the same speed as the rest of the Haskell ecosystem. Can you use the instructions for building from source in INSTALL.md instead?

@arrowd
Copy link
Copy Markdown
Contributor Author

arrowd commented Apr 19, 2020

Can you use the instructions for building from source in INSTALL.md instead?

If that means using stack, then no, unfortunately. There is an established framework for converting Haskell packages to FreeBSD ports and it uses cabal new-build machinery.

Anyway, the most complex part (happy fix) is already upstreamed, so tiny Cabal 3 compatibility patches aren't a big deal.

@hdgarrood
Copy link
Copy Markdown
Contributor

Using stack is easiest, but it doesn't necessarily mean using stack. It should be possible to turn the output of stack ls dependencies into a cabal freeze file, which I think should be all you need to do to allow building with Cabal.

@hdgarrood
Copy link
Copy Markdown
Contributor

I'm going to close this because this widens version bounds more than I'm comfortable with, and also because I want to get #3933 in first, which will require this to be redone anyway.

@hdgarrood hdgarrood closed this Oct 11, 2020
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.

3 participants