In opencv 2.x, unfree libraries are built by default. The package
should therefore have been marked as unfree, but wasn't.
I've disabled the non-free libraries by default, and added an option
to enable them. There are three programs in Nixpkgs that depend on
opencv2: mathematica, pfstools, and p2pvc. pfstools requires the
non-free libraries if it's built with opencv support, so I've disabled
opencv by default there and added an option to enable it. p2pvc links
fine, so presumably doesn't need the non-free libraries. I can't test
mathematica, so I'm just going to leave it alone.
Update all usage of lib.concatStrings (lib.intersperse ...) to
lib.concatStringsSep. This produces the same result as per https://github.com/NixOS/nixpkgs/pull/135843,
however it yields a performance benefit on Nix versions that
support the builtins.concatStringsSep primop.
These are all packages that I stopped using and hence just create noise
in my inbox for each change affecting them and let's face it, while I
still enjoy contributing to nixpkgs, it doesn't really make sense to be
listed there if I can't do much anyways.
Each of these packages can be taken over by someone or removed if
people think that's reasonable.
Of course, if other maintainers face issues, I can answer some questions
if needed & possible.
The program `nip2` didn't really work without this, as it didn't know
where to find the bundled scripts. Though VIPSHOME should really be
called NIP2HOME. I suppose I should open an issue upstream to also
consider `datarootdir` from autotools?
The new optional dependencies increase closure size from 388.92 MiB to
414.0 MiB, a negligible change. I didn't think there was any reason to
add `withLibjpeg ? true` flags (or `enableLibjpeg`).
The optional dependencies are sorted in the order of
https://github.com/libvips/libvips/blob/master/README.md
and I have used `nix log` on the build to check they are all picked up
in configure.
The python3 support was in for ages
(https://github.com/libvips/libvips/issues/202), the remaining python3
support in tools/vipsprofile landed in
https://github.com/libvips/libvips/pull/1262 so I upgraded it to
python3. I wasn't sure if I should use a specific version, or just leave
it as python3.
I have tested vipsprofile with
```
./vips-pycairo-bin/bin/vips gaussblur ~/2021-04-30-092143_3286x1080_scrot.png x.tif 5 --vips-profile
./vips-pycairo-bin/bin/vipsprofile
```
where ~/2021-04-30-092143_3286x1080_scrot.png is just a random image
(screenshot) I had lying around. It seems to have generated an SVG file,
I don't know how to interpret it.