In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
Otherwise references to the Python interpreter inside the set are wrong, as demonstrated by:
``` nix
with import <nixpkgs> { };
let
python' = python3.override {
packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337"; }); };
};
in python'.pkgs.python.pkgs.requests
```
which returns the _non_ overriden requests.
And the same with `self`:
```
with import <nixpkgs> { };
let
python' = python3.override {
self = python';
packageOverrides = final: prev: { requests = prev.requests.overridePythonAttrs(old: { version = "1337"; }); };
};
in python'.pkgs.python.pkgs.requests
```
which returns the overriden requests.
This can manifest itself as file collisions when constructing environments or as subtly incorrect dependency graphs.
Tahoe-LAFS unstable-2021-07-09 is incompatible with Python 3.12, and uses eliot in a way incompatible after version 1.14.0.
These versions should be unpinned, when updating Tahoe-LAFS to a more recent version.lafs
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
* mpd-touch-screen-gui: use finalAttrs in mkDerivation; reformat
* musescore: use finalAttrs in mkDerivation
* syncthingtray: use stdenv.mkDerivation with a function; reformat
* ocrfeeder: use finalAttrs in mkDerivation; reformat
* castget: use finalAttrs in mkDerivation
* gnome-network-displays: use finalAttrs in mkDerivation
* mailreaders: use finalAttrs in mkDerivation
* mswatch: use finalAttrs in mkDerivation
* uhd: use finalAttrs in mkDerivation
* maxima: use finalAttrs in mkDerivation
* qalculate-gtk: use finalAttrs in mkDerivation
* qalculate-qt: use finalAttrs in mkDerivation
* wxmaxima: use finalAttrs in mkDerivation
* lammps: use finalAttrs in mkDerivation
* mlterm: use finalAttrs in mkDerivation
* video-trimmer: use finalAttrs in mkDerivation
* nerdfonts: use finalAttrs in mkDerivation
* gnomeExtensions.easyScreenCast: use finalAttrs in mkDerivation
* octave: use finalAttrs in mkDerivation; reformat
* comedilib: use finalAttrs in mkDerivation
* cpp-utilities: use finalAttrs in mkDerivation
* libsForQt5.kpeoplevcard: use finalAttrs in mkDerivation; reformat
* liberio: use finalAttrs in mkDerivation
* libqalculate: use finalAttrs in mkDerivation; reformat
* libwtk-sdl2: use finalAttrs in mkDerivation
* libsForQt5.pulseaudio-qt: use finalAttrs in mkDerivation; reformat
* qrupdate: use finalAttrs in mkDerivation; reformat
* libsForQt5.qtforkawesome: use finalAttrs in mkDerivation; reformat
* libsForQt5.qtutilities: use finalAttrs in mkDerivation; reformat
* sqlitecpp: use finalAttrs in mkDerivation; reformat
* tweeny: use finalAttrs in mkDerivation
* volk: use finalAttrs in mkDerivation
* wiringpi: use finalAttrs in mkDerivation
* snzip: use finalAttrs in mkDerivation; reformat
* bpm-tools: use finalAttrs in mkDerivation; reformat
* sacd: use finalAttrs in mkDerivation
* gtk-gnutella: use finalAttrs in mkDerivation; reformat
* sile: use finalAttrs in mkDerivation
* pplatex: use finalAttrs in mkDerivation; reformat
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
RTorrent uses a companion library, libtorrent, and they should be synchronized
along the releases. They act like a small package set. Therefore it is a good
idea to treat them the same way in Nixpkgs code.
This commit should not change much of the things, because no code besides
rtorrent uses libtorrent.
(Yes, this the same message from jesec-rtorrent commit.)
RTorrent uses a companion library, libtorrent, and they should be synchronized
along the releases. They act like a small package set. Therefore it is a good
idea to treat them the same way in Nixpkgs code.
This commit should not change much of the things, because no code besides
rtorrent uses libtorrent.
(Yes, this the same message from rakshasa-rtorrent commit.)