-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Get rid of the --derivation
flag
#8594
base: master
Are you sure you want to change the base?
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
drvPath
has 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:drvPath
is now overridden to not have the funkyDrvDeep
string context anymore.Tests that previously needed to
builtins.unsafeDiscardOutputDependency
adrvPath
no don't.Tests that previous did not need to
builtins.unsafeDiscardOutputDependency
adrvPath
now do.Checklist for maintainers
Maintainers: tick if completed or explain if not relevant
tests/**.sh
src/*/tests
tests/nixos/*
Priorities
Add 👍 to pull requests you find important.