cmake: update to version 3.30.3. (#11158)

- Changed "include" for "headers" in fallback code path.
  Not strictly needed after korli's previous fix for #11155, but...
  doesn't hurts. Kudos to madmax for this early workaround!
- Use system-libs for most dependencies.
  Some, as libbz2, liblzma, and libzstd, seems to not obey
  use the system-wide installed ones for some reason.
  Switch to using the embedded copy of libcppdap, to avoid circular
  build dependencies (cppdap needs cmake to build).
- Restored the cmake_gui package, but within a separate recipe,
  to avoid circular build dependencies with Qt libraries (that
  use cmake to build).
This commit is contained in:
OscarL
2024-10-11 03:09:42 -03:00
committed by GitHub
parent 51263af007
commit 5d145ea3ed
4 changed files with 531 additions and 129 deletions

View File

@@ -1,98 +0,0 @@
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-2023 Kitware, Inc., Insight Consortium"
LICENSE="CMake"
REVISION="3"
SOURCE_URI="https://cmake.org/files/v${portVersion%.*}/cmake-$portVersion.tar.gz"
CHECKSUM_SHA256="72b7570e5c8593de6ac4ab433b73eab18c5fb328880460c86ce32608141ad5c1"
PATCHES="cmake-$portVersion.patchset"
ADDITIONAL_FILES="cmake.rdef.in"
ARCHITECTURES="all !x86_gcc2 ?x86 ?arm"
SECONDARY_ARCHITECTURES="x86"
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
PROVIDES="
cmake$secondaryArchSuffix = $portVersionCompat
cmd:ccmake = $portVersionCompat
cmd:cmake = $portVersionCompat
cmd:cpack = $portVersionCompat
cmd:ctest = $portVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcppdap$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libjsoncpp$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:librhash$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libuv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libcppdap$secondaryArchSuffix
devel:libjsoncpp$secondaryArchSuffix >= 25
devel:libncurses$secondaryArchSuffix
devel:librhash$secondaryArchSuffix
devel:libuv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:nlohmann_json
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:sed
"
defineDebugInfoPackage cmake$secondaryArchSuffix \
$prefix/bin/ccmake \
$prefix/bin/cmake \
$prefix/bin/cpack \
$prefix/bin/ctest
BUILD()
{
export LDFLAGS="-lbsd"
# not an autotools configure
./configure --prefix=$prefix \
--datadir=/$relativeDataDir/cmake \
--docdir=/$relativeDocDir \
--mandir=/$relativeManDir \
--xdgdatadir=/$relativeDataDir \
--no-system-libs \
--system-cppdap \
--system-curl \
--system-jsoncpp \
--system-librhash \
--system-libuv \
--parallel=${jobArgs#-j}
make $jobArgs
}
INSTALL()
{
make install
}
TEST()
{
#x86_64
#72% tests passed, 183 tests failed out of 664
cp bin/ctest Bootstrap.cmk/
make test VERBOSE=1 ARGS="$jobArgs"
}

View File

@@ -0,0 +1,318 @@
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-2024 Kitware, Inc., Insight Consortium"
LICENSE="CMake"
REVISION="1"
SOURCE_URI="https://cmake.org/files/v${portVersion%.*}/cmake-$portVersion.tar.gz"
CHECKSUM_SHA256="6d5de15b6715091df7f5441007425264bdd477809f80333fdf95f846aaff88e4"
PATCHES="cmake-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
PROVIDES="
cmake$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
"
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:sed
"
defineDebugInfoPackage cmake$secondaryArchSuffix \
$prefix/bin/ccmake \
$prefix/bin/cmake \
$prefix/bin/cpack \
$prefix/bin/ctest
BUILD()
{
export LDFLAGS="-lbsd"
# not an autotools configure
./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 \
--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
#
# x86_64 (for a build with cmake-gui). Took around 120 minutes.
# 72% tests passed, 190 tests failed out of 676
# The following tests FAILED:
# 6 - kwsys.testSystemTools (Failed)
# 26 - FindPackageTest (Failed)
# 58 - ExportImport (Failed)
# 67 - StagingPrefix (Failed)
# 82 - Module.ExternalData (Failed)
# 143 - InstallMode-COPY (Failed)
# 144 - InstallMode-REL_SYMLINK (Failed)
# 145 - InstallMode-REL_SYMLINK_OR_COPY (Failed)
# 146 - InstallMode-ABS_SYMLINK (Failed)
# 147 - InstallMode-ABS_SYMLINK_OR_COPY (Failed)
# 148 - InstallMode-SYMLINK (Failed)
# 149 - InstallMode-SYMLINK_OR_COPY (Failed)
# 204 - CTestCoverageCollectGCOV (Failed)
# 247 - CTestTestTimeout (Failed)
# 280 - CMakeLib.testUVProcessChain (Failed)
# 319 - RunCMake.CMP0019 (Failed)
# 320 - RunCMake.CMP0022 (Failed)
# 321 - RunCMake.CMP0026 (Failed)
# 323 - RunCMake.CMP0037 (Failed)
# 324 - RunCMake.CMP0038 (Failed)
# 325 - RunCMake.CMP0039 (Failed)
# 326 - RunCMake.CMP0040 (Failed)
# 327 - RunCMake.CMP0041 (Failed)
# 328 - RunCMake.CMP0043 (Failed)
# 329 - RunCMake.CMP0045 (Failed)
# 330 - RunCMake.CMP0046 (Failed)
# 331 - RunCMake.CMP0049 (Failed)
# 332 - RunCMake.CMP0050 (Failed)
# 333 - RunCMake.CMP0051 (Failed)
# 334 - RunCMake.CMP0053 (Failed)
# 335 - RunCMake.CMP0054 (Failed)
# 336 - RunCMake.CMP0055 (Failed)
# 337 - RunCMake.CMP0057 (Failed)
# 338 - RunCMake.CMP0059 (Failed)
# 339 - RunCMake.CMP0060 (Failed)
# 340 - RunCMake.CMP0064 (Failed)
# 341 - RunCMake.CMP0069 (Failed)
# 342 - RunCMake.CMP0081 (Failed)
# 343 - RunCMake.CMP0102 (Failed)
# 344 - RunCMake.CMP0106 (Failed)
# 345 - RunCMake.CMP0111 (Failed)
# 346 - RunCMake.CMP0115 (Failed)
# 347 - RunCMake.CMP0118 (Failed)
# 348 - RunCMake.CMP0119 (Failed)
# 349 - RunCMake.CMP0121 (Failed)
# 350 - RunCMake.CMP0126 (Failed)
# 352 - RunCMake.CMP0135 (Failed)
# 353 - RunCMake.CMP0139 (Failed)
# 354 - RunCMake.CMP0152 (Failed)
# 355 - RunCMake.CMP0153 (Failed)
# 356 - RunCMake.CMP0156 (Failed)
# 357 - RunCMake.CMP0160 (Failed)
# 358 - RunCMake.CMP0163 (Failed)
# 361 - RunCMake.CMP0170 (Failed)
# 362 - RunCMake.CMP0065 (Failed)
# 363 - RunCMake.Make (Failed)
# 364 - RunCMake.CTest (Failed)
# 366 - RunCMake.ABI (Failed)
# 368 - RunCMake.AutogenQt6 (Failed)
# 369 - RunCMake.BuildDepends (Failed)
# 372 - RunCMake.CMakeDependentOption (Failed)
# 376 - RunCMake.CompilerChange (Failed)
# 377 - RunCMake.CompilerNotFound (Failed)
# 379 - RunCMake.Configure (Failed)
# 380 - RunCMake.DisallowedCommands (Failed)
# 384 - RunCMake.ExternalData (Failed)
# 386 - RunCMake.FPHSA (Failed)
# 387 - RunCMake.FileAPI (Failed)
# 388 - RunCMake.FindBoost (Failed)
# 390 - RunCMake.FindOpenGL (Failed)
# 395 - RunCMake.GenEx-LINK_LANGUAGE (Failed)
# 396 - RunCMake.GenEx-LINK_LANG_AND_ID (Failed)
# 399 - RunCMake.GenEx-LINK_LIBRARY (Failed)
# 400 - RunCMake.GenEx-LINK_GROUP (Failed)
# 401 - RunCMake.GenEx-TARGET_FILE (Failed)
# 403 - RunCMake.GenEx-GENEX_EVAL (Failed)
# 404 - RunCMake.GenEx-TARGET_PROPERTY (Failed)
# 407 - RunCMake.GenEx-PATH_EQUAL (Failed)
# 409 - RunCMake.GeneratorExpression (Failed)
# 411 - RunCMake.GeneratorInstance (Failed)
# 412 - RunCMake.GeneratorPlatform (Failed)
# 413 - RunCMake.GeneratorToolset (Failed)
# 414 - RunCMake.GetPrerequisites (Failed)
# 415 - RunCMake.GNUInstallDirs (Failed)
# 418 - RunCMake.Languages (Failed)
# 420 - RunCMake.LinkItemValidation (Failed)
# 422 - RunCMake.ObjectLibrary (Failed)
# 425 - RunCMake.RuntimePath (Failed)
# 429 - RunCMake.TargetObjects (Failed)
# 430 - RunCMake.TargetProperties (Failed)
# 431 - RunCMake.ToolchainFile (Failed)
# 432 - RunCMake.find_dependency (Failed)
# 433 - RunCMake.CompileDefinitions (Failed)
# 435 - RunCMake.CompileFeatures (Failed)
# 437 - RunCMake.PolicyScope (Failed)
# 439 - RunCMake.WriteCompilerDetectionHeader (Failed)
# 442 - RunCMake.VisibilityPreset (Failed)
# 443 - RunCMake.CompatibleInterface (Failed)
# 444 - RunCMake.Syntax (Failed)
# 446 - RunCMake.MaxRecursionDepth (Failed)
# 447 - RunCMake.add_custom_command (Failed)
# 448 - RunCMake.add_custom_target (Failed)
# 450 - RunCMake.add_executable (Failed)
# 451 - RunCMake.add_library (Failed)
# 452 - RunCMake.add_subdirectory (Failed)
# 453 - RunCMake.add_test (Failed)
# 454 - RunCMake.build_command (Failed)
# 455 - RunCMake.execute_process (Failed)
# 456 - RunCMake.export (Failed)
# 457 - RunCMake.cmake_host_system_information (Failed)
# 458 - RunCMake.cmake_language (Failed)
# 459 - RunCMake.cmake_minimum_required (Failed)
# 460 - RunCMake.cmake_parse_arguments (Failed)
# 477 - RunCMake.define_property (Failed)
# 478 - RunCMake.file (Failed)
# 479 - RunCMake.file-CHMOD (Failed)
# 480 - RunCMake.file-DOWNLOAD (Failed)
# 481 - RunCMake.file-RPATH (Failed)
# 483 - RunCMake.find_file (Failed)
# 484 - RunCMake.find_library (Failed)
# 485 - RunCMake.find_package (Failed)
# 486 - RunCMake.find_path (Failed)
# 487 - RunCMake.find_program (Failed)
# 488 - RunCMake.foreach (Failed)
# 491 - RunCMake.get_filename_component (Failed)
# 492 - RunCMake.get_property (Failed)
# 493 - RunCMake.if (Failed)
# 494 - RunCMake.include (Failed)
# 495 - RunCMake.include_directories (Failed)
# 497 - RunCMake.list (Failed)
# 498 - RunCMake.load_cache (Failed)
# 499 - RunCMake.math (Failed)
# 500 - RunCMake.message (Failed)
# 501 - RunCMake.option (Failed)
# 503 - RunCMake.project (Failed)
# 504 - RunCMake.project_injected (Failed)
# 508 - RunCMake.separate_arguments (Failed)
# 509 - RunCMake.set_property (Failed)
# 510 - RunCMake.string (Failed)
# 512 - RunCMake.BundleUtilities (Failed)
# 513 - RunCMake.try_compile (Failed)
# 514 - RunCMake.try_run (Failed)
# 515 - RunCMake.set (Failed)
# 516 - RunCMake.variable_watch (Failed)
# 517 - RunCMake.while (Failed)
# 520 - RunCMake.alias_targets (Failed)
# 521 - RunCMake.InterfaceLibrary (Failed)
# 522 - RunCMake.no_install_prefix (Failed)
# 523 - RunCMake.configure_file (Failed)
# 524 - RunCMake.CTestTimeout (Failed)
# 527 - RunCMake.CXXModules (Failed)
# 531 - RunCMake.File_Archive (Failed)
# 532 - RunCMake.File_Configure (Failed)
# 533 - RunCMake.File_Generate (Failed)
# 534 - RunCMake.ExportWithoutLanguage (Failed)
# 536 - RunCMake.target_link_libraries (Failed)
# 540 - RunCMake.target_link_libraries-LINK_LIBRARY (Failed)
# 541 - RunCMake.target_link_libraries-LINK_GROUP (Failed)
# 546 - RunCMake.target_compile_features (Failed)
# 547 - RunCMake.target_compile_options (Failed)
# 549 - RunCMake.target_sources (Failed)
# 551 - RunCMake.CheckSourceCompiles (Failed)
# 552 - RunCMake.CheckSourceRuns (Failed)
# 553 - RunCMake.CheckModules (Failed)
# 554 - RunCMake.CheckIPOSupported (Failed)
# 555 - RunCMake.CommandLine (Timeout)
# 556 - RunCMake.CommandLineTar (Failed)
# 557 - RunCMake.install (Failed)
# 558 - RunCMake.file-GET_RUNTIME_DEPENDENCIES (Failed)
# 560 - RunCMake.CPackConfig (Failed)
# 562 - RunCMake.ExternalProject (Failed)
# 565 - RunCMake.CTestCommandLine (Failed)
# 568 - RunCMake.IfacePaths_INCDIRS (Failed)
# 580 - RunCMake.CPack_7Z (Failed)
# 581 - RunCMake.CPack_TBZ2 (Failed)
# 582 - RunCMake.CPack_TGZ (Failed)
# 583 - RunCMake.CPack_TXZ (Failed)
# 584 - RunCMake.CPack_TZ (Failed)
# 585 - RunCMake.CPack_ZIP (Failed)
# 586 - RunCMake.CPack_STGZ (Failed)
# 587 - RunCMake.CPack_External (Failed)
# 592 - RunCMake.UnityBuild (Failed)
# 593 - RunCMake.CMakePresets (Failed)
# 594 - RunCMake.CMakePresetsBuild (Failed)
# 595 - RunCMake.CMakePresetsTest (Failed)
# 596 - RunCMake.CMakePresetsPackage (Failed)
# 597 - RunCMake.CMakePresetsWorkflow (Failed)
# 598 - RunCMake.VerifyHeaderSets (Failed)
# 599 - RunCMake.set_tests_properties (Failed)
# 667 - CMake.String (Failed)
# (667 passed on 32 bits).
TEST()
{
# At least 6 tests crash, so it might be wise to add an "auto-kill" rule to debugger settings.
cp bin/ctest Bootstrap.cmk/
make test VERBOSE=1 ARGS="$jobArgs"
}

View File

@@ -0,0 +1,121 @@
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)"
HOMEPAGE="https://cmake.org/"
COPYRIGHT="2002-2024 Kitware, Inc., Insight Consortium"
LICENSE="CMake"
REVISION="1"
SOURCE_URI="https://cmake.org/files/v${portVersion%.*}/cmake-$portVersion.tar.gz"
CHECKSUM_SHA256="6d5de15b6715091df7f5441007425264bdd477809f80333fdf95f846aaff88e4"
SOURCE_DIR="cmake-$portVersion"
PATCHES="cmake-$portVersion.patchset"
ADDITIONAL_FILES="cmake.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
portVersionCompat="$portVersion compat >= ${portVersion%%.*}"
PROVIDES="
cmake_gui$secondaryArchSuffix = $portVersion
cmd:cmake_gui = $portVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
cmake$secondaryArchSuffix >= 3 # for the dataDir/cmake files.
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:libexpat$secondaryArchSuffix
devel:libjsoncpp$secondaryArchSuffix >= 25
devel:libform$secondaryArchSuffix # needed for building ccmake.
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6Widgets$secondaryArchSuffix
devel:librhash$secondaryArchSuffix
devel:libuv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:nlohmann_json
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:grep
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:sed
"
defineDebugInfoPackage cmake_gui$secondaryArchSuffix \
$prefix/bin/cmake-gui
BUILD()
{
export LDFLAGS="-lbsd"
# not an autotools configure
./configure --prefix=$prefix \
--datadir=/$relativeDataDir/cmake \
--docdir=/$relativeDocDir \
--mandir=/$relativeManDir \
--xdgdatadir=/$relativeDataDir \
--system-libs \
--qt-gui \
--parallel=${jobArgs#-j}
make $jobArgs
}
INSTALL()
{
# As we only provide /bin/cmake-gui on this package (The rest is provided by cmake base),
# just copy that binary, instead of doing "make install" and then removing what we don't need.
mkdir -p $prefix/bin
cp bin/cmake-gui $prefix/bin
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
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

@@ -1,14 +1,14 @@
From bdfde315f01be082c799d55a51a32000a6df0609 Mon Sep 17 00:00:00 2001
From 953e286effccd2b5f2de0f7439801bacd190eaed Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 24 Mar 2018 14:19:43 +0100
Subject: Fix search path for Lua headers.
diff --git a/Modules/FindLua51.cmake b/Modules/FindLua51.cmake
index 405a7a7..f7fa477 100644
index 2249ab1..b010f9a 100644
--- a/Modules/FindLua51.cmake
+++ b/Modules/FindLua51.cmake
@@ -29,7 +29,7 @@ locations other than lua/
@@ -32,7 +32,7 @@ cmake_policy(SET CMP0159 NEW) # file(STRINGS) with REGEX updates CMAKE_MATCH_<n>
find_path(LUA_INCLUDE_DIR lua.h
HINTS
ENV LUA_DIR
@@ -21,17 +21,17 @@ index 405a7a7..f7fa477 100644
2.45.2
From f91921cf37dab9a34b3de3ffaf8f967ffd5ac874 Mon Sep 17 00:00:00 2001
From 2407bb01e0b655cbf1eb0d96bb9b6708839c4242 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 115c354..84a9759 100755
index 88878fe..d390a8c 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1772,6 +1772,9 @@ else
@@ -1794,6 +1794,9 @@ else
uv_c_flags="${uv_c_flags} -D_XOPEN_SOURCE=700"
libs="${libs} -lsocket"
;;
@@ -45,17 +45,17 @@ index 115c354..84a9759 100755
2.45.2
From e019bb0a453aeb7bb326131043e043335331fe88 Mon Sep 17 00:00:00 2001
From 42c2374e8492b212b2c88adbf344e056b7e2c9de 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 d0b0e00..e7ed773 100644
index 83e8b61..314f239 100644
--- a/Utilities/cmlibuv/src/unix/core.c
+++ b/Utilities/cmlibuv/src/unix/core.c
@@ -1439,7 +1439,9 @@ int uv_os_getpriority(uv_pid_t pid, int* priority) {
@@ -1440,7 +1440,9 @@ int uv_os_getpriority(uv_pid_t pid, int* priority) {
return UV_EINVAL;
errno = 0;
@@ -65,7 +65,7 @@ index d0b0e00..e7ed773 100644
if (r == -1 && errno != 0)
return UV__ERR(errno);
@@ -1453,8 +1455,10 @@ int uv_os_setpriority(uv_pid_t pid, int priority) {
@@ -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;
@@ -80,7 +80,7 @@ index d0b0e00..e7ed773 100644
2.45.2
From 7b45c570b03574443bb0c6ed5e210322212ab039 Mon Sep 17 00:00:00 2001
From 7dffaf6ca08dd1ad927a844f27b1ac63943d2cb0 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
@@ -106,7 +106,7 @@ index 7d9a737..74b17f5 100644
2.45.2
From 8203e383c4cdfab1756010f4fa80cbad748cafe8 Mon Sep 17 00:00:00 2001
From 9fe2a3b5ec6750bce77cb5f6d8741d97f814599d 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.
@@ -130,14 +130,14 @@ index 74b17f5..41d77bb 100644
2.45.2
From bc8fa4b88742e2fbd96ba691b74de72e63724cb2 Mon Sep 17 00:00:00 2001
From ce12105b038122074e301adbe39f15684b4b3f82 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 d01054b..7a5271c 100644
index 3f705a9..404d833 100644
--- a/Modules/Compiler/GNU.cmake
+++ b/Modules/Compiler/GNU.cmake
@@ -49,7 +49,9 @@ macro(__compiler_gnu lang)
@@ -155,7 +155,7 @@ index d01054b..7a5271c 100644
2.45.2
From ecbbf02731e0a441ffa4f292b4022893020e177e Mon Sep 17 00:00:00 2001
From a8a7d5c99a9c617872b331e8c428f14a2081303f 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/
@@ -180,10 +180,10 @@ index e82bec3..0f8a620 100644
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 30458cd..68fecef 100644
index 344c250..b6cca06 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -2679,7 +2679,11 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in)
@@ -2712,7 +2712,11 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in)
common.emplace_back("libx32"_s);
}
common.emplace_back("lib"_s);
@@ -199,19 +199,19 @@ index 30458cd..68fecef 100644
2.45.2
From feff435b069d58d6db492085dd62415d64d3f558 Mon Sep 17 00:00:00 2001
From 34d3479017abc267f6cc5034ed8b0d8dfe6e3dbb 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 485cadf..95dc81b 100644
index da20534..97bcdc2 100644
--- a/Utilities/cmzstd/lib/common/zstd_trace.h
+++ b/Utilities/cmzstd/lib/common/zstd_trace.h
@@ -20,7 +20,7 @@ extern "C" {
/* weak symbol support */
#if !defined(ZSTD_HAVE_WEAK_SYMBOLS) && defined(__GNUC__) && \
@@ -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__)
@@ -222,14 +222,14 @@ index 485cadf..95dc81b 100644
2.45.2
From 0510c47fb9f80029fece57683e78eb48b2e61d97 Mon Sep 17 00:00:00 2001
From b0c7a8ff3ee3aca67dcf6bf3d3a62ebc751688fc 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 2823ca4..0b6877c 100644
index 081bd7d..6c33a8a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -137,7 +137,7 @@ option(CMake_BUILD_PCH "Compile CMake with precompiled headers" OFF)
@@ -240,12 +240,12 @@ index 2823ca4..0b6877c 100644
+ 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 1bc855e..93378da 100644
index 185ebfe..de9f4f8 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -822,6 +822,9 @@ if(CMake_ENABLE_DEBUGGER)
@@ -835,6 +835,9 @@ if(CMake_ENABLE_DEBUGGER)
)
endif()
target_link_libraries(CMakeLib PUBLIC cppdap::cppdap)
@@ -259,17 +259,17 @@ index 1bc855e..93378da 100644
2.45.2
From b09dd23084bbcb906a9e6d9dfbcde7e7c3de8722 Mon Sep 17 00:00:00 2001
From c6f6129aace253e8cb0afda8acac231d652ad5a5 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 369ff9a..84d5d65 100644
index 428d649..fab481e 100644
--- a/Source/kwsys/SystemInformation.cxx
+++ b/Source/kwsys/SystemInformation.cxx
@@ -4998,6 +4998,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
@@ -5003,6 +5003,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
this->TotalVirtualMemory = 0;
this->AvailableVirtualMemory = 0;
@@ -277,7 +277,7 @@ index 369ff9a..84d5d65 100644
// Retrieve cpuid_info union for cpu 0
cpuid_info cpu_info;
get_cpuid(&cpu_info, 0, 0);
@@ -5033,6 +5034,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
@@ -5038,6 +5039,7 @@ bool SystemInformationImplementation::QueryHaikuInfo()
// Chip Extended Model
this->ChipID.ExtendedModel = cpu_info.eax_1.extended_model;
@@ -315,3 +315,64 @@ index 08ab9c0..89e49ec 100644
--
2.45.2
From 81bee22cbfc3ea3c3d6ea8230e282fd1487ae418 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 35a1d67..fb38259 100644
--- a/Modules/FindPython/Support.cmake
+++ b/Modules/FindPython/Support.cmake
@@ -343,11 +343,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.45.2
From ae78fe5259866354c4e6cfbe8de25efaf4c9a974 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 e4b53fd..3938f3e 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -330,7 +330,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.45.2