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"
```
Since theey is not active from at least six years.
All the packages on this commit became orphans.
---------------------------------------------------------------------------
There are files not covered by this commit, because they will be adopted
soon. Namely:
- pkgs/by-name/zs/zsync/package.nix
- pkgs/games/bsdgames/default.nix
- pkgs/misc/ghostscript/default.nix
- pkgs/os-specific/linux/kernel/perf/default.nix
- pkgs/tools/system/logrotate/default.nix
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.
Without the change the build fails in `master` as
https://hydra.nixos.org/build/250983051:
../src/mmap.cxx:29:19: error: 'SIZE_MAX' was not declared in this scope
29 | # define MMAP_MAX SIZE_MAX/4L
| ^~~~~~~~
Many recoll filters assume that $PATH contains all their
dependencies. Our current patching approach is a game of
whack-a-mole, and while we will continue trying to play it we ought
to set the $PATH as well.
This commit eliminates a huge number of extraneous error messages
from recoll's log, making it easier to see the remaining ones which
really matter.
This commit fixes cross-compilation of recoll by:
1. Disabling the python module when cross compiling
2. Removing `file` from `nativeBuildInputs`, since it leaks into
recoll-*.so, and forcing use of the hostPlatform `file` by adding
the configureFlag that does that.
3. Adding `qtbase` to `nativeBuildInputs` if `withGui`
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
Prior to this fix, running recoll fails with the following error:
No/bad main configuration file in /nix/store/.../Resources/examples.
The path is incorrect and RECOLL_DATADIR should be used.