New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mendeley: 1.16.3 -> 1.17.7 - WIP #21093
Conversation
@ttuegel any suggestions on how to make it find the vendored Qt5 libraries? |
If you want to use the vendored libraries, you should remove Qt 5 from the |
@ttuegel okay, I will try to use the system libraries first. I'm surprised it links against so many xorg libraries. |
Getting close I think
I thought |
Right now your expression is still mixing our Qt with the vendor's. If you want to use our Qt, you need to change the library |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend sticking with the vendor's Qt libraries unless you know they won't work. It is generally a lot of trouble to keep Qt versions in sync because there is no binary compatibility between versions. Also, Qt has a commercial license which allows vendors to make incompatible downstream patches.
,gcc, liborc, xorg, qt4, zlib | ||
, ...}: | ||
, alsaLib, dbus, expat, fontconfig, freetype, gcc, glib, libcap | ||
, liborc, libxml2, libxslt, nss, nspr, sqlite, xorg, qt55, zlib |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should use qt55.callPackage
in all-packages.nix
instead of importing qt55
into the expression. This ensures that everything which depends on Qt 5 is built with the same version.
zlib | ||
qt55.qtbase |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Along the same lines as above, use qtbase
and qtdeclarative
here.
@@ -51,7 +72,11 @@ stdenv.mkDerivation { | |||
patchelf --set-interpreter $interpreter $out/bin/mendeleydesktop | |||
|
|||
librarypath="${stdenv.lib.makeLibraryPath deps}:$out/lib:$out/lib/qt" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This still points to the vendor's Qt libraries.
I got a bit further using the vendored libraries. It doesn't work quite yet though
|
@ttuegel any suggestions on how to get this working? |
It looks like the vendored libraries have hardcoded paths, in particular
It looks like you will have to substitute a xkbcommon build from Nixpkgs, at least. |
I see now I forgot to update the PR. I've added
|
That looks to me like missing OpenSSL. If that's not it, try searching for the symbol names. |
Merged #23563 |
Motivation for this change
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)Since 1.17 Mendeley uses Qt5. And its become massive, growing from 33 MB to 130 MB.