Haskell in Nixpkgs/NixOS | 703 Members | |
| For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://nixos.org/manual/nixpkgs/unstable/#haskell | Current PR: https://github.com/nixos/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Ahaskell-updates | Maintainer Docs: https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org | Merger Schedule: https://cloud.maralorn.de/apps/calendar/p/H6migHmKX7xHoTFa/dayGridMonth/now | Join #haskell.nix:libera.chat for question about the alternative haskell.nix infrastructure | 139 Servers |
| Sender | Message | Time |
|---|---|---|
| 16 Mar 2026 | ||
| * I forgot to mention this, It's not just that pr is linked it's across globally, because I was happened to reproduce it. Ref: https://github.com/NixOS/nixpkgs/pull/499983#issuecomment-4062916058 | 22:40:32 | |
| heh you barely missed 500k | 22:44:25 | |
| 18 Mar 2026 | ||
| It seems that we have a regression in
(On latest nixpkgs-unstable) sterni Is this known about?
| 02:27:59 | |
| * It seems that we have a regression in
(On latest nixpkgs-unstable) sterni Is this known about?
| 02:30:11 | |
| Reproducer: https://gist.github.com/colemickens/78af9a28c01b888726322ca6628b27f5 | 02:30:29 | |
| I went back to 22.05 and it still failed. Did this ever work? | 04:00:56 | |
| no clue but I've also seen FFI define errors for a few months now when trying to build for other archs | 04:21:32 | |
| 04:21:41 | |
| https://github.com/libffi/libffi/blob/master/src/loongarch64/ffitarget.h#L39 https://github.com/libffi/libffi/blob/master/src/riscv/ffitarget.h#L36 | 04:23:15 | |
| I do not see these "was configured" errors coming from symbol checks in x86 or aarch64 https://github.com/libffi/libffi/blob/master/src/x86/ffitarget.h https://github.com/libffi/libffi/blob/master/src/aarch64/ffitarget.h | 04:24:25 | |
| * https://github.com/libffi/libffi/blob/master/src/loongarch64/ffitarget.h#L39 https://github.com/libffi/libffi/blob/master/src/mips/ffitarget.h#L57 https://github.com/libffi/libffi/blob/master/src/riscv/ffitarget.h#L36 | 04:37:11 | |
*
| 04:38:46 | |
*
| 04:41:10 | |
| I have a questions about the general architecture of haskellPackages, does hackage have dep cycles? and how do you deal with them when generating the package list? I'm working on a little project that generates a package list from a foreign source, but it has cycles, and I'm kinda clueless on how to break cycles up without just removing all dependencies | 04:49:25 | |
Cross-compiling GHC 9.6+ shouldn't even eval, because of a throw sterni added after we found that Hadrian broke cross. Is there some difference between haskellPackages.ghc and haskell.compiler.ghc? | 05:40:55 | |
| I have not seen anything that suggests that Cabal supports cycles, but you may want to try it out and see whether the dependency solver likes it. But regardless of what Haskell is doing, I think you would be better off looking at how existing tools that work with the foreign source handle those cycles, since doing the same thing will give your tooling the best chance at doing no worse with weird scenarios you've yet to consider. | 05:46:36 | |
| Not for native | 05:46:36 | |
In reply to @alexfmpe:matrix.orgOne is cross compiler ghc, the other is cross compiled ghc | 05:47:31 | |
Right, so haskellPackages.ghc is the same as buildPackages.ghc? | 05:48:13 | |
In reply to @woobilicious:matrix.orgYou can have package cycles, just not component cycles. For packages A,B it's valid to have libA <- libB <- testA | 05:50:04 | |
| In cabal packages that is | 05:50:24 | |
| haskellPackages in particular is 'wrong' in that it generates one derivation per package, not per component | 05:50:54 | |
| So we have to manually break cycles for a bunch of test packages with dontCheck | 05:51:15 | |
| Search for 'cycle' or so in configuration-common.nix for examples | 05:51:40 | |
| `nix-build --show-trace` can help find specific cycles since it shows the call stack | 05:52:47 | |
In reply to @alex:tunstall.xyzI think so, though it seems completely backwards to me | 05:53:21 | |
| I'd expect haskellPackages.foo to always have the same host platform | 05:53:46 | |
| * I'd expect pkgsCross.foo.haskellPackages.bar to always have 'foo' as same host platform for all 'bar' | 05:54:28 | |
| But bar=ghc acts special | 05:54:53 | |
In reply to @alexfmpe:matrix.orgOr rather, cabal2nix is wrong, and haskellPackages is based on throwing cabal2nix at hackage | 05:55:40 | |