This is to try and squeeze more lost space from the image, so that hydra
starts building it again.
The fsck previous to the resize2fs is required so resize2fs works.
The one afterwards is a sanity check.
Using `-M` from resize2fs will not give much saved space due to a known
(in the manual) issue.
```
[samueldr@aarch64:~/nixpkgs]$ ls -lh result-*/*/*.img
-r--r--r-- 1 root root 2.2G Jan 1 1970 result-original/sd-image/nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img
-r--r--r-- 1 root root 2.1G Jan 1 1970 result-M/sd-image/nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img
-r--r--r-- 1 root root 1.9G Jan 1 1970 result-slimmed/sd-image/nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img
```
```
[samueldr@aarch64:~/nixpkgs]$ nix path-info -S ./result-original
/nix/store/c8k9n78gylx293rjh762fr05a069kxp2-nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img 3844125000
[samueldr@aarch64:~/nixpkgs]$ nix path-info -S ./result-slimmed
/nix/store/962238skj5mnzhrsmjy23dyzmxk77sp4-nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img 3447473208
```
We patch gobject-introspection somewhat heavily, so add some unit tests that
will catch potential errors when we're eg. updating the patches.
There's two tests:
- Basic test for absolute nix store paths (testing absolute_shlib_path.patch)
- Test for macos `@rpath` sanitizing, including
fallback_libpath (macos-shared-library.patch)
`GETTEXTDATADIRS` isn't populated correctly due to empty buildInputs. Borrow from
`GETTEXTDATADIRS_FOR_BUILD` until we fix gettext's envHook.
see: https://github.com/NixOS/nixpkgs/issues/50855
Previously all versions with minor >= 90 were considered pre-release,
which failed to consider versions like 0.100.
Let’s limit the range to 90–99 and 900–999.
Having python3 in the PATH and python2's setuptools and enum in PYTHONPATH
breaks any python3 script. Having mercurial in buildInputs makes this
condition true, breaking glib's python scripts, which after 2.58 use python3.
Mercurial isn't actually needed in buildInputs, so removing mercurial is a
simple fix.