Files
haikuports/dev-build/cmake/patches/cmake-4.0.3.patchset

355 lines
12 KiB
Plaintext

From 5635a16b4eb16a49171888093638c35a5acb0d2c Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 7 Sep 2019 17:29:56 +0200
Subject: links against libnetwork
diff --git a/bootstrap b/bootstrap
index eb8a0ac..fceed48 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1799,6 +1799,9 @@ else
uv_c_flags="${uv_c_flags} -D_XOPEN_SOURCE=700"
libs="${libs} -lsocket"
;;
+ *Haiku*)
+ libs="${libs} -lnetwork"
+ ;;
esac
fi
if test "x${bootstrap_system_libuv}" = "x"; then
--
2.48.1
From b8fed1d4d0c0a1e0e1bb40cefd291aa742e31ad2 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 7 Sep 2019 23:46:47 +0200
Subject: bootstrap uses cmlibuv
diff --git a/Utilities/cmlibuv/src/unix/core.c b/Utilities/cmlibuv/src/unix/core.c
index 83e8b61..314f239 100644
--- a/Utilities/cmlibuv/src/unix/core.c
+++ b/Utilities/cmlibuv/src/unix/core.c
@@ -1440,7 +1440,9 @@ int uv_os_getpriority(uv_pid_t pid, int* priority) {
return UV_EINVAL;
errno = 0;
+#ifndef __HAIKU__
r = getpriority(PRIO_PROCESS, (int) pid);
+#endif
if (r == -1 && errno != 0)
return UV__ERR(errno);
@@ -1454,8 +1456,10 @@ int uv_os_setpriority(uv_pid_t pid, int priority) {
if (priority < UV_PRIORITY_HIGHEST || priority > UV_PRIORITY_LOW)
return UV_EINVAL;
+#ifndef __HAIKU__
if (setpriority(PRIO_PROCESS, (int) pid, priority) != 0)
return UV__ERR(errno);
+#endif
return 0;
}
--
2.48.1
From 18414ba54a51101190ce30dc4327a67a9b85b940 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sat, 21 Sep 2019 15:30:44 +0200
Subject: Haiku: Improve secondary arch detection
Find the directory when it's not the last in the list.
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
index 3610389..7ce4298 100644
--- a/Modules/Platform/Haiku.cmake
+++ b/Modules/Platform/Haiku.cmake
@@ -33,8 +33,8 @@ execute_process(
RESULT_VARIABLE _HAIKU_SEARCH_DIRS_FOUND
OUTPUT_STRIP_TRAILING_WHITESPACE)
-string(REGEX MATCH "libraries: =?([^\n]*:)?/boot/system/develop/lib/([^/]*)/?(:?\n+)" _dummy "${_HAIKU_SEARCH_DIRS}\n")
-set(CMAKE_HAIKU_SECONDARY_ARCH "${CMAKE_MATCH_2}")
+string(REGEX MATCH "libraries: =?([^\n]*:)?(/boot)?/system(/develop)?/lib/([^/]*)/?(:|\n)" _dummy "${_HAIKU_SEARCH_DIRS}\n")
+set(CMAKE_HAIKU_SECONDARY_ARCH "${CMAKE_MATCH_4}")
if(NOT CMAKE_HAIKU_SECONDARY_ARCH)
set(CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR "")
--
2.48.1
From f5e3fab109e11ededff65b8935d3befccb947a2a Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Fri, 21 Feb 2020 15:38:39 -0500
Subject: Modules/Haiku: Set CMAKE_SYSTEM_FRAMEWORK_PATH.
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
index 7ce4298..0bae6a8 100644
--- a/Modules/Platform/Haiku.cmake
+++ b/Modules/Platform/Haiku.cmake
@@ -117,6 +117,9 @@ list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_HAIKU_DEVELOP_LIB_DIRECTORIES})
+# This is needed for find_package to search develop/lib/cmake/.
+list(APPEND CMAKE_SYSTEM_FRAMEWORK_PATH /boot/system/develop /boot/system/non-packaged/develop)
+
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "/boot/system" CACHE PATH
"Install path prefix, prepended onto install directories." FORCE)
--
2.48.1
From 0bfa68d08bbd29bcf02ce1d3f805a8e8b8e16b05 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 15 Apr 2021 21:09:12 +0200
Subject: disable dependency tracking for older GNU compilers
diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake
index 141838e..1c90942 100644
--- a/Modules/Compiler/GNU.cmake
+++ b/Modules/Compiler/GNU.cmake
@@ -51,7 +51,9 @@ macro(__compiler_gnu lang)
# distcc does not transform -o to -MT when invoking the preprocessor
# internally, as it ought to. Work around this bug by setting -MT here
# even though it isn't strictly necessary.
- set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
+ if(NOT CMAKE_${lang}_COMPILER_ID STREQUAL "GNU" OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.0)
+ set(CMAKE_DEPFILE_FLAGS_${lang} "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
+ endif()
endif()
# Initial configuration flags.
--
2.48.1
From 25b1b0aecfb9788b433723aff6ab2926e2f5585a Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 20 Oct 2021 14:28:22 +0200
Subject: Haiku: fix install dirs, let FindPackage search in data/
diff --git a/Source/CMakeInstallDestinations.cmake b/Source/CMakeInstallDestinations.cmake
index e82bec3..0f8a620 100644
--- a/Source/CMakeInstallDestinations.cmake
+++ b/Source/CMakeInstallDestinations.cmake
@@ -1,11 +1,11 @@
# Keep formatting here consistent with bootstrap script expectations.
if(BEOS)
set(CMAKE_BIN_DIR_DEFAULT "bin") # HAIKU
- set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
+ set(CMAKE_DATA_DIR_DEFAULT "data/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
set(CMAKE_DOC_DIR_DEFAULT "documentation/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") # HAIKU
set(CMAKE_INFO_DIR_DEFAULT "documentation/info") # HAIKU
set(CMAKE_MAN_DIR_DEFAULT "documentation/man") # HAIKU
- set(CMAKE_XDGDATA_DIR_DEFAULT "share") # HAIKU
+ set(CMAKE_XDGDATA_DIR_DEFAULT "data") # HAIKU
elseif(CYGWIN)
set(CMAKE_BIN_DIR_DEFAULT "bin") # CYGWIN
set(CMAKE_DATA_DIR_DEFAULT "share/cmake-${CMake_VERSION}") # CYGWIN
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index bae7d38..0e1df33 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -3142,7 +3142,11 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix)
common.emplace_back("libx32"_s);
}
common.emplace_back("lib"_s);
+#ifdef __HAIKU__
+ common.emplace_back("data"_s);
+#else
common.emplace_back("share"_s);
+#endif
auto commonGen = cmEnumPathSegmentsGenerator{ common };
auto cmakeGen = cmAppendPathSegmentGenerator{ "cmake"_s };
--
2.48.1
From 1edf7dd9359c2caf8d3752383263b7c716f8fd7d Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 23 Feb 2022 13:44:06 +0100
Subject: Disable weak symbols; they do not seem to behave correctly.
diff --git a/Utilities/cmzstd/lib/common/zstd_trace.h b/Utilities/cmzstd/lib/common/zstd_trace.h
index da20534..97bcdc2 100644
--- a/Utilities/cmzstd/lib/common/zstd_trace.h
+++ b/Utilities/cmzstd/lib/common/zstd_trace.h
@@ -29,7 +29,7 @@ extern "C" {
defined(__GNUC__) && defined(__ELF__) && \
(defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) || defined(__aarch64__)) && \
!defined(__APPLE__) && !defined(_WIN32) && !defined(__MINGW32__) && \
- !defined(__CYGWIN__) && !defined(_AIX)
+ !defined(__CYGWIN__) && !defined(_AIX) && !defined(__HAIKU__)
# define ZSTD_HAVE_WEAK_SYMBOLS 1
#else
# define ZSTD_HAVE_WEAK_SYMBOLS 0
--
2.48.1
From 1b7a01d02ff7e30fdb9a2b7262d68527713147b8 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 9 Feb 2024 13:48:22 +0100
Subject: Haiku: enable debugger
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 907c344..5a5a431 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -137,7 +137,7 @@ option(CMake_BUILD_PCH "Compile CMake with precompiled headers" OFF)
if(NOT CMake_TEST_EXTERNAL_CMAKE)
if(NOT DEFINED CMake_ENABLE_DEBUGGER)
# The debugger uses cppdap, which does not compile everywhere.
- if(CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin|Linux|BSD|DragonFly|CYGWIN|MSYS"
+ if(CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin|Linux|BSD|DragonFly|CYGWIN|MSYS|Haiku"
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.16)
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16.1)
AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "LCC" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 1.23)
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 1d078ee..57bc1be 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -852,6 +852,9 @@ if(CMake_ENABLE_DEBUGGER)
)
endif()
target_link_libraries(CMakeLib PUBLIC cppdap::cppdap)
+ if(HAIKU)
+ target_link_libraries(CMakeLib PUBLIC network)
+ endif()
endif()
# Check if we can build the Mach-O parser.
--
2.48.1
From 4e2d472b13303ebcbf7b1a9345ce6c3d8b36c045 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A1ximo=20Casta=C3=B1eda?= <antiswen@yahoo.es>
Date: Sat, 31 Aug 2024 21:52:20 +0200
Subject: Fix build for non-x86 arches
diff --git a/Source/kwsys/SystemInformation.cxx b/Source/kwsys/SystemInformation.cxx
index aca0324..3a24a7b 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -4968,6 +4968,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
this->TotalVirtualMemory = 0;
this->AvailableVirtualMemory = 0;
+#if defined(__i386__) || defined(__x86_64__)
// Retrieve cpuid_info union for cpu 0
cpuid_info cpu_info;
get_cpuid(&cpu_info, 0, 0);
@@ -5003,6 +5004,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
// Chip Extended Model
this->ChipID.ExtendedModel = cpu_info.eax_1.extended_model;
+#endif
// Get ChipID.ProcessorName from other information already gathered
this->RetrieveClassicalCPUIdentity();
--
2.48.1
From 51b85b68676f5d17710d016c7998e5e5a67abded Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 25 Sep 2024 09:11:06 +0200
Subject: FindPython: when component Development is searched, also search
Interpreter
FindPython only uses the python config when an interpreter is found.
The python config contains the right include paths on x86 for instance.
diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake
index 3cd77e4..6f9481d 100644
--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -1428,6 +1428,9 @@ if ("NumPy" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS)
endif()
if ("Development" IN_LIST ${_PYTHON_BASE}_FIND_COMPONENTS)
list (APPEND ${_PYTHON_BASE}_FIND_COMPONENTS "Development.Module" "Development.Embed")
+ if (HAIKU)
+ list (APPEND ${_PYTHON_PREFIX}_FIND_COMPONENTS "Interpreter")
+ endif()
endif()
list (REMOVE_DUPLICATES ${_PYTHON_BASE}_FIND_COMPONENTS)
foreach (component IN ITEMS Interpreter Compiler Development Development.Module Development.SABIModule Development.Embed NumPy)
--
2.48.1
From 1161e5ceb9a5a5183b74966bcad4abf0162e596f Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Mon, 23 Sep 2024 05:40:41 -0300
Subject: Use 'headers' instead of 'include' as fallback.
Just a quick swap, to help CMake find Python's headers on 32 bits Haiku.
(64 bits was working OK. See HaikuPorts issue #11155)
Not strictly needed after korli's previous fix, but... doesn't hurts.
Kudos to madmax for this early workaround!
diff --git a/Modules/FindPython/Support.cmake b/Modules/FindPython/Support.cmake
index 6f9481d..9dd58d0 100644
--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -329,11 +329,11 @@ function (_PYTHON_GET_PATH_SUFFIXES _PYTHON_PGPS_PATH_SUFFIXES)
elseif (_PGPS_INCLUDE)
set (suffixes "${abi}")
if (suffixes)
- list (TRANSFORM suffixes PREPEND "include/python${version}")
+ list (TRANSFORM suffixes PREPEND "headers/python${version}")
else()
- set (suffixes "include/python${version}")
+ set (suffixes "headers/python${version}")
endif()
- list (APPEND path_suffixes ${suffixes} include)
+ list (APPEND path_suffixes ${suffixes} headers)
endif()
endforeach()
endif()
--
2.48.1
From a87d1e8c1a0f86278b587cdacae3837e20296b8a Mon Sep 17 00:00:00 2001
From: Oscar Lesta <oscar.lesta@gmail.com>
Date: Thu, 26 Sep 2024 15:16:36 -0300
Subject: Avoid installing icons, .desktop, and mime files.
Those are intended for use on Linux and friends.
Fix by Begasus. Thanks!
diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
index 318849e..8871043 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -327,7 +327,7 @@ install(TARGETS cmake-gui
RUNTIME DESTINATION bin ${COMPONENT}
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}" ${COMPONENT})
-if(UNIX AND NOT APPLE)
+if(UNIX AND NOT APPLE AND NOT HAIKU)
foreach(size IN ITEMS 32 128)
install(
FILES "${CMAKE_CURRENT_SOURCE_DIR}/CMakeSetup${size}.png"
--
2.48.1