mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-09 05:10:05 +02:00
123 lines
3.3 KiB
Plaintext
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
|
|
|