!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

720 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.org143 Servers

Load older messages


SenderMessageTime
13 Aug 2025
@emilazy:matrix.orgemilyinstead it's something you need to wrap on later18:22:55
@emilazy:matrix.orgemily so it's unambiguously a checkInputs case. it's just that checkInputs sucks to use for executables. 18:23:04
@qyliss:fairydust.spaceAlyssa RossI see!18:23:04
@qyliss:fairydust.spaceAlyssa Ross Okay, then this is indeed a check input, and testSystemDepends should be fine. 18:23:31
@emilazy:matrix.orgemilyarguably we should be patching in the path to Z3 in the library code18:23:38
@emilazy:matrix.orgemilyin which case there would be no check inputs needed at all18:23:47
@emilazy:matrix.orgemily(and no wrappers needed for downstream users)18:23:52
@emilazy:matrix.orgemilybut that might not be desirable. since you might want to use another backend at runtime18:24:02
@emilazy:matrix.orgemily so having it in the closure of smtlib-backends-process is likely suboptimal 18:24:17
@emilazy:matrix.orgemily(does GHC cross even work in Nixpkgs…)18:24:39
@artem.types:matrix.orgArtem if I unbreak certain Haskell package (e.g. by adding jailbreaks and alike in configuration-common.nix), do I remove broken=false; from hackage-packages.nix in the same commit that I want to submit as a PR? 18:28:55
@artem.types:matrix.orgArtem ah, I guess I update configuration-hackage2nix/broken.yaml, sorry 18:33:08
@artem.types:matrix.orgArtemoh, no, I do :-)18:37:24
@artem.types:matrix.orgArtemRedacted or Malformed Event19:03:51
@artem.types:matrix.orgArtemdoes Haskell builder understand build-tool-depends in cabal files? I'm seeing a test component that has BTD on an executable in the same package and it can't find it at run time19:09:09
@artem.types:matrix.orgArtem* Does Haskell builder understand build-tool-depends in cabal files? I'm seeing a test component that has BTD on an executable in the same package and it can't find it at run time19:21:04
@artem.types:matrix.orgArtem

That's the liquid-fixpoint package, its "test" test suite appears to call to the "fixpoint" executable from the same package but nix-build arrives at:

...
Running phase: checkPhase
Running 2 test suites...
Test suite test: RUNNING...
/bin/sh: fixpoint: not found
19:21:05
@sternenseemann:systemli.orgsterni (he/him) Artem: you need to add the build directory to PATH before execution since Cabal won't do it for you unfortunately 19:58:37
@sternenseemann:systemli.orgsterni (he/him)there should probably be a shorthand for it, but you can just grep configuration-nix.nix for PATH to see how to do it19:58:59
@sternenseemann:systemli.orgsterni (he/him) emily: Alyssa Ross: See https://nixos.org/manual/nixpkgs/unstable/#haskell-derivation-deps for input specificication in haskellPackages. Everything is eventually mapped to buildInputs, propagatedBuildInputs and nativeBuildInputs. Using checkInputs and friends is not necessary since that is basically a shorthand for adding lib.optionals doCheck [ … ] to buildInputs/nativeBuildInputs and we have to conditionalize loads on doCheck anyways. 20:02:03
@sternenseemann:systemli.orgsterni (he/him)in the nix build?20:04:55
@artem.types:matrix.orgArtem
In reply to @sternenseemann:systemli.org
in the nix build?
Yes
20:23:05
@sternenseemann:systemli.orgsterni (he/him)which package?20:23:45
@sternenseemann:systemli.orgsterni (he/him)* which package/version?20:23:49
@artem.types:matrix.orgArtem sterni: liquid-fixpoint. Don't worry: you answered all questions I had so far. Now I need to try what you suggested. 21:38:54
@sternenseemann:systemli.orgsterni (he/him) Artem: ah I think this is a Cabal bug where it doesn't add the tool to PATH and Nix won't do it because it's from the same package, but I'd need to check 21:40:33
@artem.types:matrix.orgArtemit sounds like that. I'll grep for the PATH trick.21:43:20
14 Aug 2025
@sternenseemann:systemli.orgsterni (he/him) Artem: I guess it is not a bug, actually. build-tool-depends is only available while building, but during test execution it doesn't have to/shouldn't be. 00:38:18
@artem.types:matrix.orgArtemAh, interesting00:48:44
@artem.types:matrix.orgArtem

sterni: funny enough, the documentation for BTD seems to bless this usage:

A list of Haskell executables needed to build this component. Executables are provided during the whole duration of the component, so this field can be used for executables needed during test-suite as well.

https://cabal.readthedocs.io/en/3.16/cabal-package-description-file.html#pkg-field-build-tool-depends

01:03:13

Show newer messages


Back to Room ListRoom Version: 6