Index | Thread | Search

From:
Johan Huldtgren <johan+openbsd-ports@huldtgren.com>
Subject:
productivity/khal missing dependencies
To:
jung@openbsd.org
Cc:
ports@openbsd.org
Date:
Sun, 21 Apr 2024 15:22:42 -0400

Download raw body.

Thread
hello,

i don't use ikhal very often, so I'm not sure how new this issue is,
but after upgrading to latest -current and packages ikhal would die
with:

$ ikhal
Traceback (most recent call last):
  File "/usr/local/bin/ikhal", line 8, in <module>
    sys.exit(main_ikhal())
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/khal/cli.py", line 501, in interactive_cli
    controllers.interactive(
  File "/usr/local/lib/python3.10/site-packages/khal/controllers.py", line 589, in interactive
    from . import ui
  File "/usr/local/lib/python3.10/site-packages/khal/ui/__init__.py", line 29, in <module>
    import urwid
  File "/usr/local/lib/python3.10/site-packages/urwid/__init__.py", line 30, in <module>
    from urwid.canvas import (
  File "/usr/local/lib/python3.10/site-packages/urwid/canvas.py", line 30, in <module>
    from urwid.str_util import calc_text_pos, calc_width
  File "/usr/local/lib/python3.10/site-packages/urwid/str_util.py", line 27, in <module>
    import wcwidth
ModuleNotFoundError: No module named 'wcwidth'

I updated the port to include a runtime dependency on devel/py-wcwidth, however it then fails with:

$ ikhal
Traceback (most recent call last):
  File "/usr/local/bin/ikhal", line 8, in <module>
    sys.exit(main_ikhal())
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/khal/cli.py", line 501, in interactive_cli
    controllers.interactive(
  File "/usr/local/lib/python3.10/site-packages/khal/controllers.py", line 589, in interactive
    from . import ui
  File "/usr/local/lib/python3.10/site-packages/khal/ui/__init__.py", line 29, in <module>
    import urwid
  File "/usr/local/lib/python3.10/site-packages/urwid/__init__.py", line 97, in <module>
    from . import display, event_loop, widget
  File "/usr/local/lib/python3.10/site-packages/urwid/event_loop/__init__.py", line 9, in <module>
    from .main_loop import MainLoop
  File "/usr/local/lib/python3.10/site-packages/urwid/event_loop/main_loop.py", line 38, in <module>
    from urwid.widget import PopUpTarget
  File "/usr/local/lib/python3.10/site-packages/urwid/widget/__init__.py", line 32, in <module>
    from .listbox import ListBox, ListBoxError, ListWalker, ListWalkerError, SimpleFocusListWalker, SimpleListWalker
  File "/usr/local/lib/python3.10/site-packages/urwid/widget/listbox.py", line 29, in <module>
    from typing_extensions import Protocol, runtime_checkable
ModuleNotFoundError: No module named 'typing_extensions'

I updated the port again to also have a runtime dependency on devel/py-typing-extensions. After that ikal works
as expected for me again. I've attached a diff to update the port.

thanks,

.jh
Index: khal/Makefile
===================================================================
RCS file: /cvs/ports/productivity/khal/Makefile,v
retrieving revision 1.21
diff -u -p -u -p -r1.21 Makefile
--- khal/Makefile	11 Dec 2023 12:40:37 -0000	1.21
+++ khal/Makefile	21 Apr 2024 19:14:25 -0000
@@ -2,6 +2,7 @@ COMMENT =		standards based terminal cale
 
 MODPY_EGG_VERSION =	0.11.2
 DISTNAME =		khal-${MODPY_EGG_VERSION}
+REVISION =		0
 
 CATEGORIES =		productivity
 
@@ -25,9 +26,11 @@ RUN_DEPENDS =		devel/py-atomicwrites${MO
 			devel/py-dateutil${MODPY_FLAVOR} \
 			devel/py-icalendar${MODPY_FLAVOR} \
 			devel/py-setproctitle${MODPY_FLAVOR} \
+			devel/py-typing-extensions \
 			devel/py-tz${MODPY_FLAVOR} \
 			devel/py-tzlocal${MODPY_FLAVOR} \
 			devel/py-urwid${MODPY_FLAVOR} \
+			devel/py-wcwidth${MODPY_FLAVOR} \
 			devel/py-xdg${MODPY_FLAVOR} \
 			productivity/vdirsyncer
 TEST_DEPENDS =		devel/py-hypothesis${MODPY_FLAVOR} \