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
evolution-ews: init at 3.36.4 #91504
Conversation
I may recall incorrectly but I think at one point this may have been on radar for @jtojnar or @worldofpeace after some other |
@bjornfor Geary has no Exchange Server support. Only IMAP. |
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.
Could you rebase (git rebase -i master
, git push -f
) the branch so that there is only the relevant commit and no useless merges?
The main issue is that evolution only looks for plug-ins in its directory tree, so we need to create |
I hit a roadblock:
|
The paths come from here: You can override them using |
To be more precise, you can run something like |
Thanks a lot @jtojnar
The thing is it does not help on that error at all. Maybe because there is an earlier error which says:
Sorry to bother that much but I don't have much clues nor experience to go further from here... |
There is some sparse documentation here as well: https://wiki.gnome.org/Apps/Evolution/Building#Build_evolution-ews |
The pcre thing should just be a warning. If it still fails, the error is probably elsewhere. |
Looks like you missed some underscores: --- a/pkgs/applications/networking/mailreaders/evolution-ews/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution-ews/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
PKG_CONFIG_EVOLUTION_SHELL_3_0_ERRORDIR = "${placeholder "out"}/share/evolution/errors";
PKG_CONFIG_EVOLUTION_SHELL_3_0_PRIVLIBDIR = "${placeholder "out"}/lib/evolution";
PKG_CONFIG_CAMEL_1_2_CAMEL_PROVIDERDIR = "${placeholder "out"}/lib/evolution-data-server/camel-providers";
- PKG_CONFIG_LIBEDATABOOK_1_2_BACKENDDIR = "${placeholder "out"}/lib/evolution-data-server/addressbook-backends";
- PKG_CONFIG_LIBEDATACAL_2_0_BACKENDDIR = "${placeholder "out"}/lib/evolution-data-server/calendar-backends";
+ PKG_CONFIG_LIBEDATA_BOOK_1_2_BACKENDDIR = "${placeholder "out"}/lib/evolution-data-server/addressbook-backends";
+ PKG_CONFIG_LIBEDATA_CAL_2_0_BACKENDDIR = "${placeholder "out"}/lib/evolution-data-server/calendar-backends";
PKG_CONFIG_LIBEBACKEND_1_2_MODULEDIR = "${placeholder "out"}/lib/evolution-data-server/registry-modules";
PKG_CONFIG_EVOLUTION_SHELL_3_0_MODULEDIR = "${placeholder "out"}/lib/evolution/modules";
PKG_CONFIG_EVOLUTION_DATA_SERVER_1_2_PRIVDATADIR = "${placeholder "out"}/share/evolution-data-server"; |
Nice found. Now it compiles, and I need to look into letting evolution read from the install path of evolution-ews. |
Also you should add yourself to
This should fix the CI error. |
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Outdated
Show resolved
Hide resolved
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Outdated
Show resolved
Hide resolved
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Outdated
Show resolved
Hide resolved
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Outdated
Show resolved
Hide resolved
0d03384
to
87dcab6
Compare
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Outdated
Show resolved
Hide resolved
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Outdated
Show resolved
Hide resolved
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Show resolved
Hide resolved
pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
Show resolved
Hide resolved
Thank you. |
Great news! If I'm on a |
We still need to patch evolution to allow loading plug-ins. Maybe joining the two derivations into a single one by recursive copying and fixing all the paths would be easiest for now. |
Great. Anything which allows me to stop using web mail 😄 |
I have tried to make a wrapper this morning and just making symlinks to the .so files in the /lib folder is not enough. Some other magic is needed. I'll continue reading through nix pills & the manual to get some more knowledge. I have to admit... there are not that many "with-plugins" packages one can get some inspiration from. |
I started up the work at #92775 |
Yeah, programs typically have hardcoded path to their libdir in the code so you would need to install the plug-ins to that path. That is not possible since store paths are immutable. One way to achieve that is to patch the source code to accept some writeable path like Actually, this is further complicated by the fact that they need to be installed to e-d-s tree, not evolution. |
Thanks for examples @jtojnar ... have you submitted any of those patches upstream? They seem to be nice features. |
Some of them, yes. With mixed results. dleyna-core is inactive, GDM succeeded, with generic variable in the end. I also recall discussing xdg-dektop-portal and evolution with their respective authors (probably on IRC as I cannot find it) and I did not manage to convince them. Not sure I would even convince myself – environment variables are terrible mechanism. But unfortunately we do not have much options. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/running-evolution-without-gnome-is-it-sane-possible/8328/2 |
Motivation for this change
Building evolution-ews from source. Thanks to @jtojnar for helping me along the way.
Things done
I got evolution-ews to compile in nix.
The next steps will be to make a wrapper for evolution (evolution-with-plugins) to make use of this library.
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)