Maybe one dependency you might consider is shared-mime-info - I use it for the macOS build too. It allows to determine the right icon for a file type based on its mime type. This then works e.g. with the file browser plugin (but the result also depends on the used icon theme if it provides corresponding filetype icons).
Alright, I just added it. But as you know, I can't test it :).
Hmm, I don't see any difference so it can probably be dropped. I think it's because of the Adwaita icon theme which doesn't provide many mime type icons (the theme I use on macOS has many more mime type icons https://github.com/geany/geany-osx/tree/master/Papirus/16x16/mimetypes)