Weird janky escaping is left-over from our time as an
autotools project and should've been fixed long ago as
it was obvious the compiler warnings were legit.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
Additionally, add an output report to show at build time what we're
configured to do, ala autotools.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
This is as yet untested, but the basic idea is that when games call out
to `system("pulseaudio --check > /dev/null 2>&1")` we'll put our script
in their way and unconditionally return 0. This is for games using libfmod,
which will die when trying to execute pulseaudio right now.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This reverts commit c640f2f215.
Turns out this is due to a very weird situation where Arch has their
libudev.so.0 as an incompatible API which all current games expect to
be of libudev.so.1 ABI, and isn't something LSI should be fixing, the
distro should.
Arch Linux uses a funky udev shim package which is incompatible with
our udev workaround, so allow them to disable it and use their shim
instead (as some packages are apparently **built** against the shim.)
For all other distros which are binary-built in ABI lockstep with udev
proper, keep it enabled.
This fixes#46.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
Certain elements of snapd actually require the (ab)use of snapd to operate,
such as making the NVIDIA proprietary drivers available to the guest snap.
In this instance, if we happen to encounter a library from these search
paths we must unconditionally allow it to be loaded, so that we do not
break libGL resolution.
This adds initial support for issue #30.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This new functionality is about controlling the usage of older LibreSSL
builds within Linux ports. The versions being overriden at the moment
actually come from 2015, hence having this directly in LSI.
Effectively we'll "solve" the issue of not being able to have both
LibreSSL and OpenSSL at the same time, by adding a shim mode. With this
mode we're able to provide new names for the LibreSSL libraries, so that
they can be provided explicitly for LSI usage.
For Solus we've opted to package this up as "libressl-shim", and suffixed
all of the libraries with "-libressl". This can be controlled within the
meson options for best results. For distributions already using LibreSSL
as their native SSL implementation, the `native` option will ensure that
the host libSSL (libressl) is used providing that it has the required
1.0.0 ABI compatibility symlinks.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
We're left in the awkward position that there are some games that **still**
misbehave on Linux, and generally do Dumb Things. So to get around the fact
that some vendors basically stopped caring about us, we'll create a special
`LD_PRELOAD` library that is responsible for redirecting syscalls to basically
monkeypatch broken behaviour completely.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>