akonadi-notes
- Path: arch/maintained/akonadi-notes (Qt6/KF6 variant,
depends=(kmime
qt6-base ...)). Separate from akonadi-notes5 (Qt5/KF5, depends=
(kmime5)) – see that package’s own memory note; the two are
independent codebases-in-one-tarball-family with independent
PKGBUILDs, fixing one never touches the other.
- 2026-07-16: build failure fixed and published,
pkgrel 2 -> 3.
Confirmed the real cause (superseding the “needs someone to check”
below): kmime (this project resolves it from official extra,
currently 1:6.28.0-1) had several breaking API changes land that
this pinned 24.08.3 source never adapted to:
subject()/from()/date()/contentType() etc. used to take a
plain bool “create if missing” parameter; as of KMime “\since
26.04” they take a KMime::CreatePolicy enum (KMime::Create /
KMime::DontCreate) instead – a bool no longer implicitly
converts.
Content::decodedText()’s trim parameter became a
KMime::Content::DecodedTextTrimOption enum (NoTrim /
TrimNewlines / TrimSpaces) instead of bool.
Content::decodedContent() was renamed to decodedBody() (KMime
“\since 25.12 (previously decodedContent())”).
appendHeader()/appendContent() now take std::unique_ptr<...>
&& instead of a raw pointer.
- Why there’s no simple “bump pkgver” fix: checked
download.kde.org/stable/release-service/ across every version from
24.08.3 (already pinned) through the current latest 26.04.3 –
akonadi-notes was never released again after 24.08.3. Its KDE
Invent project (pim/akonadi-notes) is archived (read-only, no
longer maintained); even master’s last commits (through Nov 2024,
before archival) only fixed the fromUnicodeString(text, ENCODING)
two-arg overload removal, never the CreatePolicy/unique_ptr/
decodedContent() changes above (those apparently landed in KMime
after akonadi-notes was already abandoned). So this project is now
effectively the only maintainer of a working akonadi-notes build
against current KMime.
- Fix: new patch
akonadi-notes-24.08.3-kmime-26.04-api.patch (applied
via a new prepare()), porting src/noteutils.cpp’s ~12 affected
call sites to the current KMime API (mechanical: X(true) ->
X(KMime::Create), X(false) -> X(KMime::DontCreate),
decodedText(true) -> decodedText(KMime::Content::TrimSpaces),
decodedContent() -> decodedBody(), wrap raw pointers passed to
appendHeader/appendContent in std::unique_ptr<...>(...)).
Included the fromUnicodeString two-arg removal too (same fix
master already had, just reapplied against the 24.08.3 tarball
rather than switching to an unreleased git snapshot – keeps pkgver
meaning “the last real upstream release”, not some arbitrary
post-archival commit).
Packaging-only + local source patch, no real new upstream version
available, so bumped pkgrel 2 -> 3 per memory/PKGREL_VS_PKGVER.md
(plain integer bump is correct here – this is maintained/, not
adapted/, and there’s no separate upstream release to later revert
to; this project is the ongoing source of truth for this patch
now).
- Test-built clean with
extra-x86_64-build (0 real compile errors –
one error:-prefixed line in the log is just Doxygen’s own
self-correcting GENERATE_QHP/TAGFILES warning, not a build
failure; akonadi-notes and akonadi-notes-debug produced), then
built+signed+published to the private repo (x86_64).