diff --git a/kde-frameworks/threadweaver/patches/threadweaver-6.2.0.patchset b/kde-frameworks/threadweaver/patches/threadweaver-6.2.0.patchset new file mode 100644 index 000000000..130cc6081 --- /dev/null +++ b/kde-frameworks/threadweaver/patches/threadweaver-6.2.0.patchset @@ -0,0 +1,22 @@ +From 9e1569073c8a77a85c485894719c9ee7dcb84358 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Thu, 18 Mar 2021 16:00:29 +0300 +Subject: Fix build on Haiku + + +diff --git a/examples/ThumbNailer/AverageLoadManager.cpp b/examples/ThumbNailer/AverageLoadManager.cpp +index de27a85..16e063b 100644 +--- a/examples/ThumbNailer/AverageLoadManager.cpp ++++ b/examples/ThumbNailer/AverageLoadManager.cpp +@@ -46,7 +46,7 @@ QPair AverageLoadManager::workersRange() const + + void AverageLoadManager::update() + { +-#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) ++#if defined(Q_OS_UNIX) && !defined(Q_OS_ANDROID) && !defined(Q_OS_HAIKU) + double averages[3]; + if (getloadavg(averages, 3) == -1) { + return; +-- +2.43.2 + diff --git a/kde-frameworks/threadweaver/threadweaver6-6.2.0.recipe b/kde-frameworks/threadweaver/threadweaver6-6.2.0.recipe new file mode 100644 index 000000000..e83757d03 --- /dev/null +++ b/kde-frameworks/threadweaver/threadweaver6-6.2.0.recipe @@ -0,0 +1,85 @@ +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="e74de2df0bb50148acc8a6161f9809991ae4b2334b58a9ee092ba1d827044337" +SOURCE_DIR="threadweaver-$portVersion" +PATCHES="threadweaver-$portVersion.patchset" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +libVersion="$portVersion" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + threadweaver6$secondaryArchSuffix = $portVersion + lib:libKF6ThreadWeaver$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libQt6Core$secondaryArchSuffix + " + +PROVIDES_devel=" + threadweaver6${secondaryArchSuffix}_devel = $portVersion + devel:libKF6ThreadWeaver$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + threadweaver6$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + extra_cmake_modules$secondaryArchSuffix >= $portVersion + qt6_tools${secondaryArchSuffix}_devel + devel:libQt6Core$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:dot + cmd:doxygen >= 1.9 + cmd:g++$secondaryArchSuffix + cmd:make + " + +BUILD() +{ + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ + -DBUILD_QCH=ON \ + -DBUILD_TESTING=OFF + make -Cbuild $jobArgs +} + +INSTALL() +{ + make -Cbuild install + + prepareInstalledDevelLib \ + libKF6ThreadWeaver + + packageEntries devel \ + $developDir \ + $dataDir/doc \ + $libDir/cmake +} + +TEST() +{ + export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}" + make -Cbuild test +}