When printing the error message with instructions to manually obtain a
fixed-output derivation using requireFile, print the string as escaped
using `escapeShellArg`, rather than using a here-doc where Bash
expansion will be performed.
This permits passing instructions that contain characters that Bash
would normally expand without needing to escape them (or even know that
they need escaping from Bash), for example instructions referencing
`$PWD`.
Document this in the current release notes, and update existing
requireFile calls that perform this now-unnecessary escaping. In
passing, fix up a couple of minor message errors.
according to upstream: "The wine64 loader binary is removed, in favor of
a single wine loader that selects the correct mode based on the binary
being executed. For binaries that have both 32-bit and 64-bit versions
installed, it defaults to 64-bit. The 32-bit version can then be
launched with an explicit path, e.g. wine
c:\\windows\\syswow64\\notepad.exe.",
I have changed all the references to the wine64 binary to only need the
wine binary -- tentative.
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>
As I said before, I want to keep a narrow focus on Nixpkgs. Now that I am back
at undergrad, this focus should be even narrower: I will keep my eyes on Emacs,
and nothing else.
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 78e9caf153
result/bin/apply-formatting $NIXPKGS_PATH
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"
```
- Reformat per RFC-166;
- Update setup script to report on and offer to clean up obsolete mcfgthread DLL;
- Switch DXVK to thread model to Win32 from MCF; and
- Clean up Meson build configuration.
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.
The `isCross` check is broken. When cross-compiling, it incorrectly
evaluates to false. DXVK has been building using the Meson
cross-compilation support in nixpkgs instead of with upstream’s cross
file. Instead of fixing `isCross`, just drop it as unnecessary.