mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
Add KF6 frameworks, threadweaver6 (#10526)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
From 9e1569073c8a77a85c485894719c9ee7dcb84358 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Reznikov <diver@gelios.net>
|
||||
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<int, int> 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
|
||||
|
||||
85
kde-frameworks/threadweaver/threadweaver6-6.2.0.recipe
Normal file
85
kde-frameworks/threadweaver/threadweaver6-6.2.0.recipe
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user