| 8 Feb 2026 |
chreekat | Am I right in assuming that usually if you override a package in a package set (examples from the file I'm modifying: https://github.com/commercialhaskell/stackage-server/blob/master/package.nix), the override you specify becomes the only version of that package available, regardless of where it lives in the dependency tree of other packages in the set? | 12:31:10 |
sterni | This is true, but the core packages bundled on GHC still depend on other core packages. So if you want to globally override Cabal, you also need to globally override all core packages that (indirectly) depend on Cabal, so they get rebuilt. | 12:32:18 |
sterni | Then you also need to convince the cabal solver to pick those packages over the core packages which can sometimes be tricky (but usually just works). | 12:32:44 |
sterni | in this case the latter seems to be happening, i.e. hackage-security is still built against the core package | 12:33:37 |
chreekat | Ok, so my memory/intuition was fairly correct. How can I do a "null" override for hackage-security and any other packages, so they get rebuilt? certainly not just hackage-security = old.hackage-security, ... | 12:36:19 |
sterni | should be rebuild as it has a Cabal input. Check what version it is and what constraints it has on Cabal. Maybe it just doesn't allow 3.12. | 12:39:34 |
chreekat | cool, things seem to be progressing by setting jailbreak = true for the package. Oh, what terrors may await | 12:43:33 |
chreekat | (I thought about just bumping the nixpkgs pin to pick up a newer version of Cabal, but since this particular project is upstream of the snapshots that are upstream of nixpkgs packages I thought it would be good to ensure I can independently upgrade Cabal to pick up packages that use newer versions) | 12:44:39 |
chreekat | damn, that changed the hash and rebuilt some stuff, but it did not get any further | 12:45:35 |
sterni | you can try passing --constraint=Cabal>=3.12 as a configure flag | 12:46:33 |
chreekat | ooh, neat, searching for a flag like that found some good examples of massaging dependencies on Cabal | 12:48:47 |
chreekat | This did a thing, but it created an impossible condition by adding && Cabal>=3.12 to every existing branch of the constraint on Cabal :)
Error: Setup: Encountered missing or private dependencies:
Cabal ((>=1.14 && <1.26 || >=2.0 && <2.6 || >=3.0 && <3.7) && >=3.12) &&
(>=1.14 && <1.26 || >=2.0 && <2.6 || >=3.0 && <3.7) && >=3.12 || (>=3.7 &&
<3.12) && >=3.12,
| 12:58:37 |
sterni | ah right the constraints are behind a conditional, so jailbreak won't relax them. | 13:00:23 |
sterni | you need to either patch that or more likely upgrade to a version of hackage-security that does support Cabal 3.12 since I doubt it will build even if you patch the cabal file | 13:00:58 |
chreekat | ok, i'll fall back to just bumping the nixpkgs pin for now | 13:01:26 |
chreekat | thanks for the help! | 13:03:26 |
sterni | wonder when one of those cabal install plan to nix generator projects finally pans out. Should be very possible to make one. I think those would be pretty useful, or alternatively ig revive something like stackage2nix | 13:07:27 |
sterni | maybe people just need to stop trying to make it happen with ifd first… | 13:07:38 |
chreekat | for real | 13:50:38 |
toonn | Can it be done without IFD? Or are you talking about the cabal2nix approach, generating it ahead of time? | 13:57:31 |
chreekat | What's that new thing that's some sort of recursive nix? Ah, this: https://github.com/NixOS/rfcs/blob/master/rfcs/0092-plan-dynamism.md | 14:03:01 |
toonn | Without IFD or a functional equivalent, I guess. | 14:08:13 |
chreekat | I'm pumped about this, I feel like it could do something special with stackage | 14:17:42 |
chreekat | Specifically casa | 14:17:53 |
Teo (he/him) | Yeah I used it here for getting cabal files but using nix and casa for packages seems trickier cause the hashing is different(?) https://github.com/cdepillabout/stacklock2nix/commit/3b6eee1ccb533a588be12666ea14e5e05bfe0183 | 15:18:54 |
| 9 Feb 2026 |
chreekat |
Unfortunately since switching to CAS, stack no longer tells us the
revision of cabal files in lock files.
Fwiw I think this restriction could be lifted in stack. You can have redundant info in the pantry file format, unless I'm mistaken
| 13:19:03 |
| nki ⚡️ changed their display name from nki ⚡️ to nki ⚡️⚡️. | 20:18:32 |
| nki ⚡️ changed their display name from nki ⚡️⚡️ to nki ⚡️. | 21:15:57 |
| 10 Feb 2026 |
| pneumatic changed their display name from ribosomerocker to pneumatic. | 10:28:16 |
| S3N joined the room. | 14:39:42 |