* gnu/packages/cmake.scm (%common-build-phases): Remove phase
'use-system-libarchive'.
(%preserved-third-party-files): New variable.
(cmake-bootstrap)[native-inputs]: Remove.
[source](snippet): Rewrite in terms of FILE-SYSTEM-FOLD, and
preserve two files from the bundled libarchive.
(cmake-minimal)[source](snippet): Adjust accordingly.
This allows removing the bundled LibUV in a subsequent commit. This commit
alone makes no functional changes apart from the build system adjustments.
* gnu/packages/cmake.scm (%common-build-phases, %common-disabled-tests): New
variables.
(cmake-bootstrap)[arguments]: Refactor to use the shared phases and tests.
(cmake-minimal)[build-system]: Change to CMAKE-BUILD-SYSTEM.
[arguments]: Adjust accordingly.
(cmake)[arguments]: Likewise.
...and change the inheritance order while at it, to prepare for the next commit.
* gnu/packages/cmake.scm (cmake-minimal): Rename to ...
(cmake-bootstrap): ... this.
[name]: Set to "cmake-bootstrap".
[native-inputs]: Change from CURL to CURL-MINIMAL.
(cmake-minimal-bootstrap): Remove variable.
(cmake-minimal): New variable, inherits from CMAKE-BOOTSTRAP.
* gnu/packages/image.scm (libjpeg-turbo)[arguments]: Change from
CMAKE-MINIMAL-BOOTSTRAP to CMAKE-BOOTSTRAP.
This is necessary to avoid a circular dependency in the next commit.
* gnu/packages/curl.scm (curl-minimal): New public variable.
* gnu/packages/cmake.scm (cmake-minimal-bootstrap): New public variable.
* gnu/packages/image.scm (libjpeg-turbo)[arguments]: Add #:cmake.
Add CMake version 3.15.5 but do not replace the existing version to avoid
triggering the rebuild of all CMake-based packages.
See <https://issues.guix.gnu.org/issue/38060>.
* gnu/packages/cmake.scm (cmake-3.15.5): Add CMake 3.15.5.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* gnu/packages/cmake.scm (cmake-minimal-cross): New package.
* guix/build-system/cmake.scm (default-cmake): Add new target argument and use
it to select cmake-minimal or cmake-minimal-cross.
(lower): Pass target to default-cmake.
To prevent complicating the dependencies of a core tool, a new variant,
CMAKE-MINIMAL is introduced and the CMake build system is configured to use it
by default. The regular CMAKE package gains a manpage, info manual as well
as HTML documentation.
Fixes issue #33497 (https://bugs.gnu.org/33497).
* gnu/packages/cmake.scm (gnu): Use modules (gnu packages python-xyz),
(gnu packages texinfo) and (srfi srfi-1).
(cmake-minimal): Rename the original cmake variable to this.
[phases]{configure}: Extract the configure script arguments to...
[configure-flags]: here.
[properties]: Set the HIDDEN? property to #t.
(cmake): New variable, which inherits from CMAKE-MINIMAL.
[phases]{move-html-doc}: Add phase.
[native-inputs]: Add PYTHON-SPHINX and TEXINFO.
[outputs]: Add the "doc" output.
[properties]: Clear the inherited HIDDEN? property.
* guix/build-system/cmake.scm (default-cmake): Use CMAKE-MINIMAL instead of
CMAKE.