!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

719 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
@qyliss:fairydust.spaceAlyssa RossBut it's the test suite that runs the binary18:18:49
@emilazy:matrix.orgemily(testing it against the build platform Z3 is strictly less realistic for testing whether the thing you are building will actually work)18:18:50
@qyliss:fairydust.spaceAlyssa RossNot the program itself18:18:54
@qyliss:fairydust.spaceAlyssa RossIs what we were told18:18:56
@emilazy:matrix.orgemilyyeah, and the test suite runs on the host platform18:18:59
@emilazy:matrix.orgemily via the magic of canExecute 18:19:08
@emilazy:matrix.orgemilyit's testing a host platform thing18:19:14
@emilazy:matrix.orgemilynot a build platform thing18:19:17
@qyliss:fairydust.spaceAlyssa RossThen what would nativeCheckInputs ever be for?18:19:29
@emilazy:matrix.orgemily make test builds a buildPlatform test runner utility that has a binary dependency or something. 18:19:59
@emilazy:matrix.orgemily maybe that dependency is GCC that targets hostPlatform so it can dynamically compile some test code before running it or something. 18:20:18
@emilazy:matrix.orgemilylike I think the same rule of thumb of "tools used by the build system" applies.18:21:06
@qyliss:fairydust.spaceAlyssa RossI guess I'd consider test framework part of the build system18:21:58
@qyliss:fairydust.spaceAlyssa RossBut really it depends for what purpose it's invoking this tool18:22:22
@qyliss:fairydust.spaceAlyssa RossIs it to generate test data? If so, build platform18:22:29
@emilazy:matrix.orgemilyit's a Haskell library that provides an interface to an SMT solver18:22:35
@emilazy:matrix.orgemilyyou write Haskell code and it invokes Z3 at runtime to solve SMT things18:22:41
@emilazy:matrix.orgemily if Z3 was a library, it would be a buildInput 18:22:48
@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

Show newer messages


Back to Room ListRoom Version: 6