This effectively reduces the size of the runtime closure by ~79%:
$ nix path-info ./result-old -Sh
/nix/store/9ggmj6fmqszfvd0lg2im7qssscql0jac-signald-0.15.0 729.0M
$ nix path-info ./result -Sh
/nix/store/z9bfj547j9fkyl8g0mqb1n108s7zw4w5-signald-0.15.0 155.2M
Similar change as 2f9426ad8312101f4e84bcc4e28860695d28005f: newer Java
versions don't support a "traditional" JRE anymore, but it's possible to
create dedicated runtime environments using `jlink`[1].
[1] https://medium.com/azulsystems/using-jlink-to-build-java-runtimes-for-non-modular-applications-9568c5e70ef4Closes#150493
they're unnecessary since https://github.com/NixOS/nixpkgs/pull/161739/files
which links the schemas to their correct fhs locations and adds
gsettings-desktop-schemas and hicolor-icon-theme to appimage fhs
Without the change build on -fno-common toolchains like clamng-13 fails as:
$ nix build --impure --expr 'with import ./. {}; freetalk.override { stdenv = clang13Stdenv; }' -L
...
ld: more.o:src/./more.h:15: multiple definition of `cin'; primitives.o:src/./more.h:15: first defined here
ld: more.o:src/./more.h:14: multiple definition of `initial_settings'; primitives.o:src/./more.h:14: first defined here
A lot of bloat had been accumulated through updates (e.g. with linphone
migrating from Gtk to Qt, or linphone being split to liblinphone &
linphone-desktop).
Method: Through trial and error. Delete all dependencies, try to build, try to
run, reintroduce missing dependencies.
I have tested everything I could, but it is possible that some optional
features have been silently disabled with dependencies not being found now.
(Codecs, encryption schemes, etc...)