I’m working with shell processes in Haskell and I’m hitting such a weird case when I make it run nix-build. The output of the process is collected with typed-process and most of the output is going to the stderr handle. The only part of the build that seems to be redirected to stdout is when the derivation has finally been built and nix outputs the store path.
Short example
received: ERROR:these derivations will be built:
received: ERROR: /nix/store/8hdn2gzqi9x6945189myvwxqiba7c965-donnabot-service-0.0.16.0.drv
received: ERROR:building '/nix/store/8hdn2gzqi9x6945189myvwxqiba7c965-donnabot-service-0.0.16.0.drv'...
received: ERROR:setupCompilerEnvironmentPhase
received: ERROR:Build with /nix/store/chrd8j878hll3p0ybvqy9g9w1knmzab8-ghc-8.8.4.
received: ERROR:unpacking sources
received: ERROR:unpacking source archive /nix/store/fzlqd5d51vvap46bybi742fld77rk1zl-source
finally the last line is not stderr
received: ERROR:patching script interpreter paths in /nix/store/1s65m6ci7zdj04gljrfbdyv9cswjji2d-donnabot-service-0.0.16.0
received: INFO:/nix/store/1s65m6ci7zdj04gljrfbdyv9cswjji2d-donnabot-service-0.0.16.0
does anyone know why this is the case? why would Haskell pick this up as stderr?