Files
haikuports/kde-frameworks/kcompletion/kcompletion6-6.25.0.recipe
2026-04-14 08:22:51 +00:00

118 lines
3.3 KiB
Bash

SUMMARY="Powerful completion framework"
DESCRIPTION="When typing filenames, email addresses and other text where the \
user often wants to select from existing data (including what they previously \
typed) rather than enter anything wholly original, users often find it \
helpful if they only need to type the first few characters, and then have the \
application offer them a set of choices or attempt to finish off what they \
were typing. Email clients, shells and \"open file\" dialogs often provide this \
functionality.
This framework helps implement this in Qt-based applications. You can use one \
of the completion-ready widgets provided by this framework, or integrate it \
into your application's other widgets directly."
HOMEPAGE="https://invent.kde.org/frameworks/kcompletion"
COPYRIGHT="2010-2026 KDE Organisation"
LICENSE="BSD (2-clause)"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/kcompletion-${portVersion}.tar.xz"
CHECKSUM_SHA256="e4138d525eb9e27a9222d655e412c0de8b4bd7b34289d1c7ca5a808e20b53238"
SOURCE_DIR="kcompletion-$portVersion"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
kcompletion6$secondaryArchSuffix = $portVersion
lib:libKF6Completion$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libKF6Codecs$secondaryArchSuffix
lib:libKF6ConfigCore$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Xml$secondaryArchSuffix
"
PROVIDES_devel="
kcompletion6${secondaryArchSuffix}_devel = $portVersion
devel:libKF6Completion$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
kcompletion6$secondaryArchSuffix == $portVersion base
"
ARCHITECTURES_doc="any"
PROVIDES_doc="
kcompletion6_doc = $portVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix >= $portVersion
qt6_tools${secondaryArchSuffix}_devel
devel:libKF6Codecs$secondaryArchSuffix >= $libVersion
devel:libKF6ConfigCore$secondaryArchSuffix >= $libVersion
devel:libKF6WidgetsAddons$secondaryArchSuffix >= $libVersion
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6Qml$secondaryArchSuffix
devel:libQt6Xml$secondaryArchSuffix
"
BUILD_PREREQUIRES="
kde_qdoc_common
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
TEST_REQUIRES="
qthaikuplugins$secondaryArchSuffix
"
BUILD()
{
export KDE_DOCS="`finddir B_SYSTEM_DATA_DIRECTORY`"/kde-qdoc-common
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_SKIP_RPATH=YES \
-DBUILD_TESTING=OFF \
-Wno-dev
make -C build $jobArgs
cmake --build build --target prepare_docs
cmake --build build --target generate_docs
cmake --build build --target generate_qch
}
INSTALL()
{
make -C build install
# cmake --build build --target install_html_docs
cmake --build build --target install_qch_docs
prepareInstalledDevelLib \
libKF6Completion
packageEntries devel \
$developDir \
$libDir/cmake
packageEntries doc \
$documentationDir
}
TEST()
{
export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}"
make -Cbuild test
}