!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
@qyliss:fairydust.spaceAlyssa RossImagine cross compiling from glibc to musl, or x86_64 to i68618:05:38
@maralorn:maralorn.demaralornI mean I also find the code around that very confusing because it has "otherBuildInputsSystem" and "otherBuildInputs" which are both used and there is a TODO there.18:05:48
@qyliss:fairydust.spaceAlyssa RossCross compiling doesn't necessarily mean you can't execute18:05:50
@maralorn:maralorn.demaralornI see. Fair.18:06:10
@qyliss:fairydust.spaceAlyssa Ross Which is why we have a predicate in Nixpkgs called canExecute, which stdenv uses to decide whether to have checkPhase and reference checkInputs and nativeBuildInputs 18:06:14
@emilazy:matrix.orgemily(btw I have solved the LLVM 12 problem. still a WIP draft locally. but my experiment was a success)18:06:49
@emilazy:matrix.orgemily(it is a joyous occasion)18:07:05
@qyliss:fairydust.spaceAlyssa Ross * Which is why we have a predicate in Nixpkgs called canExecute, which stdenv uses to decide whether to have checkPhase and reference checkInputs and nativeCheckInputs 18:07:40
@maralorn:maralorn.demaralornSo in this case we would want Z3 to be compiled for the target plattform, right? And for that it should be nativeCheckInputs and not checkInputs?18:07:40
@qyliss:fairydust.spaceAlyssa RossWe would want it to be for the build platform, I thought18:07:54
@emilazy:matrix.orgemilyI assume the library invokes Z3 at runtime18:08:05
@qyliss:fairydust.spaceAlyssa RossSince PATH was mentioned.18:08:06
@emilazy:matrix.orgemilyso you want it for the host platform18:08:08
@emilazy:matrix.orgemily(you almost never want to say "target platform")18:08:15
@maralorn:maralorn.demaralornAaah, yeah.18:08:15
@emilazy:matrix.orgemily(unless what you are building is a single-target compiler)18:08:23
@qyliss:fairydust.spaceAlyssa RossWith strictDeps I believe checkInputs don't end up in PATH, only nativeCheckInputs18:08:34
@emilazy:matrix.orgemily I think we have a HOST_PATH thing or something. 18:08:50
@emilazy:matrix.orgemily for patchShebangs --host I guess. 18:09:05
@emilazy:matrix.orgemily but yeah cross testing is a mess. even with canExecute. 18:09:11
@emilazy:matrix.orgemilytbh I think it's fine to use whatever variable is convenient and leave it to the future generation that decides it wants to figure out how cross tests should work.18:09:24
@emilazy:matrix.orgemily (to which the answer will be "separate installCheckPhase derivation" if we raised them well) 18:09:36
@artem.types:matrix.orgArtemto be clear: Z3 is called by the test suite when the test suite is run18:12:10
@qyliss:fairydust.spaceAlyssa Rossthat's a nativeCheckInputs case then, definitely18:13:32
@artem.types:matrix.orgArtem simply replacing testSystemDepends with nativeCheckInputs here doesn't work. I'm happy to do anything before I open a PR if someone tells me what :-) otherwise I proceed with this 18:14:25
@artem.types:matrix.orgArtem * simply replacing testSystemDepends with nativeCheckInputs here doesn't work. I'm happy to do anything before I open a PR if someone tells me what :-) otherwise I proceed with testSystemDepends 18:14:32
@qyliss:fairydust.spaceAlyssa Ross It sounds like there needs to be another builder option, testSystemNativeDepends or some less terrible name, that maps to nativeCheckInputs 18:16:55
@emilazy:matrix.orgemily (I don't see how. if you're cross-compiling a system that uses this thing, then it's going to invoke the hostPlatform Z3 when you actually use it) 18:18:32
@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

Show newer messages


Back to Room ListRoom Version: 6