When cfv wants to check a .torrent file, it tries to import a couple a functions from the BitTorrent/BitTornado module. I modified the ebuild and added a dependancy on virtual/bittorrent when the bittorrent use flag is on.
Please find the updated ebuild as attachment.
Created attachment 78816 [details]
The updated ebuild with the bittorrent use flag
Normally CFV's Bittorrent function works fine, with net-p2p/bittorent-4.4.0 which was stable until recently when net-p2p/bittorrent-5.0.5 went stable, this breaks bit torrent functionality in the program.
If this ebuild was commited the user would know that they have disabled bittorrent's functionality, and if enabled make it install the 4.4.0 version. I might see if the developer is willing to update his tool to work with 5.0.5. It would be really nice if he/she could depend on libtorrent for the same functionality, but I'm not sure if that's possible yet.
Alexandre, your use flag doesn't _do_ anything to justify that RDEPEND depends on it. Either cfv always needs some torrent stuff in RDEPEND or it is an automagic dependency which should be fixed.
It's a python script therefore the script probably uses bittorrent if it can, but ignores it if it can't, therefore it's not automagic.
I've tested this myself and it works.
Also note that http://bugs.gentoo.org/169228 includes a patch from SVN that allows CFV's bit torrent module to work again with version 5X of bit torrent. Currently flag or no flag it does not work since the new version was stabilized.
the question is, if the use flag is off, but bittorrent is present anyways, will it not be used as it should not?
if bittorrent was installed because of some other reason, and CFV happened to be installed, then yes it would work. All the flag does is stop cfv depending on bittorrent and it's dependencies. I am not sure if this is good practice, if not then the ebuild should not have this flag.
I'm against this flag. It is optional runtime behaviour, that can't be easily deactivated. Well we can patch it, but that's IMHO too much to just add an USE flag that just pulls in an dependency. If someone uses bittorrent, he might have bittorent already installed and it will just work for them.