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 = trueset 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.shto update generated release notes