Skip to content

Conversation

simonmar
Copy link
Member

See #6105

Please read Github PR Conventions and then fill in one of these two templates.

  • [X ] Patches conform to the coding conventions.
  • Is this a PR that fixes CI? If so, it will need to be backported to older cabal release branches (ask maintainers for directions).

Copy link
Collaborator

@TeofilC TeofilC left a comment

Choose a reason for hiding this comment

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

Nice!

@Mikolaj
Copy link
Member

Mikolaj commented Jun 20, 2025

@simonmar: thank you for the PR. Please feel free to set the merge_me label to start the ~2 days merging process.

Copy link
Collaborator

@ulysses4ever ulysses4ever left a comment

Choose a reason for hiding this comment

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

Good stuff, thanks! I have two questions so far. (I can't get to reviewing it more thoroughly before next week)

Copy link
Collaborator

Choose a reason for hiding this comment

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

Should we rename both files so that the URL doesn't mention Nix as well?

Copy link
Collaborator

Choose a reason for hiding this comment

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

If we do this, then perhaps we should rename it in the code. The options from the Distribution.Client.NixStyleOptions module (nixStyleOptions and NixStyleFlags) should be renamed to V2Options and V2Flags ?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Touching code is a big can of forms, so, if someone wants to mess with it, I'd suggest to leave it for a separate PR.

Copy link
Collaborator

Choose a reason for hiding this comment

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

For that matter, touching documentation breaks links. And yeh, renaming functions and modules causes big API breaks (granting that it's the cabal-install API which is less widely used than Cabal/Cabal-syntax).

Copy link
Collaborator

Choose a reason for hiding this comment

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

touching documentation breaks links

there are ways to put redirects, right?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Collaborator

Choose a reason for hiding this comment

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

2025-09-04_14-09-1757009403

Copy link
Collaborator

Choose a reason for hiding this comment

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

Option B is my suggestion. I can't see details of option A since you sent an image instead of a URL that would let me expand the hidden part of the example.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think GitHub Copilot (which is what I used here) allows shareable links. The listing for .readthedocs.yml is:

version: 2

sphinx:
  configuration: docs/conf.py

redirects:
  - type: page
    from: /name.html
    to: /new-name.html

I wasn't able to quickly corroborate that this is indeed a working solution (after all, AI can hallucinate).

FTR I'm impartial to what solution we pick, but it'd be good to pick and implement one: I'm still seeing the fallout after the renaming of cabal-file and cabal-project pages.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I figured as much; that's why I'm wary of making it worse.


In cabal-install 2.0 and above, Nix-style local builds also take advantage of a
new Cabal library feature, `per-component
builds <https://github.com/ezyang/ghc-proposals/blob/master/proposals/0000-componentized-cabal.rst>`__,
Copy link
Collaborator

Choose a reason for hiding this comment

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

So, we lose this link in this patch... It may be good to think about preserving it in some form. I don't think there's a comparable explanation in the manual itself currently.

Copy link
Collaborator

Choose a reason for hiding this comment

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

What are the benefits of the user seeing a link about how cabal worked more than 10 years ago?

As we can see, the proposal itself is a transition from the old configure to the new one + adding components.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Full disclosure: I didn't read the proposal too closely. My cursory look at it suggested that it describes things that are still relevant today. You seem to be of different opinion. Unless one of us finds energy to argue the point properly, with links to code and stuff, we can't solve this disagreement.

But maybe we don't have to agree because the proposal was archived as https://github.com/haskell/cabal-proposals/blob/master/proposals/componentized-cabal.rst which is more visible, so I'm less concerned about the removal of this link from the manual. Unless someone feels like fixing it, I lean towards letting this issue go. To be clear, fundamentally, I don't agree that it's a good idea to remove it, but I think that it's less bad now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants