This commit was created by a combination of scripts and tools:
- an ast-grep script to prefix things in meta with `lib.`,
- a modified nixf-diagnose / nixf combination to remove unused `with
lib;`, and
- regular nixfmt.
Co-authored-by: Wolfgang Walther <walther@technowledgy.de>
**This commit should cause no rebuilds.**
# Moving Java overrides out of all-packages
All usages of this pattern have been moved to
'let ... in' blocks.
Patterns I searched for:
* `jdk =`
* `jdk_headless =`
* `jre =`
* `jfx =`
The `jing` alias has been moved to aliases.nix, so
update the usage of `jing` in `xmloscopy` to
`jing-trang`.
cassandra was ignored because that derivation
involves code generation.
I ignored grails, because jdk is set to null by
default by an override in all-packages.nix. That
package would need a slightly larger refactor to
deal with.
Packages with a *-native variant were ignored because
those would need to be refactored.
jetbrains was ignored because that might be a special case?
I ignored virtualbox, because I did not want
to touch the usages of the pattern for other
dependencies.
When bootstrapping NixOS from source, I found that this package no
longer builds without the cache. A quick diff of the project shows
a one line change that bumps the project version in their meson build
Comparing build outputs old vs. new, only store paths have changed
This reverts commit 65a333600d.
This wasn't tested for correctness with something like fodwatch [0],
and should not have been (self-)merged so quickly, especially without
further review.
It also resulted in the breakage of at least one package [1] (and that's
the one we know of and was caught).
A few packages that were updated in between this commit and this revert
were not reverted back to using `rev`, but other than that, this is a
1:1 revert.
[0]: https://codeberg.org/raphaelr/fodwatch
[1]: https://github.com/NixOS/nixpkgs/pull/396904 / 758551e458
After final improvements to the official formatter implementation,
this commit now performs the first treewide reformat of Nix files using it.
This is part of the implementation of RFC 166.
Only "inactive" files are reformatted, meaning only files that
aren't being touched by any PR with activity in the past 2 months.
This is to avoid conflicts for PRs that might soon be merged.
Later we can do a full treewide reformat to get the rest,
which should not cause as many conflicts.
A CI check has already been running for some time to ensure that new and
already-formatted files are formatted, so the files being reformatted here
should also stay formatted.
This commit was automatically created and can be verified using
nix-build a08b3a4d19.tar.gz \
--argstr baseRev b32a094368
result/bin/apply-formatting $NIXPKGS_PATH
Sets `AVALONIA_GLOBAL_SCALE_FACTOR` to the GNOME desktop scaling factor
based on
<https://github.com/AvaloniaUI/Avalonia/issues/9390#issuecomment-2382126451>,
falling back to the X FreeType DPI setting if the former is not
available.
Does not include `gsettings` and `xrdb` in build inputs, since these
should be available on the relevant platforms.
Bash does not support decimal/floating point arithmetic, so this *does*
include `bc` in the runtime dependencies.
We are migrating packages that meet below requirements:
1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration
The tool is here: https://github.com/Aleksanaa/by-name-migrate.
By using testProjectFile, we can properly build the test and run it in
checkPhase, as well as not include the test in the derivation output.
This also happens to fix the startup crash as described in #345038.
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"
```
Instead of creating a nuget.config in NIX_BUILD_TOP, and depending on
inheritance from sourceRoot, we'll make the required changes directly in
the latter. This fixes packages where sourceRoot is NIX_BUILD_TOP.