diff --git a/kde-apps/krdc/krdc-18.08.0.recipe b/kde-apps/krdc/krdc-24.02.2.recipe similarity index 53% rename from kde-apps/krdc/krdc-18.08.0.recipe rename to kde-apps/krdc/krdc-24.02.2.recipe index 0e11197c9..172173a45 100644 --- a/kde-apps/krdc/krdc-18.08.0.recipe +++ b/kde-apps/krdc/krdc-24.02.2.recipe @@ -2,26 +2,33 @@ 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://github.com/KDE/krdc/" -COPYRIGHT="2010-2018 KDE Organisation" +HOMEPAGE="https://apps.kde.org/krdc/" +COPYRIGHT="2010-2024 KDE Organisation" LICENSE="GNU LGPL v2" REVISION="1" -SOURCE_URI="https://github.com/KDE/krdc/archive/v$portVersion.tar.gz" -CHECKSUM_SHA256="1d5fa9f3577975bedc0e346d5d69b95edf6f4a5ef1bf4b4536af5df27e056d1f" +SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/krdc-$portVersion.tar.xz" +CHECKSUM_SHA256="aa4e8786480dccb5840532fe8c9188881437d8ca59a98cffcff6685e5579aff9" +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 = $portVersion + lib:libkrdccore$secondaryArchSuffix = $libVersionCompat " REQUIRES=" haiku$secondaryArchSuffix + lib:libfreerdp2$secondaryArchSuffix lib:libKF5Auth$secondaryArchSuffix + lib:libKF5Activities$secondaryArchSuffix lib:libKF5Bookmarks$secondaryArchSuffix lib:libKF5Codecs$secondaryArchSuffix lib:libKF5Completion$secondaryArchSuffix @@ -32,29 +39,35 @@ REQUIRES=" lib:libKF5DNSSD$secondaryArchSuffix lib:libKF5I18n$secondaryArchSuffix lib:libKF5IconThemes$secondaryArchSuffix - lib:libKF5ItemViews$secondaryArchSuffix lib:libKF5KCMUtils$secondaryArchSuffix lib:libKF5Notifications$secondaryArchSuffix lib:libKF5NotifyConfig$secondaryArchSuffix lib:libKF5Service$secondaryArchSuffix - lib:libKF5TextWidgets$secondaryArchSuffix lib:libKF5Wallet$secondaryArchSuffix lib:libKF5WidgetsAddons$secondaryArchSuffix lib:libKF5XmlGui$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix lib:libQt5DBus$secondaryArchSuffix lib:libQt5Gui$secondaryArchSuffix lib:libQt5Network$secondaryArchSuffix - lib:libQt5Script$secondaryArchSuffix lib:libQt5Widgets$secondaryArchSuffix lib:libQt5Xml$secondaryArchSuffix -# lib:libssh2$secondaryArchSuffix lib:libvncserver$secondaryArchSuffix - lib:libz$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 >= 5.47 + extra_cmake_modules$secondaryArchSuffix + devel:libfreerdp2$secondaryArchSuffix + devel:libKF5Activities$secondaryArchSuffix devel:libKF5Auth$secondaryArchSuffix devel:libKF5Bookmarks$secondaryArchSuffix devel:libKF5Codecs$secondaryArchSuffix @@ -66,15 +79,20 @@ BUILD_REQUIRES=" devel:libKF5I18n$secondaryArchSuffix devel:libKF5IconThemes$secondaryArchSuffix devel:libKF5ItemViews$secondaryArchSuffix + devel:libKF5JobWidgets$secondaryArchSuffix devel:libKF5KCMUtils$secondaryArchSuffix + devel:libKF5KIOCore$secondaryArchSuffix devel:libKF5Notifications$secondaryArchSuffix devel:libKF5NotifyConfig$secondaryArchSuffix devel:libKF5Service$secondaryArchSuffix + devel:libKF5Solid$secondaryArchSuffix devel:libKF5Wallet$secondaryArchSuffix devel:libKF5WidgetsAddons$secondaryArchSuffix + devel:libKF5WindowSystem$secondaryArchSuffix devel:libKF5XmlGui$secondaryArchSuffix - devel:libQt5Core$secondaryArchSuffix >= 5.7 -# devel:libssh2$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libssh$secondaryArchSuffix devel:libvncserver$secondaryArchSuffix devel:libz$secondaryArchSuffix " @@ -82,28 +100,47 @@ BUILD_PREREQUIRES=" cmd:cmake cmd:g++$secondaryArchSuffix cmd:make - cmd:python2 + cmd:qdbuscpp2xml$secondaryArchSuffix " BUILD() { - mkdir -p build - cd build - - cmake .. $cmakeDirArgs \ - -DECM_DIR=/system/data/cmake/Modules/ECM/cmake \ - -DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt5 - make $jobArgs + cmake -Bbuild -S. $cmakeDirArgs \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_FLAGS="-D_GNU_SOURCE" \ + -DKDE_INSTALL_QTPLUGINDIR=$addOnsDir/Qt5 \ + -DECM_DIR=/system/data/cmake/Modules/ECM/cmake + make -Cbuild $jobArgs } INSTALL() { - cd build - make install -} + make -Cbuild install -TEST() -{ - cd build - make test + # cleanup + rm -rf $dataDir/{applications,metainfo} + + 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 } diff --git a/kde-apps/krdc/patches/krdc-18.08.0.patchset b/kde-apps/krdc/patches/krdc-18.08.0.patchset deleted file mode 100644 index 9bc3bd90e..000000000 --- a/kde-apps/krdc/patches/krdc-18.08.0.patchset +++ /dev/null @@ -1,66 +0,0 @@ -From 25d57fccd5c9760e04fe5aa3fae0aebd23ee2ad0 Mon Sep 17 00:00:00 2001 -From: Sergei Reznikov -Date: Fri, 24 Aug 2018 17:55:51 +0300 -Subject: Fix build on Haiku - - -diff --git a/cmake/modules/FindLibSSH.cmake b/cmake/modules/FindLibSSH.cmake -index d9577ea..dc8bd53 100644 ---- a/cmake/modules/FindLibSSH.cmake -+++ b/cmake/modules/FindLibSSH.cmake -@@ -20,6 +20,7 @@ find_path(LIBSSH_INCLUDE_DIR - /usr/local/include - /opt/local/include - /sw/include -+ /system/develop/headers - ${CMAKE_INCLUDE_PATH} - ${CMAKE_INSTALL_PREFIX}/include - ) -@@ -33,6 +34,7 @@ find_library(SSH_LIBRARY - /usr/local/lib - /opt/local/lib - /sw/lib -+ /system/develop/lib - ${CMAKE_LIBRARY_PATH} - ${CMAKE_INSTALL_PREFIX}/lib - ) -diff --git a/vnc/CMakeLists.txt b/vnc/CMakeLists.txt -index f76fdf3..e75f284 100644 ---- a/vnc/CMakeLists.txt -+++ b/vnc/CMakeLists.txt -@@ -36,6 +36,10 @@ if(LIBVNCSERVER_FOUND) - krdccore - ) - -+ if(HAIKU) -+ target_link_libraries(krdc_vncplugin network) -+ endif () -+ - if(JPEG_FOUND) - target_link_libraries(krdc_vncplugin ${JPEG_LIBRARIES}) - endif(JPEG_FOUND) -diff --git a/vnc/vncclientthread.cpp b/vnc/vncclientthread.cpp -index 39c0342..3d0e06f 100644 ---- a/vnc/vncclientthread.cpp -+++ b/vnc/vncclientthread.cpp -@@ -603,7 +603,7 @@ void VncClientThread::clientSetKeepalive() - } - - optval = m_keepalive.intervalSeconds; -- if (setsockopt(cl->sock, IPPROTO_TCP, TCP_KEEPIDLE, &optval, optlen) < 0) { -+/* if (setsockopt(cl->sock, IPPROTO_TCP, TCP_KEEPIDLE, &optval, optlen) < 0) { - qCritical(KRDC) << "setsockopt(TCP_KEEPIDLE)" << strerror(errno); - return; - } -@@ -619,7 +619,7 @@ void VncClientThread::clientSetKeepalive() - qCritical(KRDC) << "setsockopt(TCP_KEEPCNT)" << strerror(errno); - return; - } -- m_keepalive.set = true; -+*/ m_keepalive.set = true; - qCDebug(KRDC) << "TCP keepalive set"; - } - --- -2.16.4 - diff --git a/kde-apps/krdc/patches/krdc-24.02.2.patchset b/kde-apps/krdc/patches/krdc-24.02.2.patchset new file mode 100644 index 000000000..d4fd7289f --- /dev/null +++ b/kde-apps/krdc/patches/krdc-24.02.2.patchset @@ -0,0 +1,91 @@ +From e2f1f576fa1611b0cf910ce6401962ec6cfcbbb5 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Fri, 24 Aug 2018 17:55:51 +0300 +Subject: Fix build on Haiku + + +diff --git a/cmake/modules/FindLibSSH.cmake b/cmake/modules/FindLibSSH.cmake +index c1fecfd..1426449 100644 +--- a/cmake/modules/FindLibSSH.cmake ++++ b/cmake/modules/FindLibSSH.cmake +@@ -17,6 +17,8 @@ find_path(LIBSSH_INCLUDE_DIR + /usr/local/include + /opt/local/include + /sw/include ++ /system/develop/headers ++ /system/develop/headers/x86 + ${CMAKE_INCLUDE_PATH} + ${CMAKE_INSTALL_PREFIX}/include + ) +@@ -30,6 +32,8 @@ find_library(SSH_LIBRARY + /usr/local/lib + /opt/local/lib + /sw/lib ++ /system/develop/headers ++ /system/develop/headers/x86 + ${CMAKE_LIBRARY_PATH} + ${CMAKE_INSTALL_PREFIX}/lib + ) +diff --git a/vnc/CMakeLists.txt b/vnc/CMakeLists.txt +index 20f74f0..6dd2933 100644 +--- a/vnc/CMakeLists.txt ++++ b/vnc/CMakeLists.txt +@@ -31,6 +31,10 @@ target_link_libraries(krdc_vncplugin + krdccore + ) + ++if(HAIKU) ++ target_link_libraries(krdc_vncplugin network) ++endif () ++ + if(QT_MAJOR_VERSION STREQUAL "6") + target_link_libraries(krdc_vncplugin KF6::KCMUtils) + endif() +diff --git a/vnc/vncclientthread.cpp b/vnc/vncclientthread.cpp +index 5b5804c..0674d61 100644 +--- a/vnc/vncclientthread.cpp ++++ b/vnc/vncclientthread.cpp +@@ -667,6 +667,7 @@ void VncClientThread::clientSetKeepalive() + return; + } + ++#ifdef TCP_KEEPIDLE + optval = m_keepalive.intervalSeconds; + if (setsockopt(cl->sock, IPPROTO_TCP, TCP_KEEPIDLE, &optval, optlen) < 0) { + qCritical(KRDC) << "setsockopt(TCP_KEEPIDLE)" << strerror(errno); +@@ -686,6 +687,7 @@ void VncClientThread::clientSetKeepalive() + } + m_keepalive.set = true; + qCDebug(KRDC) << "TCP keepalive set"; ++#endif + } + + /** +-- +2.43.2 + + +From 7201e5fc838eff7e3dea169abbcd2de2afd1ac91 Mon Sep 17 00:00:00 2001 +From: Schrijvers Luc +Date: Mon, 22 Apr 2024 08:16:21 +0200 +Subject: Link RDP client to libnetwork + + +diff --git a/rdp/CMakeLists.txt b/rdp/CMakeLists.txt +index 97cffbb..53d0524 100644 +--- a/rdp/CMakeLists.txt ++++ b/rdp/CMakeLists.txt +@@ -55,6 +55,10 @@ target_link_libraries(kcm_krdc_rdpplugin + krdccore + ) + ++if(HAIKU) ++ target_link_libraries(kcm_krdc_rdpplugin network) ++endif () ++ + if(QT_MAJOR_VERSION STREQUAL "6") + target_link_libraries(kcm_krdc_rdpplugin KF6::KCMUtils) + endif() +-- +2.43.2 +