NixOS / NixOS/nixpkgs

Build failure: yacreader on aarch64-darwin

Open Beginner friendly
#533,366 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Nix
Stars
26.2k
Forks
20.1k
PR merge metrics
PR metrics pending

Description

pipewire is not available on darwin, and I believe this change caused yacreader to become unavailable. I believe the fix would probably be similar to #407759.

Here is the full evaluation error I got trying to build my home-manager config:

error:
       … while calling the 'derivationStrict' builtin
         at «nix-internal»/derivation-internal.nix:38:12:
           37|
           38|   strict = drvFunc drvAttrs;
             |            ^
           39|

       … while evaluating derivation 'home-manager-generation'
         whose name attribute is located at «github:nixos/nixpkgs/567a49d»/pkgs/stdenv/generic/make-derivation.nix:651:11

       … while evaluating attribute 'buildCommand' of derivation 'home-manager-generation'
         at «github:nixos/nixpkgs/567a49d»/pkgs/build-support/trivial-builders/default.nix:81:17:
           80|         enableParallelBuilding = true;
           81|         inherit buildCommand name;
             |                 ^
           82|         passAsFile = [ "buildCommand" ] ++ (derivationArgs.passAsFile or [ ]);

<snip>

       … while calling the 'throw' builtin
         at «github:nixos/nixpkgs/567a49d»/pkgs/stdenv/generic/check-meta.nix:701:13:
          700|           else
          701|             throw msg;
             |             ^
          702|

       error: Refusing to evaluate package 'pipewire-1.6.5' in /nix/store/lbi962pdq1l03sb813j3dq4af06zwk36-source/pkgs/by-name/pi/pipewire/package.nix:293 because it is not available on the requested hostPlatform:
         hostPlatform.system = "aarch64-darwin"
         package.meta.platforms = [
           "aarch64-linux"
           "arc-linux"
           "armv5tel-linux"
           "armv6l-linux"
           "armv7a-linux"
           "armv7l-linux"
           "i686-linux"
           "loongarch64-linux"
           "m68k-linux"
           "sh4-linux"
           "microblaze-linux"
           "microblazeel-linux"
           "mips-linux"
           "mips64-linux"
           "mips64el-linux"
           "mipsel-linux"
           "powerpc-linux"
           "powerpc64-linux"
           "powerpc64le-linux"
           "riscv32-linux"
           "riscv64-linux"
           "s390-linux"
           "s390x-linux"
           "x86_64-linux"
           "i686-freebsd"
           "x86_64-freebsd"
           "aarch64-freebsd"
         ]
         package.meta.badPlatforms = [ ]

       a) To temporarily allow packages that are unsupported for this system, you can use an environment variable
          for a single invocation of the nix tools.

            $ export NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1

          Note: When using `nix shell`, `nix build`, `nix develop`, etc with a flake,
                then pass `--impure` in order to allow use of environment variables.

       b) For `nixos-rebuild` you can set
         { nixpkgs.config.allowUnsupportedSystem = true; }
       in configuration.nix to override this.

       c) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
         { allowUnsupportedSystem = true; }
       to ~/.config/nixpkgs/config.nix.

Originally posted by @bcc32 in https://github.com/NixOS/nixpkgs/issues/527314#issuecomment-4724878472

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with pkgs/by-name/pi/pipewire/package.nix at line 293 and compare the platform-handling change in issue #407759. Trace how yacreader depends on pipewire, then verify that evaluating yacreader for aarch64-darwin no longer rejects the unavailable dependency.

Written by the indexing model from the issue text.

Assessment

Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.