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.
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"
```
We need to ignore gettext in CMAKE_PREFIX_PATH on cross to prevent
`find_program` from picking up the wrong gettext. See the `webkitgtk`
and `fish` derivations for similar hacks (though this really should
eventually be fixed at a lower level). The wrong gettext in this case is
getting pulled in via:
csound(host) -> fluidsynth(host) -> glib(host) -> gettext(host)
csound has supported FluidSynth 2 since 6.13.0:
https://github.com/csound/csound/pull/1106
Since fluidsynth_1 has finally been broken by glib 2.70.0, so now is a
good opportunity to get rid of this dependency.
Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/csound/versions.
These checks were done:
- built on NixOS
- /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/csound passed the binary check.
- /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/csbeats passed the binary check.
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/csdebugger had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/atsa had a zero exit code or showed the expected version
- /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/csanalyze passed the binary check.
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/cvanal had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/dnoise had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/envext had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/extractor had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/het_export had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/het_import had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/hetro had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/lpanal had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/lpc_export had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/lpc_import had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/mixer had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/pvanal had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/pvlook had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/pv_export had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/pv_import had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/scale had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/sndinfo had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/srconv had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/src_conv had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/sdif2ad had a zero exit code or showed the expected version
- /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/scsort passed the binary check.
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/extract had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/cs had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/csb64enc had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/makecsd had a zero exit code or showed the expected version
- Warning: no invocation of /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0/bin/scot had a zero exit code or showed the expected version
- 4 of 31 passed binary check by having a zero exit code.
- 0 of 31 passed binary check by having the new version present in output.
- found 6.11.0 with grep in /nix/store/a8lvlqn930nsjmak9km1nj3xa51iclfy-csound-6.11.0
- directory tree listing: https://gist.github.com/a9a7303309eb2e6e6ce70fc3f368e8af
- du listing: https://gist.github.com/c8d61a997a4e56d47eab852cdae66f01
Semi-automatic update. These checks were done:
- built on NixOS
- ran `/nix/store/y5y28sldhyh69vy0xxy9y1zajzyzg4ln-csound-6.10.0/bin/csanalyze -h` got 0 exit code
- ran `/nix/store/y5y28sldhyh69vy0xxy9y1zajzyzg4ln-csound-6.10.0/bin/csanalyze --help` got 0 exit code
- ran `/nix/store/y5y28sldhyh69vy0xxy9y1zajzyzg4ln-csound-6.10.0/bin/csanalyze help` got 0 exit code
- ran `/nix/store/y5y28sldhyh69vy0xxy9y1zajzyzg4ln-csound-6.10.0/bin/csb64enc help` got 0 exit code
- ran `/nix/store/y5y28sldhyh69vy0xxy9y1zajzyzg4ln-csound-6.10.0/bin/makecsd help` got 0 exit code
- found 6.10.0 with grep in /nix/store/y5y28sldhyh69vy0xxy9y1zajzyzg4ln-csound-6.10.0
- found 6.10.0 in filename of file in /nix/store/y5y28sldhyh69vy0xxy9y1zajzyzg4ln-csound-6.10.0
Adds extra bells and whistles:
- jack
- ladspa
- fluidsynth
- fltk (for the virtual keyboard)
- curl
- gettext
The most important one is jack but I added other dependencies which
seemed sensible and were mentioned by the configure script.
In line with the Nixpkgs manual.
A mechanical change, done with this command:
find pkgs -name "*.nix" | \
while read f; do \
sed -e 's/description\s*=\s*"\([a-z]\)/description = "\u\1/' -i "$f"; \
done
I manually skipped some:
* Descriptions starting with an abbreviation, a user name or package name
* Frequently generated expressions (haskell-packages.nix)