TLDR: default.nix was pointing to an unmaintained code base whereas stable.nix is up-to-date and maintained.
History
1. At first their was one Python version of vdirsyncer that had been working fine for years. Then, maintenance decreased and the package was marked as broken in nixpkgs.
2. The original author (@untitaker on github.com) of vdirsyncer decided to re-implement (part of) vdirsyncer in Rust. Nixpkgs made `vdirsyncer` point to the Rust version and renamed the Python historical version to `vdirsyncerStable`.
3. Eventually, @untitaker gave up on the Rust version.
4. Someone else (@WhyNotHugo on github.com) decided to take over maintenance of the Python version.
5. Mario Rodas (@marsam on github) and Damien Cassou updated the `vdirsyncerStable` to point to the work of @WhyNotHugo and mark the package as working again.
This adds support for the Radxa Rock Pi 4 board which is based on
RK3399. The u-boot outputs from the introduced build are suitable to
build a generic image for the Rock Pi 4 by setting the following in a
custom build of $nixpkgs/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix:
```
sdImage.postBuildCommands = ''
dd if=${pkgs.ubootRockPi4}/idbloader.img of=$img seek=64 conv=notrunc
dd if=${pkgs.ubootROckPi4}/u-boot.itb of=$img seek=16384 conv=notrunc
'';
```
linux_mptcp_5_9 enables Multipath TCP in the upstream kernel.
I keep linux_mptcp_95 even if it is out of tree because it has "more" features
than linux_mptcp_5_9.
Before this change, a Dhall package like the Prelude would be
encoded as a record with one field per supported version. Then
downstream packages would specify which package to override
by selecting a different record field.
The problem with that approach is that it did not provide an
easy way to override a package to a version other than the default
ones supplied by Nixpkgs. Normally you would use the `.override`
method for this purpose, but the `override` method added by
`buildDhall{Directory,GitHub}Package` is clobbered by the
`override` method added by `callPackage` in
`./pkgs/top-level/dhall-packages.nix`.
The solution is to add a separate `.overridePackage` method which is
essentially the exact same as `.override`, except that it is no
longer clobbered by `callPackage`. This `.overridePackage` method
allows one to override the arguments supplied to
`buildDhall{Directory,GitHub}Package`, making it easier to specify
package versions outside of the ones supported by Nixpkgs..
This also includes a change to only build one (preferred) version of each
package (instead of multiple supported versions per package), in order to
minimize the maintenance burden for the Dhall package set.