ECM, revbump, add some more installation path prefixes for Haiku (#13097)

This commit is contained in:
Schrijvers Luc
2025-10-25 09:00:14 +02:00
committed by GitHub
parent cf2585a3fe
commit 4e32ad7d88
2 changed files with 116 additions and 22 deletions

View File

@@ -7,7 +7,7 @@ commandline by the user."
HOMEPAGE="https://invent.kde.org/frameworks/extra-cmake-modules"
COPYRIGHT="2010-2025 KDE Organisation"
LICENSE="BSD (2-clause)"
REVISION="1"
REVISION="2"
SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/extra-cmake-modules-$portVersion.tar.xz"
CHECKSUM_SHA256="a4f0c1d8181f43e9af4b9b44696c77760b5bc9dae5bdb921f090bce664e9ca84"
SOURCE_DIR="extra-cmake-modules-$portVersion"

View File

@@ -1,4 +1,4 @@
From 47cbfb1ec77bd1dcd424ea03fdafd3fd28c79cc3 Mon Sep 17 00:00:00 2001
From b1328890b343d60a73e2d75cb376bebb934bafd6 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Mon, 16 Dec 2019 16:01:30 +0300
Subject: don't default to using debug build type on Haiku...
@@ -22,7 +22,7 @@ index 1f6193c..b097396 100644
2.51.0
From ef10f7e0b065ccf12b9776ed86d2309146eae5b2 Mon Sep 17 00:00:00 2001
From dc731bd638e36f1e6cbf261c71007c0419ad4c87 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Sun, 8 May 2022 21:16:49 +1000
Subject: Add Haiku platform check
@@ -47,7 +47,7 @@ index 7e354dd..357f4b6 100644
2.51.0
From 459bd4ebc6571c6d6be0d3d1e65cc6d8192c046b Mon Sep 17 00:00:00 2001
From 88e380bfa799a16b6a4c62bc5d4fc5bb84a0cdcd Mon Sep 17 00:00:00 2001
From: Schrijvers Luc <begasus@gmail.com>
Date: Wed, 28 Feb 2024 11:48:23 +0100
Subject: demote_unsupported_platform_error_to_a_warning
@@ -70,7 +70,7 @@ index 357f4b6..45152c8 100644
2.51.0
From 5634e971c3fd3bedf5e064a394fefcf481fb1447 Mon Sep 17 00:00:00 2001
From 8767eade6b0e2e9c6a39bb9b3109adf229713af5 Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
Date: Tue, 20 May 2025 16:21:06 +0200
Subject: Fix hardcoded paths, we don't use /usr/*
@@ -122,41 +122,70 @@ index d59c1b8..e6aa25f 100644
2.51.0
From 6b0071ce6b7cc185a0b427c3e2f9920b2a5cf1dc Mon Sep 17 00:00:00 2001
From 078dced5eaa3a235f0c4a3dade8b2d7fc80755ac Mon Sep 17 00:00:00 2001
From: Luc Schrijvers <begasus@gmail.com>
Date: Thu, 16 Oct 2025 14:39:36 +0200
Subject: Set QTPLUGINDIR,QMLDIR and QCHDIR for Haiku
Also set default path for DATAROOTDIR and INCLUDEDIR
diff --git a/kde-modules/KDEInstallDirs5.cmake b/kde-modules/KDEInstallDirs5.cmake
index 4550dd1..efaa13c 100644
index 4550dd1..f493afd 100644
--- a/kde-modules/KDEInstallDirs5.cmake
+++ b/kde-modules/KDEInstallDirs5.cmake
@@ -295,6 +295,15 @@ else()
@@ -241,6 +241,8 @@ include(${CMAKE_CURRENT_LIST_DIR}/KDEInstallDirsCommon.cmake)
if(WIN32)
_define_non_cache(LIBEXECDIR_KF5 "${CMAKE_INSTALL_LIBEXECDIR}")
+elseif(HAIKU)
+ _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBDIR}/kf5")
else()
_define_non_cache(LIBEXECDIR_KF5 "${CMAKE_INSTALL_LIBEXECDIR}/kf5")
endif()
@@ -295,17 +297,31 @@ else()
set(_pluginsDirParent)
#androiddeployqt wants plugins right in the prefix
endif()
- _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins"
- "Qt plugins"
- QT_PLUGIN_INSTALL_DIR)
-
- _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
- "QtQuick1 imports"
- IMPORTS_INSTALL_DIR)
-
- _define_relative(QMLDIR LIBDIR "qml"
- "QtQuick2 imports"
- QML_INSTALL_DIR)
+ if (HAIKU)
+ set(_pluginsDirParent)
+ #haikudeployqt wants plugins right in the prefix
+ _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "add-ons/Qt5"
+ "Qt plugins")
+
+ _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
+ "QtQuick1 imports"
+ IMPORTS_INSTALL_DIR)
+
+ _define_relative(QMLDIR DATADIR "Qt5/qml"
+ "QtQuick2 imports")
+ else()
_define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins"
"Qt plugins"
QT_PLUGIN_INSTALL_DIR)
@@ -306,6 +315,7 @@ else()
_define_relative(QMLDIR LIBDIR "qml"
"QtQuick2 imports"
QML_INSTALL_DIR)
+ _define_relative(QTPLUGINDIR "${_pluginsDirParent}" "plugins"
+ "Qt plugins"
+ QT_PLUGIN_INSTALL_DIR)
+
+ _define_relative(QTQUICKIMPORTSDIR QTPLUGINDIR "imports"
+ "QtQuick1 imports"
+ IMPORTS_INSTALL_DIR)
+
+ _define_relative(QMLDIR LIBDIR "qml"
+ "QtQuick2 imports"
+ QML_INSTALL_DIR)
+ endif()
endif()
_define_relative(PLUGINDIR QTPLUGINDIR ""
@@ -330,8 +340,16 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
@@ -330,8 +346,16 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
_define_absolute(QTQCHDIR ${qt_docs_dir}
"documentation bundles in QCH format for Qt-extending libraries")
else()
@@ -164,9 +193,9 @@ index 4550dd1..efaa13c 100644
- "documentation bundles in QCH format for Qt-extending libraries")
+ set(_qchDirParent DATAROOTDIR)
+ if(HAIKU)
+ set(_qchDirParent)
+ set(_qchDirParent)
+ #haikudeployqt wants documentation right in the prefix
+ _define_relative(QTQCHDIR "${_qchDirParent}" "documentation/packages/qt5_base"
+ _define_relative(QTQCHDIR "${_qchDirParent}" "documentation/packages/qt6_base"
+ "documentation bundles in QCH format for Qt-extending libraries")
+ else()
+ _define_relative(QTQCHDIR "${_qchDirParent}" "doc/qch"
@@ -176,10 +205,19 @@ index 4550dd1..efaa13c 100644
diff --git a/kde-modules/KDEInstallDirs6.cmake b/kde-modules/KDEInstallDirs6.cmake
index b71c535..8cf8944 100644
index b71c535..80a1fb6 100644
--- a/kde-modules/KDEInstallDirs6.cmake
+++ b/kde-modules/KDEInstallDirs6.cmake
@@ -244,11 +244,21 @@ else()
@@ -200,6 +200,8 @@ include(${CMAKE_CURRENT_LIST_DIR}/KDEInstallDirsCommon.cmake)
if(WIN32)
_define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}")
+elseif(HAIKU)
+ _define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBDIR}/kf6")
else()
_define_non_cache(LIBEXECDIR_KF "${CMAKE_INSTALL_LIBEXECDIR}/kf6")
endif()
@@ -244,11 +246,21 @@ else()
set(_pluginsDirParent)
#androiddeployqt wants plugins right in the prefix
endif()
@@ -206,7 +244,7 @@ index b71c535..8cf8944 100644
endif()
_define_relative(PLUGINDIR QTPLUGINDIR ""
@@ -264,8 +274,16 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
@@ -264,8 +276,16 @@ if(KDE_INSTALL_USE_QT_SYS_PATHS)
_define_absolute(QTQCHDIR ${qt_docs_dir} "documentation bundles in QCH format for Qt-extending libraries")
else()
@@ -214,7 +252,7 @@ index b71c535..8cf8944 100644
- "documentation bundles in QCH format for Qt-extending libraries")
+ set(_qchDirParent DATAROOTDIR)
+ if(HAIKU)
+ set(_qchDirParent)
+ set(_qchDirParent)
+ #haikudeployqt wants documentation right in the prefix
+ _define_relative(QTQCHDIR "${_qchDirParent}" "documentation/packages/qt6_base"
+ "documentation bundles in QCH format for Qt-extending libraries")
@@ -225,6 +263,62 @@ index b71c535..8cf8944 100644
endif()
diff --git a/kde-modules/KDEInstallDirsCommon.cmake b/kde-modules/KDEInstallDirsCommon.cmake
index 30726b7..2bc4f47 100644
--- a/kde-modules/KDEInstallDirsCommon.cmake
+++ b/kde-modules/KDEInstallDirsCommon.cmake
@@ -266,6 +266,10 @@ if(WIN32)
_define_relative(LIBEXECDIR BINDIR ""
"executables for internal use by programs and libraries"
LIBEXEC_INSTALL_DIR)
+elseif(HAIKU)
+ _define_relative(LIBEXECDIR LIBDIR ""
+ "executables for internal use by programs and libraries"
+ LIBEXEC_INSTALL_DIR)
else()
_define_relative(LIBEXECDIR LIBDIR "libexec"
"executables for internal use by programs and libraries"
@@ -276,9 +280,15 @@ _define_relative(CMAKEPACKAGEDIR LIBDIR "cmake"
"CMake packages, including config files"
CMAKECONFIG_INSTALL_PREFIX)
+if(HAIKU)
+_define_absolute(INCLUDEDIR "develop/headers"
+ "C and C++ header files"
+ INCLUDE_INSTALL_DIR)
+else()
_define_absolute(INCLUDEDIR "include"
"C and C++ header files"
INCLUDE_INSTALL_DIR)
+endif()
set(_default_localstate_dir "var")
if (CMAKE_INSTALL_PREFIX STREQUAL "/usr")
@@ -295,6 +305,10 @@ if (WIN32)
_define_relative(DATAROOTDIR BINDIR "data"
"read-only architecture-independent data root"
SHARE_INSTALL_PREFIX)
+elseif(HAIKU)
+ _define_absolute(DATAROOTDIR "data"
+ "read-only architecture-independent data root"
+ SHARE_INSTALL_PREFIX)
else()
_define_absolute(DATAROOTDIR "share"
"read-only architecture-independent data root"
@@ -352,8 +366,13 @@ _define_relative(MIMEDIR DATAROOTDIR "mime/packages"
XDG_MIME_INSTALL_DIR)
_define_relative(METAINFODIR DATAROOTDIR "metainfo"
"AppStream component metadata")
+if(HAIKU)
+_define_relative(QCHDIR DATAROOTDIR "documentation/packages/qt6_base"
+ "documentation bundles in QCH format")
+else()
_define_relative(QCHDIR DATAROOTDIR "doc/qch"
"documentation bundles in QCH format")
+endif()
_define_relative(MANDIR DATAROOTDIR "man"
"man documentation"
MAN_INSTALL_DIR)
--
2.51.0