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.
stdenv.targetPlatform really shouldn't be used by software that
doesn't generate or manipulate binaries. I reviewed all uses of
targetPlatform outside of pkgs/development/compilers and pkgs/stdenv
and replaced those which weren't involved in something which fits
these criteria.
This applies a patch from upstream[1] that replaces the previously used
method of using the SQLITE_DBPAGE virtual table extension.
This fixes audacity hanging when closing it, which leads to it having to
be killed. That results in incompletely saved project files which
triggers the file recovery dialogue on every start.
Fixes#130347.
[1] https://github.com/audacity/audacity/pull/1802
The XGD-config patch is removed since it conflicts with the new version of audacity, as it was not merged upstream.
Audacity now requires their own fork of wxWidgets, according to https://wiki.audacityteam.org/wiki/Building_On_Linux - this is the cause of current trouble since I am new to nix and unsure how to integrate it. I copied the current 3.1.4 nixpkgs version of wxWidgets found at pkgs/development/libraries/wxwidgets/3.1/default.nix and modified it to retrieve the forked version, but that's it so far.
A few other things:
- prep for transition to gtk3 when audacity recommends it
- we drop the runtime linking with lame as audacity is picking it up on
its own
- on linux, add a number of missing dependencies.
- use a newer (recommended) wxwidgets
- add a patch (merged upstream) that makes audacity follow XDG for file locations
After making `ffmpeg` point to the latest `ffmpeg_4`, all packages that
used `ffmpeg` without requiring a specific version now use ffmpeg_3
explicitly so they shouldn't change.