!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

709 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/140 Servers

Load older messages


SenderMessageTime
18 Aug 2025
@artem.types:matrix.orgArtem this issue (https://github.com/NixOS/nixpkgs/issues/16998) on non-Haskell setup dependencies implies that Haskell setup dependencies should work just fine. So, it's me who is at fault, clearly! 17:31:46
@artem.types:matrix.orgArtemI put the whole output in the thread below if it helps18:39:49
@artem.types:matrix.orgArtem
❯ nix-build -A haskellPackages.liquidhaskell
this derivation will be built:
  /nix/store/n130lvvlqafx11lq2gmgg8gr5xsvh6mv-liquidhaskell-0.9.10.1.2.drv
building '/nix/store/n130lvvlqafx11lq2gmgg8gr5xsvh6mv-liquidhaskell-0.9.10.1.2.drv'...
Running phase: setupCompilerEnvironmentPhase
Build with /nix/store/a6ch4glhsgzpn9i9cqzpdlmbli5ylff7-ghc-9.10.2.
Running 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
Running 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)
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: builder for '/nix/store/n130lvvlqafx11lq2gmgg8gr5xsvh6mv-liquidhaskell-0.9.10.1.2.drv' failed with exit code 1;
       last 17 log lines:
       > Running phase: setupCompilerEnvironmentPhase
       > Build with /nix/store/a6ch4glhsgzpn9i9cqzpdlmbli5ylff7-ghc-9.10.2.
       > Running 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
       > Running 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)
       >   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       >
       For full logs, run:
         nix log /nix/store/n130lvvlqafx11lq2gmgg8gr5xsvh6mv-liquidhaskell-0.9.10.1.2.drv

18:39:58
@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

Show newer messages


Back to Room ListRoom Version: 6