!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

717 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.org142 Servers

Load older messages


SenderMessageTime
18 Aug 2025
@artem.types:matrix.orgArtem
❯  nix log /nix/store/n130lvvlqafx11lq2gmgg8gr5xsvh6mv-liquidhaskell-0.9.10.1.2.drv
Running phase: setupCompilerEnvironmentPhase
@nix { "action": "setPhase", "phase": "setupCompilerEnvironmentPhase" }
Build with /nix/store/a6ch4glhsgzpn9i9cqzpdlmbli5ylff7-ghc-9.10.2.
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/g1wjnbnkrgcdh8wc4wx0g27k4p8v4ifn-liquidhaskell-0.9.10.1.2.tar.gz
source root is liquidhaskell-0.9.10.1.2
setting SOURCE_DATE_EPOCH to timestamp 1000000000 of file "liquidhaskell-0.9.10.1.2/src/Prelude_LHAssumptions.hs"
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: compileBuildDriverPhase
@nix { "action": "setPhase", "phase": "compileBuildDriverPhase" }
setupCompileFlags: -package-db=/build/tmp.2rh53Ciwyp/setup-package.conf.d -threaded
[1 of 2] Compiling Main             ( Setup.hs, /build/tmp.2rh53Ciwyp/Main.o )
Setup.hs:3:1: error: [GHC-87110]
    Could not find module ‘Language.Haskell.Liquid.Cabal’.
    Use -v to see a list of the files searched for.
  |
3 | import Language.Haskell.Liquid.Cabal (liquidHaskellMain)
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
18:40:18
19 Aug 2025
@alex:tunstall.xyzAlex
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:matrix.orgbglgwyngDoes haskell.nix internally generate plan.json and use it? Or it just uses pre-built package sets.06:18:16
@maralorn:maralorn.demaralorn bglgwyng: haskell.nix uses plan.json (at least that’s one of the available modes) 06:53:04
@artem.types:matrix.orgArtem 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.types:matrix.orgArtem * 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@xvwx:matrix.dapp.org.uk left the room.14:23:55
@artem.types:matrix.orgArtem

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.types:matrix.orgArtem *

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:xlumurb.eusymphorienthe ci parses commit messages, so if you do one commit per package it will build the right packages14:34:20
@artem.types:matrix.orgArtemouch, I did one commit for everything! just to double-check: is one commit per package a requirement?14:40:19
@symphorien:xlumurb.eusymphorienno14:42:05
@emilazy:matrix.orgemily it will parse {a,b} in commit messages too 14:56:04
@artem.types:matrix.orgArtemall right, I'll go with the explicit list then14:59:09
@symphorien:xlumurb.eusymphorienoh cool15:16:34
@alexfmpe:matrix.orgalexfmpewaaaat16:30:59
@alexfmpe:matrix.orgalexfmpewhere can I find these tidbits16:31:14
@emilazy:matrix.orgemilyit's in the ofborg repo docs I think16:31:57
@alexfmpe:matrix.orgalexfmpeTIL16:42:39
@alexfmpe:matrix.orgalexfmpehttps://github.com/NixOS/ofborg?tab=readme-ov-file#automatic-building16:42:40
20 Aug 2025
@kephaspierre:matrix.orgPierre 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
@kephaspierre:matrix.orgPierre Thierry(I'd like to add packages like HLS and hlint)18:02:32
@artem.types:matrix.orgArtemhow 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:maralorn.demaralorn 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:maralorn.demaralornLast 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
@magthe:tchncs.deMagnus
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
@sternenseemann:systemli.orgsterni (he/him)Eval with Stackage LTS 24.6 https://hydra.nixos.org/eval/1817909?compare=181789622:01:32
@kephaspierre:matrix.orgPierre 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
@sternenseemann:systemli.orgsterni (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
@dandart:matrix.orgUraraka ~ OchacoI 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 rest14:34:34

Show newer messages


Back to Room ListRoom Version: 6