-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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
haskellPackages.graphql: remove asserts #166425
Conversation
With the asserts in place, it becomes more awkward to, for example, filter the packages in the haskell package set, because forcing graphql causes an error. Seems to me there's nothing wrong in theory with forcing this derivation, even if the hspec and parser-combinators versions are no good. The problem should only arise when trying to build it.
How are you hitting these asserts? The intention behind them is that when they fire, they ought to be cleaned up altogether as the fix guarded by them is no longer necessary. This wouldn't be as apparent with If you are switching out versions and want to skip the |
I apply an overlay which picks a new hspec, and then check every member of the package set, causing the assertion to fail and the program to crash.
Not sure I follow this. Do you mean I ought to override graphql too? Wouldn't be such a nice workaround IMO since graphql is not even used in my application. I don't need to build it. |
Point being, that this is a tool used by us upstream maintainers to let us know when we can remove an override in
I see. The problem is that we
As a workaround, I can recommend doing a |
We should only make use of asserts to assert a property about the *current* attribute in order to make it possible for downstream users to change versions of packages: When a downstream user changes the package an attribute points to, the assert is removed as the attribute is swapped out, so asserting something about itself is okay. However, when it asserts a property about another package, changing that other package may break the package unexpectedly, with no better workaround then passing in an empty `configurationCommon` overlay. See also: #166425
Addressed as part of #160733 |
Description of changes
With the asserts in place, it becomes more awkward to, for example,
filter the packages in the haskell package set, because forcing graphql
causes an error. Seems to me there's nothing wrong in theory with forcing
this derivation, even if the hspec and parser-combinators versions are no
good. The problem should only arise when trying to build it.
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes