mirror of
https://github.com/yann64/haikuports.git
synced 2026-03-19 01:46:00 +01:00
355 lines
12 KiB
Plaintext
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
|
|
|