Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Michael Snoyman
Got it, thanks. Mikhail: thank you for the feedback too. If you want me to review any updates, let me know. On Tue, Feb 20, 2018 at 10:19 PM, Oleg Grenrus wrote: > Good point. There aren't ReadP-parser for SPDX.License, so no Text > instance either. > But there is

Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Oleg Grenrus
Good point. There aren't ReadP-parser for SPDX.License, so no Text instance either. But there is `Distribution.Pretty.Pretty` instance (`prettyShow`). - Oleg On 20.02.2018 20:28, Michael Snoyman wrote: > Alright, I've updated the PR to use `Either SPDX.License License`: > >

Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Mikhail Glushenkov
Hi, On 20 February 2018 at 13:47, Michael Snoyman wrote: > Hi all, > > Oleg mentioned to me on Reddit that a 2.2 branch has been cut for Cabal, and > recommended we try to upgrade Stack to it. I'm sharing information here on > that process in case it's useful to others,

Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Michael Snoyman
Alright, I've updated the PR to use `Either SPDX.License License`: https://github.com/commercialhaskell/stack/pull/3878/commits/6679aafe99a087dd6aac341fce965f4067e1be77 The only difference from your description that I ran into is that there's no Text instance for SPDX.License, meaning instead

Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Oleg Grenrus
1. The InstalledPackageInfo license field is also `Either SPDX.License License` [1] and you can get a list of IPIs conviently with `HcPkg.dump` [2] 2. It's up to you, if `Text` is enough, go for it. In the future you might want to provide some license reports, where you'll need structured license

Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Michael Snoyman
I'm sorry, I'm not quite sure I understand your recommendation. Are you saying that I should ideally replace all usages of `License` in the Stack codebase with `Either SPDX.License License`? That _should_ be possible, the only questions I'd have are: 1. We additionally grab license info from the

Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Oleg Grenrus
Hi Michael, thanks for your comments! - The allBuildInfo change is https://github.com/haskell/cabal/commit/8fc10320a5dc4898927c84ad6a2dce7965ef30db, I agree with Herbert on this. New `allBuildInfo` implementation is correct given the name. There was even a TODO to make that change.

Re: Upgrading Stack to Cabal 2.2

2018-02-20 Thread Herbert Valerio Riedel
On Tue, Feb 20, 2018 at 2:47 PM, Michael Snoyman wrote: > If I could make a request, it would be that, in > the future, new runtime behavior come with a new function name, to convert > runtime errors into compile time errors. Well, this is one of the primary reasons we have