diff --git a/dev-qt/kdsingleapplication/kdsingleapplication-1.0.0.recipe b/dev-qt/kdsingleapplication/kdsingleapplication-1.0.0.recipe new file mode 100644 index 000000000..bd56c964f --- /dev/null +++ b/dev-qt/kdsingleapplication/kdsingleapplication-1.0.0.recipe @@ -0,0 +1,83 @@ +SUMMARY="KDAB's helper class for single-instance policy applications" +DESCRIPTION="Currently the documentation is woefully lacking, but see the examples or tests for \ +inspiration. Basically it involves: + +1. Create a 'Q(Core|Gui)Application' object. +2. Create a 'KDSingleApplication' object. +3. Check if the current instance is *primary* (or "master") or *secondary* (or "slave") by \ +calling 'isPrimaryInstance': + * the *primary* instance needs to listen from messages coming from the secondary instances, \ +by connecting a slot to the 'messageReceived' signal; + * the *secondary* instances can send messages to the primary instance by calling \ +'sendMessage'." +HOMEPAGE="https://github.com/KDAB/KDSingleApplication" +COPYRIGHT="2019-2023 Klarälvdalens Datakonsult AB" +LICENSE="BSD (3-clause) + MIT" +REVISION="1" +SOURCE_URI="$HOMEPAGE/releases/download/v$portVersion/kdsingleapplication-$portVersion.tar.gz" +CHECKSUM_SHA256="c92355dc10f3ebd39363458458fb5bdd9662e080cf77d91f0437763c4d936520" + +ARCHITECTURES="all !x86_gcc2" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + kdsingleapplication$secondaryArchSuffix = $portVersion + lib:libkdsingleapplication_qt6$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libQt6Core$secondaryArchSuffix + lib:libQt6Network$secondaryArchSuffix + " + +PROVIDES_devel=" + kdsingleapplication${secondaryArchSuffix}_devel = $portVersion + devel:libkdsingleapplication_qt6$secondaryArchSuffix = $portVersion + " +REQUIRES_devel=" + kdsingleapplication$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libQt6Core$secondaryArchSuffix + devel:libQt6Dbus$secondaryArchSuffix + devel:libQt6Gui$secondaryArchSuffix + devel:libQt6Network$secondaryArchSuffix + devel:libQt6Widgets$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:g++$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DKDSingleApplication_QT6=ON \ + -DECM_MKSPECS_INSTALL_DIR=$dataDir/Qt6/mkspecs \ + -DKDSingleApplication_TESTS=OFF + make -C build $jobArgs +} + +INSTALL() +{ + make -C build install + + prepareInstalledDevelLib \ + libkdsingleapplication-qt6 + + packageEntries devel \ + $libDir/cmake \ + $dataDir \ + $developDir +} + +TEST() +{ + make -C build test +}