The dependency on sftp or samba in net-misc/csync is forced in the mirall ebuild, but in fact it should be optional. I am not sure about webdav. Mirall works perfectly without sftp and samba. Reproducible: Always
*** Bug 433181 has been marked as a duplicate of this bug. ***
Well basically you are right, but there are buttons that would fail if you have those features disabled on csync during runtime. So you can built it without the options, but results might be flaky...
Thanks Tomáš for pointing this out. I understand that if mirall is compiled with -samba and -sftp the 'Synchronization Target' window in the 'Add Sync' wizard shouldn't show the choice for the remove destination folder. Anyway, the verification of the remote folder protocol should be done in csync, since mirall does not know 'a priori' what protocols are supported by csync. I think that the best option would be to add those three flags 'webdav', 'sftp', and 'samba' to mirall's ebuild, and simply pass the dependencies to csync, without forcing the user to install samba, for example, which he is not gonna use anyway.
Created attachment 325646 [details] DANGEROUS mirall ebuild with use flags mirall ebuild with use flags. The won't do anything though!
I've encountered the same problem and looked a bit into it. To me it seems that in mirall, it's not as easy to turn off certain features at compile time as it is in csync. But I might be mistaken, as I haven't got any experiences with cmake. But I've written an ebuild for mirall that has several useflags. Not turning them on or off, won't do ANYTHING at all, except passing it to csync. This ebuild is clearly not for serious use. But it allows you to get rid of the unwanted dependencies :)
+*mirall-1.1.1-r1 (30 Nov 2012) + + 30 Nov 2012; Chris Reffett <creffett@gentoo.org> +mirall-1.1.1-r1.ebuild, + -mirall-1.1.1.ebuild, metadata.xml: + Add USE-conditional deps on csync USE flags wrt bug 433165 + Committed to CVS, have fun.