Conversation
4f712fe to
2f3e9e9
Compare
Idealistically yes, but for practicality, shouldn't we make the CLI do the expected thing for that weird string context, as a backcompat measure for older Nixpkgs? |
|
Hmm I dunno. I don't like how it wouldn't respect (at least my notion of) "referential transparency". I do admit it's not hard to do that, but I rather start with the cleaner thing, and only add the other if people absolutely demand it. Can always add it later, but can't remove it once added (and stable). But maybe I am being unreasonable and I just dislike |
In what way is it violated?
A way to drive a wedge between those who need the old behavior of |
2f3e9e9 to
8c18ed7
Compare
05f4679 to
248993d
Compare
The test plan is taken by Robert's comment in NixOS#7910 (comment) describing how we could migrate *Nixpkgs* without a breaking change in Nix. The Nix testsuite has its own `mkDerivation`, and we so we do the same thing with it: - `drvPath` is now overridden to not have the funky `DrvDeep` string context anymore. - Tests that previously needed to `builtins.unsafeDiscardOutputDependency` a `drvPath` no don't. - Tests that previous did *not* need to `builtins.unsafeDiscardOutputDependency` a `drvPath` now *do*.
Since PR NixOS#7601, we've had enough flexibility in our types of installables that it is no longer needed. Progress towards NixOS#7261
248993d to
ff207e6
Compare
|
🎉 All dependencies have been resolved ! |
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2023-10-27-nix-team-meeting-minutes-98/34695/1 |
|
Discussed in Nix team meeting 2023-11-10:
|
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2023-11-10-nix-team-meeting-minutes-102/35379/1 |
|
Did a review of use-cases via https://sourcegraph.com/search?q=context:global+nix.*--derivation&patternType=standard&sm=1&groupBy=repo to see if there are situations not covered by the proposal. The one that seems to be needed is Top 4
|
|
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2023-12-08-nix-team-meeting-minutes-110/36721/1 |
Motivation
Since PR #7601, we've had enough flexibility in our types of installables that it is no longer needed. Almost. The only remaining issue is that
drvPathhas the wrong type of string for historical reasons, see #7910.Context
Progress towards #7261
depends on #9216Test plan
The test plan is taken by Robert's comment in #7910 (comment) describing how we could migrate Nixpkgs without a breaking change in Nix. The Nix testsuite has its own
mkDerivation, and we so we do the same thing with it:drvPathis now overridden to not have the funkyDrvDeepstring context anymore.Tests that previously needed to
builtins.unsafeDiscardOutputDependencyadrvPathno don't.Tests that previous did not need to
builtins.unsafeDiscardOutputDependencyadrvPathnow do.Checklist for maintainers
Maintainers: tick if completed or explain if not relevant
tests/**.shsrc/*/teststests/nixos/*Priorities
Add 👍 to pull requests you find important.