| 19 Aug 2025 |
Alex | In reply to @artem.types:matrix.org how good is the Haskell builder with custom setups? I'm getting a pretty basic error when a custom setup uses a function from another package, and that package is listed in the cabal file's custom-setup:setup-depends, but when I'm building it with Nix, I'm getting "module not found" on the import-line in Setup.hs for an import from that other package. That's liquidhaskell, by the way. The import line is here: https://github.com/ucsd-progsys/liquidhaskell/blob/6baa675f6bb000d016f0c859d7f865263679dc43/Setup.hs#L3 and it comes from the liquidhaskell-boot package. I am building it on top of my branch from https://github.com/NixOS/nixpkgs/pull/433722 (with nix-build -A haskellPackages.liquidhaskell): I just enabled liquidhaskell and liquidhaskell-boot on top of the packages that are enabled in that PR. This should be the entirety of the dependency tree of liquidhaskell... I've previously gotten it to work without doing anything special. I have no idea what's wrong with your case. | 00:51:40 |
bglgwyng | Does haskell.nix internally generate plan.json and use it? Or it just uses pre-built package sets. | 06:18:16 |
maralorn | bglgwyng: haskell.nix uses plan.json (at least that’s one of the available modes) | 06:53:04 |
Artem | FTW: I made this typo again: liquidhaskell-boot = doJailbreak super.smtlib-backends-tests; and that's why liquidhaskell couldn't find a module in liquidhaskell-boot... | 14:09:50 |
Artem | * FTR: I made this typo again: liquidhaskell-boot = doJailbreak super.smtlib-backends-tests; and that's why liquidhaskell couldn't find a module in liquidhaskell-boot... | 14:17:52 |
| @xvwx:matrix.dapp.org.uk left the room. | 14:23:55 |
Artem | what is the better commit message / PR title for a nixpkgs PR:
haskellPackages.{liquidhaskell, liqquidhaskell-boot, liquid-fixpoint, smtlib-backends-process, smtlib-backends-tests}: unbreak
or
haskellPackages.liquidhaskell and dependencies: unbreak
| 14:28:57 |
Artem | * what is the better commit message / PR title for a nixpkgs PR:
haskellPackages.{liquidhaskell, liqquidhaskell-boot, liquid-fixpoint, smtlib-backends-process, smtlib-backends-tests}: unbreak
or
haskellPackages.liquidhaskell and dependencies: unbreak
?
| 14:29:02 |
symphorien | the ci parses commit messages, so if you do one commit per package it will build the right packages | 14:34:20 |
Artem | ouch, I did one commit for everything! just to double-check: is one commit per package a requirement? | 14:40:19 |
symphorien | no | 14:42:05 |
emily | it will parse {a,b} in commit messages too | 14:56:04 |
Artem | all right, I'll go with the explicit list then | 14:59:09 |
symphorien | oh cool | 15:16:34 |
alexfmpe | waaaat | 16:30:59 |
alexfmpe | where can I find these tidbits | 16:31:14 |
emily | it's in the ofborg repo docs I think | 16:31:57 |
alexfmpe | TIL | 16:42:39 |
alexfmpe | https://github.com/NixOS/ofborg?tab=readme-ov-file#automatic-building | 16:42:40 |
| 20 Aug 2025 |
Pierre Thierry | I've looked at documentation and source code but I don't see how I can use developPackage and add additional packages to the environment (ideally they would only be added when using a shell). I guess that's done with the modifier attribute? | 18:02:08 |
Pierre Thierry | (I'd like to add packages like HLS and hlint) | 18:02:32 |
Artem | how do I get a sense of when the GHC 9.10 bump will be merged into staging? I saw a long list of failures but surely not everything has to be fixed before the merge. I also saw "We only do the merge if the mergeable job is succeeding on hydra" but how do I get a sense of close it is to succeeding? | 19:39:21 |
maralorn | Artem: I am not sure anyone has it. We probably want to fix most of the errors here before merging: https://github.com/cdepillabout/nix-haskell-updates-status | 20:04:11 |
maralorn | Last ghc bump took 4 to 5 months. But that was the worst one I can remember. We normally aim at one month and two are realistic. | 20:04:13 |
| 23 Aug 2025 |
Magnus | In reply to @kephaspierre:matrix.org I've looked at documentation and source code but I don't see how I can use developPackage and add additional packages to the environment (ideally they would only be added when using a shell). I guess that's done with the modifier attribute? This is how I do it. At least at the moment, things change as I learn more Nix. https://gitlab.com/magus/nix-setups/-/tree/main/hs-shell?ref_type=heads | 15:34:30 |
sterni (he/him) | Eval with Stackage LTS 24.6 https://hydra.nixos.org/eval/1817909?compare=1817896 | 22:01:32 |
Pierre Thierry | In reply to @magthe:tchncs.de This is how I do it. At least at the moment, things change as I learn more Nix. https://gitlab.com/magus/nix-setups/-/tree/main/hs-shell?ref_type=heads I finally found a way where I wrote the least possible amount in my shell.nix, I do import project.nix (I run cabal2nix . > project.nix when my cabal file changes), and I use builtins.functionArgs to see every package I need, and use that in a pkgs.mkShell { packages = [ pkgs.hlint pkgs.haskell-language-server (pkgs.haskellPackages.ghcWithPackages getDeps)] | 23:26:40 |
| 24 Aug 2025 |
sterni (he/him) | if you have the generated file you can just use haskell.packages.${your-pkg-set}.shellFor { packages = p: [ (p.callPackage ./project.nix { }) ]; nativeBuildInputs = [ /* other tools */ ]; }. | 14:10:00 |
Uraraka ~ Ochaco | I no longer use nix for haskell packages, they're always out of date with hackage, so I just have my shell.nix including the correct ghc and cabal and then use cabal for the rest | 14:34:34 |
| Mr Mayhem changed their profile picture. | 19:10:01 |