Files
haikuports/kde-frameworks/kdesu/patches/kdesu-6.19.0.patchset
2025-10-28 13:20:51 +01:00

123 lines
3.3 KiB
Plaintext

From 1865e943a5341bc4bec856073fc2f18c7e096ecf 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 d8cedf2..6a1c00e 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.48.1
From dd6ead32da8443f809adb6ea13a0c43e0153af55 Mon Sep 17 00:00:00 2001
From: Schrijvers Luc <begasus@gmail.com>
Date: Tue, 12 Nov 2024 10:07:00 +0100
Subject: Link with libnetwork
Undefined references to socket/setsockopt/getsockopt,recv
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 09764c9..5ea40c3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -72,6 +72,9 @@ 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.48.1