10 Sep 2025 |
maralorn | It is not in the sections above because those only cover maintained packages and their rdeps. | 14:02:27 |
maralorn | Besides that section was very much developed on a best effort basis and was never very useful. 😄 | 14:02:58 |
maralorn | But I guess when the PR mentioned by emily will be merged that list will be more useful. | 14:03:26 |
chreekat | Neat | 14:04:26 |
alexfmpe | In reply to @maralorn:maralorn.de We sometimes do. But are you aware of https://github.com/cdepillabout/nix-haskell-updates-status ? I wonder if we should move the line including that link to the very top of the PR template for discoverability | 15:36:11 |
alexfmpe | As a progress meter, it's arguably the most important bit of the description | 15:36:38 |
11 Sep 2025 |
sterni (he/him) | Instead of doing something useful I guess I just wrote a fix for https://github.com/NixOS/cabal2nix/issues/163 and https://github.com/NixOS/cabal2nix/issues/164 on a whim | 01:14:59 |
maralorn | Nice. Did you push it somewhere? | 06:06:04 |
sterni (he/him) | not yet | 15:01:17 |
sterni (he/him) | https://www.haskell.org/ghc/blog/20250910-ghc-9.10.3-released.html | 21:16:09 |
12 Sep 2025 |
| @jordanjoel1:matrix.org changed their profile picture. | 03:27:11 |
| @jordanjoel1:matrix.org left the room. | 03:34:30 |
bglgwyng | I'm trying to build a package that depends on the patched version of hackage-security, which cabal-install depends on. I overrided it by
pkgs.haskellPackages.override {
overrides = hself: hsuper: {
hackage-security = hself.callCabal2nix "hackage-security" "${inputs.hackage-security}/hackage-security" { };
};
}
Then it tries to rebuild cabal-instsall(I don't like it but it's ok for now) and it failed with the following warning
Warning:
This package indirectly depends on multiple versions of the same package. This is very likely to cause a compile failure.
package hackage-security (hackage-security-0.6.3.1-6FXzfmwRBZgCJn05f7VkJU) requires Cabal-syntax-3.10.3.0-244a
package hackage-security (hackage-security-0.6.3.1-JJgg9sy4JLR8toAcIe55uU) requires Cabal-syntax-3.14.2.0-7o58PFlrICd6tJLSPh82PA
package cabal-install-solver (cabal-install-solver-3.14.2.0-TJt26BmojeJY4tNaxYAXR) requires Cabal-syntax-3.14.2.0-7o58PFlrICd6tJLSPh82PA
package cabal-install (cabal-install-3.14.2.0-6ZRHmRwRC2EC3Abb988gBz) requires Cabal-syntax-3.14.2.0-7o58PFlrICd6tJLSPh82PA
package Cabal (Cabal-3.14.2.0-HaQDVkRM9JfAEDDKZRGu1s) requires Cabal-syntax-3.14.2.0-7o58PFlrICd6tJLSPh82PA
| 07:32:12 |
bglgwyng | What is the proper way to override the package that cabal depends on? | 07:32:54 |
bglgwyng | Hmm it's not relavent to the override of hackage-security . Just putting hackage-security into build-depends in cabal cauase the same problem | 08:02:31 |
maralorn | Oh, that’s a ghastly one. If you have any chance: Try to just not build cabal-install from your override package set. | 08:21:17 |
maralorn | The problem is that we already apply complicated overrides to cabal-install inside of nixpkgs to get it to build in the first place. And how those overrides then all interact is kinda black magic. | 08:23:27 |
bglgwyng | How can it be achievable? | 08:24:07 |
maralorn | Use pkgs.cabal-install? | 08:24:22 |
maralorn | Or does the project you are trying to build depend on cabal-install? | 08:24:53 |
bglgwyng | yes | 08:25:07 |
bglgwyng | Do you mean that it's possible to override 'cabal2nix' value with caba-insstall, which is used to build the haskell package, | 08:25:51 |
bglgwyng | * Do you mean that it's possible to override 'cabal2nix' value with caba-insstall, which is used to build the haskell package? | 08:25:54 |
maralorn | Well, no. If your project actually needs cabal-install as a Haskell dependency (not just as a build tool), then you will have to figure out how to massage the override in a way that cabal-install works. | 08:27:27 |
maralorn | If however you only need cabal-install as a tool dependency then you should really just use the cached pkgs.cabal-install without any overrides. | 08:28:14 |
bglgwyng | I need cabal-install as dependency | 08:28:39 |
maralorn | If you have to do that then you need to understand why configure is pulling two different version of hackage-security in. | 08:29:11 |
bglgwyng | Yes I agree | 08:29:54 |
maralorn | There is one other possibility. 1. Only override hackage-security on your project not on the whole dependency closure. 2. Enable "allowInconsistentDependencies". 3. Hope that the types from the two different hackage-security versions never meet during compilation.
However last time I tried something like this I failed. So it’s probably not a good idea. | 08:31:25 |
bglgwyng | Hmm I'm trying haskell.nix now. Actually, I should build my package to bootstrap things, so that how to build it not important. | 08:33:10 |