diff options
| author | Dawid Wróbel <me@dawidwrobel.com> | 2021-09-01 20:29:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-01 11:29:13 -0700 |
| commit | aa65c404c67410d1b2991d2b13386969f228edb0 (patch) | |
| tree | f04547e353ef2510d683a0a8f4ad3c3ead5a2ed8 | |
| parent | d55546a5bf05ac68cecc7401e211b2ba2e5dbe7e (diff) | |
| download | vcpkg-aa65c404c67410d1b2991d2b13386969f228edb0.tar.gz vcpkg-aa65c404c67410d1b2991d2b13386969f228edb0.zip | |
[kf5coreaddons] fix Windows static builds & CMake Config (#19439)
* [kf5coreaddons] fix Windows static builds
https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/122
Also:
- replace deprecated functions
- embrace paths in quotes
- actually remove the folders that need to be removed
* [kf5coreaddons] update versions
* [kf5coreaddons] delete redundant REMOVE
* [kf5coreaddons] update versions
* [kf5coreaddons] save data files to default /share location
* [kf5coreaddons] update versions
* [kf5coreaddons] fix CMake Config for static builds
* [kf5coreaddons] update versions
* [kf5coreaddons] update versions
* [kf5coreaddons] fix vcpkg_cmake_config_fixup() usage
* [kf5coreaddons] update versions
* [kf5coreaddons] workaround Linux Inotify issue
* [kf5coreaddons] update versions
* [kf5coreaddons] rename patch file
* [kf5coreaddons] update versions
| -rw-r--r-- | ports/kf5coreaddons/fix_cmake_config.patch | 38 | ||||
| -rw-r--r-- | ports/kf5coreaddons/fix_static_build.patch | 51 | ||||
| -rw-r--r-- | ports/kf5coreaddons/portfile.cmake | 27 | ||||
| -rw-r--r-- | ports/kf5coreaddons/vcpkg.json | 13 | ||||
| -rw-r--r-- | versions/baseline.json | 2 | ||||
| -rw-r--r-- | versions/k-/kf5coreaddons.json | 5 |
6 files changed, 116 insertions, 20 deletions
diff --git a/ports/kf5coreaddons/fix_cmake_config.patch b/ports/kf5coreaddons/fix_cmake_config.patch new file mode 100644 index 000000000..059da3c70 --- /dev/null +++ b/ports/kf5coreaddons/fix_cmake_config.patch @@ -0,0 +1,38 @@ +From 4588b0052c11189aa6872e3c3c13f05dbae0c26e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dawid=20Wro=CC=81bel?= <me@dawidwrobel.com> +Date: Fri, 27 Aug 2021 02:02:08 +0200 +Subject: [PATCH] Add support for static builds + +--- + KF5CoreAddonsConfig.cmake.in | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/KF5CoreAddonsConfig.cmake.in b/KF5CoreAddonsConfig.cmake.in +index f86b69ff..f9e0d31f 100644 +--- a/KF5CoreAddonsConfig.cmake.in ++++ b/KF5CoreAddonsConfig.cmake.in +@@ -18,6 +18,21 @@ else() + set_target_properties(KF5::desktoptojson PROPERTIES IMPORTED_LOCATION ${DESKTOPTOJSON_EXECUTABLE}) + endif() + endif() ++ ++if(NOT @BUILD_SHARED_LIBS@) ++ if(NOT WIN32) ++ find_dependency(Threads) ++ endif() ++ ++ if(@Inotify_FOUND@) ++ find_package(Inotify) # https://bugs.kde.org/show_bug.cgi?id=441604 ++ endif() ++ ++ if(@Procstat_FOUND@) ++ find_dependency(Procstat) ++ endif() ++endif() ++ + include("${CMAKE_CURRENT_LIST_DIR}/KF5CoreAddonsTargets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/KF5CoreAddonsMacros.cmake") + @PACKAGE_INCLUDE_QCHTARGETS@ +-- +GitLab + diff --git a/ports/kf5coreaddons/fix_static_build.patch b/ports/kf5coreaddons/fix_static_build.patch new file mode 100644 index 000000000..400af0032 --- /dev/null +++ b/ports/kf5coreaddons/fix_static_build.patch @@ -0,0 +1,51 @@ +From de4e22fe644d5df9066ba78f778032a42c2f19b9 Mon Sep 17 00:00:00 2001 +From: Nicolas Fella <nicolas.fella@gmx.de> +Date: Sat, 7 Aug 2021 17:24:44 +0200 +Subject: [PATCH] Fix issue when building KCrash static + +KCoreAddons forward declares a function from KCrash. + +It contains a Q_DECL_IMPORT but that breaks when doing a static build. + +Only add the Q_DECL_IMPORT when we are doing a dynamic build. + +BUG: 440416 +--- + src/lib/CMakeLists.txt | 4 ++++ + src/lib/kaboutdata.h | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt +index 8e9006fd..b3ea957f 100644 +--- a/src/lib/CMakeLists.txt ++++ b/src/lib/CMakeLists.txt +@@ -16,6 +16,10 @@ configure_file(util/config-accountsservice.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/c + add_library(KF5CoreAddons) + add_library(KF5::CoreAddons ALIAS KF5CoreAddons) + ++if(NOT BUILD_SHARED_LIBS) ++ target_compile_definitions(KF5CoreAddons PUBLIC -DKCOREADDONS_STATIC) ++endif() ++ + ecm_create_qm_loader(KF5CoreAddons kcoreaddons5_qt) + + if (FAM_FOUND) +diff --git a/src/lib/kaboutdata.h b/src/lib/kaboutdata.h +index 4309b145..a0222861 100644 +--- a/src/lib/kaboutdata.h ++++ b/src/lib/kaboutdata.h +@@ -27,7 +27,11 @@ class KAboutData; + class KPluginMetaData; + namespace KCrash + { ++#ifdef KCOREADDONS_STATIC ++void defaultCrashHandler(int sig); ++#else + Q_DECL_IMPORT void defaultCrashHandler(int sig); ++#endif + } + + /** +-- +GitLab + diff --git a/ports/kf5coreaddons/portfile.cmake b/ports/kf5coreaddons/portfile.cmake index 09c9baf84..24f1d7841 100644 --- a/ports/kf5coreaddons/portfile.cmake +++ b/ports/kf5coreaddons/portfile.cmake @@ -3,22 +3,20 @@ vcpkg_from_github( REPO KDE/kcoreaddons
REF v5.84.0
SHA512 58a802d03bea135c192265651540f9f87066b20ee4af620a94a874ec3992c5e734d1ab1e4ccb082de97389fa3479fd3672ec586c3dd36c9b4a5422c7be98d119
+ PATCHES
+ fix_static_build.patch # https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/122
+ fix_cmake_config.patch # https://invent.kde.org/frameworks/kcoreaddons/-/merge_requests/129
)
-vcpkg_configure_cmake(
+vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
DISABLE_PARALLEL_CONFIGURE
- PREFER_NINJA
OPTIONS
- -DBUILD_HTML_DOCS=OFF
- -DBUILD_MAN_DOCS=OFF
- -DBUILD_QTHELP_DOCS=OFF
-DBUILD_TESTING=OFF
- -DKDE_INSTALL_DATAROOTDIR=data
)
-vcpkg_install_cmake()
-vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/KF5CoreAddons)
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME KF5CoreAddons CONFIG_PATH lib/cmake/KF5CoreAddons)
vcpkg_copy_pdbs()
vcpkg_copy_tools(
@@ -26,18 +24,13 @@ vcpkg_copy_tools( AUTO_CLEAN
)
-file(APPEND ${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf "Data = ../../data")
+file(APPEND "${CURRENT_PACKAGES_DIR}/tools/${PORT}/qt.conf" "Data = ../../share")
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/data)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin/data)
-file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/desktoptojson${EXECUTABLE_SUFFIX})
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/etc)
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/etc)
+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(INSTALL ${SOURCE_PATH}/LICENSES/ DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
\ No newline at end of file +file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright")
\ No newline at end of file diff --git a/ports/kf5coreaddons/vcpkg.json b/ports/kf5coreaddons/vcpkg.json index 7308ce994..7d81987f0 100644 --- a/ports/kf5coreaddons/vcpkg.json +++ b/ports/kf5coreaddons/vcpkg.json @@ -1,11 +1,20 @@ { "name": "kf5coreaddons", - "version": "5.84.0", + "version-semver": "5.84.0", + "port-version": 1, "description": "Addons to QtCore", "homepage": "https://api.kde.org/frameworks/kcoreaddons/html/index.html", "dependencies": [ "ecm", "qt5-base", - "qt5-tools" + "qt5-tools", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } ] } diff --git a/versions/baseline.json b/versions/baseline.json index 15aed3900..e1fda552b 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -2910,7 +2910,7 @@ }, "kf5coreaddons": { "baseline": "5.84.0", - "port-version": 0 + "port-version": 1 }, "kf5crash": { "baseline": "5.84.0", diff --git a/versions/k-/kf5coreaddons.json b/versions/k-/kf5coreaddons.json index 9fd80548b..3527c22e7 100644 --- a/versions/k-/kf5coreaddons.json +++ b/versions/k-/kf5coreaddons.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "001ac94bfbadcc7b05c30448bff3adc9e2dc08dd", + "version-semver": "5.84.0", + "port-version": 1 + }, + { "git-tree": "0afc60c5f0db7847953d1082a96b5a4844047f02", "version": "5.84.0", "port-version": 0 |
