cmake, add RC 4.1.0-rc1, 64bit for testing (#12529)

This commit is contained in:
Schrijvers Luc
2025-06-28 11:28:49 +02:00
committed by GitHub
parent 3caf2fb683
commit 956fca97c5
3 changed files with 629 additions and 0 deletions

View File

@@ -0,0 +1,166 @@
SUMMARY="A cross-platform build system"
DESCRIPTION="CMake is a family of tools designed to build, test and package \
software. It is used to control the software compilation process using \
simple platform and compiler independent configuration files. CMake generates \
native makefiles and workspaces that can be used in the compiler environment \
of your choice."
HOMEPAGE="https://cmake.org/"
COPYRIGHT="2002-2025 Kitware, Inc., Insight Consortium"
LICENSE="CMake"
REVISION="1"
SOURCE_URI="https://github.com/Kitware/CMake/releases/download/v4.1.0-rc1/cmake-4.1.0-rc1.tar.gz"
CHECKSUM_SHA256="dfe019949335b80d258d4b4f24d6cbf9d730b396ecdefc033d955641ff056ab1"
SOURCE_DIR="cmake-4.1.0-rc1"
PATCHES="cmake-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
PROVIDES="
cmake4$secondaryArchSuffix = $portVersionCompat
cmd:ccmake = $portVersionCompat
cmd:cmake = $portVersionCompat
cmd:cpack = $portVersionCompat
cmd:ctest = $portVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libarchive$secondaryArchSuffix
# lib:libcppdap$secondaryArchSuffix # use the embedded copy to avoid circular deps.
lib:libcurl$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libjsoncpp$secondaryArchSuffix
lib:libform$secondaryArchSuffix # from ncurses.
lib:libncurses$secondaryArchSuffix
lib:librhash$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
# Theres are never linked to the resulting "cmds:"s. See note on BUILD_REQUIRES.
# lib:libbz2$secondaryArchSuffix
# lib:liblzma$secondaryArchSuffix
# lib:libnghttp2$secondaryArchSuffix
# lib:libzstd$secondaryArchSuffix
"
CONFLICTS="
cmake$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libarchive$secondaryArchSuffix
# devel:libcppdap$secondaryArchSuffix # use the embedded copy to avoid circular deps.
devel:libcurl$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libjsoncpp$secondaryArchSuffix >= 25
devel:libncurses$secondaryArchSuffix
devel:librhash$secondaryArchSuffix
devel:libuv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:nlohmann_json
# The following do not appear to be used, nor with --system-libs, nor by enabling them
# individually. Leaving them here just because they are mentioned in ./configure --help
# and during the build process' output.
# devel:libbz2$secondaryArchSuffix
# devel:liblzma$secondaryArchSuffix
# devel:libnghttp2$secondaryArchSuffix
# devel:libzstd$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:sed
cmd:which
"
defineDebugInfoPackage cmake4$secondaryArchSuffix \
$prefix/bin/ccmake \
$prefix/bin/cmake \
$prefix/bin/cpack \
$prefix/bin/ctest
BUILD()
{
export LDFLAGS="-lbsd"
# not an autotools configure
# --system-libs doesn't allow --no-system-* overrides
./configure --prefix=$prefix \
--datadir=/$relativeDataDir/cmake \
--docdir=/$relativeDocDir \
--mandir=/$relativeManDir \
--xdgdatadir=/$relativeDataDir \
--no-system-libs \
--system-curl \
--system-expat \
--system-jsoncpp \
--system-libarchive \
--system-librhash \
--system-libuv \
--system-zlib \
--bootstrap-system-libuv \
--bootstrap-system-jsoncpp \
--bootstrap-system-librhash \
--parallel=${jobArgs#-j}
# These do not seem to be used anyway (libarchive at least links to libz/libzstd):
# --system-bzip2 --system-liblzma --system-zstd, --system-nghttp2
make $jobArgs
}
INSTALL()
{
make install
}
# For reference: version 3.30.3
# x86_32 (for a build with cmake-gui). Took around 140 minutes.
# 72% tests passed, 189 tests failed out of 676
#
# version 4.1.0-rc1: x86_64.
# 95% tests passed, 31 tests failed out of 628
# The following tests FAILED:
# 5 - kwsys.testSystemTools (Failed)
# 24 - FindPackageCMakeTest (Failed)
# 25 - FindPackageCpsTest (Failed)
# 57 - ExportImport (Failed) CUDA
# 66 - StagingPrefix (Failed)
# 80 - Module.ExternalData (Failed)
# 137 - ExternalProjectLocal (Failed)
# 140 - InstallMode-COPY (Failed)
# 141 - InstallMode-REL_SYMLINK (Failed)
# 142 - InstallMode-REL_SYMLINK_OR_COPY (Failed)
# 143 - InstallMode-ABS_SYMLINK (Failed)
# 144 - InstallMode-ABS_SYMLINK_OR_COPY (Failed)
# 145 - InstallMode-SYMLINK (Failed)
# 146 - InstallMode-SYMLINK_OR_COPY (Failed)
# 179 - CTestCoverageCollectGCOV (Failed)
# 221 - CTestTestTimeout (Failed)
# 259 - CMakeLib.testUVProcessChain (Failed)
# 409 - RunCMake.ParseImplicitLinkInfo (Failed)
# 420 - RunCMake.find_dependency (Failed)
# 469 - RunCMake.file (Failed)
# 471 - RunCMake.file-DOWNLOAD (Failed)
# 476 - RunCMake.find_library (Failed)
# 477 - RunCMake.find_package (Failed)
# 516 - RunCMake.no_install_prefix (Failed)
# 518 - RunCMake.CTestTimeout (Failed)
# 524 - RunCMake.FindPkgConfig (Failed)
# 527 - RunCMake.File_Archive (Failed)
# 546 - RunCMake.target_sources (Failed)
# 552 - RunCMake.CommandLine (Failed)
# 553 - RunCMake.CommandLineTar (Failed)
# 554 - RunCMake.install (Failed) ISPC
TEST()
{
# 2 tests crash (1 test case has 5 crashes, but passes the test?), exclude with -E
./bin/ctest --output-on-failure -E "(CMakeLib.testUVProcessChain|RunCMake.execute_process)"
# run individual failing test(s) with -R
# ./bin/ctest -R "(kwsys.testSystemTools|FindPackageCMakeTest)" --output-on-failure
}

View File

@@ -0,0 +1,135 @@
SUMMARY="A cross-platform build system (GUI version)"
DESCRIPTION="CMake is a family of tools designed to build, test and package \
software. It is used to control the software compilation process using \
simple platform and compiler independent configuration files. CMake generates \
native makefiles and workspaces that can be used in the compiler environment \
of your choice.
This package provides the GUI version of CMake (cmake-gui). It must be \
installed in the same prefix as the main cmake package."
HOMEPAGE="https://cmake.org/"
COPYRIGHT="2002-2025 Kitware, Inc., Insight Consortium"
LICENSE="CMake"
REVISION="1"
SOURCE_URI="https://github.com/Kitware/CMake/releases/download/v4.1.0-rc1/cmake-4.1.0-rc1.tar.gz"
CHECKSUM_SHA256="dfe019949335b80d258d4b4f24d6cbf9d730b396ecdefc033d955641ff056ab1"
SOURCE_DIR="cmake-4.1.0-rc1"
PATCHES="cmake-$portVersion.patchset"
ADDITIONAL_FILES="cmake.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
PROVIDES="
cmake4_gui$secondaryArchSuffix = $portVersion
cmd:cmake_gui = $portVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
cmake4$secondaryArchSuffix
lib:libarchive$secondaryArchSuffix
lib:libcppdap$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libjsoncpp$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:librhash$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
# Earlier versions of the gui package came from just one recipe named "cmake".
if [ -n "$secondaryArchSuffix" ]; then
REPLACES="cmake${secondaryArchSuffix}_gui"
fi
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libarchive$secondaryArchSuffix
devel:libcppdap$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
devel:libexpat$secondaryArchSuffix
devel:libjsoncpp$secondaryArchSuffix >= 25
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6Widgets$secondaryArchSuffix
devel:librhash$secondaryArchSuffix
devel:libuv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:nlohmann_json
"
BUILD_PREREQUIRES="
cmake4$secondaryArchSuffix == $portVersion
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:sed
"
defineDebugInfoPackage cmake4_gui$secondaryArchSuffix \
$prefix/bin/cmake-gui
BUILD()
{
# the CMAKE_*_DIR variables should match the definitions in the cmake recipe
cmake -Bbuild-gui -S. $cmakeDirArgs \
-DCMAKE_INSTALL_BINDIR=bin \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DBUILD_CursesDialog=OFF \
-DBUILD_QtDialog=ON \
-DCMAKE_DATA_DIR=/$relativeDataDir/cmake \
-DCMAKE_DOC_DIR=/$relativeDocumentationDir/packages/cmake \
-DCMAKE_MAN_DIR=/$relativeManDir \
-DCMAKE_XDGDATA_DIR=/$relativeDataDir \
-DCMAKE_USE_SYSTEM_BZIP2=ON \
-DCMAKE_USE_SYSTEM_CPPDAP=ON \
-DCMAKE_USE_SYSTEM_CURL=ON \
-DCMAKE_USE_SYSTEM_EXPAT=ON \
-DCMAKE_USE_SYSTEM_FORM=ON \
-DCMAKE_USE_SYSTEM_JSONCPP=ON \
-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON \
-DCMAKE_USE_SYSTEM_LIBLZMA=ON \
-DCMAKE_USE_SYSTEM_LIBRHASH=ON \
-DCMAKE_USE_SYSTEM_LIBUV=ON \
-DCMAKE_USE_SYSTEM_NGHTTP2=ON \
-DCMAKE_USE_SYSTEM_ZLIB=ON \
-DCMAKE_USE_SYSTEM_ZSTD=ON
make -Cbuild-gui/Source/QtDialog $jobArgs
}
INSTALL()
{
# make install tries to use a local cmake, which isn't built, use the system version instead
ln -sf /boot/system/bin/cmake build-gui/bin
make -Cbuild-gui/Source/QtDialog install
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
local APP_NAME="CMake-GUI"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.cmake-gui"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/cmake.rdef.in > cmake.rdef
addResourcesToBinaries cmake.rdef $prefix/bin/cmake-gui
addAppDeskbarSymlink $prefix/bin/cmake-gui CMake-GUI
}

View File

@@ -0,0 +1,328 @@
From e02bb888e518ca5961c8a7d2f10d9903469c19fb 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 2ec6aac..bcdc2e2 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1792,6 +1792,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 4d0b6bcc23d37a10be5eb29e72ec6833c2f5c9e8 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 5db1afb3792bb3a9c13ba535ee62a41bb6c0a3e5 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 3610389..9ba64b0 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 209801edd862e01620a2ed121b616ab010ca8ada 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 a24ea705e2a097f25488f3cd15ef7bcbcd82589d 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 6201894..c06e7ad 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -3294,7 +3294,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 5d46410ddf9bead94fda9a725930e49f9e41192f 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 d586aef6bed89544e4446d6fe24c809b7ce64244 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 cab0fcb..919c3cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,7 +140,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 b1c8290..670fe25 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -861,6 +861,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 8d9c526763944fd45cb27ef6c4e770fa7bd53324 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.48.1
From 941be032b8e4ab52601a324561bd9560679e6326 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 a944164..65fb255 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.48.1
From ba75d29dbc172d1356ed79b705521a9d72e0825b 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 65fb255..e25be91 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.48.1
From 967f90fc0c3ea9d778e412f6c51489a3c51b1abd 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.48.1