The filtering done by filterPackages did not match the behavior of Nixpkgs code:
filterPackages used the meta.hydraPlatforms attribute in preference to meta.platforms; however, the actual purpose of meta.hydraPlatforms is to disable Hydra builds, not to prevent building of the corresponding packages locally, therefore using meta.hydraPlatforms resulted in filterPackages removing some working packages from the returned set. In particular, wrapper packages like firefox or neovim were affected (those packages have meta.hydraPlatforms = [], because their build process is trivial, and putting the results in the binary cache does not help much).
filterPackages did not handle the meta.badPlatforms attribute, therefore some definitely incompatible packages could still pass through the filter.
Update the filterPackages code to match the filtering done by Nixpkgs. Also fix a typo in a comment in the same area.
The filtering done by
filterPackages
did not match the behavior of Nixpkgs code:filterPackages
used themeta.hydraPlatforms
attribute in preference tometa.platforms
; however, the actual purpose ofmeta.hydraPlatforms
is to disable Hydra builds, not to prevent building of the corresponding packages locally, therefore usingmeta.hydraPlatforms
resulted infilterPackages
removing some working packages from the returned set. In particular, wrapper packages likefirefox
orneovim
were affected (those packages havemeta.hydraPlatforms = []
, because their build process is trivial, and putting the results in the binary cache does not help much).filterPackages
did not handle themeta.badPlatforms
attribute, therefore some definitely incompatible packages could still pass through the filter.Update the
filterPackages
code to match the filtering done by Nixpkgs. Also fix a typo in a comment in the same area.Fixes #73.