mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
Add KF6 frameworks, kdesu6 (new) (#10535)
This commit is contained in:
91
kde-frameworks/kdesu/kdesu6-6.2.0.recipe
Normal file
91
kde-frameworks/kdesu/kdesu6-6.2.0.recipe
Normal file
@@ -0,0 +1,91 @@
|
||||
SUMMARY="User interface for running shell commands with root privileges"
|
||||
DESCRIPTION="KDESU provides functionality for building GUI front ends for (password asking) \
|
||||
console mode programs. For example, kdesu and kdessh use it to interface with su and ssh \
|
||||
respectively."
|
||||
HOMEPAGE="https://invent.kde.org/frameworks/kdesu"
|
||||
COPYRIGHT="2010-2024 KDE Organisation"
|
||||
LICENSE="GNU LGPL v2"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://download.kde.org/stable/frameworks/${portVersion%.*}/kdesu-$portVersion.tar.xz"
|
||||
CHECKSUM_SHA256="7c612fea489d9e3e3d3c90cab0d314d98486bdc06014a60f609fdff21505822f"
|
||||
SOURCE_DIR="kdesu-$portVersion"
|
||||
PATCHES="kdesu-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="all !x86_gcc2"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
libVersion="$portVersion"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
kdesu6$secondaryArchSuffix = $portVersion
|
||||
lib:libKF6Su$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libKF6ConfigCore$secondaryArchSuffix
|
||||
lib:libKF6CoreAddons$secondaryArchSuffix
|
||||
lib:libKF6I18n$secondaryArchSuffix
|
||||
lib:libKF6Pty$secondaryArchSuffix
|
||||
lib:libQt6Core$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
kdesu6${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libKF6Su$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
kdesu6$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
extra_cmake_modules$secondaryArchSuffix >= $portVersion
|
||||
qt6_tools${secondaryArchSuffix}_devel
|
||||
devel:libKF6ConfigCore$secondaryArchSuffix == $portVersion
|
||||
devel:libKF6CoreAddons$secondaryArchSuffix == $portVersion
|
||||
devel:libKF6I18n$secondaryArchSuffix == $portVersion
|
||||
devel:libKF6Pty$secondaryArchSuffix == $portVersion
|
||||
devel:libQt6Core$secondaryArchSuffix
|
||||
devel:libQt6Qml$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:dot
|
||||
cmd:doxygen >= 1.9
|
||||
cmd:g++$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:msgfmt
|
||||
cmd:msgmerge
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cmake -Bbuild -S. $cmakeDirArgs \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake \
|
||||
-DKDESU_USE_SUDO_DEFAULT=OFF \
|
||||
-DBUILD_QCH=ON \
|
||||
-DBUILD_TESTING=OFF
|
||||
make -C build $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make -C build install
|
||||
|
||||
prepareInstalledDevelLib \
|
||||
libKF6Su
|
||||
|
||||
packageEntries devel \
|
||||
$libDir/cmake \
|
||||
$dataDir/doc \
|
||||
$developDir
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
export LIBRARY_PATH="$sourceDir/build/bin${LIBRARY_PATH:+:$LIBRARY_PATH}"
|
||||
make -C build test
|
||||
}
|
||||
124
kde-frameworks/kdesu/patches/kdesu-6.2.0.patchset
Normal file
124
kde-frameworks/kdesu/patches/kdesu-6.2.0.patchset
Normal file
@@ -0,0 +1,124 @@
|
||||
From c07596c3d925cffab961d35e828dfb101abec396 Mon Sep 17 00:00:00 2001
|
||||
From: Schrijvers Luc <begasus@gmail.com>
|
||||
Date: Thu, 7 Mar 2024 17:55:01 +0100
|
||||
Subject: Build fixes
|
||||
|
||||
|
||||
diff --git a/src/client.cpp b/src/client.cpp
|
||||
index 79563f3..b101db6 100644
|
||||
--- a/src/client.cpp
|
||||
+++ b/src/client.cpp
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
QByteArray sock;
|
||||
};
|
||||
|
||||
-#ifndef SUN_LEN
|
||||
+#if !defined(SUN_LEN) && !defined(Q_OS_HAIKU)
|
||||
#define SUN_LEN(ptr) ((QT_SOCKLEN_T)(((struct sockaddr_un *)0)->sun_path) + strlen((ptr)->sun_path))
|
||||
#endif
|
||||
|
||||
@@ -94,7 +94,7 @@ int Client::connect()
|
||||
addr.sun_family = AF_UNIX;
|
||||
strcpy(addr.sun_path, d->sock.constData());
|
||||
|
||||
- if (QT_SOCKET_CONNECT(d->sockfd, (struct sockaddr *)&addr, SUN_LEN(&addr)) < 0) {
|
||||
+ if (QT_SOCKET_CONNECT(d->sockfd, (struct sockaddr *)&addr, sizeof(&addr)) < 0) {
|
||||
qCWarning(KSU_LOG) << "[" << __FILE__ << ":" << __LINE__ << "] "
|
||||
<< "connect():" << strerror(errno);
|
||||
close(d->sockfd);
|
||||
diff --git a/src/kdesud/kdesud.cpp b/src/kdesud/kdesud.cpp
|
||||
index 0d8598d..4b33595 100644
|
||||
--- a/src/kdesud/kdesud.cpp
|
||||
+++ b/src/kdesud/kdesud.cpp
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
#include <dirent.h>
|
||||
|
||||
-#if !HAVE_CLOSE_RANGE
|
||||
+#if !HAVE_CLOSE_RANGE && !defined(Q_OS_HAIKU)
|
||||
#include <sys/syscall.h> // close_range syscall
|
||||
#endif
|
||||
|
||||
@@ -258,11 +258,13 @@ int create_socket()
|
||||
}
|
||||
}
|
||||
|
||||
+#ifndef Q_OS_HAIKU
|
||||
sockfd = socket(PF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);
|
||||
if (sockfd < 0) {
|
||||
qCCritical(KSUD_LOG) << "socket(): " << ERR << "\n";
|
||||
return -1;
|
||||
}
|
||||
+#endif
|
||||
|
||||
// Ensure socket closed on error
|
||||
struct fd_ScopeGuard {
|
||||
@@ -378,9 +380,11 @@ int main(int argc, char *argv[])
|
||||
exit(1);
|
||||
}
|
||||
|
||||
+#ifndef Q_OS_HAIKU
|
||||
if (sockfd != 3) {
|
||||
sockfd = dup3(sockfd, 3, O_CLOEXEC);
|
||||
}
|
||||
+#endif
|
||||
if (sockfd < 0) {
|
||||
qCCritical(KSUD_LOG) << "Failed to set sockfd to fd 3" << ERR << "\n";
|
||||
kdesud_cleanup();
|
||||
@@ -415,7 +419,9 @@ int main(int argc, char *argv[])
|
||||
repo = new Repository;
|
||||
QList<ConnectionHandler *> handler;
|
||||
|
||||
+#ifndef Q_OS_HAIKU
|
||||
pipe2(pipeOfDeath, O_CLOEXEC);
|
||||
+#endif
|
||||
maxfd = qMax(maxfd, pipeOfDeath[0]);
|
||||
|
||||
// Signal handlers
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
From a3302d6e4584d390a5d813a96f25e9fbf7350c6f Mon Sep 17 00:00:00 2001
|
||||
From: Schrijvers Luc <begasus@gmail.com>
|
||||
Date: Fri, 17 May 2024 15:57:31 +0200
|
||||
Subject: Link with libnetwork
|
||||
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index d941c83..da02af1 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -72,6 +72,12 @@ target_link_libraries(KF6Su
|
||||
KF6::ConfigCore # KConfigGroup
|
||||
)
|
||||
|
||||
+if(HAIKU)
|
||||
+target_link_libraries(KF6Su
|
||||
+ PRIVATE
|
||||
+ network
|
||||
+)
|
||||
+endif()
|
||||
|
||||
ecm_generate_headers(KDESu_CamelCase_HEADERS
|
||||
HEADER_NAMES
|
||||
diff --git a/src/kdesud/CMakeLists.txt b/src/kdesud/CMakeLists.txt
|
||||
index e80a772..395b0c3 100644
|
||||
--- a/src/kdesud/CMakeLists.txt
|
||||
+++ b/src/kdesud/CMakeLists.txt
|
||||
@@ -25,7 +25,11 @@ ecm_qt_declare_logging_category(kdesud
|
||||
EXPORT KSU
|
||||
)
|
||||
|
||||
-target_link_libraries(kdesud KF6::Su KF6::I18n ${X11_LIBRARIES})
|
||||
+if(HAIKU)
|
||||
+ target_link_libraries(kdesud KF6::Su KF6::I18n network)
|
||||
+else()
|
||||
+ target_link_libraries(kdesud KF6::Su KF6::I18n ${X11_LIBRARIES})
|
||||
+endif()
|
||||
if(HAVE_X11)
|
||||
target_include_directories(kdesud PRIVATE ${X11_X11_INCLUDE_PATH})
|
||||
endif()
|
||||
--
|
||||
2.43.2
|
||||
|
||||
Reference in New Issue
Block a user