From 7c1ea9316a3fd4212c08f8c3767dbd654d5136c6 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 25 Jan 2020 14:19:14 +0100 Subject: gnu: cmake-minimal-bootstrap: Rename to cmake-bootstrap. ...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. --- gnu/packages/cmake.scm | 35 ++++++++++++++++++----------------- gnu/packages/image.scm | 2 +- 2 files changed, 19 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 913317b25f..252ea1b065 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -47,11 +47,11 @@ (define-module (gnu packages cmake) #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) -;;; This minimal variant of CMake does not include the documentation. It is -;;; used by the cmake-build-system. -(define-public cmake-minimal +;;; The "bootstrap" CMake. It is used to build the inputs of 'cmake-minimal' +;;; below, to prevent a cyclic dependency on cmake-build-system. +(define-public cmake-bootstrap (package - (name "cmake-minimal") + (name "cmake-bootstrap") (version "3.16.3") (source (origin (method url-fetch) @@ -156,7 +156,9 @@ (define-public cmake-minimal (apply invoke "./configure" configure-flags)))))) (native-inputs `(("bzip2" ,bzip2) - ("curl" ,curl) + ;; cURL depends on ghostscript (via groff and OpenLDAP), which depends on + ;; 'cmake-build-system' through libtiff and ultimately libjpeg-turbo. + ("curl" ,curl-minimal) ("expat" ,expat) ("file" ,file) ("libarchive" ,libarchive) @@ -194,6 +196,17 @@ (define-public cmake-minimal license:expat ; cmjsoncpp is dual MIT/public domain license:public-domain)))) ; cmlibarchive/archive_getdate.c +;;; This minimal variant of CMake does not include the documentation. It is +;;; used by the cmake-build-system. +(define-public cmake-minimal + (package + (inherit cmake-bootstrap) + (name "cmake-minimal") + (native-inputs + `(("curl" ,curl) + ,@(alist-delete "curl" (package-native-inputs cmake-bootstrap)))))) + +;;; The "user-facing" CMake, now with manuals and HTML documentation. (define-public cmake (package (inherit cmake-minimal) @@ -236,18 +249,6 @@ (define-public cmake-minimal-cross (search-paths (package-native-search-paths cmake-minimal)))) -;; The purpose of this package is to solve a circular dependency between -;; packages that use cmake-build-system and CMakes own dependencies. -(define-public cmake-minimal-bootstrap - (package - (inherit cmake-minimal) - (name "cmake-minimal-bootstrap") - (native-inputs - `(;; cURL depends on ghostscript (via groff and OpenLDAP), which depends on - ;; 'cmake-build-system' through libtiff and ultimately libjpeg-turbo. - ("curl" ,curl-minimal) - ,@(alist-delete "curl" (package-native-inputs cmake-minimal)))))) - (define-public emacs-cmake-mode (package (inherit cmake) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 1b86f700e4..ebb30742a4 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1512,7 +1512,7 @@ (define-public libjpeg-turbo '() ;; Use a special "bootstrap" CMake for the native build to work ;; around a circular dependency between CMake and this package. - `(#:cmake ,cmake-minimal-bootstrap)))) + `(#:cmake ,cmake-bootstrap)))) (home-page "https://libjpeg-turbo.org/") (synopsis "SIMD-accelerated JPEG image handling library") (description "libjpeg-turbo is a JPEG image codec that accelerates baseline -- cgit v1.2.3