From 5d145ea3edbe16486b74d674f28f6acd25b97122 Mon Sep 17 00:00:00 2001 From: OscarL Date: Fri, 11 Oct 2024 03:09:42 -0300 Subject: [PATCH] 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). --- dev-build/cmake/cmake-3.28.3.recipe | 98 ------ dev-build/cmake/cmake-3.30.3.recipe | 318 ++++++++++++++++++ dev-build/cmake/cmake_gui-3.30.3.recipe | 121 +++++++ ...-3.28.3.patchset => cmake-3.30.3.patchset} | 123 +++++-- 4 files changed, 531 insertions(+), 129 deletions(-) delete mode 100644 dev-build/cmake/cmake-3.28.3.recipe create mode 100644 dev-build/cmake/cmake-3.30.3.recipe create mode 100644 dev-build/cmake/cmake_gui-3.30.3.recipe rename dev-build/cmake/patches/{cmake-3.28.3.patchset => cmake-3.30.3.patchset} (71%) diff --git a/dev-build/cmake/cmake-3.28.3.recipe b/dev-build/cmake/cmake-3.28.3.recipe deleted file mode 100644 index 3d606f7e7..000000000 --- a/dev-build/cmake/cmake-3.28.3.recipe +++ /dev/null @@ -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" -} diff --git a/dev-build/cmake/cmake-3.30.3.recipe b/dev-build/cmake/cmake-3.30.3.recipe new file mode 100644 index 000000000..c78880d36 --- /dev/null +++ b/dev-build/cmake/cmake-3.30.3.recipe @@ -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" +} diff --git a/dev-build/cmake/cmake_gui-3.30.3.recipe b/dev-build/cmake/cmake_gui-3.30.3.recipe new file mode 100644 index 000000000..904324a36 --- /dev/null +++ b/dev-build/cmake/cmake_gui-3.30.3.recipe @@ -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 +} diff --git a/dev-build/cmake/patches/cmake-3.28.3.patchset b/dev-build/cmake/patches/cmake-3.30.3.patchset similarity index 71% rename from dev-build/cmake/patches/cmake-3.28.3.patchset rename to dev-build/cmake/patches/cmake-3.30.3.patchset index 02cbcaf80..b768db87c 100644 --- a/dev-build/cmake/patches/cmake-3.28.3.patchset +++ b/dev-build/cmake/patches/cmake-3.30.3.patchset @@ -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 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_ 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 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 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 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 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 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 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 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 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?= 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 +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 +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 +