Add KF6 frameworks, kconfig6 (#10483)

This commit is contained in:
Schrijvers Luc
2024-05-28 13:53:14 +02:00
committed by GitHub
parent d5a889f5d5
commit 94d39113dc

View File

@@ -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
}