For update script parallelization, we have started calling builtins.toJSON
on updateScripts, which triggers evaluation of paths and therefore their copying
to Nix store. This breaks update scripts that assume that they exist in nixpkgs
like dwarf-fortress.
https://github.com/NixOS/nixpkgs/issues/61935
Let’s stringify the paths before JSONification to prevent the evaluation.
While it might be useful in some cases, there are too many caveats to be worth it.
When libredirect intercepts dlopen call and calls the original function, the dynamic
loader will use libredirect.so's DT_RUNPATH entry instead of the one from the ELF file
the dlopen call originated from. That means that when program tries to dlopen a library
that it expects to find on its RPATH, the call will fail.
This broke Sublime Text for just that reason.
Our gobject-introspection patches make the shared library paths absolute
in the GIR files. When building docs, the library is not yet installed,
though, so we need to replace the absolute path with a local one during build.
Previously we used LD_PRELOAD to load libredirect and rewrite the installed paths
to ones in the build directory. That was unnecessary complicated and many people
spent whole night trying to figure out why it breaks some programs.
Using a symlink from the installed location to the build directory fixes
the issue as well, while having much less moving parts, thus being easier to grasp.
The symlink will be overridden during installation.
Remove UnicodeCollate dependency, which is part of Perl 5.28 and
does not exist separately anymore.
Add PerlIO::utf8_strict, which lack thereof Biber complains about
during build.
Build 3208
21 April 2019
Mac: Added a workaround for a macOS OpenGL driver bug in 10.14.4
Build 3206
5 April 2019
Performance improvements
Build 3205
3 April 2019
Improved scrolling logic in some scenarios
Linux: Fixed compatibility with old Linux distributions
Build 3204
2 April 2019
Mac: Added a workaround for a MacOS issue with DisplayLink adapters
Linux: Tweaked the way text scaling is handled
Improved file indexing behavior in some scenarios
Fixed block carets changing the way text selection works
…since this is actually dropbox-nautilus project.
In one of the previous updates, the source code responsible for finding dropboxd
was changed, rendering our sed replacement not working. That triggered the installer
which in turn failed on the unavailability of gobject-introspection typelibs. And
when that was fixed, we got bitten by our lazy packaging putting a broken code
into the installer.
This is a proper fix for all the issues, except for making typelibs available to
the installer since we shall use Nix instead.
Nothing much changed other than adding the suffix -nons to Docbook 4 styles,
making the Docbook 5 the variant without suffix:
https://github.com/docbook/xslt10-stylesheets/releases/tag/release%2F1.79.2
I have decided to make docbook_xsl an alias of docbook-xsl-nons for now,
to avoid confusion.
I also updated patch link that was broken to a newer version of the patch
and started sharing it between the two packages.
qtkeychain uses pkg-config to detect whether libsecret is available,
otherwise it just builds a stub object file.
We need libsecret support to allow nextcloud-client storing passwords
on Freedesktop platforms.
I also fixed the Darwin dependencies not being used with Qt5,
even though the build did not complain.
All hail Meson!
One serious issue is that building docs does not work.
We patch gobject-introspection to use absolute paths for shared libraries
in GIR files. Building the NetworkManager docs relies on the produced
introspection data but since the library is not yet installed
at the time the docs are generated, the build will fail.
It works in Autotools for some reason; they probably use
the pregenerated GIRs from the tarball.
Disabling the docs completely is not possible at the moment either,
since nmc [depends on them][1].
I have decided to fix this by pointing the installed location to the one
in the build directory using libredirect. Unfortunately, we cannot just set
the environment variables directly, since the build system runs
the documentation generator in a clean environment.
I have also added man, doc and devdoc outputs so the generated files have
somewhere to go.
Secondly, since Nix store is immutable, we also cannot use the package prefix
for configuration and mutable state data. At the same time, we cannot write
to the appropriate global directories during build. Autotools allowed to change
this in installFlags but Meson lacks similar mechanism so we need to patch
the build files.
Finally, I also removed the at_console patch since the permission has been
removed in 0.9.10.
[1]: https://bugzilla.gnome.org/show_bug.cgi?id=796755
gobject-introspection uses glib’s g_module_open function, which in turn relies
on dlopen. I also implemented openat, since I initially thought this function
was used but turns out dlopen uses the openat signal directly. We might as
well keep it, even thought I do not need it at the moment.
Add libsoup dependency which is required by libgdata dependency of YouTube plug-in
and also by Dleyna plug-in, and which was removed during previous clean-up.
Also add dependencies for lua-factory plug-in which is enabled by default by master.
Partially fixes: https://github.com/NixOS/nixpkgs/issues/59792