On 2025/12/17 10:32, Joerg Jung wrote:
> This is fine with me.
>
> > mcmer-openbsd@tor.at (Marcus MERIGHI), 2025.12.06 (Sat) 18:58 (CET):
> >> Hello,
> >>
> >> one can use khal/ikhal with just local calender files.
> >> syncing with caldav via vdirsyncer is nice, but optional.
I've committed a modified version of that, vdirsyncer is still needed
for tests (+ REVISION bump).
Here's an update to 0.13.0. any tests? ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/productivity/khal/Makefile,v
diff -u -p -r1.26 Makefile
--- Makefile 11 Feb 2026 21:10:08 -0000 1.26
+++ Makefile 11 Feb 2026 21:16:17 -0000
@@ -1,13 +1,12 @@
COMMENT = standards based terminal calendar
-MODPY_DISTV = 0.11.2
+MODPY_DISTV = 0.13.0
DISTNAME = khal-${MODPY_DISTV}
-REVISION = 4
CATEGORIES = productivity
# https://github.com/pimutils/khal
-HOMEPAGE = https://lostpackets.de/khal/
+HOMEPAGE = https://khal.readthedocs.io/
MAINTAINER = Joerg Jung <jung@openbsd.org>
@@ -18,8 +17,7 @@ MODULES = lang/python
MODPY_PYBUILD = setuptools_scm
MODPY_PI = Yes
-RUN_DEPENDS = devel/py-atomicwrites \
- devel/py-click \
+RUN_DEPENDS = devel/py-click \
devel/py-click-log \
devel/py-configobj \
devel/py-dateutil \
Index: distinfo
===================================================================
RCS file: /cvs/ports/productivity/khal/distinfo,v
diff -u -p -r1.9 distinfo
--- distinfo 11 Dec 2023 12:40:37 -0000 1.9
+++ distinfo 11 Feb 2026 21:16:17 -0000
@@ -1,2 +1,2 @@
-SHA256 (khal-0.11.2.tar.gz) = j7jYk3HlPiI1lToHZeQbl+F0hIpojWN2hHdXbQP4mbo=
-SIZE (khal-0.11.2.tar.gz) = 196986
+SHA256 (khal-0.13.0.tar.gz) = aP6ozXBOOH6BtmnJAyKo2vtDdPWHawcXDJxuI0FaPuA=
+SIZE (khal-0.13.0.tar.gz) = 209200
Index: patches/patch-khal_ui_calendarwidget_py
===================================================================
RCS file: patches/patch-khal_ui_calendarwidget_py
diff -N patches/patch-khal_ui_calendarwidget_py
--- patches/patch-khal_ui_calendarwidget_py 21 May 2025 12:12:32 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-From 768003148015376f1715a2d4cc0b3d6d800876c4 Mon Sep 17 00:00:00 2001
-From: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
-Date: Thu, 11 Jan 2024 16:28:28 +0100
-Subject: [PATCH] Update deprecated syntax
-
-Index: khal/ui/calendarwidget.py
---- khal/ui/calendarwidget.py.orig
-+++ khal/ui/calendarwidget.py
-@@ -148,7 +148,7 @@ class DateCColumns(urwid.Columns):
-
- @urwid.Columns.focus_position.setter
- def focus_position(self, position: int) -> None:
-- """calls on_date_change before calling super()._set_focus_position"""
-+ """calls on_date_change before setting super().focus_position"""
- # do not call when building up the interface, lots of potentially
- # expensive calls made here
- if self._init:
-@@ -163,7 +163,7 @@ class DateCColumns(urwid.Columns):
- def set_focus_date(self, a_date):
- for num, day in enumerate(self.contents[1:8], 1):
- if day[0].date == a_date:
-- self._set_focus_position(num)
-+ self.focus_position = num
- return None
- raise ValueError('%s not found in this week' % a_date)
-
-@@ -381,7 +381,7 @@ class CalendarWalker(urwid.SimpleFocusListWalker):
- """
- row, column = self.get_date_pos(a_day)
- self.set_focus(row)
-- self[self.focus]._set_focus_position(column)
-+ self[self.focus].focus_position = (column)
-
- @property
- def earliest_date(self):
Index: patches/patch-khal_ui_editor_py
===================================================================
RCS file: patches/patch-khal_ui_editor_py
diff -N patches/patch-khal_ui_editor_py
--- patches/patch-khal_ui_editor_py 21 May 2025 12:12:32 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-From 768003148015376f1715a2d4cc0b3d6d800876c4 Mon Sep 17 00:00:00 2001
-From: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
-Date: Thu, 11 Jan 2024 16:28:28 +0100
-Subject: [PATCH] Update deprecated syntax
-
-Index: khal/ui/editor.py
---- khal/ui/editor.py.orig
-+++ khal/ui/editor.py
-@@ -58,7 +58,7 @@ class CalendarPopUp(urwid.PopUpLauncher):
- self._monthdisplay = monthdisplay
- self._firstweekday = firstweekday
- self._keybindings = {} if keybindings is None else keybindings
-- self.__super.__init__(widget)
-+ super().__init__(widget)
-
- def keypress(self, size, key):
- if key == 'enter':
Index: patches/patch-khal_ui_widgets_py
===================================================================
RCS file: patches/patch-khal_ui_widgets_py
diff -N patches/patch-khal_ui_widgets_py
--- patches/patch-khal_ui_widgets_py 21 May 2025 12:12:32 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,69 +0,0 @@
-From 768003148015376f1715a2d4cc0b3d6d800876c4 Mon Sep 17 00:00:00 2001
-From: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
-Date: Thu, 11 Jan 2024 16:28:28 +0100
-Subject: [PATCH] Update deprecated syntax
-
-Index: khal/ui/widgets.py
---- khal/ui/widgets.py.orig
-+++ khal/ui/widgets.py
-@@ -255,7 +255,7 @@ class ChoiceList(urwid.WidgetWrap):
-
- pile = NPile(buttons, outermost=True)
- num = [num for num, elem in enumerate(parent.choices) if elem == parent.active][0]
-- pile.set_focus(num)
-+ pile.focus_position = num
- fill = urwid.Filler(pile)
- urwid.WidgetWrap.__init__(self, urwid.AttrMap(fill, 'popupbg'))
-
-@@ -284,14 +284,14 @@ class NextMixin(SupportsNext):
- def _select_first_selectable(self):
- """select our first selectable item (recursivly if that item SupportsNext)"""
- i = self._first_selectable()
-- self.set_focus(i)
-+ self.focus_position = i
- if isinstance(self.contents[i][0], SupportsNext):
- self.contents[i][0]._select_first_selectable()
-
- def _select_last_selectable(self):
- """select our last selectable item (recursivly if that item SupportsNext)"""
- i = self._last_selectable()
-- self.set_focus(i)
-+ self.focus_position = i
- if isinstance(self._contents[i][0], SupportsNext):
- self.contents[i][0]._select_last_selectable()
-
-@@ -318,7 +318,7 @@ class NextMixin(SupportsNext):
- else:
- for i in range(self.focus_position + 1, len(self._contents)):
- if self._contents[i][0].selectable():
-- self.set_focus(i)
-+ self.focus_position = i
- if isinstance(self._contents[i][0], SupportsNext):
- self._contents[i][0]._select_first_selectable()
- break
-@@ -330,7 +330,7 @@ class NextMixin(SupportsNext):
- else:
- for i in range(self.focus_position - 1, 0 - 1, -1):
- if self._contents[i][0].selectable():
-- self.set_focus(i)
-+ self.focus_position = i
- if isinstance(self._contents[i][0], SupportsNext):
- self._contents[i][0]._select_last_selectable()
- break
-@@ -352,14 +352,14 @@ class NListBox(SupportsNext, urwid.ListBox):
- def _select_first_selectable(self):
- """select our first selectable item (recursivly if that item SupportsNext)"""
- i = self._first_selectable()
-- self.set_focus(i)
-+ self.focus_position = i
- if isinstance(self.body[i], SupportsNext):
- self.body[i]._select_first_selectable()
-
- def _select_last_selectable(self):
- """select our last selectable item (recursivly if that item SupportsNext)"""
- i = self._last_selectable()
-- self.set_focus(i)
-+ self.focus_position = i
- if isinstance(self.body[i], SupportsNext):
- self.body[i]._select_last_selectable()
-
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/productivity/khal/pkg/PLIST,v
diff -u -p -r1.10 PLIST
--- pkg/PLIST 23 Oct 2025 13:20:09 -0000 1.10
+++ pkg/PLIST 11 Feb 2026 21:16:17 -0000
@@ -7,8 +7,9 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/WHEEL
lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/entry_points.txt
lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/licenses/
-lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/licenses/AUTHORS.txt
-lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/licenses/COPYING
+lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/licenses/doc/
+lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/licenses/doc/source/
+lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/licenses/doc/source/license.rst
lib/python${MODPY_VERSION}/site-packages/khal-${MODPY_DISTV}.dist-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/khal/__init__.py
lib/python${MODPY_VERSION}/site-packages/khal/__main__.py
@@ -17,10 +18,14 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}__main__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}_compat.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}_compat.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}calendar_display.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}calendar_display.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}cli.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}cli.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}cli_utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}cli_utils.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}configwizard.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}configwizard.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}controllers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
@@ -33,14 +38,18 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}icalendar.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}parse_datetime.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}parse_datetime.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}plugins.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}plugins.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}terminal.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}terminal.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}utils.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/${MODPY_PYCACHE}version.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/khal/_compat.py
lib/python${MODPY_VERSION}/site-packages/khal/calendar_display.py
lib/python${MODPY_VERSION}/site-packages/khal/cli.py
+lib/python${MODPY_VERSION}/site-packages/khal/cli_utils.py
lib/python${MODPY_VERSION}/site-packages/khal/configwizard.py
lib/python${MODPY_VERSION}/site-packages/khal/controllers.py
lib/python${MODPY_VERSION}/site-packages/khal/custom_types.py
@@ -59,14 +68,18 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/${MODPY_PYCACHE}exceptions.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/${MODPY_PYCACHE}khalendar.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/${MODPY_PYCACHE}khalendar.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/khal/khalendar/${MODPY_PYCACHE}typing.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
+lib/python${MODPY_VERSION}/site-packages/khal/khalendar/${MODPY_PYCACHE}typing.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/${MODPY_PYCACHE}vdir.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION}
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/${MODPY_PYCACHE}vdir.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/backend.py
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/event.py
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/exceptions.py
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/khalendar.py
+lib/python${MODPY_VERSION}/site-packages/khal/khalendar/typing.py
lib/python${MODPY_VERSION}/site-packages/khal/khalendar/vdir.py
lib/python${MODPY_VERSION}/site-packages/khal/parse_datetime.py
+lib/python${MODPY_VERSION}/site-packages/khal/plugins.py
lib/python${MODPY_VERSION}/site-packages/khal/settings/
lib/python${MODPY_VERSION}/site-packages/khal/settings/__init__.py
lib/python${MODPY_VERSION}/site-packages/khal/settings/${MODPY_PYCACHE}/
No comments:
Post a Comment