Package: guix-patches;
Reported by: Greg Hogan <code <at> greghogan.com>
Date: Wed, 27 Mar 2024 14:50:01 UTC
Severity: normal
Tags: patch
Done: Greg Hogan <code <at> greghogan.com>
Message #268 received at 70031-done <at> debbugs.gnu.org (full text, mbox):
From: Greg Hogan <code <at> greghogan.com> To: 70031-done <at> debbugs.gnu.org Subject: Re: [PATCH v2 00/65] Use CMake in build-system/cmake. Date: Wed, 9 Jul 2025 14:23:55 -0400
On Tue, Oct 22, 2024 at 2:10 PM Greg Hogan <code <at> greghogan.com> wrote: > > This update follows the original submission in March based on a mailing > list discussion from 3+ years ago regarding cmake-build-system tests not > running in parallel. > https://lists.gnu.org/archive/html/guix-devel/2021-10/msg00055.html > > Additional improvements have made, allowing packages to use CMake > features by default or by configuration rather than rewriting phases: > > 1) Tests can run in parallel. Make (from the gnu-build-system) treats > ctest as a single target so cannot parallelize tests. By directly > running ctest the tests are run with optional parallelism. > > 2) Alternative generators, namely Ninja. When configured with an > alternative generator the CMake build, check, and install commands will > use that generator and the package need not replace each phase. This is > now simply accomplished with a #:generator argument. > > 3) Adds a #:test-exclude parameter to cmake-build-system, updates > several packages to use this, and forces CMake to disable parallelism > when :#test-parallelism is #false. Both changes were recommended by > Zheng Junjie. > > 4) The CMake variable BUILD_TESTING is now set to the value of the build > system's 'tests?' field which allows packages to optionally skip > building tests. Furthermore, the CMake variables are stored into and > loaded via a 'cache' file to prevent warnings about unused variables. > > 5) Updates CMake and pins packages with CMake as a native-input to use > cmake-minimal. > > Greg Hogan (65): > build-system/cmake: Parallelize tests using ctest. > build-system/cmake: Add generator fields. > build-system/qt: Add generator fields. > build-system/cmake: Add generator. > build-system/cmake: Add build. > build-system/cmake: Add install. > build-system/cmake: Add test-exclude fields. > build-system/qt: Add test-exclude fields. > build-system/cmake: Add test exclusion. > build-system/cmake: Optionally build tests. > build-system/cmake: Include ninja. > build-system/qt: Include ninja. > gnu: astroid: Remove custom phases. > gnu: rdma-core: Remove custom phases. > gnu: fish: Fix tests. > gnu: igraph: Fix tests. > gnu: inkscape: Fix tests. > gnu: inkscape/stable: Fix tests. > gnu: kirigami: Fix tests. > gnu: kirigami-5: Disable tests. > gnu: vigra: Fix tests. > gnu: cpp-httplib: Disable parallel tests. > gnu: evolution-data-server: Disable parallel tests. > gnu: kservice: Disable parallel tests. > gnu: libical: Disable parallel tests. > gnu: libmedfile: Disable parallel tests. > gnu: mbedtls-lts: Disable parallel tests. > gnu: scotch: Disable parallel tests. > gnu: srt: Disable parallel tests. > gnu: vulkan-loader: Disable parallel tests. > gnu: websocketpp: Disable parallel tests. > gnu: dbus-cxx: Use #:test-exclude. > gnu: hotspot: Use #:test-exclude. > gnu: kconfig-5: Use #:test-exclude. > gnu: nextcloud-client: Use #:test-exclude. > gnu: pdal: Use :#test-exclude and disable parallel tests. > gnu: qxmpp: Use #:test-exclude. > gnu: simgear: Use #:test-exclude. > gnu: cmake: Update to 3.30.5. > gnu: asymptote: Pin CMake dependency. > gnu: conan: Pin CMake dependency. > gnu: entangle: Pin CMake dependency. > gnu: go-mvdan-cc-editorconfig: Pin CMake dependency. > gnu: libdecor: Pin CMake dependency. > gnu: liblxi: Pin CMake dependency. > gnu: lxi-tools: Pin CMake dependency. > gnu: pantheon-calculator: Pin CMake dependency. > gnu: pantheon-calendar: Pin CMake dependency. > gnu: python-awkward-cpp: Pin CMake dependency. > gnu: python-contourpy: Pin CMake dependency. > gnu: python-keystone-engine: Pin CMake dependency. > gnu: python-lief: Pin CMake dependency. > gnu: python-optree: Pin CMake dependency. > gnu: python-pivy: Pin CMake dependency. > gnu: python-pytorch: Pin CMake dependency. > gnu: python-symengine: Pin CMake dependency. > gnu: raider: Pin CMake dependency. > gnu: siril: Pin CMake dependency. > gnu: soqt: Pin CMake dependency. > gnu: syndication-domination: Pin CMake dependency. > gnu: tigervnc-server: Pin CMake dependency. > gnu: trinityrnaseq: Pin CMake dependency. > gnu: unicorn: Pin CMake dependency. > gnu: wavbreaker: Pin CMake dependency. > gnu: xffm+: Pin CMake dependency. > > doc/guix.texi | 33 +++++--- > gnu/packages/astronomy.scm | 2 +- > gnu/packages/bioinformatics.scm | 4 +- > gnu/packages/calendar.scm | 1 + > gnu/packages/cmake.scm | 40 +++++----- > gnu/packages/cpp.scm | 3 +- > gnu/packages/emulators.scm | 4 +- > gnu/packages/engineering.scm | 3 +- > gnu/packages/freedesktop.scm | 2 +- > gnu/packages/games.scm | 8 +- > gnu/packages/geo.scm | 9 +-- > gnu/packages/glib.scm | 10 +-- > gnu/packages/gnome.scm | 5 +- > gnu/packages/golang-xyz.scm | 2 +- > gnu/packages/graph.scm | 10 ++- > gnu/packages/hardware.scm | 4 +- > gnu/packages/image.scm | 14 +++- > gnu/packages/inkscape.scm | 12 ++- > gnu/packages/kde-frameworks.scm | 21 +++-- > gnu/packages/linux.scm | 59 ++++++-------- > gnu/packages/machine-learning.scm | 2 +- > gnu/packages/mail.scm | 38 +++------ > gnu/packages/maths.scm | 3 +- > gnu/packages/messaging.scm | 17 ++-- > gnu/packages/mp3.scm | 2 +- > gnu/packages/networking.scm | 3 +- > gnu/packages/package-management.scm | 2 +- > gnu/packages/pantheon.scm | 4 +- > gnu/packages/photo.scm | 2 +- > gnu/packages/plotutils.scm | 2 +- > gnu/packages/python-xyz.scm | 12 +-- > gnu/packages/qt.scm | 2 +- > gnu/packages/shells.scm | 9 +++ > gnu/packages/sync.scm | 7 +- > gnu/packages/syndication.scm | 2 +- > gnu/packages/tls.scm | 3 +- > gnu/packages/vnc.scm | 2 +- > gnu/packages/vulkan.scm | 1 + > gnu/packages/web.scm | 3 +- > guix/build-system/cmake.scm | 12 +++ > guix/build-system/qt.scm | 12 +++ > guix/build/cmake-build-system.scm | 120 +++++++++++++++++++--------- > 42 files changed, 293 insertions(+), 213 deletions(-) > > > base-commit: 5b0afaca8a67402667ae620cc26eef06fbe144cb > -- > 2.46.1 This patchset is included in the c++-team branch so I am closing the issue.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.