Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions ports/kf6widgetsaddons/001_fix_lnk2005_windows_static.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/src/designer/CMakeLists.txt b/src/designer/CMakeLists.txt
index 1111111..2222222 100644
--- a/src/designer/CMakeLists.txt
+++ b/src/designer/CMakeLists.txt
@@ -206,3 +206,7 @@ ecm_add_qtdesignerplugin(kwidgetsaddonswidgets
INSTALL_DESTINATION "${KDE_INSTALL_QTPLUGINDIR}/designer"
COMPONENT Devel
)
+
+if(MSVC AND NOT BUILD_SHARED_LIBS)
+ target_link_options(kwidgetsaddonswidgets PRIVATE /FORCE:MULTIPLE)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is almost certainly unsafe. Can you describe the linker error this is trying to mitigate and why this is acceptable?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From my understanding, Qt changed something in some recent version, and the functions in removed_api.cpp, are not inlined in windows static builds, so this causes LNK2005 duplicate symbol errors. I think that's a bug in the qt, I'm trying to see if I can fix it in the qtbase port instead, see #50859.

+endif()
40 changes: 40 additions & 0 deletions ports/kf6widgetsaddons/portfile.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO KDE/kwidgetsaddons
REF "v${VERSION}"
SHA512 431705b493cab8247e61a10f0e57db26142adfdc96665fc37f2effc54953f6a58effd72a0ad371e519b12c910c1719f3193e51079b8b3543877bf2e1aa0ac336
HEAD_REF master
PATCHES
001_fix_lnk2005_windows_static.patch
)

# 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
designerplugin BUILD_DESIGNERPLUGIN
INVERTED_FEATURES
translations KF_SKIP_PO_PROCESSING
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DBUILD_TESTING=OFF
-DBUILD_PYTHON_BINDINGS=OFF
-DKDE_INSTALL_PLUGINDIR=plugins
-DKDE_INSTALL_QTPLUGINDIR=plugins
${FEATURE_OPTIONS}
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/KF6WidgetsAddons)
vcpkg_copy_pdbs()

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")

file(GLOB LICENSE_FILES "${SOURCE_PATH}/LICENSES/*")
vcpkg_install_copyright(FILE_LIST ${LICENSE_FILES})
49 changes: 49 additions & 0 deletions ports/kf6widgetsaddons/vcpkg.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"name": "kf6widgetsaddons",
"version": "6.23.0",
"description": "Addons to QtWidgets",
"homepage": "https://invent.kde.org/frameworks/kwidgetsaddons",
"documentation": "https://api.kde.org/kwidgetsaddons-index.html",
"dependencies": [
"ecm",
{
"name": "qtbase",
"default-features": false
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"designerplugin": {
"description": "Build Qt Designer plugin",
"dependencies": [
{
"name": "qttools",
"default-features": false,
"features": [
"designer"
]
}
]
},
"translations": {
"description": "Build and install translations",
"dependencies": [
{
"name": "qttools",
"host": true,
"default-features": false,
"features": [
"linguist"
]
}
]
}
}
}
4 changes: 4 additions & 0 deletions versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -4424,6 +4424,10 @@
"baseline": "6.22.0",
"port-version": 0
},
"kf6widgetsaddons": {
"baseline": "6.23.0",
"port-version": 0
},
"kfr": {
"baseline": "6.3.1",
"port-version": 0
Expand Down
9 changes: 9 additions & 0 deletions versions/k-/kf6widgetsaddons.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "bcf8fd8afa48f8b11c42c91f50de45cfc818b91c",
"version": "6.23.0",
"port-version": 0
}
]
}
Loading