Skip to content

buildRustPackage: use the same config file name for cargo-setup-hook and fetch-cargo-tarball#350446

Open
P-E-Meunier wants to merge 1 commit into
NixOS:masterfrom
P-E-Meunier:rust
Open

buildRustPackage: use the same config file name for cargo-setup-hook and fetch-cargo-tarball#350446
P-E-Meunier wants to merge 1 commit into
NixOS:masterfrom
P-E-Meunier:rust

Conversation

@P-E-Meunier

Copy link
Copy Markdown
Contributor

Currently, fetch-cargo-tarball produces a config file named .cargo/config, while cargo-setup-hook uses a default config file whenever .cargo/config.toml isn't present.

This causes all configurations to be ignored, in particular private registries.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions Bot added the 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. label Oct 22, 2024
@nix-owners nix-owners Bot requested review from figsoda, winterqt and zowoq October 22, 2024 10:09

@alyssais alyssais left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is going to break FODs. See previous attempts: #321095 (reverted in #321998), #339281.

@alyssais

Copy link
Copy Markdown
Member

#349360 would possibly make this workable with the new interface.

@P-E-Meunier

Copy link
Copy Markdown
Contributor Author

The point isn't to use config.toml, but rather to use the same in both places. I understand the point of keeping config, but the current situation is currently broken with private registries.

Do you think an alternative where cargo-setup-hook checks both places to decide whether to take a default config would work?

@alyssais

Copy link
Copy Markdown
Member

I don't know. I do know that making them different happened on purpose (#331167), but maybe this wasn't considered.

cc @emilazy @mmlb

@ofborg ofborg Bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels Oct 22, 2024
@mmlb

mmlb commented Oct 22, 2024

Copy link
Copy Markdown
Member

I did the most I could without breaking FOD which as I learned (again) leads to silent breakage. I believe any further changes would have to be with a different api so that users can opt-into it. I have not looked at #349360.

@wegank wegank added the 2.status: merge conflict This PR has merge conflicts with the target branch label Feb 15, 2025
@nixpkgs-ci nixpkgs-ci Bot added the 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md label Jun 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 2.status: stale https://github.com/NixOS/nixpkgs/blob/master/.github/STALE-BOT.md 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants