| 15 Sep 2025 |
bglgwyng | If any approach simliar to splitmix = super.splitmix.override { testu01 = null; } is possible, it would be really helpful. | 04:10:53 |
bglgwyng | ah maybe I made a stupid mistake | 04:16:01 |
bglgwyng | it seems that the result of callCabal2Nix is not overridable, and I should wrap it manullay to make it overridable. | 04:16:42 |
bglgwyng | Yes, the vanilla pkgs.haskellPackages.* things are overridable and my callCabal2Nix results are not overridable. And I just found that make-package-set applies makeOverridable manullay. | 04:19:02 |
Alex | In reply to @bglgwyng:matrix.org it seems that the result of callCabal2Nix is not overridable, and I should wrap it manullay to make it overridable. At the very least, most of the functions from haskell.lib and haskell.lib.compose should be able to override it (try looking at how they do it?)
That is, unless you use things like buildFromSdist which IIRC prevent further overrides because of how they work. | 10:56:42 |
sterni (he/him) | Seems like MicroHs is getting more serious about being usable for general purpose stuff, could maybe be interesting to try and add a microhs package set for variety. https://discourse.haskell.org/t/microhs-and-hackage/12916. However, the approach Lennart is taking is a bit questionable. For packages that don't accept MicroHs patches, MicroCabal automatically replaces them with an entirely different package (e.g. random-mhs instead of random). The package descriptions seem to rely on this as well, e.g. you can't build the random-mhs test suite with GHC/Cabal since it declares a dependency on random instead of random-mhs (though maybe that's just a mistake). | 12:23:43 |
emily | we talked about this recently and I suggested a package set would be interesting for exploring future GHC bootstrap | 12:26:04 |
emily | especially since we can have MicroHs bootstrap from hugs | 12:26:15 |
emily | @alex:tunstall.xyz has that Nixified apparently | 12:26:28 |
sterni (he/him) | should be testu-01, not testu01 from your example? | 12:26:50 |
sterni (he/him) | bglgwyng: override allows you to use the result of callPackage and call the underlying lambda again with different argument, completely recomputing the value: https://github.com/NixOS/nixpkgs/blob/f501ecd2f4b1b8c4f43fee3f1d5cf3e758c2e166/lib/customisation.nix#L116-L208 | 12:28:43 |
sterni (he/him) | You can of course not change the underlying function. I'm not entirely sure what you are trying to do. | 12:29:10 |
Alex | Sure, I can contribute a package set later this week.
There might be a fair bit of flux from frequent upstream changes, but I doubt that'll be much of an issue. | 12:53:41 |
emily | why does it need its own Cabal btw? | 12:56:19 |
emily | is real Cabal not flexible enough? can't build with MicroHs? | 12:56:28 |
chreekat | Yeah it relies on many language extensions that Lennart doesn't plan to support | 12:58:13 |
emily | this is my fear with the GHC bootstrapping plan... | 13:00:07 |