!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

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

Load older messages


SenderMessageTime
13 Aug 2025
@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
@sternenseemann:systemli.orgsterni (he/him)nevermind then…01:06:46
@artem.types:matrix.orgArtembut there might be a bug in that Cabal the library can't handle BTD correctly. I f memory serves, it was primarily cabal-install feature. There may be a ticket on Cabal's bug tracker...01:12:37
@artem.types:matrix.orgArtemthe docs proceed to say that "old-style-builds" (which is what you get with the library, so this includes the Nixpkgs Haskell builder) can't handle external deps in BTD, but internal ones should be OK, which is not what we're seeing01:15:38

Show newer messages


Back to Room ListRoom Version: 6