Some changes to be more idiomatic and use stdenv building blocks more.
I also added a `buildbot.withPlugins` instead of the current plugins
mechanism, which forces an unnecessary rebuild of the package and reruns
all the tests. This should be equivalent and more pleasant to use in
practice.
So the thinking is: anything that needs `haskell-gi-base` is going to
need `gobjectIntrospection` in order to work correctly; by adding this
one `buildDepends` (which therefore gets propagated), we put ourselves
in a position to simplify away a bunch of code in `cabal2nix`.
Firefox requires new version of the icu to build:
```
checking for icu-i18n >= 58.1... Requested 'icu-i18n >= 58.1' but version of icu-i18n is 57.1
configure: error: Library requirements (icu-i18n >= 58.1) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
```
Firefox requires the latest sqlite to build:
```
checking for sqlite3 >= 3.17.0... Requested 'sqlite3 >= 3.17.0' but version of SQLite is 3.16.2
configure: error: Library requirements (sqlite3 >= 3.17.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
```
In development, I experimented with file globs, for loops and making the
supplementary fonts optional. As such, the original PR ended up with a
dysfunctional combination.
This commit fully adopts the for loop approach, which I prefer, since failing
matches, e.g. missing supplementary-fonts/, won't cause a failure.
After the change of the bonding options, the examples were not quite correct.
The diff is over-the top because the new `let` needs everything indented.
Also add a small docstring to the `networkd` attr in the networking test.
Cherry-picked from upstream (inetutils-1_9_4-31-g73e2811).
Could be a long time before a new inetutils release is made.
vcunat amended the patch to apply.