Files
haikuports/kde-frameworks/threadweaver/threadweaver-5.115.0.recipe
2024-02-29 21:56:12 +10:00

88 lines
2.1 KiB
Bash

SUMMARY="Helper for multithreaded programming"
DESCRIPTION="ThreadWeaver is a helper for multithreaded programming. It uses \
a job-based interface to queue tasks and execute them in an efficient way.
You simply divide the workload into jobs, state the dependencies between the \
jobs and ThreadWeaver will work out the most efficient way of dividing the \
work between threads within a set of resource limits.
See the information on [use cases](@ref usecases) and [why multithreading can \
help](@ref multithreading), as well as the usage section below, for more \
detailed information."
HOMEPAGE="https://invent.kde.org/frameworks/threadweaver/"
COPYRIGHT="2010-2024 KDE Organisation"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/threadweaver-${portVersion}.tar.xz"
CHECKSUM_SHA256="9fd08658f5b5bf3879217834ed392da245f16ae1199795f72423336d48d24eb8"
PATCHES="threadweaver-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
threadweaver$secondaryArchSuffix = $portVersion
lib:libKF5ThreadWeaver$secondaryArchSuffix = $portVersion compat >= 5
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
"
PROVIDES_devel="
threadweaver${secondaryArchSuffix}_devel = $portVersion
devel:libKF5ThreadWeaver$secondaryArchSuffix = $portVersion compat >= 5
"
REQUIRES_devel="
threadweaver$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix >= $portVersion
devel:libQt5Core$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
"
PATCH()
{
sed -e '/platforms:/ a \ \ \ \ - name: Haiku' -i $sourceDir/metainfo.yaml
}
BUILD()
{
mkdir -p build
cd build
cmake .. $cmakeDirArgs \
-DCMAKE_BUILD_TYPE=Release \
-DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt5/mkspecs \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make $jobArgs
}
INSTALL()
{
cd build
make install
prepareInstalledDevelLibs \
libKF5ThreadWeaver
packageEntries devel \
$libDir/cmake \
$dataDir/Qt5/mkspecs \
$developDir
}
TEST()
{
cd build
make test
}