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.
According to Nixpkgs manual[1] and NixOS 23.11 Release Note[2], the
`sourceRoot` attribute passed to `stdenv.mkDerivation` should be
specified as `"${src.name}"` or `"${src.name}/subdir"` when `src` is
produced using `fetchgit`-based fetchers.
`sourceRoot = "source"` or `sourceRoot = "source/subdir"` is based on
the assumption that the `name` attribute of these pre-unpacked fetchers
are always `"source"`, which is not the case. Expecting constant `name`
also makes the source FODs prone to irrelevent hashes during version
bumps.
[1]: https://nixos.org/manual/nixpkgs/unstable/#var-stdenv-sourceRoot
[2]: https://nixos.org/manual/nixos/stable/release-notes#sec-release-23.11
Also multiple fixups:
- Fix structured attrs by removing it
- Switch to Flutter 3.16
- Add some comments on how to generate files
- Make patches apply more neatly
- Use proper cc
- Make output hash independant of metadata
- Softcode .so file ending
This is a second package to ensure people can still use the old one
which is built from a stable tag. The old 1.2.3 version uses a flutter
that is too old which is why it was dropped from nixpkgs.