nixpkgs/pkgs/development
Adam Joseph c0085404bd lib/systems/inspect.nix: remove isPowerPC
Very confusingly, the `isPowerPC` predicate in
`lib/systems/inspect.nix` does *not* match `powerpc64le`!

This is because `isPowerPC` is defined as

  isPowerPC      = { cpu = cpuTypes.powerpc; };

Where `cpuTypes.powerpc` is:

  { bits = 32; significantByte = bigEndian; family = "power"; };

This means that the `isPowerPC` predicate actually only matches the
subset of machines marketed under this name which happen to be 32-bit
and running in big-endian mode which is equivalent to:

  with stdenv.hostPlatform; isPower && isBigEndian && is32bit

This seems like a sharp edge that people could easily cut themselves
on.  In fact, that has already happened: in
`linux/kernel/common-config.nix` there is a test which will always
fail:

  (stdenv.hostPlatform.isPowerPC && stdenv.hostPlatform.is64bit)

A more subtle case of the strict isPowerPC being used instead of the
moreg general isPower accidentally are the GHC expressions:

  Update pkgs/development/compilers/ghc/8.10.7.nix
  Update pkgs/development/compilers/ghc/8.8.4.nix
  Update pkgs/development/compilers/ghc/9.2.2.nix
  Update pkgs/development/compilers/ghc/9.0.2.nix
  Update pkgs/development/compilers/ghc/head.nix

Since the remaining legitimate use sites of isPowerPC are so few, remove
the isPowerPC predicate completely. The alternative expression above is
noted in the release notes as an alternative.

Co-authored-by: sternenseemann <sternenseemann@systemli.org>
2022-05-25 09:45:42 +02:00
..
androidndk-pkgs
beam-modules erlang-ls: 0.32.0 -> 0.35.0 2022-05-25 03:46:12 +00:00
bower-modules/generic
chez-modules
compilers lib/systems/inspect.nix: remove isPowerPC 2022-05-25 09:45:42 +02:00
coq-modules
dhall-modules
dotnet-modules
em-modules/generic
embedded
gnuradio-modules
go-modules
go-packages
guile-modules
haskell-modules haskellPackages: mark builds failing on hydra as broken 2022-05-20 22:04:20 +02:00
idris-modules
interpreters Merge pull request #165893 from r-ryantm/auto-update/jruby 2022-05-24 19:16:55 +02:00
java-modules
libraries Merge pull request #174192 from trofi/update-librseq 2022-05-25 06:42:33 +00:00
lisp-modules
lisp-modules-new
lua-modules
misc treewide: extraPostFetch -> postFetch 2022-05-23 17:18:50 +03:00
mobile
nim-packages
node-packages vscode-extensions.rust-lang.rust-analyzer: 0.2.1048 -> 0.3.1059 2022-05-21 05:04:10 -04:00
ocaml-modules ocamlPackages.linenoise: 1.3.0 -> 1.3.1 2022-05-24 16:53:17 +02:00
octave-modules
perl-modules
pharo
php-packages
python2-modules
python-modules Merge pull request #174322 from fabaff/tokenizers-fix 2022-05-25 08:51:43 +02:00
quickemu
r-modules
ruby-modules
scheme-modules/scheme-bytestructures
tools Merge pull request #174418 from r-ryantm/auto-update/clj-kondo 2022-05-25 08:33:53 +01:00
web Merge pull request #173781 from chaychoong/flyctl-328 2022-05-20 22:56:04 +02:00