From hecate at haskell.foundation Thu Aug 3 18:35:33 2023 From: hecate at haskell.foundation (=?UTF-8?Q?Theophile_H=C3=A9cate_Choutri?=) Date: Thu, 3 Aug 2023 20:35:33 +0200 Subject: 03/08/2023 Cabal meeting minutes Message-ID: Hi everyone You will find below the minutes of the Cabal meeting that was held on the 03/08/2023. This meeting occurs every two weeks and is absolutely open to developers, newcomers and stakeholders. Do contact the dev team if you want an invitation to the event. --- ## 3.10.2.0 patch release Hécate: The pipeline situation seems to have been fixed, as such Mikołaj & I are able to run GitLab pipelines for cabal. I suggest that once the following PRs are merged, the release process (including security fixes) resume. I'd ideally like it to be done by next week. * https://github.com/haskell/cabal/pull/9088 ## 3.12.1.0 major release Hécate: In accordance with the planned schedule of GHC 9.8, we would like to perform a major release at the end of August. This would be a good idea to highly promote cabal-head nightlies and make sure that the 3.12.1.0 release is already used by people in all but name before we formally create the tag and publish the binaries. (f-a et al.): Things we should warn users about: - `cabal check`: cabal now warns about missing upper bounds. I have a PR ready to address this (ignore some checks) but #8427 needs to be merged first. ## Other topics ### Yvan * I have a working `flake.nix` and `shell.nix` that declare my dev environment to work on Cabal, do you think I should share it in a PR? * I was about to write a detailed issue where I explain why https://cabal.readthedocs.io/en/latest/nix-integration.html doesn't work at all (or it's very poorly documented and I don't understand how to properly use it). Instead of fixing it, I'm in favor of removing it because I think it's overall not a good idea to have this kind of integration. * Hécate: Action Item: We should take the pulse of the community for a couple of releases. We should point to https://nixos.wiki/wiki/Haskell for transition. * If time permits, I also wanted to have feedback on my currently open PRs https://github.com/haskell/cabal/pulls/yvan-sraka. -------------- next part -------------- An HTML attachment was scrubbed... URL: From a.pelenitsyn at gmail.com Thu Aug 3 20:04:20 2023 From: a.pelenitsyn at gmail.com (Artem Pelenitsyn) Date: Thu, 3 Aug 2023 16:04:20 -0400 Subject: 03/08/2023 Cabal meeting minutes In-Reply-To: References: Message-ID: Thanks a lot Hécate! Re: adding Nix-related stuff. I was thinking about it a lot and was planning to work on it after I'm free (in the Fall). If Yvan has a plan, that's amazing! We accumulated a lot of stuff that we use in CI (Sphynx, Fourmolu, HLint, doctest… maybe Weeder in the future?), so I think it's exactly the right time to get this kind of solution. Full disclaimer, I use NixOS and get to feel the mild annoyance of not having the support. In the past we heard concerns about maintenance cost of a Nix-based solution. I just wanna say, I'm ready to put some of my time to make sure it's up and running. I'd just make one request: please-please add a CI job that would check that this solution is up to date. It doesn't have to run tests, I think. Just lint and build would be enough I think. -- Best, Artem On Thu, Aug 3, 2023, 2:35 PM Theophile Hécate Choutri via cabal-devel < cabal-devel at haskell.org> wrote: > Hi everyone > > You will find below the minutes of the Cabal meeting that was held on the > 03/08/2023. > This meeting occurs every two weeks and is absolutely open to developers, > newcomers and stakeholders. Do contact the dev team if you want an > invitation to the event. > > --- > > ## 3.10.2.0 patch release > > Hécate: The pipeline situation seems to have been fixed, as such Mikołaj & > I are able to run GitLab pipelines for cabal. I suggest that once the > following PRs are merged, the release process (including security fixes) > resume. I'd ideally like it to be done by next week. > > * https://github.com/haskell/cabal/pull/9088 > > ## 3.12.1.0 major release > > Hécate: In accordance with the planned schedule of GHC 9.8, we would like > to perform > a major release at the end of August. This would be a good idea to highly > promote > cabal-head nightlies and make sure that the 3.12.1.0 release is already > used by people > in all but name before we formally create the tag and publish the binaries. > > (f-a et al.): Things we should warn users about: > - `cabal check`: cabal now warns about missing upper bounds. I have a PR > ready to address > this (ignore some checks) but #8427 needs to be merged first. > > ## Other topics > > ### Yvan > > * I have a working `flake.nix` and `shell.nix` that declare my dev > environment to work on Cabal, do you think I should share it in a PR? > * I was about to write a detailed issue where I explain why > https://cabal.readthedocs.io/en/latest/nix-integration.html doesn't work > at all (or it's very poorly documented and I don't understand how to > properly use it). Instead of fixing it, I'm in favor of removing it because > I think it's overall not a good idea to have this kind of integration. > * Hécate: Action Item: We should take the pulse of the community for a > couple of releases. We should point to https://nixos.wiki/wiki/Haskell > for transition. > * If time permits, I also wanted to have feedback on my currently open PRs > https://github.com/haskell/cabal/pulls/yvan-sraka. > > _______________________________________________ > cabal-devel mailing list > cabal-devel at haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hecate at haskell.foundation Fri Aug 11 16:08:00 2023 From: hecate at haskell.foundation (=?UTF-8?Q?Theophile_H=C3=A9cate_Choutri?=) Date: Fri, 11 Aug 2023 18:08:00 +0200 Subject: [Help wanted] Unexplained CI failure for #9088 Message-ID: Hi everyone, a nasty CI failure for #9088 is preventing us from finishing the release of cabal-3.10.2.0. I am out of my depth regarding how to fix it. It seems that it's a mere matter of accepting new output for the CLI's golden tests, but evidently it's not that simple, as Brandon also had trouble with it. Here is the output of the CI: https://github.com/haskell/cabal/actions/runs/5799856732/job/15720762229#step:17:3694 Thank you for your help. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hecate at haskell.foundation Sat Aug 12 13:53:00 2023 From: hecate at haskell.foundation (=?UTF-8?Q?Theophile_H=C3=A9cate_Choutri?=) Date: Sat, 12 Aug 2023 15:53:00 +0200 Subject: Cabal developers meeting of the 17/08/2023 Message-ID: Hi everyone, You'll find below the link to the agenda and minutes: https://hackmd.io/78RP9BOAQFiq_GM1qNRpYQ?both Please do take the time to add the topics you want to raise. We already have a discussion about the exact-print parser that is being developed for HLS, and this would be an appropriate moment to determine our current legacy in terms of parsers within the code base. See you next week, Hécate -------------- next part -------------- An HTML attachment was scrubbed... URL: From hecate at haskell.foundation Thu Aug 17 20:25:12 2023 From: hecate at haskell.foundation (=?UTF-8?Q?Theophile_H=C3=A9cate_Choutri?=) Date: Thu, 17 Aug 2023 22:25:12 +0200 Subject: Cabal developers meeting of the 17/08/2023 In-Reply-To: References: Message-ID: Hi everyone, here are the minutes of the meeting: --- # Cabal meeting (17/08/2023) Previously: https://hackmd.io/2EPSwwg8QqqZ96cFdW2wTQ ## Next Release - Help needed with [#9088](https://github.com/haskell/cabal/pull/9088). - Hécate: If we can't get it through, we'll skip it for this backport. ## Cabal exact-printing in HLS * HLS has a cabal plugin: https://discourse.haskell.org/t/hsoc-hls-cabal-file-support/7331/2 * Establishing a context for completions (Value Context, Keyword Context, ...) is not easily possible * Custom parsing that works 95% of the time is used. * Fitting .cabal intermediate structures would improve the code and reduce maintenance burden for HLS team. * Often requested feature in HLS: https://github.com/haskell/haskell-language-server/issues/3595 * Requires parsing and modifying .cabal files without modifying the rest of the cabal file * GenericPackageDescription insufficient due to loss of Source Positions * Intermediate representations of .cabal files are unknown / hard to discover * Custom megaparsec parser used for POC of Code Action "Add module to exposed-modules" field. * FYI, this code action is working for a lot of use-cases already * Explicit goal of being an exactprinter * See [megaissue]( https://github.com/haskell/cabal/issues/7544#issuecomment-934009792) (and there is a whole github project, linked to in the issue). * While the HLS's custom parser serves a different purpose, it'd be much nicer if we could re-use Cabal directly * In a dicussion, @fendor and @andreabedini talked about a way forward: * Let's make `[Field ann]` roundtripping by modifying the lexer * Trailing whitespace needs to be handled * Comments need to be handled * Are braces currently handled in the lexer or are they a part of `ann`? * POC branch by @andreabedini available * `Field ann` gives us enough information to implement the Code Action for HLS * Ideally, we also make `Fields ann` (note: different intermediate representation) roundtrip with `[Field ann]` Pros: * We are relatively close to achieving roundtrips of `[Field ann] <-> .cabal` * Immense help for tooling already Cons: * No field analysis, further parsing required. Proposed roadmap: 1. HLS releases with the Code Action using a custom parser 2. The custom parser is replaced by `[Field ann]` internally, but still permitting an interface HLS can use 3. Improve the lexer and enable roundtripping of `[Field ann] <-> .cabal file` 4. Evaluate what Code Actions and IDE features can be implemented on top of that ## Cabal nix integration - [Users’ survey]( https://discourse.haskell.org/t/community-survey-removing-cabals-nix-integration/7201/12 ). - tl;dr: most people do not use it, with some exceptions (see message by neil.mayhew). - Some use *stack* nix integration, but I am not sure it is actually the same thing as `cabal`. (I am told it is by various `stack` users. *++bsa*) *Action Item: We kill it.* ## Other topics - GHC 9.8 Hécate: 3.10.2.0 release will also be shipped with GHC 9.8. It needs to be patched in order to recognise it as a legal version. On Sat, 12 Aug 2023 at 15:53, Theophile Hécate Choutri wrote: > Hi everyone, > You'll find below the link to the agenda and minutes: > > https://hackmd.io/78RP9BOAQFiq_GM1qNRpYQ?both > > Please do take the time to add the topics you want to raise. We already > have a discussion about the exact-print parser that is being developed for > HLS, and this would be an appropriate moment to determine our current > legacy in terms of parsers within the code base. > > See you next week, > Hécate > -------------- next part -------------- An HTML attachment was scrubbed... URL: From hecate at haskell.foundation Thu Aug 31 17:38:11 2023 From: hecate at haskell.foundation (=?UTF-8?Q?Theophile_H=C3=A9cate_Choutri?=) Date: Thu, 31 Aug 2023 19:38:11 +0200 Subject: Cabal developers meeting of the 31/08/2023 Message-ID: Hi everyone, here are the minutes of today's meeting: --- ## Next Release Pre-release binaries for 3.10.2.0 are located on GitLab . Most Linux users can use the linux-alpine bindist . ## HSoC Suganya has submitted the latest PR on the Cabal error codes, this time targeting cabal-install: Cabal-Install Package Errors #9219 ## Solver PRs There have been several PRs to the solver in order to improve the quality of life: * Removing chooseSolver and inline Modular solver as default choice #9206 * Solver "rejecting" message is too verbose #9159 * Add custom GHA markers in solver output #9199 -------------- next part -------------- An HTML attachment was scrubbed... URL: