deluge: fails to start due to missing cairo dependency (py3-cairo)
When installing deluge, it exits with the following backtrace due to a missing python module:
[20:35] manager:~% deluge
Unable to initialize gettext/locale!
'ngettext'
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/deluge/i18n/util.py", line 118, in setup_translation
builtins.__dict__['_n'] = builtins.__dict__['ngettext']
KeyError: 'ngettext'
20:35:11 [ERROR ][deluge.ui.gtk3 :51 ] No module named 'cairo'
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/__init__.py", line 48, in run
gtkui = GtkUI(options)
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/gtkui.py", line 201, in __init__
self.torrentdetails = TorrentDetails()
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/torrentdetails.py", line 115, in __init__
from .status_tab import StatusTab
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/status_tab.py", line 18, in <module>
from .piecesbar import PiecesBar
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/piecesbar.py", line 20, in <module>
import cairo # Backward compat cairo <= 1.15
ModuleNotFoundError: No module named 'cairo'
Traceback (most recent call last):
File "/usr/bin/deluge", line 11, in <module>
load_entry_point('deluge==2.0.3', 'gui_scripts', 'deluge')()
File "/usr/lib/python3.8/site-packages/deluge/ui/ui_entry.py", line 143, in start_ui
ui.start()
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/__init__.py", line 54, in start
deluge.common.run_profiled(
File "/usr/lib/python3.8/site-packages/deluge/common.py", line 1344, in run_profiled
return func(*args)
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/__init__.py", line 48, in run
gtkui = GtkUI(options)
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/gtkui.py", line 201, in __init__
self.torrentdetails = TorrentDetails()
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/torrentdetails.py", line 115, in __init__
from .status_tab import StatusTab
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/status_tab.py", line 18, in <module>
from .piecesbar import PiecesBar
File "/usr/lib/python3.8/site-packages/deluge/ui/gtk3/piecesbar.py", line 20, in <module>
import cairo # Backward compat cairo <= 1.15
ModuleNotFoundError: No module named 'cairo'
[20:35] manager:~%
Installing py3-cairo fixes the problem. Maybe this should be a dependency of deluge?