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).