aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDawid Wróbel <me@dawidwrobel.com>2021-09-24 03:03:13 +0300
committerGitHub <noreply@github.com>2021-09-23 17:03:13 -0700
commit8ba8f97d92b27ba8580af6d7e2a2af4b975e826d (patch)
tree667210edcb64cee240ad426245220a48825ab515
parent14c814bfc71a8a98cdb1739a09325deca58b98bd (diff)
downloadvcpkg-8ba8f97d92b27ba8580af6d7e2a2af4b975e826d.tar.gz
vcpkg-8ba8f97d92b27ba8580af6d7e2a2af4b975e826d.zip
[kf5xmlgui] New port (#19756)
* Add kf5xmlgui port * Fixed kf5xmlgui for windows * [kf5*] update to 5.75.0 * [kf5xmlgui] update to current spec * [kf5xmlgui] update to 5.84 * [kf5xmlgui] remove extra build options * [kf5xmlgui] don't remove ksendbugmail, use vcpkg_copy_tools() instead * [kf5xmlgui] only remove what's needed * [kf5xmlgui] wrap paths in quotes * [kf5xmlgui] update versions * [kf5xmlgui] ksendbugmail is only built on Windows * [kf5xmlgui] update versions * [kf5xmlgui] add Qt Designer plugin feature * [kf5xmlgui] update versions * [kf5xmlgui] restore non-optional kglobalaccel dependency * [kf5xmlgui] update versions * [kf5xmlgui] DISABLE_PARALLEL_CONFIGURE * [kf5xmlgui] update versions * [kf5xmlgui] fix Windows static builds * [kf5xmlgui] update versions * [kf5xmlgui] add PACKAGE_NAME to vcpkg_cmake_config_fixup * [kf5xmlgui] update versions * [kf5xmlgui] fix Windows static build * [kf5xmlgui] update versions * [kf5xmlgui] add support for static builds to config.cmake * [kf5xmlgui] update versions * [kf5xmlgui] libiconv patches only for windows static builds * [kf5xmlgui] update versions * [kf5xmlgui] use semver * [kf5xmlgui] update versions * [kf5xmlgui] cleanup, iconv was fixed in kf5i18n * [kf5xmlgui] use generic, non-semver versioning * [kf5xmlgui] update versions * [kf5xmlgui] re-enable parallel configure * [kf5xmlgui] update versions * [kf5xmlgui] remove meta info from patches * [kf5xmlgui] update versions Co-authored-by: Kuntal Majumder <hellozee@disroot.org>
-rw-r--r--ports/kf5xmlgui/add_support_for_static_builds.patch29
-rw-r--r--ports/kf5xmlgui/portfile.cmake47
-rw-r--r--ports/kf5xmlgui/remove_explicit_shared_argument.patch15
-rw-r--r--ports/kf5xmlgui/vcpkg.json50
-rw-r--r--versions/baseline.json4
-rw-r--r--versions/k-/kf5xmlgui.json9
6 files changed, 154 insertions, 0 deletions
diff --git a/ports/kf5xmlgui/add_support_for_static_builds.patch b/ports/kf5xmlgui/add_support_for_static_builds.patch
new file mode 100644
index 000000000..fd1aeac66
--- /dev/null
+++ b/ports/kf5xmlgui/add_support_for_static_builds.patch
@@ -0,0 +1,29 @@
+diff --git a/KF5XmlGuiConfig.cmake.in b/KF5XmlGuiConfig.cmake.in
+index 6238ab5f..8c249eb1 100644
+--- a/KF5XmlGuiConfig.cmake.in
++++ b/KF5XmlGuiConfig.cmake.in
+@@ -12,5 +12,21 @@ find_dependency(Qt5Xml @REQUIRED_QT_VERSION@)
+ find_dependency(KF5Config "@KF_DEP_VERSION@")
+ find_dependency(KF5ConfigWidgets "@KF_DEP_VERSION@")
+
++if (NOT @BUILD_SHARED_LIBS@)
++ find_dependency(Qt5Network "@REQUIRED_QT_VERSION@")
++ find_dependency(Qt5PrintSupport "@REQUIRED_QT_VERSION@")
++
++ if (@KF5GlobalAccel_FOUND@)
++ find_dependency(KF5GlobalAccel "@KF_DEP_VERSION@")
++ endif()
++
++ find_dependency(KF5CoreAddons "@KF_DEP_VERSION@")
++ find_dependency(KF5GuiAddons "@KF_DEP_VERSION@")
++ find_dependency(KF5WidgetsAddons "@KF_DEP_VERSION@")
++ find_dependency(KF5ItemViews "@KF_DEP_VERSION@")
++ find_dependency(KF5I18n "@KF_DEP_VERSION@")
++ find_dependency(KF5IconThemes "@KF_DEP_VERSION@")
++endif()
++
+ include("${CMAKE_CURRENT_LIST_DIR}/KF5XmlGuiTargets.cmake")
+ @PACKAGE_INCLUDE_QCHTARGETS@
+--
+GitLab
+
diff --git a/ports/kf5xmlgui/portfile.cmake b/ports/kf5xmlgui/portfile.cmake
new file mode 100644
index 000000000..57f519f11
--- /dev/null
+++ b/ports/kf5xmlgui/portfile.cmake
@@ -0,0 +1,47 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO KDE/kxmlgui
+ REF v5.84.0
+ SHA512 39657ec545c1463cadec719e7c6dc546fb6d1804b5c2b86904bfffd01be173c3ead1533ec33f749343f5575785394fe659ca0be51af706911e5176d485ef7f20
+ HEAD_REF master
+ PATCHES
+ remove_explicit_shared_argument.patch # https://invent.kde.org/frameworks/kxmlgui/-/commit/d12e8f6266188ce7e221dc014a56071b8a5ef706
+ add_support_for_static_builds.patch # https://invent.kde.org/frameworks/kxmlgui/-/commit/2f1b948ad690942d4ec208c5676c11218f29181a
+)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ designerplugin BUILD_DESIGNERPLUGIN
+ )
+
+# 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
+ -DKDE_INSTALL_QTPLUGINDIR=plugins
+ ${FEATURE_OPTIONS}
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME KF5XmlGui CONFIG_PATH lib/cmake/KF5XmlGui)
+vcpkg_copy_pdbs()
+
+if (VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_copy_tools(
+ TOOL_NAMES ksendbugmail
+ AUTO_CLEAN
+ )
+endif()
+
+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")
+file(INSTALL "${SOURCE_PATH}/LICENSES/" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright") \ No newline at end of file
diff --git a/ports/kf5xmlgui/remove_explicit_shared_argument.patch b/ports/kf5xmlgui/remove_explicit_shared_argument.patch
new file mode 100644
index 000000000..9d70ea3db
--- /dev/null
+++ b/ports/kf5xmlgui/remove_explicit_shared_argument.patch
@@ -0,0 +1,15 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 2fac31b7..2f4fc881 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ add_subdirectory(ksendbugmail)
+
+-add_library(KF5XmlGui SHARED)
++add_library(KF5XmlGui)
+ add_library(KF5::XmlGui ALIAS KF5XmlGui)
+
+ if (HAVE_GLOBALACCEL)
+--
+GitLab
+
diff --git a/ports/kf5xmlgui/vcpkg.json b/ports/kf5xmlgui/vcpkg.json
new file mode 100644
index 000000000..3c57d2955
--- /dev/null
+++ b/ports/kf5xmlgui/vcpkg.json
@@ -0,0 +1,50 @@
+{
+ "name": "kf5xmlgui",
+ "version": "5.84.0",
+ "description": "Framework for managing menu and toolbar actions",
+ "homepage": "https://api.kde.org/frameworks/kxmlgui/html/index.html",
+ "dependencies": [
+ "ecm",
+ "gettext",
+ {
+ "name": "gettext",
+ "host": true,
+ "features": [
+ "tools"
+ ]
+ },
+ "kf5archive",
+ "kf5config",
+ "kf5configwidgets",
+ "kf5coreaddons",
+ {
+ "name": "kf5globalaccel",
+ "platform": "!windows & !osx & !android"
+ },
+ "kf5guiaddons",
+ "kf5i18n",
+ "kf5iconthemes",
+ "kf5itemviews",
+ "kf5widgetsaddons",
+ "kf5windowsystem",
+ {
+ "name": "libiconv",
+ "platform": "windows & static"
+ },
+ "qt5-base",
+ "qt5-tools",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ],
+ "features": {
+ "designerplugin": {
+ "description": "Enables a Qt Designer plugin"
+ }
+ }
+}
diff --git a/versions/baseline.json b/versions/baseline.json
index 25432541e..4b8322ead 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3064,6 +3064,10 @@
"baseline": "5.84.0",
"port-version": 3
},
+ "kf5xmlgui": {
+ "baseline": "5.84.0",
+ "port-version": 0
+ },
"kfr": {
"baseline": "4.2.1",
"port-version": 0
diff --git a/versions/k-/kf5xmlgui.json b/versions/k-/kf5xmlgui.json
new file mode 100644
index 000000000..a8c819144
--- /dev/null
+++ b/versions/k-/kf5xmlgui.json
@@ -0,0 +1,9 @@
+{
+ "versions": [
+ {
+ "git-tree": "5cecdc03d8c8a9d399ef6aae83e26a9cd32d2f28",
+ "version": "5.84.0",
+ "port-version": 0
+ }
+ ]
+}