nautilus-python is a nautilus extension that in turn adds support for having nautilus extensions written in python. Due to the nature of it, we can't really build it with support for multiple python versions at once, thus it is a python-single-r1.eclass package. Currently it only has python2_7 in PYTHON_COMPAT, and it'd be good to be able to add python3_5 and up. However, we can't, because all packages (and users manually installed extensions) shipping nautilus extensions written in python could break, if their python code isn't compatible with python3, or any python modules the extension uses aren't python3-ready and properly installed as such. Basically we need to first make all the consumers compatible with both python2 and python3 together somehow, then add python3 support, and eventually phase out python2 support (so we don't need to worry about python2 + python3 compatibility together anymore). I fear this might end up impossible to express via deps in some cases (as we mustn't dep on nautilus-python[${PYTHON_USEDEP}] because it's python-single-r1), and we'll instead really need to do a coordinated switch via having a nautilus-python revision that supports only python2, another revision that supports only python3, having everything in tree depend on the appropriate nautilus-python revision (older or newer than the cutoff point), and then releasing that out of p.mask and later stabling in a coordinated all-at-once manner. These are my thoughts on the topic, but I don't have the time to work on this myself, as there are other things to do - like getting us nautilus-3.30. However this is the reason I did not add python3 versions to PYTHON_COMPAT and will try to block such tries if they don't also deal with the concerns raised herein.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac8f81058889929409edf7bc66b96a6ded4ea92c commit ac8f81058889929409edf7bc66b96a6ded4ea92c Author: Mart Raudsepp <leio@gentoo.org> AuthorDate: 2018-12-12 18:53:16 +0000 Commit: Mart Raudsepp <leio@gentoo.org> CommitDate: 2018-12-12 19:15:48 +0000 dev-python/nautilus-python: bump to 1.2.2 Maintainer timeout, plus I co-maintain nautilus itself. No python3 support is introduced yet, as that would break existing packages in tree without a more careful migration process. Closes: https://bugs.gentoo.org/665764 Bug: https://bugs.gentoo.org/673038 Signed-off-by: Mart Raudsepp <leio@gentoo.org> Package-Manager: Portage-2.3.52, Repoman-2.3.11 dev-python/nautilus-python/Manifest | 1 + .../nautilus-python/nautilus-python-1.2.2.ebuild | 37 ++++++++++++++++++++++ 2 files changed, 38 insertions(+)
I opened a PR where I bumped the version and added the python3 target. As I see these packages are depend on nautilus-python: * gnome-extra/gnome-shell-extension-gsconnect * net-misc/owncloud-client * net-misc/nextcloud-client * app-antivirus/clamtk I tested gsconnect and owncloud-client with both Python Versions and haven't encountered a problem. I didn't test the nextcloud-client because I haven't build qtwebengine yet, but if you are looking into the python source file [0], you would find a detection for python3. The clamtk uses a PYTHON_USEDEP and I update to a python3 compatible version in 710106. [0] https://github.com/nextcloud/desktop/blob/master/shell_integration/nautilus/syncstate.py
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d66b9aa3c6a7c886962e2a39b40941d6e7c63866 commit d66b9aa3c6a7c886962e2a39b40941d6e7c63866 Author: Jonas Licht <jonas.licht@fem.tu-ilmenau.de> AuthorDate: 2020-02-18 22:03:11 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2020-06-04 03:11:49 +0000 dev-python/nautilus-python: Version bump to 1.2.3 and add python3 target Closes: https://bugs.gentoo.org/673038 Closes: https://github.com/gentoo/gentoo/pull/14696 Signed-off-by: Jonas Licht <jonas.licht@fem.tu-ilmenau.de> Signed-off-by: Matt Turner <mattst88@gentoo.org> dev-python/nautilus-python/Manifest | 1 + .../nautilus-python/nautilus-python-1.2.3.ebuild | 38 ++++++++++++++++++++++ 2 files changed, 39 insertions(+)