| 23 Oct 2025 |
magic_rb | ive been trying to get this working for the last 2 months | 21:35:37 |
| 24 Oct 2025 |
| andreabedini changed their display name from andreabedini to Andrea. | 01:23:08 |
| andreabedini changed their display name from Andrea to andreabedini. | 04:50:22 |
| 25 Oct 2025 |
| Nigel joined the room. | 09:30:09 |
| 26 Oct 2025 |
ners | I'm trying to build a project that has build-depends on both haskell-language-server and hls-plugin-api. Getting the following error when trying to build it with Nix:
Error: [Cabal-7107]
Could not resolve dependencies:
[__0] trying: dosh-24.11 (user goal)
[__1] trying: lsp-client-0.4.0.0/installed-9paX9qIvVp6G32qMeolaRR (dependency of dosh)
[__2] next goal: hls-plugin-api (dependency of dosh)
[__2] rejecting: hls-plugin-api-2.11.0.0/installed-4lbla6iVQTHCJxg4ni6oA8 (conflict: lsp-client => lsp==2.7.0.1/installed-5hx47Y1LdOnAB7d5AgUCZ9, hls-plugin-api => lsp==2.7.0.1/installed-G2N8IrC9NSyIKEvHjZgyEW)
[__2] trying: hls-plugin-api-2.11.0.0/installed-IPU6Rknqm9R6YyD99rrbxT
[__3] next goal: haskell-language-server (dependency of dosh)
[__3] rejecting: haskell-language-server-2.11.0.0/installed-AGaYptnU925K1vcaCIwSpk (conflict: hls-plugin-api==2.11.0.0/installed-IPU6Rknqm9R6YyD99rrbxT, haskell-language-server => hls-plugin-api==2.11.0.0/installed-4lbla6iVQTHCJxg4ni6oA8)
[__3] fail (backjumping, conflict set: dosh, haskell-language-server, hls-plugin-api)
If I pin to nixos-25.05 it works, so it must be a recent breakage.
| 12:50:29 |
maralorn | Well, "breakage". | 12:55:39 |
maralorn | The problem is that we are fixing hls with an overrideScope in config…-common.nix and that overlay one is not being applied to the exposed hls-plugin-api package. | 12:57:07 |
maralorn | More generally when somehow beating hls into compiling I generally don’t consider downstream consumers who link against it. I wasn’t aware of their existence. | 12:58:12 |
ners | It's a thing that should work (the usage is valid) but does not. It even used to work, but has stopped working. That's by definition a breakage. :) | 13:08:45 |
ners | * It's a thing that should work (the usage is valid) but does not. It even used to work, but has stopped working due to recent changes. That's by definition a breakage. :) | 13:09:09 |
maralorn | Well if I had considered it breakage I probably wouldn’t have broken it. Sorry, about that, I now know better. We generally have quite a few cases where executable packages are configured in a way that they are not feasible to consume as libraries. | 13:25:56 |
maralorn | Best fix is probably to apply the overlay to hls-plugin-api in nixpkgs. | 13:28:01 |
ners | https://github.com/NixOS/nixpkgs/pull/455884 | 14:38:45 |
alexfmpe | should shellFor have a withCabal boolean or so? in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't 'ghcbut<prefix>-ghc you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another options is having unprefixedghc, ghc-pkg`, etc point to the prefixed ones | 15:34:08 |
alexfmpe | the current behavior of pkgsCross.foo.haskellPackages.shellFor is that both native ghc* and <prefix>-ghc* are in PATH, which is pretty odd to me | 15:35:02 |
alexfmpe | well not odd per-se, I can see the benefit of having both available in a single shell, but certainly unexpected when extrapolating from native shellFor | 15:35:39 |
alexfmpe | * should shellFor have a withCabal boolean or so? in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't 'ghc but<prefix>-ghc you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another options is having unprefixedghc, ghc-pkg`, etc point to the prefixed ones | 15:36:00 |
alexfmpe | * should shellFor have a
withCabal boolean or so?
in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't `ghc` but `<prefix>-ghc` you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67 another options is having unprefixed `ghc`, `ghc-pkg`, etc point to the prefixed ones | 15:37:11 |
alexfmpe | * should shellFor have a
withCabal boolean or so?
in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't `ghc` but `<prefix>-ghc` you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67
another option is having unprefixed `ghc`, `ghc-pkg`, etc point to the prefixed ones | 15:37:42 |
alexfmpe | * should shellFor have a `withCabal` boolean or so?
in the native case it can just go in nativeBuildInputs, but since for cross shellFor what we place in PATH isn't `ghc` but `<prefix>-ghc` you need this sort of wrapping https://gitlab.haskell.org/haskell-wasm/ghc-wasm-meta/-/blob/104d440e93fc05fefd36441e95013eda4b06f611/pkgs/wasm32-wasi-cabal.nix#L62-67
another option is having unprefixed `ghc`, `ghc-pkg`, etc point to the prefixed ones | 15:40:31 |
| 27 Oct 2025 |
sterni | well it implicitly assumes you need to compile Setup.hs | 13:47:17 |
alexfmpe | hmm I see, you always potentially need native ghc for that | 14:24:12 |
alexfmpe | but it makes sense to always wrap cross cabal no? otherwise what is its point | 14:32:08 |
alexfmpe | * but it makes sense to always wrap cabal from the pkgsCros set no? otherwise what is its point | 14:32:19 |
| ➡️@amadaluzia:unredacted.org joined the room. | 23:56:39 |
| 29 Oct 2025 |
| NickSeagull joined the room. | 19:32:52 |
| 30 Oct 2025 |
sterni | difficult question imo | 06:31:28 |
sterni | it would be nice to have the option, but it’s not clear to me how it should work | 06:31:48 |
alexfmpe | reminds me of https://github.com/NixOS/nixpkgs/issues/237741 | 12:10:46 |
shapr | possibly off-topic, but I'm going on a week long vacation and I want to have all of haskellPackages downloaded onto my NixOS system, is there a way to do that? | 22:04:23 |