Haskell in Nixpkgs/NixOS | 724 Members | |
| For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/ | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org | 145 Servers |
| Sender | Message | Time |
|---|---|---|
| 31 Mar 2025 | ||
| Doesn't seem that HLS for 9.2 is available in my $PATH? | 19:55:51 | |
| Can you do an ls on the output of the derivation? | 20:51:10 | |
In reply to @a12l:matrix.org
This is probably why. You need | 21:29:12 | |
maralorn, Alex It seems that haskell-language-server-9.2.8 is in my $PATH when I try to autocomplete in the terminal. | 21:58:21 | |
May be that. But why do I need to specify 927? Why doesn't 928 show up when I run haskell-language-server-wrapper when 966 shows up? | 21:59:56 | |
In reply to @qyliss:fairydust.space Have you tried getting it through IIRC | 22:00:52 | |
In reply to @a12l:matrix.orgBecause 92 means "the latest available revision of 9.2" and that happens to be 9.2.8, not 9.2.7.For 96, 9.6.6 is the latest revision in Nixpkgs so that's what you get. | 22:02:24 | |
I understand why you get 9.2.8 when you specify 92, but why does 9.6.6 show up when running haskell-language-server-wrapper and not 9.2.8? In that project 9.2.8 is more correct that 9.6.6 | 22:05:22 | |
| I don't think it's chosen to use either version? HLS needs the exact same version as the compiler, so the wrapper gave up altogether when it failed to find a HLS for 9.2.7. | 22:06:51 | |
| * I don't think it has chosen to use either version? HLS needs the exact same version as the compiler, so the wrapper gave up altogether when it failed to find a HLS for 9.2.7. | 22:06:58 | |
| 1 Apr 2025 | ||
| 00:19:59 | ||
| Hey, I'm using NixOS & Cabal & GHC 9.12.1. I want to utilize hmatrix-gls (0.19.0.1). But cabal new-build all --preference="Cabal >= 3.14.1.1" --keep-going --enable-debug-info=3 inside of nix develop --impure --expr 'with import <nixpkgs> {}; mkShell rec { buildInputs = [pkg-config zlib blas lapack gsl]; LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;}' leads to <no location info>: error: …/libgsl.so: undefined symbol: cblas_ctrmv. Any idea? Thx in advance! | 00:52:19 | |
Among other things, I've tried to (1) utilize openblas instead of blas and to (2) link dynamically by shared: True↵executable-dynamic: True. | 00:52:56 | |
| 00:57:46 | ||
| 01:03:16 | ||
| 01:03:44 | ||
In reply to @alex:tunstall.xyzThat's what I'm doing. It is not cross compiled. | 07:09:44 | |
| Alex: It works now! Thanks for the help! | 07:26:50 | |
| It natively bootstraps from a GHC-provided binary, but for 9.2.4 (current bootstrap) compiler, that's only available for x86_64: nixpkgs/ | 08:30:30 | |
| * | 08:30:39 | |
| What's the "canonical" way of applying an overlay to all haskell packages? Can't seem to find it in the manual, and I think what I did back in the day was do it manually for the specific haskell packages I was using. | 18:36:19 | |
| canonical -> idiomatic | 18:36:32 | |
| Something like this? https://github.com/HaskellEmbedded/ivory-tower-nix/blob/main/nix/env.nix#L6-L11 | 19:20:20 | |
In reply to @srk:matrix.distrap.orgBut that doesn’t apply to all of them | 19:21:38 | |
It does as it overrides mkDerivation of the package set | 19:23:18 | |
| srk ⚡️: I think my original message was ambiguous. I mean applying it to all haskellPackages's | 22:52:40 | |
| * What's the "canonical" way of applying an overlay to all haskellPackages's? Can't seem to find it in the manual, and I think what I did back in the day was do it manually for the specific haskellPackages's I was using. | 22:53:02 | |
| 2 Apr 2025 | ||
| Alyssa Ross: It's unfortunately uncharted territory at the moment. The only way to bootstrap GHC is via a suitable bindist, so if one is available, it's easy. (bootstrappable builds of GHC have, to my knowledge, not left the theory crafting stage and I highly doubt that current ideas (hugs and -fvia-C) will ever be practical due to the incredibly long ensuing chain.) We have entertained the notion that we could build cross compiled bindists (or something equivalent, nixpkgs specific) and upload the result to tarballs.nixos.org to start a new bootstrap chain, but this is also only a concept at the moment. We can cross compile GHC < 9.6, so it should be possible to get an aarch64-musl GHC from nixpkgs in theory, but no infrastructure exists for anything beyond. | 00:54:13 | |
| I've never tried building a bindist using the GHC make build system (i.e. < 9.6) which would be interesting for this purpose since we could just have a job for it and repackage the result (after tarballs.nixos.org plumbing, probably). | 00:55:06 | |
| amjoseph attempted to repackage a debian GHC package and said that it was very difficult to patchelf it to a point where it would work and abandoned the project (at the time, he was trying to get a ppc64le bootstrap compiler out of it, iirc). | 00:56:07 | |