Files
haikuports/dev-build/cmake/patches/cmake-4.1.5.patchset
Schrijvers Luc 9c92a7da98 cmake, bump to 4.1.5 and 3.31.11 (#13742)
move cmake_gui to seperate directory, fixes conflicting work directory
2026-02-28 08:20:39 +01:00

355 lines
12 KiB
Plaintext

From f19c1c73b6723969e727fbaf8fc71ff673d5fe7b 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 aea87b9..60eddf3 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1793,6 +1793,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.52.0
From 116b868e7c19306fad316963a394cd3da10e1aea 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.52.0
From ce069212be30318640c17f996e71c27f442118ee 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.52.0
From 7fe08f3af5c810f7ec7e83f59c1978536d1ef62c 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.52.0
From bb920569a0c1fd882d273a241c81dc25e538fcf9 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.52.0
From 33005aefaa579900573b9e790ff143f7977d0a68 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 23083b0..6cc8a1a 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -3293,7 +3293,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.52.0
From 1a9a410354a04638cd66e0882b89b068b3859b7c 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.52.0
From 32cea27259a21ea481a39960e06bf4a872014398 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 ef6e301..0bca3cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -215,7 +215,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 c54da44..df99db8 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -863,6 +863,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.52.0
From b8684ef70b4e596063e97376e37e228c44ab1aaa 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 c65587e..35788be 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -4996,6 +4996,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);
@@ -5031,6 +5032,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.52.0
From 387886e01f4cf886354e59845c8c79b1e0166033 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 24a3970..b1b2006 100644
--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -1484,6 +1484,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.52.0
From f9b015b843ba680d75cf1347951885d5963cbbf6 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 b1b2006..33d8256 100644
--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -380,11 +380,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.52.0
From 6601a77d5dbe0b17c8ccd8fbdd66411acce8e2f3 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 7f9e7f0..2a70689 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -329,7 +329,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.52.0