Files
haikuports/kde-apps/krdc/krdc-24.12.3.recipe
2025-03-14 16:12:03 +00:00

173 lines
5.4 KiB
Bash

SUMMARY="Remote Desktop Client"
DESCRIPTION="KRDC is a client application that allows you to view or even \
control the desktop session on another machine that is running a compatible \
server. VNC and RDP is supported."
HOMEPAGE="https://apps.kde.org/krdc/"
COPYRIGHT="2010-2025 KDE Organisation"
LICENSE="GNU LGPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/krdc-$portVersion.tar.xz"
CHECKSUM_SHA256="4bfe9e01fb16d97851cbf22563d5fb109976e3c561e8b079c493201613953764"
SOURCE_DIR="krdc-$portVersion"
PATCHES="krdc-$portVersion.patchset"
ADDITIONAL_FILES="krdc.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
krdc$secondaryArchSuffix = $portVersion
app:KRDC$secondaryArchSuffix = $portVersion
cmd:krdc$secondaryArchSuffix = $portVersion
lib:libkrdccore$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfreerdp2$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libvncserver$secondaryArchSuffix
# KF6
lib:libKF6AuthCore$secondaryArchSuffix
lib:libKF6Bookmarks$secondaryArchSuffix
lib:libKF6Codecs$secondaryArchSuffix
lib:libKF6ColorScheme$secondaryArchSuffix
lib:libKF6Completion$secondaryArchSuffix
lib:libKF6ConfigCore$secondaryArchSuffix
lib:libKF6ConfigGui$secondaryArchSuffix
lib:libKF6ConfigWidgets$secondaryArchSuffix
lib:libKF6CoreAddons$secondaryArchSuffix
lib:libKF6Crash$secondaryArchSuffix
lib:libKF6DNSSD$secondaryArchSuffix
lib:libKF6GuiAddons$secondaryArchSuffix
lib:libKF6I18n$secondaryArchSuffix
lib:libKF6IconThemes$secondaryArchSuffix
lib:libKF6KCMUtils$secondaryArchSuffix
lib:libKF6Notifications$secondaryArchSuffix
lib:libKF6NotifyConfig$secondaryArchSuffix
lib:libKF6Service$secondaryArchSuffix
lib:libKF6StatusNotifierItem$secondaryArchSuffix
lib:libKF6Wallet$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libKF6XmlGui$secondaryArchSuffix
# Plasma6
lib:libPlasmaActivities$secondaryArchSuffix
# Qt6
lib:libQt6Core$secondaryArchSuffix
lib:libQt6DBus$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Network$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libQt6Xml$secondaryArchSuffix
"
PROVIDES_devel="
krdc${secondaryArchSuffix}_devel = $portVersion
devel:libkrdccore$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
krdc$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix
devel:libfreerdp2$secondaryArchSuffix
devel:libssh$secondaryArchSuffix
devel:libvncserver$secondaryArchSuffix
devel:libz$secondaryArchSuffix
# KF6
devel:libKF6AuthCore$secondaryArchSuffix
devel:libKF6Bookmarks$secondaryArchSuffix
devel:libKF6Codecs$secondaryArchSuffix
devel:libKF6ColorScheme$secondaryArchSuffix
devel:libKF6Completion$secondaryArchSuffix
devel:libKF6ConfigCore$secondaryArchSuffix
devel:libKF6ConfigWidgets$secondaryArchSuffix
devel:libKF6CoreAddons$secondaryArchSuffix
devel:libKF6Crash$secondaryArchSuffix
devel:libKF6DNSSD$secondaryArchSuffix
devel:libKF6GuiAddons$secondaryArchSuffix
devel:libKF6I18n$secondaryArchSuffix
devel:libKF6IconThemes$secondaryArchSuffix
devel:libKF6ItemViews$secondaryArchSuffix
devel:libKF6JobWidgets$secondaryArchSuffix
devel:libKF6KCMUtils$secondaryArchSuffix
devel:libKF6KIOCore$secondaryArchSuffix
devel:libKF6Notifications$secondaryArchSuffix
devel:libKF6NotifyConfig$secondaryArchSuffix
devel:libKF6Service$secondaryArchSuffix
devel:libKF6Solid$secondaryArchSuffix
devel:libKF6StatusNotifierItem$secondaryArchSuffix
devel:libKF6Wallet$secondaryArchSuffix
devel:libKF6WidgetsAddons$secondaryArchSuffix
devel:libKF6WindowSystem$secondaryArchSuffix
devel:libKF6XmlGui$secondaryArchSuffix
# Plasma6
devel:libPlasmaActivities$secondaryArchSuffix
# Qt6
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6Qml$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:msgfmt$secondaryArchSuffix
cmd:msgmerge$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_CXX_FLAGS="-D_GNU_SOURCE" \
-DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt6 \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
-DBUILD_TESTING=OFF \
-Wno-dev
make -C build $jobArgs
}
INSTALL()
{
make -C build install
# cleanup
rm -rf $dataDir/{applications,metainfo}
# don't mess with shared_mime_info files
rm -rf $dataDir/mime/{aliases,generic-icons,globs,globs2,icons,magic}
rm -rf $dataDir/mime/{mime.cache,subclasses,treemagic,types,version,XMLnamespaces}
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local APP_NAME="KRDC"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.krdc"
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/krdc.rdef.in > krdc.rdef
addResourcesToBinaries krdc.rdef $binDir/krdc
addAppDeskbarSymlink $binDir/krdc KRDC
prepareInstalledDevelLib \
libkrdccore
packageEntries devel \
$developDir
}