Skip to content
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: wrap evolution and evolution data server, fix nixos module. #103135

Merged
merged 4 commits into from Jan 21, 2021

Conversation

symphorien
Copy link
Member

Motivation for this change

Extends and replaces #92775

cc @dasJ @jtojnar

Things done

I've been using this for several weeks.

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via gnome and xfce NixOS tests
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@das-g
Copy link
Member

das-g commented Nov 8, 2020

Did you mean to mention @dasj19 (author of #92775) rather than @dasJ?

@symphorien
Copy link
Member Author

ah yes indeed, sorry :°

@@ -20208,6 +20208,8 @@ in
inherit (gnome3) evince;
evolution-data-server = gnome3.evolution-data-server;
evolution-ews = callPackage ../applications/networking/mailreaders/evolution/evolution-ews { };
evolution = callPackage ../applications/networking/mailreaders/evolution/evolution { };
evolutionBundle = callPackage ../applications/networking/mailreaders/evolution/evolution/wrapper.nix { };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is non-standard naming that is not used anywhere. The -with-plugins is at least almost an idiom.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we are to talk about naming: the problem is that this is rather an evolution-data-server-with-plugins. Where evolution somehow counts as a plugin. an evolutionWithPlugins which can possibly not contain evolution but only evolution-data-server would be somewhat strange. So I welcome better naming suggestions which can convey that.

@symphorien
Copy link
Member Author

I solved the merge conflict.

@symphorien
Copy link
Member Author

I solved anther merge conflict. I think the PR is ready now, and I've been using it successfully for some time now.

@ofborg ofborg bot requested a review from dasj19 January 10, 2021 14:12
@dasj19
Copy link
Contributor

dasj19 commented Jan 15, 2021

I tried running nix-shell -p nixpkgs-review --run "nixpkgs-review pr 103135" but I couldn't because of the conflicting files.
I'll try again once they get fixed.

@symphorien
Copy link
Member Author

solved the merge conflict.
cc @jtojnar @worldofpeace to review the module.

@dasj19
Copy link
Contributor

dasj19 commented Jan 16, 2021

I tested again, the evolution-with-plugins binary and it seems we are back to the problem described here: #92775 (comment)

@symphorien
Copy link
Member Author

symphorien commented Jan 17, 2021

@dasj19 : you must ensure that you have installed no other software depending on evolution-data-server. This includes gnome-calendar for example. Also, because evolution-data-server has long running processes launched with systemd dbus, you should log out and login again after having activated the options in the module.

Edit sorry dasj for the wrong ping.

@symphorien
Copy link
Member Author

I have been using this nearly daily for months now without a problem.

@dasj19
Copy link
Contributor

dasj19 commented Jan 18, 2021

@symphorien I can not get it to work, I have installed evolutionWithPlugins and did a reboot afterwards. When I open evolution I can add an ews account but it does not show up in the list with accounts.
gnome-calendar is installed by default as part of gnome...

I do not know what else to try...

@tolbrino
Copy link
Contributor

I've tested this PR on top of release-20.09 and it works nicely. Here are the respective configuration options used:

programs.evolution.enable = true;
programs.evolution.plugins = [ pkgs.evolution-ews ];
services.gnome3.evolution-data-server.enable = true;
services.gnome3.gnome-keyring.enable = true;
programs.seahorse.enable = true;

The setup of the O365 account was somewhat complicated due to tenant and application ids etc, but that is part of EWS.

Thanks for the effort. Really helpful.

@dasj19
Copy link
Contributor

dasj19 commented Jan 19, 2021

@tolbrino Yes, it works with the options you provide. Thanks.

@symphorien
Copy link
Member Author

Mmh enabling services.gnome3.gnome-keyring.enable = true; when evolution is enable makes sense, but is seahorse really required ?

@ofborg ofborg bot requested a review from dasj19 January 20, 2021 19:02
@tolbrino
Copy link
Contributor

Mmh enabling services.gnome3.gnome-keyring.enable = true; when evolution is enable makes sense, but is seahorse really required ?

This might just be on my end because GPG is used.

@symphorien
Copy link
Member Author

I tried to upstream the patch to evolution, and upstream came up with a better solution. A simple wrapper with an environment variable without symlinkjoin will be available starting next release: https://gitlab.gnome.org/GNOME/evolution/-/merge_requests/77#note_1044591

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants