[Proposal] Skip packages unsupported on the build platform for r-ryantm

Currently, r-ryantm runs on x86_64-linux and scans all packages for available updates. However, some packages explicitly declare meta.platforms that does not include x86_64-linux — for example, chatgpt which only targets x86_64-darwin and aarch64-darwin.

nixpkgs-update still detects a new version for these packages, but the build step always fails with:

error: Refusing to evaluate package 'chatgpt-1.2026.048' because it is not available on the requested hostPlatform:
  hostPlatform.system = "x86_64-linux"
  package.meta.platforms = [
    "x86_64-darwin"
    "aarch64-darwin"
  ]

A real example: https://nixpkgs-update-logs.nix-community.org/chatgpt/2026-03-04.log

The update script runs successfully (it fetches the new .dmg URL and hash), the diff is produced, but nix-build then refuses to evaluate the derivation on the build host.

Proposal: Before attempting a build, r-ryantm could check whether the package’s meta.platforms (or meta.badPlatforms) includes the current build system. If the build platform is not in meta.platforms, skip the build.

This would save CI time and avoid generating logs that are doomed to fail.

3 Likes