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"
```
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.
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.
We take the idris2 projects version of the derivation. Originally,
Idris2 did not maintain their own nix derivation, so we created our
own. Now they maintain their own derivation, so we should try to
keep ours as close to theirs.
This change comes with the following differences:
* support files are in its own output, instead of packaged with idris2
- This makes it necessary to provide --package for contrib and network
!!! This is a breaking change !!!
* IDIRS2_PREFIX is set to ~/.idris2 instead of pointing to nix-store
- This makes --install work as expected for the user
* Properly set IDRIS2_PACKAGE_PATH
* non-linux platform uses chez-racket instead of chez
packagePaths changed between idris2 `v0.3.0` and `v0.4.0` and now
includes a version number in the path.
Fixesnixos/nixpkgs#130310
Co-authored-by: zseri <zseri.devel@ytrizja.de>
Co-authored-by: Mario Rodas <marsam@users.noreply.github.com>
v0.4.0:
- Added gmp as a build dependency
- Removed bootstrap-test (test still available and more general)
- Renamed bootstrap-build to bootstrap (bootstrap previously did
bootstrap-build and bootstrap-test)
This removes the need of the bin/idris2_app folder and replaces
it with proper links to the nix-storage folders.
This allows the user to override IDRIS2_PREFIX which will allow
them to use --install to install libraries.
* Fix: idris2_app/ was exposed in bin/
* Remove native Idris2 wrapper that set LD_LIBRARY_PATH
* Improve new Idris2 wrapper to set Idris2 paths to out folders
The idris2 Makefile tries to use different versions of sed depending on
the OS, but nix always uses the same version. Because the version of
sed that is expected on macOS doesn't exist in the nix environment, the
build fails. Setting the OS to empty string resolves the issue.