Files
haikuports/net-im/tokodon/tokodon-25.12.0.recipe
Schrijvers Luc 3a98af918e KDE_internet, bump to 25.12.0 (#13462)
NeoChat bumped to 25.08.3, latest version crashes
2025-12-22 14:19:45 +01:00

148 lines
4.4 KiB
Bash

SUMMARY="KDE Mastodon client"
DESCRIPTION="Tokodon is a Mastodon client. It allows you to interact with the Fediverse community."
HOMEPAGE="https://invent.kde.org/network/tokodon"
COPYRIGHT="2021-2025 KDE Organisation"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/tokodon-$portVersion.tar.xz"
CHECKSUM_SHA256="7223cd3957e84755f0fb73871510c083454bc049522fbacc8850d61bbd755c6f"
PATCHES="tokodon-$portVersion.patchset"
ADDITIONAL_FILES="tokodon.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
tokodon$secondaryArchSuffix = $portVersion
app:Tokodon = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libKirigamiAddonsStatefulApp$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libQCoro6Core$secondaryArchSuffix
lib:libQCoro6Network$secondaryArchSuffix
lib:libQt6Keychain$secondaryArchSuffix
# KF6
qqc2_desktop_style6$secondaryArchSuffix
lib:libKF6CalendarEvents$secondaryArchSuffix
lib:libKF6ColorScheme$secondaryArchSuffix
lib:libKF6Completion$secondaryArchSuffix
lib:libKF6ConfigCore$secondaryArchSuffix
lib:libKF6CoreAddons$secondaryArchSuffix
lib:libKF6Crash$secondaryArchSuffix
lib:libKF6I18n$secondaryArchSuffix
lib:libKF6IconThemes$secondaryArchSuffix
lib:libKF6JobWidgets$secondaryArchSuffix
lib:libKF6KIOCore$secondaryArchSuffix
lib:libKF6Notifications$secondaryArchSuffix
lib:libKF6Service$secondaryArchSuffix
lib:libKF6Solid$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libKirigami$secondaryArchSuffix
# Qt6
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6OpenGL$secondaryArchSuffix
lib:libQt6MultiMedia$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6Quick$secondaryArchSuffix
lib:libQt6WebView$secondaryArchSuffix
lib:libQt6WebSockets$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libKirigamiAddonsStatefulApp$secondaryArchSuffix
devel:libQCoro6Core$secondaryArchSuffix
devel:libQt6Keychain$secondaryArchSuffix
# KF6
extra_cmake_modules$secondaryArchSuffix
qqc2_desktop_style6${secondaryArchSuffix}_devel
devel:libKF6CalendarEvents$secondaryArchSuffix
devel:libKF6ColorScheme$secondaryArchSuffix
devel:libKF6ConfigCore$secondaryArchSuffix
devel:libKF6Crash$secondaryArchSuffix
devel:libKF6I18n$secondaryArchSuffix
devel:libKF6IconThemes$secondaryArchSuffix
devel:libKF6ItemModels$secondaryArchSuffix
devel:libKF6KIOCore$secondaryArchSuffix
devel:libKF6Notifications$secondaryArchSuffix
devel:libKF6Prison$secondaryArchSuffix
devel:libKF6Purpose$secondaryArchSuffix
devel:libKF6WindowSystem$secondaryArchSuffix
devel:libKirigami$secondaryArchSuffix
# Qt6
devel:libQt6Core$secondaryArchSuffix
devel:libQt6MultiMedia$secondaryArchSuffix
devel:libQt6Qml$secondaryArchSuffix
devel:libQt6Svg$secondaryArchSuffix
devel:libQt6WebView$secondaryArchSuffix
devel:libQt6WebSockets$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:ninja
cmd:msgfmt$secondaryArchSuffix
cmd:msgmerge$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
"
TEST_REQUIRES="
qthaikuplugins$secondaryArchSuffix
"
BUILD()
{
cmake -B build -S . -G Ninja -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt6 \
-DKDE_INSTALL_QMLDIR=$dataDir/Qt6/qml \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DCMAKE_SKIP_RPATH=YES \
-DBUILD_TESTING=OFF \
-Wno-dev
ninja -C build $jobArgs
}
INSTALL()
{
ninja -C build install
# cleanup
rm -rf $dataDir/{applications,knotifications6,metainfo,qlogging-categories6}
mkdir -p $appsDir
mv $binDir/tokodon $appsDir/Tokodon
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local APP_NAME="Tokodon"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.kde.tokodon"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/tokodon.rdef.in > tokodon.rdef
addResourcesToBinaries tokodon.rdef $appsDir/Tokodon
addAppDeskbarSymlink $appsDir/Tokodon
}
TEST()
{
export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}"
make -C build test
}