kdiagram5
Path: arch/maintained/kdiagram5
Build failure during the 2026-07-07 “build all packages for x86_64” private-repo release pass (see
repo_release_logs/maintained_kdiagram5.log).Not the usual dependency-ordering issue – a real CMake compatibility problem:
Compatibility with CMake < 3.5 has been removed from CMake.The current CMake toolchain in the chroot enforces a minimumcmake_minimum_requiredpolicy version that this package’sCMakeLists.txtdoesn’t meet.-- Configuring incomplete, errors occurred!Not fixed as part of this pass. Would need either a patch adding
-DCMAKE_POLICY_VERSION_MINIMUM=3.5(CMake’s own suggested workaround) to the PKGBUILD’sbuild(), or an upstream/patch fix toCMakeLists.txt’scmake_minimum_required.2026-07-something (pre-this-session, per a stray
PKGBUILD~backup in the package dir): the-DCMAKE_POLICY_VERSION_MINIMUM=3.5workaround above was applied (pkgrel1 -> 2), clearing that original CMake-policy error.2026-07-31: still failed, but with a different, real error this time –
CMake Error at /usr/share/ECM/modules/ECMGeneratePriFile.cmake:146 (message): Required variable PROJECT_VERSION_STRING or PROJECT_VERSION not set ... Missing call of ecm_setup_version() or project(VERSION)?, from bothsrc/KChart/CMakeLists.txt:359andsrc/KGantt/CMakeLists.txtcallingecm_generate_pri_file(). Root cause: the top-levelCMakeLists.txthas always called plainproject( kdiagram )with noVERSIONand never callsecm_setup_version()either, soPROJECT_VERSIONwas simply never set – this project predates the currentextra-cmake-modules’ stricter requirement here.- Fix: new patch
kdiagram-2.8.0-ecm-project-version.patch(applied viaprepare(), following [[feedback_patch_files_not_inline]]’s convention of putting the rationale in the patch file’s ownDescription:header, not a PKGBUILD comment) changesproject( kdiagram )->project(kdiagram VERSION 2.8.0). CMake propagatesPROJECT_VERSIONdown throughadd_subdirectory()automatically, and neitherKChartnorKGantt’s ownCMakeLists.txtcallsproject()again to shadow it, so this one top-level line fixes both affected subdirectories.pkgrel2 -> 3 (packaging/patch-only, no new upstream release – 2.8.0 is still current). - Built and published cleanly on x86_64 (
kdiagram5-2.8.0-3).
- Fix: new patch
2026-07-31, same day: the patch file above got deleted by
repo_build.sh’s post-build cleanup (it was untracked, seeTOOLING_NOTES.md’s updated entry on this) and had to be recreated from this session’s own context – recreated content hashed to the exact same58e5ef79...sha256sum already in the PKGBUILD, so it’s confirmed byte-identical, no PKGBUILD/.SRCINFOchanges needed. Rebuilt (stillkdiagram5-2.8.0-3, unchanged) and republished to confirm. Full content below so it can be recreated verbatim (sha256sum58e5ef79f0432bc469ae88eaeb3b3aba616ae52749bde4ed35b607aef14bf91e) if it vanishes again:Description: give the top-level project() call an explicit VERSION Modern extra-cmake-modules' ECMGeneratePriFile.cmake requires PROJECT_VERSION (or PROJECT_VERSION_STRING) to be set before ecm_generate_pri_file() is called -- both src/KChart/CMakeLists.txt and src/KGantt/CMakeLists.txt call it, and fail configure with "Required variable PROJECT_VERSION_STRING or PROJECT_VERSION not set" otherwise. This project never calls ecm_setup_version() and its own `project( kdiagram )` never passed a VERSION, so PROJECT_VERSION was never set at all -- give it one explicitly, matching pkgver. CMake propagates PROJECT_VERSION down into subdirectories via add_subdirectory(), and neither KChart's nor KGantt's own CMakeLists.txt calls project() again, so a single top-level fix covers both. See memory/kdiagram5.md in the aurupdater project for the full investigation. --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 2.8.12) -project( kdiagram ) +project(kdiagram VERSION 2.8.0) set(KF5_MIN_VERSION "5.60.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)