mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 14:38:51 +02:00
kdelibs4: preliminary recipe.
This does not work: it gets about halfway through and then stops because of an unresolved symbol that runtime_loader cannot seem to find. I haven't pinpointed the source of the problem yet, but I figured this should be online for others to review and scrutinize.
This commit is contained in:
180
dev-qt/kdelibs4/patches/kdelibs4-4.13.2.patch
Normal file
180
dev-qt/kdelibs4/patches/kdelibs4-4.13.2.patch
Normal file
@@ -0,0 +1,180 @@
|
||||
From 29ddb0a1bf13d1f4599d2dc71c876f7fe5c595d8 Mon Sep 17 00:00:00 2001
|
||||
From: Augustin Cavalier <waddlesplash@gmail.com>
|
||||
Date: Thu, 17 Jul 2014 11:55:15 -0400
|
||||
Subject: [PATCH] Fix compile on Haiku.
|
||||
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
kdecore/io/kfilesystemtype_p.cpp | 2 +-
|
||||
kdecore/io/kmountpoint.cpp | 4 ++--
|
||||
kdecore/util/kshareddatacache_p.h | 2 +-
|
||||
kinit/CMakeLists.txt | 2 ++
|
||||
kinit/kinit.cpp | 3 +++
|
||||
kio/misc/kpac/CMakeLists.txt | 1 +
|
||||
kio/misc/kpac/kpac_dhcp_helper.c | 5 +++++
|
||||
solid/solid/CMakeLists.txt | 3 ++-
|
||||
9 files changed, 19 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index a2620f6..ccd0916 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -316,10 +316,10 @@ check_library_exists(socket connect "" HAVE_SOCKET_LIBRARY)
|
||||
add_subdirectory( cmake )
|
||||
add_subdirectory( kdecore )
|
||||
add_subdirectory( kdeui )
|
||||
-if (UNIX)
|
||||
+if (UNIX AND NOT HAIKU)
|
||||
add_subdirectory( kpty )
|
||||
add_subdirectory( kdesu )
|
||||
-endif (UNIX)
|
||||
+endif (UNIX AND NOT HAIKU)
|
||||
if(NOT WINCE)
|
||||
add_subdirectory( kjs )
|
||||
add_subdirectory( kjsembed )
|
||||
diff --git a/kdecore/io/kfilesystemtype_p.cpp b/kdecore/io/kfilesystemtype_p.cpp
|
||||
index 158f51d..ba0604c 100644
|
||||
--- a/kdecore/io/kfilesystemtype_p.cpp
|
||||
+++ b/kdecore/io/kfilesystemtype_p.cpp
|
||||
@@ -129,11 +129,11 @@ KFileSystemType::Type determineFileSystemTypeImpl(const QByteArray& path)
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
+#endif
|
||||
KFileSystemType::Type determineFileSystemTypeImpl(const QByteArray& path)
|
||||
{
|
||||
return KFileSystemType::Unknown;
|
||||
}
|
||||
-#endif
|
||||
|
||||
KFileSystemType::Type KFileSystemType::fileSystemType(const QString& path)
|
||||
{
|
||||
diff --git a/kdecore/io/kmountpoint.cpp b/kdecore/io/kmountpoint.cpp
|
||||
index 96f5de9..d39b4cf 100644
|
||||
--- a/kdecore/io/kmountpoint.cpp
|
||||
+++ b/kdecore/io/kmountpoint.cpp
|
||||
@@ -142,7 +142,7 @@ KMountPoint::~KMountPoint()
|
||||
#define MOUNTTYPE(var) var->mnt_type
|
||||
#define MOUNTOPTIONS(var) var->mnt_opts
|
||||
#define FSNAME(var) var->mnt_fsname
|
||||
-#else
|
||||
+#elif !defined(__HAIKU__)
|
||||
#define SETMNTENT fopen
|
||||
#define ENDMNTENT fclose
|
||||
#define STRUCT_MNTENT struct mnttab
|
||||
@@ -421,7 +421,7 @@ KMountPoint::List KMountPoint::currentMountPoints(DetailsNeededFlags infoNeeded)
|
||||
mp->d->mountPoint = QString("/");
|
||||
result.append(mp);
|
||||
|
||||
-#else
|
||||
+#elif !defined(__HAIKU__)
|
||||
STRUCT_SETMNTENT mnttab;
|
||||
if ((mnttab = SETMNTENT(MNTTAB, "r")) == 0)
|
||||
return result;
|
||||
diff --git a/kdecore/util/kshareddatacache_p.h b/kdecore/util/kshareddatacache_p.h
|
||||
index 931de4d..af10807 100644
|
||||
--- a/kdecore/util/kshareddatacache_p.h
|
||||
+++ b/kdecore/util/kshareddatacache_p.h
|
||||
@@ -53,7 +53,7 @@ int ksdcArea();
|
||||
#define KSDC_THREAD_PROCESS_SHARED_SUPPORTED 1
|
||||
#endif
|
||||
|
||||
-#if defined(_POSIX_SEMAPHORES) && ((_POSIX_SEMAPHORES == 0) || (_POSIX_SEMAPHORES >= 200112L))
|
||||
+#if !defined(Q_OS_HAIKU) && defined(_POSIX_SEMAPHORES) && ((_POSIX_SEMAPHORES == 0) || (_POSIX_SEMAPHORES >= 200112L))
|
||||
#include <semaphore.h>
|
||||
#define KSDC_SEMAPHORES_SUPPORTED 1
|
||||
#endif
|
||||
diff --git a/kinit/CMakeLists.txt b/kinit/CMakeLists.txt
|
||||
index dcde429..1eda927 100644
|
||||
--- a/kinit/CMakeLists.txt
|
||||
+++ b/kinit/CMakeLists.txt
|
||||
@@ -21,6 +21,8 @@ check_function_exists(setproctitle HAVE_SETPROCTITLE)
|
||||
# used by 4 executables in this file
|
||||
if(HAVE_SOCKET_LIBRARY)
|
||||
set(KINIT_SOCKET_LIBRARY socket)
|
||||
+elseif(HAIKU)
|
||||
+ set(KINIT_SOCKET_LIBRARY network)
|
||||
else(HAVE_SOCKET_LIBRARY)
|
||||
set(KINIT_SOCKET_LIBRARY)
|
||||
endif(HAVE_SOCKET_LIBRARY)
|
||||
diff --git a/kinit/kinit.cpp b/kinit/kinit.cpp
|
||||
index e41845a..c688356 100644
|
||||
--- a/kinit/kinit.cpp
|
||||
+++ b/kinit/kinit.cpp
|
||||
@@ -119,6 +119,9 @@ static char sock_file[MAX_SOCK_FILE];
|
||||
#define DISPLAY "MAC_DISPLAY"
|
||||
#elif defined(Q_WS_WIN)
|
||||
#define DISPLAY "WIN_DISPLAY"
|
||||
+#elif defined(Q_OS_HAIKU)
|
||||
+/* this will do nothing! */
|
||||
+#define DISPLAY "DISPLAY_HAIKU_NONEXISTENT"
|
||||
#else
|
||||
#error Use QT/X11 or QT/Embedded
|
||||
#endif
|
||||
diff --git a/kio/misc/kpac/CMakeLists.txt b/kio/misc/kpac/CMakeLists.txt
|
||||
index 81fa79a..2e36926 100644
|
||||
--- a/kio/misc/kpac/CMakeLists.txt
|
||||
+++ b/kio/misc/kpac/CMakeLists.txt
|
||||
@@ -40,6 +40,7 @@ install(TARGETS kded_proxyscout DESTINATION ${PLUGIN_INSTALL_DIR} )
|
||||
set(kpac_dhcp_helper_SRCS kpac_dhcp_helper.c)
|
||||
|
||||
kde4_add_executable(kpac_dhcp_helper NOGUI ${kpac_dhcp_helper_SRCS})
|
||||
+target_link_libraries(kpac_dhcp_helper network)
|
||||
|
||||
if (HAVE_NSL_LIBRARY)
|
||||
# Assume Solaris
|
||||
diff --git a/kio/misc/kpac/kpac_dhcp_helper.c b/kio/misc/kpac/kpac_dhcp_helper.c
|
||||
index c5c38eb..419b022 100644
|
||||
--- a/kio/misc/kpac/kpac_dhcp_helper.c
|
||||
+++ b/kio/misc/kpac/kpac_dhcp_helper.c
|
||||
@@ -29,7 +29,9 @@
|
||||
|
||||
#include <grp.h>
|
||||
#include <netdb.h>
|
||||
+#ifndef __HAIKU__
|
||||
#include <ifaddrs.h>
|
||||
+#endif
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
@@ -169,6 +171,7 @@ static struct response send_request_for(int sock, const char* hostname)
|
||||
/* Fills the DHCPINFORM request packet, returns the transaction id */
|
||||
static uint32_t send_request(int sock)
|
||||
{
|
||||
+#ifndef __HAIKU__
|
||||
char hostname[NI_MAXHOST];
|
||||
struct ifaddrs *ifaddr, *ifa;
|
||||
int status = -1;
|
||||
@@ -207,6 +210,8 @@ static uint32_t send_request(int sock)
|
||||
exit(1);
|
||||
|
||||
return status;
|
||||
+#endif
|
||||
+ exit(1);
|
||||
}
|
||||
|
||||
/* Reads the reply from the socket, checks it and outputs the URL to STDOUT */
|
||||
diff --git a/solid/solid/CMakeLists.txt b/solid/solid/CMakeLists.txt
|
||||
index a7f1f07..5372c75 100644
|
||||
--- a/solid/solid/CMakeLists.txt
|
||||
+++ b/solid/solid/CMakeLists.txt
|
||||
@@ -324,6 +324,7 @@ if(NOT WIN32 AND NOT APPLE)
|
||||
endif ( WITH_SOLID_UDISKS2 )
|
||||
endif (CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
|
||||
+if(NOT HAIKU)
|
||||
message(STATUS "Building Solid fstab backend." )
|
||||
set(solid_LIB_SRCS ${solid_LIB_SRCS}
|
||||
backends/fstab/fstabmanager.cpp
|
||||
@@ -333,7 +334,7 @@ if(NOT WIN32 AND NOT APPLE)
|
||||
backends/fstab/fstabhandling.cpp
|
||||
backends/fstab/fstabwatcher.cpp
|
||||
)
|
||||
-
|
||||
+endif(NOT HAIKU)
|
||||
endif(NOT WIN32 AND NOT APPLE)
|
||||
|
||||
if(APPLE)
|
||||
--
|
||||
1.8.3.4
|
||||
|
||||
Reference in New Issue
Block a user