Error "attribute 'runtimeShell' missing" cross compiling aarch64-multiplatform elm binary

I’m able to compile elm-format (or at least it’s building the world right now) like this:

nix-build '<nixpkgs>' -A pkgsCross.aarch64-multiplatform.pkgsStatic.elmPackages.elm-format

But when I try the same with elm this happens:

nix-build '<nixpkgs>' -A pkgsCross.aarch64-multiplatform.pkgsStatic.elmPackages.elm
error: attribute 'runtimeShell' missing

       at /nix/store/0c10w4am1xhxjkrmnd8d6rbksvm68311-source/pkgs/top-level/all-packages.nix:867:17:

          866|       substitutions = {
          867|         shell = targetPackages.runtimeShell;
             |                 ^
          868|         passthru.tests = tests.makeWrapper;
(use '--show-trace' to show detailed location information)

I think I can provide some runtimeShell value with --arg runtimeShell someValue, but I’m:

  • not sure what that value would be
  • not sure if I’m on the right path or this is just a bug

Hoping someone can clarify what to do here.

Thanks!

Here is the --show-trace version if it helps:

$ nix-build '<nixpkgs>' -A pkgsCross.aarch64-multiplatform.pkgsStatic.elmPackages.elm --show-trace
error: attribute 'runtimeShell' missing

       at /nix/store/0c10w4am1xhxjkrmnd8d6rbksvm68311-source/pkgs/top-level/all-packages.nix:867:17:

          866|       substitutions = {
          867|         shell = targetPackages.runtimeShell;
             |                 ^
          868|         passthru.tests = tests.makeWrapper;

       … while evaluating the attribute 'shell' of the derivation 'hook'

       at /nix/store/0c10w4am1xhxjkrmnd8d6rbksvm68311-source/pkgs/stdenv/generic/make-derivation.nix:270:7:

          269|     // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
          270|       name =
             |       ^
          271|         let

       … while evaluating the attribute 'nativeBuildInputs' of the derivation 'elm-static-aarch64-unknown-linux-musl-0.19.1'

       at /nix/store/0c10w4am1xhxjkrmnd8d6rbksvm68311-source/pkgs/stdenv/generic/make-derivation.nix:270:7:

          269|     // (lib.optionalAttrs (attrs ? name || (attrs ? pname && attrs ? version)) {
          270|       name =
             |       ^
          271|         let

I found some related issues on nixpkgs seemingly related to makeWrapper not being in buildInputs and… I think… this means something doesn’t happen on the cross host.

Here is the issue I created: Cross compiling aarch64-multiplatform elm package returns Error "attribute 'runtimeShell' missing" · Issue #188296 · NixOS/nixpkgs · GitHub