gplugin/gplugin

Hide properties type on FreeBSD.
develop
2020-02-29, Elliott Sales de Andrade
412d67a92be9
Hide properties type on FreeBSD.

In `perl.h`, there is:
```
#ifdef I_LIBUTIL
#include
#endif
```
and on FreeBSD, `I_LIBUTIL` is defined in Perl's `config.h`. That header does
not really appear to be necessary for Perl, but it has the side effect of
declaring a `properties` type. This is a generic name used in our code base, so
we hack around it with the preprocessor. Preferably, FreeBSD would fix that in
their Perl port in the future.
# Dependencies
GPlugin depends on the following at a bare minimum:
* glib-2.0 >= 2.40.0
* gobject-introspection, libgirepository1.0-dev
* meson >= 0.42.0
* gettext
* help2man
* a C compiler
A full build (enabled by default) depends on the following:
* gtk-3
* python3-dev, python-gi-dev, python3-gi
* liblua5.1-0-dev, lua-lgi
* valac
All of these packages and their development headers need to be installed
prior to building GPlugin.
# Building
GPlugin uses meson (http://mesonbuild.com/) as its build system. As such
compiling is a little bit different than your typical `./configure`, `make`,
`sudo make install`.
Meson requires you to build in a separate directory than your source. As such,
these instructions use a separate build directory.
To compile you need to run the following commands:
```
meson build
cd build
ninja install
```
If you want/need to tweak the build system (to enable/disable certain loaders)
you can do so at any time by using `meson configure` in the build directory.