The current configure options exposed emulates the `choices` type of the
SVG and PNG backends from upstream meson_options with a freeform string,
however this is error prone and require accompanying validation which
unnecessarily complicates the derivation. Two alternatives were considered:
1. Splits the possible choices into separate options nad perform assertions to
ensure only one is selected.
2. Expose a set of sane default configure options, and structure the derivation
around this subset. Users who wish to customize the choice used can do so
using `override` or `overrideAttrs`.
Option 1 is not sustainable for large amounts of options which require large
amount of assertions just for ensuring uniqueness of selection, and adds
complexity to the configure phase. Option 2 minimally impairs the customizablity
of the derivation and was chosen in part to address option checking[1].
[1] - https://github.com/NixOS/nixpkgs/pull/141836#discussion_r739910095
The SVG and PNG options were adjusted to account for upstream changes
on the meson build options and additional nanosvg backend for SVG support
independent of cairo.
* Remove unnecessary dependencies, and add wayland-scanner for gluing
wayland protocol XML files.
* Added optional flags for cairo, png and svg support
respectively and specify build type.