From f14401ca0f2754347c3864da7488a9b955b4e47a Mon Sep 17 00:00:00 2001 From: Kai Pastor Date: Sun, 25 Jan 2026 09:49:26 +0100 Subject: [PATCH] [ecm] Force vcpkg filesystem, revise downstream (#34091) --- ports/ecm/kde-clang-format.diff | 23 +++++++++ ports/ecm/portfile.cmake | 19 ++++--- ports/ecm/uniform-dataroot-dir.patch | 13 +++++ ports/ecm/uniform-libexec-dir.patch | 39 ++++++++++++++ ports/ecm/uniform-plugin-dir.patch | 22 ++++++++ ports/ecm/usage | 16 ++++-- ports/ecm/vcpkg-port-config.cmake | 4 ++ ports/ecm/vcpkg.json | 5 +- ports/kf5archive/control-dependencies.patch | 56 --------------------- ports/kf5archive/portfile.cmake | 16 ++---- ports/kf5archive/vcpkg.json | 4 +- ports/kf5archive/zstd.diff | 42 ++++++++++++++++ ports/kf5auth/portfile.cmake | 19 +++---- ports/kf5auth/vcpkg.json | 4 +- ports/kf5config/portfile.cmake | 14 ------ ports/kf5config/vcpkg.json | 4 +- ports/kf5kcmutils/portfile.cmake | 18 ------- ports/kf5kcmutils/vcpkg.json | 4 +- ports/kf5kio/portfile.cmake | 44 +++++++--------- ports/kf5kio/vcpkg.json | 53 +++++++++++-------- ports/kf5newstuff/disable-macos-bundle.diff | 12 +++++ ports/kf5newstuff/portfile.cmake | 34 ++++++------- ports/kf5newstuff/vcpkg.json | 20 ++++++-- ports/kf5plotting/portfile.cmake | 7 --- ports/kf5plotting/vcpkg.json | 4 +- ports/kf5texteditor/portfile.cmake | 32 ++---------- ports/kf5texteditor/vcpkg.json | 8 ++- ports/kf6archive/portfile.cmake | 25 +++++---- ports/kf6archive/vcpkg.json | 32 ++++++------ ports/kf6archive/zstd.diff | 43 ++++++++++++++++ ports/libalkimia/portfile.cmake | 20 +++----- ports/libalkimia/vcpkg.json | 10 +++- scripts/ci.feature.baseline.txt | 9 ++-- versions/baseline.json | 22 ++++---- versions/e-/ecm.json | 5 ++ versions/k-/kf5archive.json | 5 ++ versions/k-/kf5auth.json | 5 ++ versions/k-/kf5config.json | 5 ++ versions/k-/kf5kcmutils.json | 5 ++ versions/k-/kf5kio.json | 5 ++ versions/k-/kf5newstuff.json | 5 ++ versions/k-/kf5plotting.json | 5 ++ versions/k-/kf5texteditor.json | 5 ++ versions/k-/kf6archive.json | 5 ++ versions/l-/libalkimia.json | 5 ++ 45 files changed, 460 insertions(+), 292 deletions(-) create mode 100644 ports/ecm/kde-clang-format.diff create mode 100644 ports/ecm/uniform-dataroot-dir.patch create mode 100644 ports/ecm/uniform-libexec-dir.patch create mode 100644 ports/ecm/uniform-plugin-dir.patch create mode 100644 ports/ecm/vcpkg-port-config.cmake delete mode 100644 ports/kf5archive/control-dependencies.patch create mode 100644 ports/kf5archive/zstd.diff create mode 100644 ports/kf5newstuff/disable-macos-bundle.diff create mode 100644 ports/kf6archive/zstd.diff diff --git a/ports/ecm/kde-clang-format.diff b/ports/ecm/kde-clang-format.diff new file mode 100644 index 0000000000..e8221eea47 --- /dev/null +++ b/ports/ecm/kde-clang-format.diff @@ -0,0 +1,23 @@ +diff --git a/kde-modules/KDEClangFormat.cmake b/kde-modules/KDEClangFormat.cmake +index e278a63..3949bd2 100644 +--- a/kde-modules/KDEClangFormat.cmake ++++ b/kde-modules/KDEClangFormat.cmake +@@ -53,7 +53,7 @@ Since 5.64 + find_program(KDE_CLANG_FORMAT_EXECUTABLE clang-format) + + # instantiate our clang-format file, must be in source directory for tooling if we have the tool +-if(KDE_CLANG_FORMAT_EXECUTABLE) ++if(KDE_CLANG_FORMAT_EXECUTABLE AND NOT "$ENV{VCPKG_DISABLE_KDE_CLANG_FORMAT}") + set(CLANG_FORMAT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/.clang-format) + if (EXISTS ${CLANG_FORMAT_FILE}) + file(READ ${CLANG_FORMAT_FILE} CLANG_FORMAT_CONTENTS LIMIT 1000) +@@ -77,6 +77,9 @@ function(KDE_CLANG_FORMAT) + + # add target without specific commands first, we add the real calls file-per-file to avoid command line length issues and enable parallelization + add_custom_target(clang-format COMMENT "Formatting sources in ${CMAKE_CURRENT_SOURCE_DIR} with ${KDE_CLANG_FORMAT_EXECUTABLE}...") ++ if("$ENV{VCPKG_DISABLE_KDE_CLANG_FORMAT}") ++ return() ++ endif() + + # run clang-format only if available, else signal the user what is missing + if(KDE_CLANG_FORMAT_EXECUTABLE) diff --git a/ports/ecm/portfile.cmake b/ports/ecm/portfile.cmake index 2a82cf0b8f..b2fa8c21a0 100644 --- a/ports/ecm/portfile.cmake +++ b/ports/ecm/portfile.cmake @@ -1,3 +1,7 @@ +# cmake-scripts only +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) +set(VCPKG_BUILD_TYPE release) + vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO KDE/extra-cmake-modules @@ -7,6 +11,12 @@ vcpkg_from_github( PATCHES fix_generateqmltypes.patch # https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/201 fix-wrong-version.patch + # Adjust default installation dirs to vcpkg layout, reduce cross-platform variation + uniform-dataroot-dir.patch + uniform-libexec-dir.patch + uniform-plugin-dir.patch + # Avoid race while configuring downstream ports + kde-clang-format.diff ) vcpkg_cmake_configure( @@ -19,15 +29,8 @@ vcpkg_cmake_configure( ) vcpkg_cmake_install() - vcpkg_cmake_config_fixup(CONFIG_PATH share/ECM/cmake) -# Remove debug files -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") - +file(COPY "${CURRENT_PORT_DIR}/vcpkg-port-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -# Handle copyright vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING-CMAKE-SCRIPTS") - -# Allow empty include directory -set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/ports/ecm/uniform-dataroot-dir.patch b/ports/ecm/uniform-dataroot-dir.patch new file mode 100644 index 0000000000..32c9c6502d --- /dev/null +++ b/ports/ecm/uniform-dataroot-dir.patch @@ -0,0 +1,13 @@ +diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake +index aae70d6..623cee7 100644 +--- a/kde-modules/KDEInstallDirsCommon.cmake ++++ b/kde-modules/KDEInstallDirsCommon.cmake +@@ -265,7 +265,7 @@ _define_absolute(LOCALSTATEDIR "var" + _define_absolute(SHAREDSTATEDIR "com" + "modifiable architecture-independent data") + +-if (WIN32) ++if (0) + _define_relative(DATAROOTDIR BINDIR "data" + "read-only architecture-independent data root" + SHARE_INSTALL_PREFIX) diff --git a/ports/ecm/uniform-libexec-dir.patch b/ports/ecm/uniform-libexec-dir.patch new file mode 100644 index 0000000000..b22659b10c --- /dev/null +++ b/ports/ecm/uniform-libexec-dir.patch @@ -0,0 +1,39 @@ +diff --git a/kde-modules/KDEInstallDirs5.cmake b/kde-modules/KDEInstallDirs5.cmake +index 5f67759..24308ad 100644 +--- a/kde-modules/KDEInstallDirs5.cmake ++++ b/kde-modules/KDEInstallDirs5.cmake +@@ -222,7 +222,7 @@ for the prefix into a process. + + include(${CMAKE_CURRENT_LIST_DIR}/KDEInstallDirsCommon.cmake) + +-if(WIN32) ++if(1) + _define_non_cache(LIBEXECDIR_KF5 "${CMAKE_INSTALL_LIBEXECDIR}") + else() + _define_non_cache(LIBEXECDIR_KF5 "${CMAKE_INSTALL_LIBEXECDIR}/kf5") +diff --git a/kde-modules/KDEInstallDirs6.cmake b/kde-modules/KDEInstallDirs6.cmake +index 469997b..87c5cd4 100644 +--- a/kde-modules/KDEInstallDirs6.cmake ++++ b/kde-modules/KDEInstallDirs6.cmake +@@ -191,7 +191,7 @@ set(KDE_INSTALL_DIRS_NO_DEPRECATED TRUE) + + include(${CMAKE_CURRENT_LIST_DIR}/KDEInstallDirsCommon.cmake) + +-if(WIN32) ++if(1) + _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}") + else() + _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}/kf6") +diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake +index aae70d6..6b39058 100644 +--- a/kde-modules/KDEInstallDirsCommon.cmake ++++ b/kde-modules/KDEInstallDirsCommon.cmake +@@ -241,7 +241,7 @@ _define_relative(LIBDIR EXECROOTDIR "${_LIBDIR_DEFAULT}" + "object code libraries" + LIB_INSTALL_DIR) + +-if(WIN32) ++if(1) + _define_relative(LIBEXECDIR BINDIR "" + "executables for internal use by programs and libraries" + LIBEXEC_INSTALL_DIR) diff --git a/ports/ecm/uniform-plugin-dir.patch b/ports/ecm/uniform-plugin-dir.patch new file mode 100644 index 0000000000..d7892697a2 --- /dev/null +++ b/ports/ecm/uniform-plugin-dir.patch @@ -0,0 +1,22 @@ +diff --git a/kde-modules/KDEInstallDirs5.cmake b/kde-modules/KDEInstallDirs5.cmake +index 24308ad..c975b3c 100644 +--- a/kde-modules/KDEInstallDirs5.cmake ++++ b/kde-modules/KDEInstallDirs5.cmake +@@ -273,7 +273,7 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS) + "QtQuick2 imports" + QML_INSTALL_DIR) + else() +- set(_pluginsDirParent LIBDIR) ++ set(_pluginsDirParent "") + if (ANDROID) + set(_pluginsDirParent) + #androiddeployqt wants plugins right in the prefix +@@ -286,7 +286,7 @@ else() + "QtQuick1 imports" + IMPORTS_INSTALL_DIR) + +- _define_relative(QMLDIR LIBDIR "qml" ++ _define_relative(QMLDIR "" "qml" + "QtQuick2 imports" + QML_INSTALL_DIR) + endif() diff --git a/ports/ecm/usage b/ports/ecm/usage index 49697504ec..9e68a75b5d 100644 --- a/ports/ecm/usage +++ b/ports/ecm/usage @@ -1,9 +1,17 @@ ecm provides CMake files: - find_package(ECM CONFIG REQUIRED NO_MODULE) - list(INSERT CMAKE_MODULE_PATH 0 ${ECM_MODULE_PATH}) + # Selecting particular find modules + find_package(ECM CONFIG REQUIRED) + ecm_use_find_modules( + DIR "${CMAKE_BINARY_DIR}/cmake" + MODULES FindEGL.cmake + NO_OVERRIDE + ) + list(PREPEND CMAKE_MODULE_PATH "${CMAKE_BINARY_DIR}/cmake") + + # Everything, via find_package() and include() + find_package(ECM CONFIG REQUIRED) + list(PREPEND CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) include(KDECompilerSettings) include(KDECMakeSettings) - -For more infomation, see https://api.kde.org/ecm/ diff --git a/ports/ecm/vcpkg-port-config.cmake b/ports/ecm/vcpkg-port-config.cmake new file mode 100644 index 0000000000..30e779ba13 --- /dev/null +++ b/ports/ecm/vcpkg-port-config.cmake @@ -0,0 +1,4 @@ +# share/ECM/kde-modules/KDEClangFormat.cmake might write to the +# source dir, breaking parallel configuration for release/debug. +# This variables disables the undesired behaviour. +set(ENV{VCPKG_DISABLE_KDE_CLANG_FORMAT} 1) diff --git a/ports/ecm/vcpkg.json b/ports/ecm/vcpkg.json index 8f18c48c3c..48ffad79b7 100644 --- a/ports/ecm/vcpkg.json +++ b/ports/ecm/vcpkg.json @@ -1,9 +1,10 @@ { "name": "ecm", "version": "6.7.0", - "port-version": 1, + "port-version": 2, "description": "Extra CMake Modules (ECM), extra modules and scripts for CMake", - "homepage": "https://github.com/KDE/extra-cmake-modules", + "homepage": "https://invent.kde.org/frameworks/extra-cmake-modules", + "documentation": "https://api.kde.org/ecm/", "dependencies": [ { "name": "vcpkg-cmake", diff --git a/ports/kf5archive/control-dependencies.patch b/ports/kf5archive/control-dependencies.patch deleted file mode 100644 index 26a7d3a509..0000000000 --- a/ports/kf5archive/control-dependencies.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 958e22d..00b9736 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -36,6 +36,7 @@ set_package_properties(BZip2 PROPERTIES - TYPE RECOMMENDED - PURPOSE "Support for BZip2 compressed files and data streams" - ) -+set(BZIP2_FOUND "${VCPKG_USE_BZIP2}") - - find_package(LibLZMA) - set_package_properties(LibLZMA PROPERTIES -@@ -43,6 +44,7 @@ set_package_properties(LibLZMA PROPERTIES - DESCRIPTION "Support for xz compressed files and data streams" - PURPOSE "Support for xz compressed files and data streams" - ) -+set(LIBLZMA_FOUND "${VCPKG_USE_LIBLZMA}") - - find_package(PkgConfig) - if (PkgConfig_FOUND) -@@ -51,6 +53,8 @@ endif() - add_feature_info(LibZstd LibZstd_FOUND - "Support for zstd compressed files and data streams" - ) -+find_package(zstd CONFIG) -+set(LibZstd_FOUND "${VCPKG_USE_ZSTD}") - - include(ECMSetupVersion) - include(ECMGenerateHeaders) -diff --git a/KF5ArchiveConfig.cmake.in b/KF5ArchiveConfig.cmake.in -index 0a738c2..b4d96a5 100644 ---- a/KF5ArchiveConfig.cmake.in -+++ b/KF5ArchiveConfig.cmake.in -@@ -23,8 +23,7 @@ if (NOT @BUILD_SHARED_LIBS@) - endif() - - if (@LibZstd_FOUND@) -- find_package(PkgConfig) -- pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") -+ find_dependency(zstd CONFIG) - endif() - endif() - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index 675ddf4..9363637 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -24,7 +24,7 @@ endif() - - if (LibZstd_FOUND) - target_sources(KF5Archive PRIVATE kzstdfilter.cpp) -- target_link_libraries(KF5Archive PRIVATE PkgConfig::LibZstd) -+ target_link_libraries(KF5Archive PRIVATE $,zstd::libzstd_shared,zstd::libzstd_static>) - endif() - - diff --git a/ports/kf5archive/portfile.cmake b/ports/kf5archive/portfile.cmake index f4cfab4f91..dbbeea8c33 100644 --- a/ports/kf5archive/portfile.cmake +++ b/ports/kf5archive/portfile.cmake @@ -5,23 +5,19 @@ vcpkg_from_github( SHA512 2423f6f99a610cf376f14f95fe8af9f9b66a7ce95d082773442cb27046a0bde9d0b80cb5e9798bb44147e27b6749b834034321b13f109482daef60634ee97a69 HEAD_REF master PATCHES - control-dependencies.patch + zstd.diff ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - "bzip2" VCPKG_USE_BZIP2 - "lzma" VCPKG_USE_LIBLZMA - "zstd" VCPKG_USE_ZSTD + bzip2 VCPKG_LOCK_FIND_PACKAGE_BZip2 + lzma VCPKG_LOCK_FIND_PACKAGE_LibLZMA + zstd VCPKG_LOCK_FIND_PACKAGE_LibZstd ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=ON -DBUILD_TESTING=OFF ${FEATURE_OPTIONS} ) @@ -30,10 +26,6 @@ vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5Archive) vcpkg_copy_pdbs() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/kf5archive/vcpkg.json b/ports/kf5archive/vcpkg.json index 8b187b2ae6..811d69085d 100644 --- a/ports/kf5archive/vcpkg.json +++ b/ports/kf5archive/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5archive", "version": "5.116.0", + "port-version": 1, "description": "File compression", - "homepage": "https://api.kde.org/karchive-index.html", + "homepage": "https://invent.kde.org/frameworks/karchive", + "documentation": "https://api.kde.org/karchive-index.html ", "license": "LGPL-2.0-or-later", "supports": "!xbox", "dependencies": [ diff --git a/ports/kf5archive/zstd.diff b/ports/kf5archive/zstd.diff new file mode 100644 index 0000000000..d64f439a27 --- /dev/null +++ b/ports/kf5archive/zstd.diff @@ -0,0 +1,42 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 03b5354..a9e04a6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,8 +46,8 @@ set_package_properties(LibLZMA PROPERTIES + + find_package(PkgConfig) + if (PkgConfig_FOUND) +- pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") + endif() ++find_package(LibZstd NAMES zstd) + add_feature_info(LibZstd LibZstd_FOUND + "Support for zstd compressed files and data streams" + ) +diff --git a/KF5ArchiveConfig.cmake.in b/KF5ArchiveConfig.cmake.in +index ea63b92..b7ddf23 100644 +--- a/KF5ArchiveConfig.cmake.in ++++ b/KF5ArchiveConfig.cmake.in +@@ -23,8 +23,7 @@ if (NOT @BUILD_SHARED_LIBS@) + find_dependency(LibLZMA) + endif() + + if (@LibZstd_FOUND@) +- find_package(PkgConfig) +- pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") ++ find_dependency(zstd CONFIG) + endif() + endif() + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 97bb61b..334f9b6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -26,7 +26,7 @@ endif() + + if (LibZstd_FOUND) + target_sources(KF5Archive PRIVATE kzstdfilter.cpp) +- target_link_libraries(KF5Archive PRIVATE PkgConfig::LibZstd) ++ target_link_libraries(KF5Archive PRIVATE zstd::libzstd) + endif() + + diff --git a/ports/kf5auth/portfile.cmake b/ports/kf5auth/portfile.cmake index 89a075a0ad..9aba4e6663 100644 --- a/ports/kf5auth/portfile.cmake +++ b/ports/kf5auth/portfile.cmake @@ -6,23 +6,25 @@ vcpkg_from_github( HEAD_REF master ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF - -DKDE_INSTALL_PLUGINDIR=plugins ) vcpkg_cmake_install() +vcpkg_copy_pdbs() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5Auth) -vcpkg_copy_pdbs() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +if(EXISTS "${CURRENT_PACKAGES_DIR}/bin/kauth/kauth-policy-gen${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + vcpkg_copy_tools( + TOOL_NAMES kauth/kauth-policy-gen + DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/kauth" + AUTO_CLEAN + ) + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/kauth") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/kauth") + vcpkg_clean_executables_in_bin(FILE_NAMES none) endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") @@ -30,4 +32,3 @@ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) - diff --git a/ports/kf5auth/vcpkg.json b/ports/kf5auth/vcpkg.json index f87ecd60e1..2f43ff6bd4 100644 --- a/ports/kf5auth/vcpkg.json +++ b/ports/kf5auth/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5auth", "version": "5.116.0", + "port-version": 1, "description": "Execute actions as privileged user", - "homepage": "https://api.kde.org/kauth-index.html", + "homepage": "https://invent.kde.org/frameworks/kauth", + "documentation": "https://api.kde.org/kauth-index.html ", "supports": "!windows", "dependencies": [ "ecm", diff --git a/ports/kf5config/portfile.cmake b/ports/kf5config/portfile.cmake index 86d9b8eb9f..9a9d47b299 100644 --- a/ports/kf5config/portfile.cmake +++ b/ports/kf5config/portfile.cmake @@ -6,14 +6,10 @@ vcpkg_from_github( HEAD_REF master ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF - -DKDE_INSTALL_LIBEXECDIR=bin ) vcpkg_cmake_install() @@ -25,23 +21,13 @@ vcpkg_copy_tools( AUTO_CLEAN ) -if(NOT VCPKG_TARGET_IS_WINDOWS) - set(LIBEXEC_SUBFOLDER "kf5/") -endif() - vcpkg_copy_tools( TOOL_NAMES kconf_update kconfig_compiler_kf5 - SEARCH_DIR "${CURRENT_PACKAGES_DIR}/bin/${LIBEXEC_SUBFOLDER}" - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${LIBEXEC_SUBFOLDER}" AUTO_CLEAN ) file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ../../share") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/kf5config/vcpkg.json b/ports/kf5config/vcpkg.json index b2a7468ce2..b56df29534 100644 --- a/ports/kf5config/vcpkg.json +++ b/ports/kf5config/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5config", "version": "5.116.0", + "port-version": 1, "description": "Configuration system", - "homepage": "https://api.kde.org/kconfig-index.html", + "homepage": "https://invent.kde.org/frameworks/kconfig", + "documentation": "https://api.kde.org/kconfig-index.html ", "dependencies": [ "ecm", { diff --git a/ports/kf5kcmutils/portfile.cmake b/ports/kf5kcmutils/portfile.cmake index 9fd5ff6e8f..9bdb8a91ae 100644 --- a/ports/kf5kcmutils/portfile.cmake +++ b/ports/kf5kcmutils/portfile.cmake @@ -6,39 +6,21 @@ vcpkg_from_github( HEAD_REF master ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF - -DKDE_INSTALL_QMLDIR=qml ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5KCMUtils) vcpkg_copy_pdbs() -if(NOT VCPKG_TARGET_IS_WINDOWS) - set(LIBEXEC_FOLDER "lib/libexec") - set(LIBEXEC_SUBFOLDER "kf5/") -else() - set(LIBEXEC_FOLDER "bin") - set(LIBEXEC_SUBFOLDER "") -endif() - vcpkg_copy_tools( TOOL_NAMES kcmdesktopfilegenerator - SEARCH_DIR "${CURRENT_PACKAGES_DIR}/${LIBEXEC_FOLDER}/${LIBEXEC_SUBFOLDER}" - DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${LIBEXEC_SUBFOLDER}" AUTO_CLEAN ) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/kf5kcmutils/vcpkg.json b/ports/kf5kcmutils/vcpkg.json index 9f886348f1..1411bae2a5 100644 --- a/ports/kf5kcmutils/vcpkg.json +++ b/ports/kf5kcmutils/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5kcmutils", "version": "5.116.0", + "port-version": 1, "description": "Utilities for KDE System Settings modules", - "homepage": "https://api.kde.org/kcmutils-index.html", + "homepage": "https://invent.kde.org/frameworks/kcmutils", + "documentation": "https://api.kde.org/kcmutils-index.html", "dependencies": [ "ecm", { diff --git a/ports/kf5kio/portfile.cmake b/ports/kf5kio/portfile.cmake index b69e474dcc..a8abe0ba4b 100644 --- a/ports/kf5kio/portfile.cmake +++ b/ports/kf5kio/portfile.cmake @@ -7,57 +7,49 @@ vcpkg_from_github( ) vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS - INVERTED_FEATURES - "kf5notifications" CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications - "kf5wallet" CMAKE_DISABLE_FIND_PACKAGE_KF5Wallet + FEATURES + designer-plugin BUILD_DESIGNERPLUGIN + kf5notifications VCPKG_LOCK_FIND_PACKAGE_KF5Notifications + kf5wallet VCPKG_LOCK_FIND_PACKAGE_KF5Wallet + qml VCPKG_LOCK_FIND_PACKAGE_Qt5Qml ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DCMAKE_FIND_PACKAGE_TARGETS_GLOBAL=ON + -DCMAKE_JOB_POOL_LINK=console # Serialize linking to avoid OOM -DBUILD_TESTING=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_ACL=ON + -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON -DCMAKE_DISABLE_FIND_PACKAGE_GSSAPI=ON + -DCMAKE_DISABLE_FIND_PACKAGE_KDED=ON -DCMAKE_DISABLE_FIND_PACKAGE_KF5DocTools=ON - -DCMAKE_VERBOSE_MAKEFILE=ON - -DKDE_INSTALL_QTPLUGINDIR=plugins - -DKDE_INSTALL_PLUGINDIR=plugins - -DKDE_INSTALL_LIBEXECDIR=bin + -DCMAKE_DISABLE_FIND_PACKAGE_SwitcherooControl=ON + -DKF6_COMPAT_BUILD=ON ${FEATURE_OPTIONS} MAYBE_UNUSED_VARIABLES - CMAKE_DISABLE_FIND_PACKAGE_KF5Notifications + VCPKG_LOCK_FIND_PACKAGE_KF5Notifications + VCPKG_LOCK_FIND_PACKAGE_KF5Wallet + ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5KIO) vcpkg_copy_pdbs() -set(LIBEXEC_TOOLS kio_http_cache_cleaner kiod5 kioexec kioslave5) - -if(NOT VCPKG_TARGET_IS_WINDOWS) - if(NOT VCPKG_TARGET_IS_ANDROID) - list(APPEND LIBEXEC_TOOLS kpac_dhcp_helper) - endif() - - list(TRANSFORM LIBEXEC_TOOLS PREPEND "kf5/") -endif() - vcpkg_copy_tools( - TOOL_NAMES kcookiejar5 ktelnetservice5 ktrash5 protocoltojson ${LIBEXEC_TOOLS} + TOOL_NAMES kcookiejar5 ktelnetservice5 ktrash5 protocoltojson kio_http_cache_cleaner kiod5 kioexec kioslave5 AUTO_CLEAN ) +if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_ANDROID) + vcpkg_copy_tools(TOOL_NAMES kpac_dhcp_helper AUTO_CLEAN) +endif() file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ../../share") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/kf5kio/vcpkg.json b/ports/kf5kio/vcpkg.json index 21bbdc45b3..529d682e1c 100644 --- a/ports/kf5kio/vcpkg.json +++ b/ports/kf5kio/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5kio", "version": "5.116.0", + "port-version": 1, "description": "Network transparent access to files and data", - "homepage": "https://api.kde.org/kio-index.html", + "homepage": "https://invent.kde.org/frameworks/kio", + "documentation": "https://api.kde.org/kio-index.html ", "license": null, "dependencies": [ "ecm", @@ -23,7 +25,10 @@ "kf5config", "kf5configwidgets", "kf5coreaddons", - "kf5crash", + { + "name": "kf5crash", + "platform": "!android" + }, { "name": "kf5dbusaddons", "platform": "!android" @@ -35,26 +40,31 @@ "kf5jobwidgets", "kf5service", "kf5solid", - "kf5textwidgets", + { + "name": "kf5textwidgets", + "platform": "!android" + }, "kf5widgetsaddons", "kf5windowsystem", - "kf5xmlgui", { - "name": "libiconv", - "platform": "windows & static" + "name": "kf5xmlgui", + "platform": "!android" }, { "name": "libmount", "platform": "linux" }, - "qt5-base", + { + "name": "qt5-base", + "default-features": false + }, { "name": "qt5-macextras", "platform": "osx" }, { "name": "qt5-x11extras", - "platform": "linux" + "platform": "!(android | ios | osx | windows)" }, { "name": "vcpkg-cmake", @@ -66,29 +76,30 @@ } ], "features": { + "designer-plugin": { + "description": "Build plugin for Qt Designer" + }, "kf5notifications": { - "description": "Required to have error notification support in kpac", + "description": "Error notification support in kpac", + "supports": "!(windows | android)", "dependencies": [ - { - "name": "kf5kio", - "default-features": false, - "features": [ - "unixkf5notifications" - ], - "platform": "!(windows | android)" - } + "kf5notifications" ] }, "kf5wallet": { - "description": "Required to have permanent storage of passwords for kpasswdserver", + "description": "Safe desktop-wide storage for passwords", + "supports": "!android", "dependencies": [ "kf5wallet" ] }, - "unixkf5notifications": { - "description": "Required to have error notification support in kpac (windows only)", + "qml": { + "description": "Enable QML support", "dependencies": [ - "kf5notifications" + { + "name": "qt5-declarative", + "default-features": false + } ] } } diff --git a/ports/kf5newstuff/disable-macos-bundle.diff b/ports/kf5newstuff/disable-macos-bundle.diff new file mode 100644 index 0000000000..90a96cfdcd --- /dev/null +++ b/ports/kf5newstuff/disable-macos-bundle.diff @@ -0,0 +1,12 @@ +diff --git a/src/tools/knewstuff-dialog/CMakeLists.txt b/src/tools/knewstuff-dialog/CMakeLists.txt +index b987dcc..3f9349c 100644 +--- a/src/tools/knewstuff-dialog/CMakeLists.txt ++++ b/src/tools/knewstuff-dialog/CMakeLists.txt +@@ -9,6 +9,7 @@ set(knewstuff-dialog_SRCS + qt_add_resources(RESOURCES resources.qrc) + + add_executable(knewstuff-dialog ${knewstuff-dialog_SRCS} ${RESOURCES}) ++set_target_properties(knewstuff-dialog PROPERTIES MACOSX_BUNDLE 0) # override KDECMakeSettings + + target_link_libraries(knewstuff-dialog + Qt${QT_MAJOR_VERSION}::Core diff --git a/ports/kf5newstuff/portfile.cmake b/ports/kf5newstuff/portfile.cmake index 156a215369..64a4833306 100644 --- a/ports/kf5newstuff/portfile.cmake +++ b/ports/kf5newstuff/portfile.cmake @@ -4,26 +4,31 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 7734b5403720e4031d30844361251f744364d109c60dd59e6424cf1aa2f7a5b87f5f81893c0cab5721dc0875fc5e9b6e510436e4485776ec3f30d6d36ffca476 HEAD_REF master + PATCHES + disable-macos-bundle.diff ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + designer-plugin BUILD_DESIGNERPLUGIN +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS -DBUILD_TESTING=OFF - -DKDE_INSTALL_QMLDIR=qml - -DBUNDLE_INSTALL_DIR=bin - MAYBE_UNUSED_VARIABLES - BUNDLE_INSTALL_DIR + -DCMAKE_DISABLE_FIND_PACKAGE_Git=1 + -DCMAKE_DISABLE_FIND_PACKAGE_KF5Kirigami2=1 + -DCMAKE_DISABLE_FIND_PACKAGE_KF5Syndication=1 + -DCMAKE_REQUIRE_FIND_PACKAGE_Qt5Quick=1 + ${options} ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5NewStuff DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5NewStuffCore CONFIG_PATH lib/cmake/KF5NewStuffCore DO_NOT_DELETE_PARENT_CONFIG_PATH) -vcpkg_cmake_config_fixup(PACKAGE_NAME KF5NewStuffQuick CONFIG_PATH lib/cmake/KF5NewStuffQuick) vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5NewStuffCore PACKAGE_NAME kf5newstuffcore DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5NewStuffQuick PACKAGE_NAME kf5newstuffquick DO_NOT_DELETE_PARENT_CONFIG_PATH) +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5NewStuff) vcpkg_copy_tools( TOOL_NAMES knewstuff-dialog @@ -32,17 +37,6 @@ vcpkg_copy_tools( file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/data/kf5/kmoretools/presets-kmoretools/_README.md") -file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/data/kf5/kmoretools/presets-kmoretools/_README.md") - -if(NOT VCPKG_BUILD_TYPE) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/debug/plugins") -endif() -file(RENAME "${CURRENT_PACKAGES_DIR}/lib/plugins" "${CURRENT_PACKAGES_DIR}/plugins") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/kf5newstuff/vcpkg.json b/ports/kf5newstuff/vcpkg.json index d54802554f..4086398434 100644 --- a/ports/kf5newstuff/vcpkg.json +++ b/ports/kf5newstuff/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5newstuff", "version": "5.116.0", + "port-version": 1, "description": "Framework for downloading and sharing additional application data", - "homepage": "https://api.kde.org/knewstuff-index.html", + "homepage": "https://invent.kde.org/frameworks/knewstuff", + "documentation": "https://api.kde.org/knewstuff-index.html", "dependencies": [ "ecm", { @@ -26,7 +28,14 @@ "kf5textwidgets", "kf5widgetsaddons", "kf5xmlgui", - "qt5-base", + { + "name": "qt5-base", + "default-features": false + }, + { + "name": "qt5-declarative", + "default-features": false + }, "qt5-tools", { "name": "vcpkg-cmake", @@ -36,5 +45,10 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "designer-plugin": { + "description": "Build plugin for Qt Designer" + } + } } diff --git a/ports/kf5plotting/portfile.cmake b/ports/kf5plotting/portfile.cmake index 7b168f6817..b1bf01a712 100644 --- a/ports/kf5plotting/portfile.cmake +++ b/ports/kf5plotting/portfile.cmake @@ -6,9 +6,6 @@ vcpkg_from_github( HEAD_REF master ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") - vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS @@ -20,10 +17,6 @@ vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5Plotting) vcpkg_copy_pdbs() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -if(NOT VCPKG_BUILD_TYPE) - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/plugins" "${CURRENT_PACKAGES_DIR}/debug/plugins") -endif() -file(RENAME "${CURRENT_PACKAGES_DIR}/lib/plugins" "${CURRENT_PACKAGES_DIR}/plugins") file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*") vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES}) diff --git a/ports/kf5plotting/vcpkg.json b/ports/kf5plotting/vcpkg.json index 59e955f1ea..d757076518 100644 --- a/ports/kf5plotting/vcpkg.json +++ b/ports/kf5plotting/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5plotting", "version": "5.116.0", + "port-version": 1, "description": "Lightweight plotting framework", - "homepage": "https://api.kde.org/kplotting-index.html", + "homepage": "https://invent.kde.org/frameworks/kplotting", + "documentation": "https://api.kde.org/kplotting-index.html", "dependencies": [ "ecm", { diff --git a/ports/kf5texteditor/portfile.cmake b/ports/kf5texteditor/portfile.cmake index 6563b76db9..4e10ba25fd 100644 --- a/ports/kf5texteditor/portfile.cmake +++ b/ports/kf5texteditor/portfile.cmake @@ -6,30 +6,13 @@ vcpkg_from_github( HEAD_REF master ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE "${SOURCE_PATH}/.clang-format" "DisableFormat: true\nSortIncludes: false\n") - # A trick for `kcoreaddons_desktop_to_json` (see KF5CoreAddonsMacros.cmake) to generate katepart.desktop # The copied *.desktop files should be removed after vcpkg_cmake_install -if(VCPKG_TARGET_IS_WINDOWS) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(DATAROOT "bin/data") # maybe ADD_BIN_TO_PATH can work in this case... - elseif(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(DATAROOT "share") - endif() - if(NOT VCPKG_BUILD_TYPE) - file(COPY "${CURRENT_INSTALLED_DIR}/${DATAROOT}/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin/data") - file(GLOB TEMP_DESKTOP_FILES_DBG "${CURRENT_PACKAGES_DIR}/debug/${DATAROOT}/kservicetypes5/*") - endif() - file(COPY "${CURRENT_INSTALLED_DIR}/${DATAROOT}/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/bin/data") - file(GLOB TEMP_DESKTOP_FILES_REL "${CURRENT_PACKAGES_DIR}/${DATAROOT}/kservicetypes5/*") -else() - if(NOT VCPKG_BUILD_TYPE) - file(COPY "${CURRENT_INSTALLED_DIR}/share/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/share") - file(GLOB TEMP_DESKTOP_FILES_DBG "${CURRENT_PACKAGES_DIR}/debug/share/kservicetypes5/*") - endif() - file(COPY "${CURRENT_INSTALLED_DIR}/share/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/share") - file(GLOB TEMP_DESKTOP_FILES_REL "${CURRENT_PACKAGES_DIR}/share/kservicetypes5/*") +file(COPY "${CURRENT_INSTALLED_DIR}/share/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/share") +file(GLOB TEMP_DESKTOP_FILES_REL "${CURRENT_PACKAGES_DIR}/share/kservicetypes5/*") +if(NOT VCPKG_BUILD_TYPE) + file(COPY "${CURRENT_INSTALLED_DIR}/share/kservicetypes5" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/share") + file(GLOB TEMP_DESKTOP_FILES_DBG "${CURRENT_PACKAGES_DIR}/debug/share/kservicetypes5/*") endif() vcpkg_cmake_configure( @@ -37,17 +20,12 @@ vcpkg_cmake_configure( OPTIONS -DBUILD_TESTING=OFF -DENABLE_KAUTH=OFF - -DKDE_INSTALL_PLUGINDIR=plugins -DVCPKG_HOST_TRIPLET=${VCPKG_HOST_TRIPLET} ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF5TextEditor) vcpkg_copy_pdbs() -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share" diff --git a/ports/kf5texteditor/vcpkg.json b/ports/kf5texteditor/vcpkg.json index 6cbb0fdc8e..10b1285835 100644 --- a/ports/kf5texteditor/vcpkg.json +++ b/ports/kf5texteditor/vcpkg.json @@ -1,8 +1,10 @@ { "name": "kf5texteditor", "version": "5.116.0", + "port-version": 1, "description": "Full text editor component", - "homepage": "https://api.kde.org/ktexteditor-index.html", + "homepage": "https://invent.kde.org/frameworks/ktexteditor", + "documentation": "https://api.kde.org/ktexteditor-index.html", "dependencies": [ "ecm", { @@ -21,6 +23,10 @@ "kf5parts", "kf5sonnet", "kf5syntaxhighlighting", + { + "name": "qt5-base", + "default-features": false + }, { "name": "vcpkg-cmake", "host": true diff --git a/ports/kf6archive/portfile.cmake b/ports/kf6archive/portfile.cmake index ec7b8abe2c..091a025e32 100644 --- a/ports/kf6archive/portfile.cmake +++ b/ports/kf6archive/portfile.cmake @@ -4,29 +4,34 @@ vcpkg_from_github( REF "v${VERSION}" SHA512 f87fd53ba029b05d3c233ea8d8a9dbb7b2aba2aec55a38b26cfd0f6e1c49d8c1297c06d634175ccc5bbbce00261a3387a2da3c705011e9cbae538eae2723fef3 HEAD_REF master + PATCHES + zstd.diff ) -vcpkg_find_acquire_program(PKGCONFIG) +vcpkg_check_features(OUT_FEATURE_OPTIONS options + FEATURES + bzip2 WITH_BZIP2 + bzip2 VCPKG_LOCK_FIND_PACKAGE_BZip2 + lzma WITH_LIBLZMA + lzma VCPKG_LOCK_FIND_PACKAGE_LibLZMA + zstd WITH_LIBZSTD + zstd VCPKG_LOCK_FIND_PACKAGE_LibZstd + INVERTED_FEATURES + translations KF_SKIP_PO_PROCESSING +) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" - DISABLE_PARALLEL_CONFIGURE OPTIONS + ${options} -DBUILD_TESTING=OFF - -DPKG_CONFIG_EXECUTABLE=${PKGCONFIG} + -DCMAKE_DISABLE_FIND_PACKAGE_Git=1 ) vcpkg_cmake_install() vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF6Archive) vcpkg_copy_pdbs() -# Static builds should not have libraries in the bin directory -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/data") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/bin/data") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") diff --git a/ports/kf6archive/vcpkg.json b/ports/kf6archive/vcpkg.json index 0248493c71..25fcca0ce3 100644 --- a/ports/kf6archive/vcpkg.json +++ b/ports/kf6archive/vcpkg.json @@ -1,21 +1,17 @@ { "name": "kf6archive", "version": "6.7.0", + "port-version": 1, "description": "File compression", - "homepage": "https://api.kde.org/frameworks/karchive/html/index.html", + "homepage": "https://invent.kde.org/frameworks/karchive", + "documentation": "https://api.kde.org/karchive-index.html", "license": "LGPL-2.0-or-later", "supports": "!xbox", "dependencies": [ - "bzip2", "ecm", - "liblzma", - "openssl", - "qtbase", { - "name": "qttools", - "features": [ - "linguist" - ] + "name": "qtbase", + "default-features": false }, { "name": "vcpkg-cmake", @@ -25,11 +21,7 @@ "name": "vcpkg-cmake-config", "host": true }, - "zlib", - "zstd" - ], - "default-features": [ - "bzip2" + "zlib" ], "features": { "bzip2": { @@ -44,10 +36,16 @@ "liblzma" ] }, - "openssl": { - "description": "Support for compressed encrypted files and data streams", + "translations": { + "description": "Install translations", "dependencies": [ - "openssl" + { + "name": "qttools", + "host": true, + "features": [ + "linguist" + ] + } ] }, "zstd": { diff --git a/ports/kf6archive/zstd.diff b/ports/kf6archive/zstd.diff new file mode 100644 index 0000000000..7f719254a4 --- /dev/null +++ b/ports/kf6archive/zstd.diff @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 10961f8..357a13d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -88,10 +88,9 @@ set_package_properties(OpenSSL PROPERTIES + ) + + +-find_package(PkgConfig ${PKGCONFIG_REQUIRED_TYPE}) + if (PkgConfig_FOUND) +- pkg_check_modules(LibZstd ${LIBZSTD_REQUIRED_TYPE} IMPORTED_TARGET "libzstd") + endif() ++find_package(LibZstd NAMES zstd) + add_feature_info(LibZstd LibZstd_FOUND + "Support for zstd compressed files and data streams" + ) +diff --git a/KF6ArchiveConfig.cmake.in b/KF6ArchiveConfig.cmake.in +index 0b8d98c..cd4bd78 100644 +--- a/KF6ArchiveConfig.cmake.in ++++ b/KF6ArchiveConfig.cmake.in +@@ -28,8 +28,7 @@ if (NOT @BUILD_SHARED_LIBS@) + endif() + + if (@LibZstd_FOUND@) +- find_package(PkgConfig) +- pkg_check_modules(LibZstd IMPORTED_TARGET "libzstd") ++ find_dependency(zstd CONFIG) + endif() + endif() + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 30ba462..46d4128 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -36,7 +36,7 @@ endif() + + if (LibZstd_FOUND) + target_sources(KF6Archive PRIVATE kzstdfilter.cpp) +- target_link_libraries(KF6Archive PRIVATE PkgConfig::LibZstd) ++ target_link_libraries(KF6Archive PRIVATE zstd::libzstd) + endif() + + diff --git a/ports/libalkimia/portfile.cmake b/ports/libalkimia/portfile.cmake index c45555c991..f7132303a4 100644 --- a/ports/libalkimia/portfile.cmake +++ b/ports/libalkimia/portfile.cmake @@ -6,32 +6,30 @@ vcpkg_from_github( HEAD_REF master ) -# Prevent KDEClangFormat from writing to source effectively blocking parallel configure -file(WRITE ${SOURCE_PATH}/.clang-format "DisableFormat: true\nSortIncludes: false\n") - vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS FEATURES - webengine BUILD_WITH_WEBENGINE tools BUILD_TOOLS + webengine BUILD_WITH_WEBENGINE ) vcpkg_cmake_configure( SOURCE_PATH "${SOURCE_PATH}" OPTIONS - -DKDE_INSTALL_QMLDIR=qml -DBUNDLE_INSTALL_DIR=bin -DBUILD_TESTING=OFF - -DBUILD_DOXYGEN_DOCS=OFF -DBUILD_WITH_WEBKIT=OFF -DBUILD_APPLETS=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=1 + -DCMAKE_DISABLE_FIND_PACKAGE_MPIR=1 ${FEATURE_OPTIONS} MAYBE_UNUSED_VARIABLES BUNDLE_INSTALL_DIR ) vcpkg_cmake_install() -vcpkg_cmake_config_fixup(PACKAGE_NAME LibAlkimia5 CONFIG_PATH lib/cmake/LibAlkimia5-8.1) vcpkg_copy_pdbs() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/LibAlkimia5-8.1 PACKAGE_NAME libalkimia5) +vcpkg_fixup_pkgconfig() if ("tools" IN_LIST FEATURES) vcpkg_copy_tools(TOOL_NAMES onlinequoteseditor5 AUTO_CLEAN) @@ -40,10 +38,4 @@ endif() file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -vcpkg_fixup_pkgconfig() - -file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LIB") diff --git a/ports/libalkimia/vcpkg.json b/ports/libalkimia/vcpkg.json index 69e3ce0cfe..6c9050f4e3 100644 --- a/ports/libalkimia/vcpkg.json +++ b/ports/libalkimia/vcpkg.json @@ -1,6 +1,7 @@ { "name": "libalkimia", "version": "8.1.72", + "port-version": 1, "description": "Common functionality for finance applications.", "homepage": "https://community.kde.org/Alkimia/libalkimia", "license": "LGPL-2.1-or-later", @@ -24,7 +25,14 @@ "kf5newstuff", "kf5textwidgets", "kf5xmlgui", - "qt5-base", + { + "name": "qt5-base", + "default-features": false + }, + { + "name": "qt5-declarative", + "default-features": false + }, "qt5-tools", { "name": "vcpkg-cmake", diff --git a/scripts/ci.feature.baseline.txt b/scripts/ci.feature.baseline.txt index a8e1bc5f01..a553413a2c 100644 --- a/scripts/ci.feature.baseline.txt +++ b/scripts/ci.feature.baseline.txt @@ -639,13 +639,11 @@ libadwaita:arm64-uwp = cascade libadwaita:arm64-windows = cascade libadwaita:x64-uwp = cascade libadwaita:x64-windows-static = cascade -libalkimia:arm64-uwp = cascade libalkimia:arm64-windows = cascade -libalkimia:x64-uwp = cascade -libalkimia:x64-windows = cascade -libalkimia:x86-windows = cascade -libalkimia[webengine]:arm64-osx = cascade +libalkimia[webengine]:x64-windows = cascade +libalkimia[webengine]:x86-windows = cascade libalkimia[webengine](static) = cascade +libalkimia(uwp) = cascade libass:arm64-uwp = cascade libass:x64-uwp = cascade libavif[aom](uwp)=cascade @@ -1496,7 +1494,6 @@ kissfft[openmp](osx) = feature-fails # No openmp on osx ktx[tools](uwp) = feature-fails # build error. See https://github.com/microsoft/vcpkg/issues/33687 lapack-reference[blas-select,cblas,noblas] = options # Cannot built feature 'cblas' together with feature 'noblas'. cblas requires blas. lapack-reference(android)=fail # no fortran compiler -libalkimia[tools](linux) = feature-fails # link errors. See https://github.com/microsoft/vcpkg/issues/32361 libcanberra[core] = combination-fails # configure: error: *** No backend enabled. *** libcanberra[core](osx) = combination-fails # see https://github.com/microsoft/vcpkg/issues/31032 libcanberra[core,defaults,gstreamer,gtk3,null](osx) = combination-fails # fatal error: 'gdk/gdkx.h' file not found diff --git a/versions/baseline.json b/versions/baseline.json index 731677f815..eeb7944a1a 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2690,7 +2690,7 @@ }, "ecm": { "baseline": "6.7.0", - "port-version": 1 + "port-version": 2 }, "ecos": { "baseline": "2.0.10", @@ -4270,7 +4270,7 @@ }, "kf5archive": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5attica": { "baseline": "5.116.0", @@ -4278,7 +4278,7 @@ }, "kf5auth": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5bookmarks": { "baseline": "5.116.0", @@ -4294,7 +4294,7 @@ }, "kf5config": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5configwidgets": { "baseline": "5.116.0", @@ -4354,15 +4354,15 @@ }, "kf5kcmutils": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5kio": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5newstuff": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5notifications": { "baseline": "5.116.0", @@ -4378,7 +4378,7 @@ }, "kf5plotting": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5service": { "baseline": "5.116.0", @@ -4398,7 +4398,7 @@ }, "kf5texteditor": { "baseline": "5.116.0", - "port-version": 0 + "port-version": 1 }, "kf5textwidgets": { "baseline": "5.116.0", @@ -4422,7 +4422,7 @@ }, "kf6archive": { "baseline": "6.7.0", - "port-version": 0 + "port-version": 1 }, "kfr": { "baseline": "6.3.1", @@ -4626,7 +4626,7 @@ }, "libalkimia": { "baseline": "8.1.72", - "port-version": 0 + "port-version": 1 }, "libao": { "baseline": "1.2.2", diff --git a/versions/e-/ecm.json b/versions/e-/ecm.json index 3493c7df8a..afd7f7b58e 100644 --- a/versions/e-/ecm.json +++ b/versions/e-/ecm.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9ea471b038a6572abea9cd7f343468ee026409f2", + "version": "6.7.0", + "port-version": 2 + }, { "git-tree": "7e876677d7266faf1a354f2e90d6d79b9f1b70e5", "version": "6.7.0", diff --git a/versions/k-/kf5archive.json b/versions/k-/kf5archive.json index 7e6a5e1bb9..ebb40ddde1 100644 --- a/versions/k-/kf5archive.json +++ b/versions/k-/kf5archive.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "5d26890dd731fe5a27d4531be7d708e1031de25c", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "37bfb60049dd8668d0bf3dc2679e22146683dd2f", "version": "5.116.0", diff --git a/versions/k-/kf5auth.json b/versions/k-/kf5auth.json index 633d2b5e07..f3c5b0c6da 100644 --- a/versions/k-/kf5auth.json +++ b/versions/k-/kf5auth.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "def12b80259f2c137150c1758b1465f54ea54b7e", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "0da631dd9e5aa5e984cf653dd07053f9178b0747", "version": "5.116.0", diff --git a/versions/k-/kf5config.json b/versions/k-/kf5config.json index f3e1c1ebf9..eea222a683 100644 --- a/versions/k-/kf5config.json +++ b/versions/k-/kf5config.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f20c4bea25434aa75e8942bc214a8a10fec236a2", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "657062cd565dc4141807a194a551df9a7159c945", "version": "5.116.0", diff --git a/versions/k-/kf5kcmutils.json b/versions/k-/kf5kcmutils.json index d21a4054d5..8ba5f160a1 100644 --- a/versions/k-/kf5kcmutils.json +++ b/versions/k-/kf5kcmutils.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f0877dd09e595bc02ad7fe4d9d149fe37f1b5bb2", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "97c583e9d188e31c8a1cf06d8877d2fa9563ce8b", "version": "5.116.0", diff --git a/versions/k-/kf5kio.json b/versions/k-/kf5kio.json index df8453da4f..ba14ab77df 100644 --- a/versions/k-/kf5kio.json +++ b/versions/k-/kf5kio.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a2d1045be719bfbe445c7bcaae85222bd4ceeb21", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "9768598a36d9ed9f3469adb73bc734c357f0334b", "version": "5.116.0", diff --git a/versions/k-/kf5newstuff.json b/versions/k-/kf5newstuff.json index 75ea737751..92f76a2be6 100644 --- a/versions/k-/kf5newstuff.json +++ b/versions/k-/kf5newstuff.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4217ad180710ebe9fcd5968a3be9532e34374ad8", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "d31861e590d70e3cbd331163a4caa5c26183596e", "version": "5.116.0", diff --git a/versions/k-/kf5plotting.json b/versions/k-/kf5plotting.json index 4cc3d2203a..97d58b3164 100644 --- a/versions/k-/kf5plotting.json +++ b/versions/k-/kf5plotting.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "4cc2d73ed9123e6795d9d4cf096d01d8aa85158d", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "e459493546e1c6c614626659143a0b4c2fdca55e", "version": "5.116.0", diff --git a/versions/k-/kf5texteditor.json b/versions/k-/kf5texteditor.json index c866ed76da..3cb84bec64 100644 --- a/versions/k-/kf5texteditor.json +++ b/versions/k-/kf5texteditor.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "680d05e28b72e68cf279fef747eb51aee934f5ed", + "version": "5.116.0", + "port-version": 1 + }, { "git-tree": "fd2fbf9228098f268d2cb1a9502c207f523cca74", "version": "5.116.0", diff --git a/versions/k-/kf6archive.json b/versions/k-/kf6archive.json index af6b91b28d..eb7a714d41 100644 --- a/versions/k-/kf6archive.json +++ b/versions/k-/kf6archive.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "38d377350523b0927cf1a68b8343d901c33081cd", + "version": "6.7.0", + "port-version": 1 + }, { "git-tree": "590a13d6a936df53932719c4d98a4f4fe8c3be60", "version": "6.7.0", diff --git a/versions/l-/libalkimia.json b/versions/l-/libalkimia.json index 7466aaa874..6a37124eb2 100644 --- a/versions/l-/libalkimia.json +++ b/versions/l-/libalkimia.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "c276848614a41be63335871dc6c76886a626a61b", + "version": "8.1.72", + "port-version": 1 + }, { "git-tree": "ce16d689569ac3f63e5c46e9384f7e54d203bfe1", "version": "8.1.72",