Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kpkpass for openSUSE:Factory checked in at 2026-04-17 21:48:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kpkpass (Old) and /work/SRC/openSUSE:Factory/.kpkpass.new.11940 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kpkpass" Fri Apr 17 21:48:12 2026 rev:92 rq:1347498 version:26.04.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kpkpass/kpkpass.changes 2026-03-07 20:04:16.401834009 +0100 +++ /work/SRC/openSUSE:Factory/.kpkpass.new.11940/kpkpass.changes 2026-04-17 21:49:27.277514562 +0200 @@ -1,0 +2,29 @@ +Sat Apr 11 16:14:21 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 26.04.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/gear/26.04.0/ +- No code change since 26.03.90 + +------------------------------------------------------------------- +Mon Mar 30 12:10:40 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 26.03.90 + * New feature release +- No code change since 26.03.80 + +------------------------------------------------------------------- +Sat Mar 14 09:09:48 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 26.03.80 + * New feature release +- Changes since 25.12.3: + * convert to qdoc + * gersemi fixes + * cmake_minimum_required: drop outdated FATAL_ERROR. + * Add -Wshadow for clang-based builds + * Add default ClangBuildAnalyzer.ini (testing compile time) + * Add missing USE_UNITY_CMAKE_SUPPORT variable for building as unity from cmakepreset + +------------------------------------------------------------------- Old: ---- kpkpass-25.12.3.tar.xz kpkpass-25.12.3.tar.xz.sig New: ---- kpkpass-26.04.0.tar.xz kpkpass-26.04.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kpkpass.spec ++++++ --- /var/tmp/diff_new_pack.pXmHIe/_old 2026-04-17 21:49:27.877539291 +0200 +++ /var/tmp/diff_new_pack.pXmHIe/_new 2026-04-17 21:49:27.881539456 +0200 @@ -1,7 +1,7 @@ # # spec file for package kpkpass # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %bcond_without released Name: kpkpass -Version: 25.12.3 +Version: 26.04.0 Release: 0 Summary: Library to parse Passbook files License: LGPL-2.1-or-later @@ -31,14 +31,12 @@ Source1: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig Source2: applications.keyring %endif -BuildRequires: doxygen BuildRequires: kf6-extra-cmake-modules BuildRequires: shared-mime-info BuildRequires: cmake(KF6Archive) >= %{kf6_version} BuildRequires: cmake(Qt6Gui) >= %{qt6_version} BuildRequires: cmake(Qt6Qml) >= %{qt6_version} BuildRequires: cmake(Qt6Test) >= %{qt6_version} -BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version} %description kpkpass is a library to read and parse Apple Passbook files, such as the ones @@ -76,7 +74,7 @@ %autosetup -p1 %build -%cmake_kf6 -DBUILD_QCH:BOOL=TRUE +%cmake_kf6 %kf6_build @@ -104,7 +102,6 @@ %{_kf6_libdir}/libKPim6PkPass.so.* %files devel -%doc %{_kf6_qchdir}/KPim6PkPass.* %{_includedir}/KPim6/KPkPass/ %{_kf6_cmakedir}/KPim6PkPass/ %{_kf6_libdir}/libKPim6PkPass.so ++++++ kpkpass-25.12.3.tar.xz -> kpkpass-26.04.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/.codespellrc.license new/kpkpass-26.04.0/.codespellrc.license --- old/kpkpass-25.12.3/.codespellrc.license 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/.codespellrc.license 2026-03-28 13:11:58.000000000 +0100 @@ -1,2 +1,2 @@ -# SPDX-FileCopyrightText: 2022-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2022-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: CC0-1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/.gersemirc new/kpkpass-26.04.0/.gersemirc --- old/kpkpass-25.12.3/.gersemirc 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/.gersemirc 2026-03-28 13:11:58.000000000 +0100 @@ -1,3 +1,4 @@ indent: 4 line_length: 120 list_expansion: favour-expansion +warn_about_unknown_commands: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/.gitignore new/kpkpass-26.04.0/.gitignore --- old/kpkpass-25.12.3/.gitignore 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/.gitignore 2026-03-28 13:11:58.000000000 +0100 @@ -31,3 +31,4 @@ /.vscode/ .qtcreator/ .qmlls.ini +.sentry-native/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/.gitlab-ci.yml new/kpkpass-26.04.0/.gitlab-ci.yml --- old/kpkpass-25.12.3/.gitlab-ci.yml 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/.gitlab-ci.yml 2026-03-28 13:11:58.000000000 +0100 @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2020-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2020-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: CC0-1.0 include: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/.kde-ci.yml new/kpkpass-26.04.0/.kde-ci.yml --- old/kpkpass-25.12.3/.kde-ci.yml 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/.kde-ci.yml 2026-03-28 13:11:58.000000000 +0100 @@ -9,3 +9,4 @@ Options: require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows'] + enable-lsan: True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/.pre-commit-config.yaml new/kpkpass-26.04.0/.pre-commit-config.yaml --- old/kpkpass-25.12.3/.pre-commit-config.yaml 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/.pre-commit-config.yaml 2026-03-28 13:11:58.000000000 +0100 @@ -6,7 +6,7 @@ exclude: (^po/|.desktop|Messages.sh) repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer @@ -22,7 +22,7 @@ - id: check-executables-have-shebangs - id: check-toml - repo: https://github.com/pre-commit/mirrors-clang-format - rev: v20.1.4 + rev: v21.1.8 hooks: - id: clang-format # force using this project's configuration rather @@ -30,7 +30,7 @@ args: ["--style=file:.clang-format-pre-commit"] - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: v0.11.9 + rev: v0.15.0 hooks: # Run the linter. - id: ruff @@ -42,16 +42,15 @@ - id: codespell exclude: (textemoticons/core/data/emoji.json|textgrammarcheck/grammalecte/autotests/data/result1.json|texttranslator/translator/plugins/bergamot/autotests/data/modellanguages/models.json|textgrammarcheck/languagetool/autotests/data/test2.json|textautocorrection/core/autotests/data/custom-fr-ref.xml|textgrammarcheck/common/autotests/grammarresultutiltest.cpp|textautocorrection/core/autotests/data/custom-fr.xml) - repo: https://github.com/BlankSpruce/gersemi - rev: 0.19.3 + rev: 0.25.4 hooks: - id: gersemi - args: ["--no-warn-about-unknown-commands"] - repo: https://github.com/DavidAnson/markdownlint-cli2 - rev: v0.18.1 + rev: v0.20.0 hooks: - id: markdownlint-cli2 files: \.(md|mdown|markdown)$ - repo: https://github.com/scop/pre-commit-shfmt - rev: v3.11.0-1 + rev: v3.12.0-2 hooks: - id: shfmt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/CMakeLists.txt new/kpkpass-26.04.0/CMakeLists.txt --- old/kpkpass-25.12.3/CMakeLists.txt 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/CMakeLists.txt 2026-03-28 13:11:58.000000000 +0100 @@ -1,16 +1,15 @@ # SPDX-FileCopyrightText: 2017-2020 Volker Krause <[email protected]> -# SPDX-FileCopyrightText: 2018-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2018-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: BSD-3-Clause -cmake_minimum_required(VERSION 3.16 FATAL_ERROR) -set(PIM_VERSION "6.6.3") +cmake_minimum_required(VERSION 3.27) +set(PIM_VERSION "6.7.0") project(KPkPass VERSION ${PIM_VERSION}) set(KF_MIN_VERSION "6.13.0") -set(QT_REQUIRED_VERSION "6.8.0") +set(QT_REQUIRED_VERSION "6.9.0") find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) -set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_SCAN_FOR_MODULES OFF) include(KDECompilerSettings NO_POLICY_SCOPE) @@ -22,6 +21,7 @@ include(ECMFeatureSummary) include(ECMSetupVersion) include(ECMQmlModule) +include(ECMGenerateQDoc) file( GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp @@ -29,20 +29,57 @@ autotests/*.cpp autotests/*.h ) -set(PRE_COMMIT_INSTALLED FALSE) -if(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) - if(EXISTS "${PROJECT_SOURCE_DIR}/.git/hooks/pre-commit") - file(READ "${PROJECT_SOURCE_DIR}/.git/hooks/pre-commit" FILE_CONTENTS) - string(FIND "${FILE_CONTENTS}" "File generated by pre-commit" INDEX) - if(${INDEX} GREATER_EQUAL 0) - set(PRE_COMMIT_INSTALLED TRUE) +if(EXISTS "${PROJECT_SOURCE_DIR}/.git/") + set(GIT_SOURCE_TARBALL TRUE) +endif() + +if(GIT_SOURCE_TARBALL) + set(PRE_COMMIT_INSTALLED FALSE) + if(${CMAKE_SOURCE_DIR} STREQUAL ${PROJECT_SOURCE_DIR}) + if(EXISTS "${PROJECT_SOURCE_DIR}/.git/hooks/pre-commit") + file(READ "${PROJECT_SOURCE_DIR}/.git/hooks/pre-commit" FILE_CONTENTS) + string( + FIND "${FILE_CONTENTS}" + "File generated by pre-commit" + INDEX + ) + if(${INDEX} GREATER_EQUAL 0) + set(PRE_COMMIT_INSTALLED TRUE) + endif() + endif() + endif() + if(NOT ${PRE_COMMIT_INSTALLED}) + find_program(PRE_COMMIT_EXECUTABLE pre-commit) + if(PRE_COMMIT_EXECUTABLE) + message( + STATUS + "This module has pre-commit support. pre-commit binary was found. Installing pre-commit hook" + ) + execute_process( + COMMAND + "${PRE_COMMIT_EXECUTABLE}" install -f + ERROR_QUIET + RESULT_VARIABLE _precommitresult + WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" + ) + if(_precommitresult EQUAL 0) + message(STATUS "Pre-commit installed.") + else() + message( + WARNING + "Error during installing pre-commit hook: ${PRE_COMMIT_EXECUTABLE} project source dir ${PROJECT_SOURCE_DIR}" + ) + include(KDEGitCommitHooks) + include(KDEClangFormat) + kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) + endif() + else() + message(WARNING "This module has pre-commit support. pre-commit binary was not found.") + include(KDEGitCommitHooks) + include(KDEClangFormat) + kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) endif() endif() -endif() -if(NOT ${PRE_COMMIT_INSTALLED}) - include(KDEGitCommitHooks) - include(KDEClangFormat) - kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) endif() include(KDECMakeSettings) include(ECMGenerateExportHeader) @@ -57,39 +94,34 @@ ) ecm_check_outbound_license(LICENSES GPL-2.0-only FILES ${ALL_SOURCE_FILES}) -include(ECMAddQch) - -option( - BUILD_QCH - "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" - OFF -) -add_feature_info( - QCH - ${BUILD_QCH} - "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" -) - ecm_setup_version(PROJECT VARIABLE_PREFIX KPKPASS VERSION_HEADER src/kpkpass_version.h PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6PkPassConfigVersion.cmake" SOVERSION 6 ) -find_package(Qt6 ${QT_REQUIRED_VERSION} REQUIRED COMPONENTS Gui Qml) +find_package( + Qt6 + ${QT_REQUIRED_VERSION} + REQUIRED + COMPONENTS + Gui + Qml +) find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Archive) if(NOT ANDROID) find_package(SharedMimeInfo 1.8 REQUIRED) endif() add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) -ecm_set_disabled_deprecation_versions(QT 6.10.0 KF 6.20.0) +if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + # Not setting for GNU due to too many warnings related to private members of base classes or around lambdas + # see e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56556 or https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79328 + string(APPEND CMAKE_CXX_FLAGS " -Wshadow") +endif() +ecm_set_disabled_deprecation_versions(QT 6.11.0 KF 6.23.0) -option( - USE_UNITY_CMAKE_SUPPORT - "Use UNITY cmake support (speedup compile time)" - OFF -) +option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) if(USE_UNITY_CMAKE_SUPPORT) @@ -101,23 +133,14 @@ add_subdirectory(autotests) endif() -if(DEFINED kde_configure_git_pre_commit_hook) - kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) +if(GIT_SOURCE_TARBALL) + if(DEFINED kde_configure_git_pre_commit_hook) + kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) + endif() endif() ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6PkPass") -if(BUILD_QCH) - ecm_install_qch_export( - TARGETS KPim6PkPass_QCH - FILE KPim6PkPassQchTargets.cmake - DESTINATION "${CMAKECONFIG_INSTALL_DIR}" - COMPONENT Devel - ) - set(PACKAGE_INCLUDE_QCHTARGETS - "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6PkPassQchTargets.cmake\")" - ) -endif() configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KPimPkPassConfig.cmake.in" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/CMakePresets.json new/kpkpass-26.04.0/CMakePresets.json --- old/kpkpass-25.12.3/CMakePresets.json 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/CMakePresets.json 2026-03-28 13:11:58.000000000 +0100 @@ -1,5 +1,6 @@ { - "version": 3, + "$schema": "https://cmake.org/cmake/help/latest/_downloads/3e2d73bff478d88a7de0de736ba5e361/schema.json", + "version": 8, "configurePresets": [ { "name": "base", @@ -7,21 +8,26 @@ "generator": "Ninja", "binaryDir": "${sourceDir}/build-${presetName}", "installDir": "$env{KF6}", - "hidden": true, + "hidden": true + }, + { + "name": "generate-doc", + "displayName": "Build as debug + using mold linker + generate doc", "cacheVariables": { - "BUILD_QCH": "ON" - } + "DOC_DESTDIR": "$env{GENERATE_DOCDIR}" + }, + "inherits": [ + "dev-mold" + ] }, { "name": "dev-mold", "displayName": "Build as debug + using mold linker", "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold" }, "inherits": [ - "base" + "dev" ] }, { @@ -49,27 +55,22 @@ { "name": "dev-clang", "displayName": "dev-clang", - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug", - "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" - }, "environment": { "CXX": "clang++", "CCACHE_DISABLE": "ON" }, "inherits": [ - "base" + "dev" ] }, { "name": "unity", "displayName": "Build with CMake unity support.", "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug", "USE_UNITY_CMAKE_SUPPORT": "ON" }, "inherits": [ - "base" + "dev" ] }, { @@ -123,8 +124,6 @@ "name": "ftime-trace", "displayName": "ftime-trace", "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug", - "USE_DEVELOPER_MODE": "ON", "CMAKE_C_FLAGS_INIT": "-ftime-trace", "CMAKE_CXX_FLAGS_INIT": "-ftime-trace" }, @@ -134,12 +133,20 @@ "CCACHE_DISABLE": "ON" }, "inherits": [ - "base" + "dev" ] } ], "buildPresets": [ { + "name": "generate-doc", + "configurePreset": "generate-doc", + "targets": [ + "prepare_docs", + "generate_docs" + ] + }, + { "name": "dev", "configurePreset": "dev" }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/CMakePresets.json.license new/kpkpass-26.04.0/CMakePresets.json.license --- old/kpkpass-25.12.3/CMakePresets.json.license 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/CMakePresets.json.license 2026-03-28 13:11:58.000000000 +0100 @@ -1,2 +1,2 @@ -# SPDX-FileCopyrightText: 2021-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2021-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: BSD-3-Clause diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/ClangBuildAnalyzer.ini new/kpkpass-26.04.0/ClangBuildAnalyzer.ini --- old/kpkpass-25.12.3/ClangBuildAnalyzer.ini 1970-01-01 01:00:00.000000000 +0100 +++ new/kpkpass-26.04.0/ClangBuildAnalyzer.ini 2026-03-28 13:11:58.000000000 +0100 @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: 2025-2026 Laurent Montel <[email protected]> +# SPDX-License-Identifier: CC0-1.0 +# ClangBuildAnalyzer reads ClangBuildAnalyzer.ini file from the working directory +# when invoked, and various aspects of reporting can be configured this way. + +# How many of most expensive things are reported? +[counts] + +# files that took most time to parse +fileParse = 20 +# files that took most time to generate code for +fileCodegen = 20 +# functions that took most time to generate code for +function = 50 +# header files that were most expensive to include +header = 10 +# for each expensive header, this many include paths to it are shown +headerChain = 10 +# templates that took longest to instantiate +template = 30 + + +# Minimum times (in ms) for things to be recorded into trace +[minTimes] + +# parse/codegen for a file +file = 10 + + +[misc] + +# Maximum length of symbol names printed; longer names will get truncated +maxNameLength = 100 + +# Only print "root" headers in expensive header report, i.e. +# only headers that are directly included by at least one source file +onlyRootHeaders = true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/KPimPkPassConfig.cmake.in new/kpkpass-26.04.0/KPimPkPassConfig.cmake.in --- old/kpkpass-25.12.3/KPimPkPassConfig.cmake.in 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/KPimPkPassConfig.cmake.in 2026-03-28 13:11:58.000000000 +0100 @@ -1,14 +1,24 @@ # SPDX-FileCopyrightText: 2018 Volker Krause <[email protected]> # SPDX-FileCopyrightText: 2018 Jonathan Riddell <[email protected]> -# SPDX-FileCopyrightText: 2019-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2019-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: BSD-3-Clause @PACKAGE_INIT@ include(CMakeFindDependencyMacro) -find_package(Qt6 "@QT_REQUIRED_VERSION@" NO_MODULE REQUIRED COMPONENTS Core Gui) -find_dependency(KF6Archive "@KF_MIN_VERSION@") +find_package( + Qt6 + "@QT_REQUIRED_VERSION@" + NO_MODULE + REQUIRED + COMPONENTS + Core + Gui +) +find_dependency( + KF6Archive + "@KF_MIN_VERSION@" +) include("${CMAKE_CURRENT_LIST_DIR}/KPim6PkPassTargets.cmake") -@PACKAGE_INCLUDE_QCHTARGETS@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/README-qdoc.md new/kpkpass-26.04.0/README-qdoc.md --- old/kpkpass-25.12.3/README-qdoc.md 1970-01-01 01:00:00.000000000 +0100 +++ new/kpkpass-26.04.0/README-qdoc.md 2026-03-28 13:11:58.000000000 +0100 @@ -0,0 +1,40 @@ +# Generate doc + +## Dependencies + +We need to clone kde-qdoc-common + +```bash +cd <kde path> +git clone https://invent.kde.org/sdk/kde-qdoc-common +``` + +## Environment variables + +set in `.bashrc` + +```bash +export KDE_DOCS=<kde path>/kde-qdoc-common +``` + +We need to define where we generate doc: + +```bash +export GENERATE_DOCDIR=<kde path>/generate-docs +``` + +## CMakePreset.json + +For generating doc we have a target in CMakePreset.json + +```bash +cmake --preset generate-doc + +cmake --build --preset generate-doc +``` + +we can show result in `$GENERATE_DOCDIR/` + +## Porting info + +[Streamlined Application Development Experience #10](https://invent.kde.org/teams/goals/streamlined-application-development-experience/-/issues/10) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/README-qdoc.md.license new/kpkpass-26.04.0/README-qdoc.md.license --- old/kpkpass-25.12.3/README-qdoc.md.license 1970-01-01 01:00:00.000000000 +0100 +++ new/kpkpass-26.04.0/README-qdoc.md.license 2026-03-28 13:11:58.000000000 +0100 @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2023-2026 Laurent Montel <[email protected]> +SPDX-License-Identifier: BSD-3-Clause diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/REUSE.toml new/kpkpass-26.04.0/REUSE.toml --- old/kpkpass-25.12.3/REUSE.toml 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/REUSE.toml 2026-03-28 13:11:58.000000000 +0100 @@ -4,7 +4,7 @@ SPDX-PackageDownloadLocation = "https://invent.kde.org/pim/kpkpass" [[annotations]] -path = [".gersemirc"] +path = [".gersemirc", "src/kpkpass-index.qdoc", "src/kpkpass.qdoc", "src/kpkpass.qdocconf"] precedence = "aggregate" SPDX-FileCopyrightText = "none" SPDX-License-Identifier = "CC0-1.0" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/autotests/CMakeLists.txt new/kpkpass-26.04.0/autotests/CMakeLists.txt --- old/kpkpass-25.12.3/autotests/CMakeLists.txt 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/autotests/CMakeLists.txt 2026-03-28 13:11:58.000000000 +0100 @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2018-2021 Volker Krause <[email protected]> -# SPDX-FileCopyrightText: 2021-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2021-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: BSD-3-Clause find_package(Qt6Test ${QT_REQUIRED_VERSION} CONFIG REQUIRED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/readme-build-ftime.txt new/kpkpass-26.04.0/readme-build-ftime.txt --- old/kpkpass-25.12.3/readme-build-ftime.txt 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/readme-build-ftime.txt 2026-03-28 13:11:58.000000000 +0100 @@ -12,7 +12,7 @@ ## Command line -cmake -preset ftime-trace +cmake --preset ftime-trace ClangBuildAnalyzer --start $PWD/build-ftime-trace cmake --build --preset ftime-trace diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/sanitizers.supp new/kpkpass-26.04.0/sanitizers.supp --- old/kpkpass-25.12.3/sanitizers.supp 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/sanitizers.supp 2026-03-28 13:11:58.000000000 +0100 @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2021-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2021-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: CC0-1.0 # Suppression file for ASAN/LSAN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/CMakeLists.txt new/kpkpass-26.04.0/src/CMakeLists.txt --- old/kpkpass-25.12.3/src/CMakeLists.txt 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/CMakeLists.txt 2026-03-28 13:11:58.000000000 +0100 @@ -1,5 +1,5 @@ # SPDX-FileCopyrightText: 2018 Volker Krause <[email protected]> -# SPDX-FileCopyrightText: 2019-2025 Laurent Montel <[email protected]> +# SPDX-FileCopyrightText: 2019-2026 Laurent Montel <[email protected]> # SPDX-License-Identifier: BSD-3-Clause set(KDE_INSTALL_INCLUDEDIR_PIM ${KDE_INSTALL_INCLUDEDIR}/KPim6) @@ -42,18 +42,23 @@ set_target_properties( KPim6PkPass PROPERTIES - VERSION ${KPKPASS_VERSION} - SOVERSION ${KPKPASS_SOVERSION} - EXPORT_NAME PkPass -) -target_include_directories( - KPim6PkPass - INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_PIM}>" + VERSION + ${KPKPASS_VERSION} + SOVERSION + ${KPKPASS_SOVERSION} + EXPORT_NAME + PkPass ) +target_include_directories(KPim6PkPass INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_PIM}>") target_link_libraries(KPim6PkPass PUBLIC Qt::Gui PRIVATE KF6::Archive) if(COMPILE_WITH_UNITY_CMAKE_SUPPORT) - set_target_properties(KPim6PkPass PROPERTIES UNITY_BUILD ON) + set_target_properties( + KPim6PkPass + PROPERTIES + UNITY_BUILD + ON + ) endif() ecm_generate_headers(KPkPass_HEADERS @@ -67,11 +72,7 @@ REQUIRED_HEADERS KPkPass_HEADERS ) -install( - TARGETS KPim6PkPass - EXPORT KPim6PkPassTargets - ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} -) +install(TARGETS KPim6PkPass EXPORT KPim6PkPassTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install( FILES ${KPkPass_HEADERS} @@ -81,47 +82,17 @@ ) if(NOT ANDROID) - if (SharedMimeInfo_VERSION_STRING VERSION_LESS 2.2) - install( - FILES application-vnd-apple-pkpass.xml - DESTINATION ${KDE_INSTALL_MIMEDIR} - ) + if(SharedMimeInfo_VERSION_STRING VERSION_LESS 2.2) + install(FILES application-vnd-apple-pkpass.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) endif() - if (SharedMimeInfo_VERSION_STRING VERSION_LESS 2.5) - install( - FILES application-vnd-apple-pkpasses.xml - DESTINATION ${KDE_INSTALL_MIMEDIR} - ) + if(SharedMimeInfo_VERSION_STRING VERSION_LESS 2.5) + install(FILES application-vnd-apple-pkpasses.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) endif() endif() -if(BUILD_QCH) - ecm_add_qch( - KPim6PkPass_QCH - NAME KPim6PkPass - BASE_NAME KPim6PkPass - VERSION ${PIM_VERSION} - ORG_DOMAIN org.kde - SOURCES # using only public headers, to cover only public API - ${KPkPass_HEADERS} - MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" - #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics" - LINK_QCHS - Qt6Core_QCH - Qt6Gui_QCH - Qt6Widgets_QCH - INCLUDE_DIRS - ${CMAKE_CURRENT_BINARY_DIR} - BLANK_MACROS - KPKPASS_EXPORT - TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} - QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} - COMPONENT Devel - ) -endif() - ecm_qt_install_logging_categories(EXPORT KPKPASS FILE org_kde_kpkpass.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) add_subdirectory(quick) +ecm_generate_qdoc(KPim6PkPass kpkpass.qdocconf) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/barcode.h new/kpkpass-26.04.0/src/barcode.h --- old/kpkpass-25.12.3/src/barcode.h 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/barcode.h 2026-03-28 13:11:58.000000000 +0100 @@ -20,8 +20,12 @@ class BarcodePrivate; class Pass; -/** A pass barcode element. - * @see https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html +/*! + * \sa https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html + * \class KPkPass::Barcode + * \brief A pass barcode element. + * \inmodule KPkPass + * \inheaderfile KPkPass/Barcode */ class KPKPASS_EXPORT Barcode { @@ -44,13 +48,13 @@ Barcode(); ~Barcode(); - /** A human readable version of the barcode data. */ + /*! A human readable version of the barcode data. */ [[nodiscard]] QString alternativeText() const; - /** The barcode type. */ + /*! The barcode type. */ [[nodiscard]] Format format() const; - /** The message encoded in the barcode. */ + /*! The message encoded in the barcode. */ [[nodiscard]] QString message() const; - /** Encoding used for the message() content. */ + /*! Encoding used for the message() content. */ [[nodiscard]] QString messageEncoding() const; private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/boardingpass.h new/kpkpass-26.04.0/src/boardingpass.h --- old/kpkpass-25.12.3/src/boardingpass.h 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/boardingpass.h 2026-03-28 13:11:58.000000000 +0100 @@ -10,7 +10,12 @@ namespace KPkPass { -/** Boarding pass */ +/*! + * \class KPkPass::BoardingPass + * \brief Boarding pass + * \inmodule KPkPass + * \inheaderfile KPkPass/Boardingpass + */ class KPKPASS_EXPORT BoardingPass : public Pass { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/field.h new/kpkpass-26.04.0/src/field.h --- old/kpkpass-25.12.3/src/field.h 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/field.h 2026-03-28 13:11:58.000000000 +0100 @@ -22,8 +22,12 @@ class FieldPrivate; class FieldTest; -/** Field element in a KPkPass::Pass. - * @see https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/FieldDictionary.html +/*! + * \sa https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/FieldDictionary.html + * \class KPkPass::Field + * \brief Field element in a KPkPass::Pass. + * \inmodule KPkPass + * \inheaderfile KPkPass/Field */ class KPKPASS_EXPORT Field { @@ -43,28 +47,28 @@ ~Field(); Field &operator=(const Field &); - /** Field key, unique in the pass but not meant for display. */ + /*! Field key, unique in the pass but not meant for display. */ [[nodiscard]] QString key() const; - /** Localized label for display describing this field. */ + /*! Localized label for display describing this field. */ [[nodiscard]] QString label() const; - /** Value of this field. + /*! Value of this field. * This can either be a localized string (most common), a date/time value or a number. * Use this for data extraction, prefer valueDisplayString() for displaying data. */ [[nodiscard]] QVariant value() const; - /** Value of this field, as a localized string for display. + /*! Value of this field, as a localized string for display. * Use this rather than value() for display. */ [[nodiscard]] QString valueDisplayString() const; - /** The localized change message for this value. */ + /*! The localized change message for this value. */ [[nodiscard]] QString changeMessage() const; - /** Text alignment. */ + /*! Text alignment. */ [[nodiscard]] Qt::Alignment textAlignment() const; - /** Currency code. */ + /*! Currency code. */ [[nodiscard]] QString currencyCode() const; private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/kpkpass-index.qdoc new/kpkpass-26.04.0/src/kpkpass-index.qdoc --- old/kpkpass-25.12.3/src/kpkpass-index.qdoc 1970-01-01 01:00:00.000000000 +0100 +++ new/kpkpass-26.04.0/src/kpkpass-index.qdoc 2026-03-28 13:11:58.000000000 +0100 @@ -0,0 +1,20 @@ +/*! + \page kpkpass-index.html + \title PkPass + + PkPass file support + + \section1 Using the Module + + \include {module-use.qdocinc} {using the c++ api} + + \section2 Building with CMake + + \include {module-use.qdocinc} {building with cmake} {KPim6} {PkPass} {KPim6::PkPass} + + \section1 API Reference + + \list + \li \l{PkPass C++ Classes} + \endlist +*/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/kpkpass.qdoc new/kpkpass-26.04.0/src/kpkpass.qdoc --- old/kpkpass-25.12.3/src/kpkpass.qdoc 1970-01-01 01:00:00.000000000 +0100 +++ new/kpkpass-26.04.0/src/kpkpass.qdoc 2026-03-28 13:11:58.000000000 +0100 @@ -0,0 +1,9 @@ +/*! + \module KPkPass + \title PkPass C++ Classes + \ingroup modules + \cmakepackage KPim6 + \cmakecomponent PkPass + + \brief PkPass provides PkPass file support. +*/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/kpkpass.qdocconf new/kpkpass-26.04.0/src/kpkpass.qdocconf --- old/kpkpass-25.12.3/src/kpkpass.qdocconf 1970-01-01 01:00:00.000000000 +0100 +++ new/kpkpass-26.04.0/src/kpkpass.qdocconf 2026-03-28 13:11:58.000000000 +0100 @@ -0,0 +1,33 @@ +include($KDE_DOCS/global/qt-module-defaults.qdocconf) + +project = PkPass +description = PkPass provides PkPass file support. + + +documentationinheaders = true + +headerdirs += . +sourcedirs += . + +outputformats = HTML + +depends += \ + qtcore + +navigation.landingpage = "PkPass" + +qhp.projects = kpkpass + +qhp.kpkpass.file = kpkpass.qhp +qhp.kpkpass.namespace = org.kde.kpkpass.$QT_VERSION_TAG +qhp.kpkpass.virtualFolder = kpkpass +qhp.kpkpass.indexTitle = kpkpass +qhp.kpkpass.indexRoot = + +qhp.kpkpass.subprojects = classes +qhp.kpkpass.subprojects.classes.title = C++ Classes +qhp.kpkpass.subprojects.classes.indexTitle = PkPass C++ Classes +qhp.kpkpass.subprojects.classes.selectors = class fake:headerfile +qhp.kpkpass.subprojects.classes.sortPages = true + +tagfile = kpkpass.tags diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/location.h new/kpkpass-26.04.0/src/location.h --- old/kpkpass-25.12.3/src/location.h 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/location.h 2026-03-28 13:11:58.000000000 +0100 @@ -18,8 +18,12 @@ { class LocationPrivate; -/** A pass location element. - * @see https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html +/*! + * \sa https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/LowerLevel.html + * \class KPkPass::Location + * \brief A pass location element. + * \inmodule KPkPass + * \inheaderfile KPkPass/Location */ class KPKPASS_EXPORT Location { @@ -32,13 +36,13 @@ Location(); ~Location(); - /** Altitude in meters, NaN if not set. */ + /*! Altitude in meters, NaN if not set. */ [[nodiscard]] double altitude() const; - /** Latitude in degree. */ + /*! Latitude in degree. */ [[nodiscard]] double latitude() const; - /** Longitude in degree. */ + /*! Longitude in degree. */ [[nodiscard]] double longitude() const; - /** Text to display when location is reached. */ + /*! Text to display when location is reached. */ [[nodiscard]] QString relevantText() const; private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/pass.h new/kpkpass-26.04.0/src/pass.h --- old/kpkpass-25.12.3/src/pass.h 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/pass.h 2026-03-28 13:11:58.000000000 +0100 @@ -27,9 +27,13 @@ class Location; class PassPrivate; -/** Base class for a pkpass file. - * @see https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/PassKit_PG/index.html - * @see https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/TopLevel.html +/*! + * \sa https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/PassKit_PG/index.html + * \sa https://developer.apple.com/library/content/documentation/UserExperience/Reference/PassKit_Bundle/Chapters/TopLevel.html + * \class KPkPass::Pass + * \brief Base class for a pkpass file. + * \inmodule KPkPass + * \inheaderfile KPkPass/Pass */ class KPKPASS_EXPORT Pass : public QObject { @@ -72,7 +76,7 @@ public: ~Pass() override; - /** Type of the pass. */ + /*! Type of the pass. */ enum Type { BoardingPass, Coupon, @@ -94,14 +98,14 @@ [[nodiscard]] bool isVoided() const; // relevance keys - /** Locations associated with this pass. */ + /*! Locations associated with this pass. */ [[nodiscard]] QList<Location> locations() const; - /** Distance in meters to any of the pass locations before this pass becomes relevant. */ + /*! Distance in meters to any of the pass locations before this pass becomes relevant. */ [[nodiscard]] int maximumDistance() const; [[nodiscard]] QDateTime relevantDate() const; // visual appearance keys - /** Returns all barcodes defined in the pass. */ + /*! Returns all barcodes defined in the pass. */ [[nodiscard]] QList<Barcode> barcodes() const; [[nodiscard]] QColor backgroundColor() const; [[nodiscard]] QColor foregroundColor() const; @@ -109,9 +113,9 @@ [[nodiscard]] QColor labelColor() const; [[nodiscard]] QString logoText() const; - /** Returns @c true if an image asset with the given base name exists. - * @param baseName The name of the asset, without the file type and high dpi extensions. - * @since 5.20.41 + /*! Returns true if an image asset with the given base name exists. + * \a baseName The name of the asset, without the file type and high dpi extensions. + * \since 5.20.41 */ bool hasImage(const QString &baseName) const; bool hasIcon() const; @@ -121,29 +125,29 @@ bool hasFooter() const; bool hasThumbnail() const; - /** Returns an image asset of this pass. - * @param baseName The name of the asset, without the file name extension. - * @param devicePixelRatio The device pixel ration, for loading highdpi assets. + /*! Returns an image asset of this pass. + * \a baseName The name of the asset, without the file name extension. + * \a devicePixelRatio The device pixel ration, for loading highdpi assets. */ [[nodiscard]] QImage image(const QString &baseName, unsigned int devicePixelRatio = 1) const; - /** Returns the pass icon. */ + /*! Returns the pass icon. */ Q_INVOKABLE [[nodiscard]] QImage icon(unsigned int devicePixelRatio = 1) const; - /** Returns the pass logo. */ + /*! Returns the pass logo. */ Q_INVOKABLE [[nodiscard]] QImage logo(unsigned int devicePixelRatio = 1) const; - /** Returns the strip image if present. */ + /*! Returns the strip image if present. */ Q_INVOKABLE [[nodiscard]] QImage strip(unsigned int devicePixelRatio = 1) const; - /** Returns the background image if present. */ + /*! Returns the background image if present. */ Q_INVOKABLE [[nodiscard]] QImage background(unsigned int devicePixelRatio = 1) const; - /** Returns the footer image if present. */ + /*! Returns the footer image if present. */ Q_INVOKABLE [[nodiscard]] QImage footer(unsigned int devicePixelRatio = 1) const; - /** Returns the thumbnail image if present. */ + /*! Returns the thumbnail image if present. */ Q_INVOKABLE [[nodiscard]] QImage thumbnail(unsigned int devicePixelRatio = 1) const; // web service keys [[nodiscard]] QString authenticationToken() const; [[nodiscard]] QUrl webServiceUrl() const; - /** Pass update URL. - * @see https://developer.apple.com/library/content/documentation/PassKit/Reference/PassKit_WebService/WebService.html + /*! Pass update URL. + * \sa https://developer.apple.com/library/content/documentation/PassKit/Reference/PassKit_WebService/WebService.html */ [[nodiscard]] QUrl passUpdateUrl() const; @@ -153,25 +157,25 @@ QList<Field> primaryFields() const; QList<Field> secondaryFields() const; - /** Returns the field with key @p key. */ + /*! Returns the field with key \a key. */ Field field(const QString &key) const; - /** Returns all fields found in this pass. */ + /*! Returns all fields found in this pass. */ QList<Field> fields() const; - /** Create a appropriate sub-class based on the pkpass file type. */ + /*! Create a appropriate sub-class based on the pkpass file type. */ static Pass *fromData(const QByteArray &data, QObject *parent = nullptr); - /** Create a appropriate sub-class based on the pkpass file type. */ + /*! Create a appropriate sub-class based on the pkpass file type. */ static Pass *fromFile(const QString &fileName, QObject *parent = nullptr); - /** The raw data of this pass. + /*! The raw data of this pass. * That is the binary representation of the ZIP archive which contains * all the pass data. - * @since 5.20.41 + * \since 5.20.41 */ QByteArray rawData() const; protected: - ///@cond internal + ///\\ond internal friend class Barcode; friend class Field; friend class PassPrivate; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/passes.h new/kpkpass-26.04.0/src/passes.h --- old/kpkpass-25.12.3/src/passes.h 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/passes.h 2026-03-28 13:11:58.000000000 +0100 @@ -20,9 +20,13 @@ class PassesPrivate; -/** Representes a .pkpasses multi-pass bundle file. - * @see https://developer.apple.com/documentation/walletpasses/distributing-and-updating-a-pass#Create-a-bundle-of-passes - * @since 25.12 +/*! + * \sa https://developer.apple.com/documentation/walletpasses/distributing-and-updating-a-pass#Create-a-bundle-of-passes + * \since 25.12 + * \class KPkPass::Passes + * \brief Representes a .pkpasses multi-pass bundle file. + * \inmodule KPkPass + * \inheaderfile KPkPass/Passes */ class KPKPASS_EXPORT Passes { @@ -31,13 +35,13 @@ ~Passes(); Passes &operator=(Passes &&) noexcept; - /** Lists the names of all contained passes. */ + /*! Lists the names of all contained passes. */ [[nodiscard]] QStringList entries() const; - /** Returns the raw data of a pass with @p name. */ + /*! Returns the raw data of a pass with \a name. */ [[nodiscard]] QByteArray passData(const QString &name) const; - /** Create a new passes bundle from @p data. */ + /*! Create a new passes bundle from \a data. */ [[nodiscard]] static Passes *fromData(const QByteArray &data); private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kpkpass-25.12.3/src/quick/CMakeLists.txt new/kpkpass-26.04.0/src/quick/CMakeLists.txt --- old/kpkpass-25.12.3/src/quick/CMakeLists.txt 2026-02-06 06:50:49.000000000 +0100 +++ new/kpkpass-26.04.0/src/quick/CMakeLists.txt 2026-03-28 13:11:58.000000000 +0100 @@ -10,6 +10,11 @@ types.h ) -target_link_libraries(kpkpassqmlplugin PRIVATE Qt::Qml KPim6PkPass) +target_link_libraries( + kpkpassqmlplugin + PRIVATE + Qt::Qml + KPim6PkPass +) ecm_finalize_qml_module(kpkpassqmlplugin DESTINATION ${KDE_INSTALL_QMLDIR})
