From 94d39113dc8ddd93e252b0b373389c1c2324dda5 Mon Sep 17 00:00:00 2001 From: Schrijvers Luc Date: Tue, 28 May 2024 13:53:14 +0200 Subject: [PATCH] Add KF6 frameworks, kconfig6 (#10483) --- kde-frameworks/kconfig/kconfig6-6.2.0.recipe | 109 +++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 kde-frameworks/kconfig/kconfig6-6.2.0.recipe diff --git a/kde-frameworks/kconfig/kconfig6-6.2.0.recipe b/kde-frameworks/kconfig/kconfig6-6.2.0.recipe new file mode 100644 index 000000000..5bd37729f --- /dev/null +++ b/kde-frameworks/kconfig/kconfig6-6.2.0.recipe @@ -0,0 +1,109 @@ +SUMMARY="Persistent platform-independent application settings" +DESCRIPTION="KConfig provides an advanced configuration system. It is made \ +of two parts: KConfigCore and KConfigGui. + +KConfigCore provides access to the configuration files themselves. It features: + +* Code generation: describe your configuration in an XML file, and use \ +kconfig_compiler to generate classes that read and write configuration \ +entries. +* Cascading configuration files (global settings overridden by local settings). +* Optional shell expansion support (see [docs/options.md](@ref options)). +* The ability to lock down configuration options (see [docs/options.md](@ref \ +options)). +KConfigGui provides a way to hook widgets to the configuration so that they \ +are automatically initialized from the configuration and automatically \ +propagate their changes to their respective configuration files." +HOMEPAGE="https://invent.kde.org/frameworks/kconfig" +COPYRIGHT="2010-2024 KDE Organisation" +LICENSE="GNU LGPL v2" +REVISION="1" +SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/kconfig-${portVersion}.tar.xz" +CHECKSUM_SHA256="2512bc036fc40cdc23345cbf8037853c7afdc93b7f81528547a451e0f8c429e9" +SOURCE_DIR="kconfig-$portVersion" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + kconfig6$secondaryArchSuffix = $portVersion + cmd:kreadconfig6$secondaryArchSuffix = $portVersion + cmd:kwriteconfig6$secondaryArchSuffix = $portVersion + lib:libKF6ConfigCore$secondaryArchSuffix = $libVersionCompat + lib:libKF6ConfigGui$secondaryArchSuffix = $libVersionCompat + lib:libKF6ConfigQml$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libQt6Core$secondaryArchSuffix + lib:libQt6Gui$secondaryArchSuffix + lib:libQt6Qml$secondaryArchSuffix + lib:libQt6Xml$secondaryArchSuffix + " + +PROVIDES_devel=" + kconfig6${secondaryArchSuffix}_devel = $portVersion + devel:libKF6ConfigCore$secondaryArchSuffix = $libVersionCompat + devel:libKF6ConfigGui$secondaryArchSuffix = $libVersionCompat + devel:libKF6ConfigQml$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + kconfig6$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix >= $portVersion + qt6_tools${secondaryArchSuffix}_devel + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Qml$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:dot + cmd:doxygen >= 1.9 + cmd:g++$secondaryArchSuffix + cmd:make + " + +TEST_REQUIRES=" + qthaikuplugins$secondaryArchSuffix + " + +BUILD() +{ + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DKDE_INSTALL_QMLDIR=$dataDir/Qt6/qml \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DBUILD_QCH=ON \ + -DBUILD_TESTING=OFF + make -C build $jobArgs +} + +INSTALL() +{ + make -Cbuild install + + prepareInstalledDevelLibs \ + libKF6ConfigCore \ + libKF6ConfigGui \ + libKF6ConfigQml + fixPkgconfig + + packageEntries devel \ + $developDir \ + $dataDir/doc \ + $libDir/cmake +} + +TEST() +{ + # 93% tests passed, 3 tests failed out of 45 (opens a few windows) + export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}" + make -Cbuild test +}