~ruther/guix-local

76454d9af373da8b0ca5d47b278d67dc051ec09f — Maxim Cournoyer 3 years ago 5017b1b
gnu: cmake: Update to 3.24.2.

* gnu/packages/cmake.scm (cmake): Update to 3.24.2.
[source]: Adjust snippet to preserve "Utilities/cmelf".  Override with new
patch.
[native-inputs]: Use modify-inputs and remove labels.
* gnu/packages/patches/cmake-curl-certificates-3.24.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
3 files changed, 45 insertions(+), 7 deletions(-)

M gnu/local.mk
M gnu/packages/cmake.scm
A gnu/packages/patches/cmake-curl-certificates-3.24.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 975,6 975,7 @@ dist_patch_DATA =						\
  %D%/packages/patches/cling-use-shared-library.patch		\
  %D%/packages/patches/clucene-pkgconfig.patch			\
  %D%/packages/patches/cmake-curl-certificates.patch		\
  %D%/packages/patches/cmake-curl-certificates-3.24.patch	\
  %D%/packages/patches/coda-use-system-libs.patch		\
  %D%/packages/patches/collectd-5.11.0-noinstallvar.patch		\
  %D%/packages/patches/containerd-create-pid-file.patch		\

M gnu/packages/cmake.scm => gnu/packages/cmake.scm +23 -7
@@ 8,7 8,7 @@
;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>


@@ 333,6 333,24 @@ and workspaces that can be used in the compiler environment of your choice.")
  (package
    (inherit cmake-minimal)
    (name "cmake")
    (version "3.24.2")
    (source (origin
              (inherit (package-source cmake-minimal))
              (method url-fetch)
              (uri (string-append "https://cmake.org/files/v"
                                  (version-major+minor version)
                                  "/cmake-" version ".tar.gz"))
              (snippet (match (origin-snippet (package-source cmake-minimal))
                         (('begin ('define 'preserved-files ('quote x))
                                  rest ...)
                          `(begin (define preserved-files
                                    ',(cons "Utilities/cmelf" x))
                                  ,@rest))))
              (sha256
               (base32
                "1ny8y2dzc6fww9gzb1ml0vjpx4kclphjihkxagxigprxdzq2140d"))
              (patches (search-patches "cmake-curl-certificates-3.24.patch"))))
    (outputs '("out" "doc"))
    (arguments
     (substitute-keyword-arguments (package-arguments cmake-minimal)
       ;; Use cmake-minimal this time.


@@ 368,14 386,12 @@ and workspaces that can be used in the compiler environment of your choice.")
                 (delete-file-recursively (string-append out html)))))))))
    (inputs
     (modify-inputs (package-inputs cmake-minimal)
       (prepend ncurses ;required for ccmake
                )))
       (prepend ncurses)))              ;required for ccmake
    ;; Extra inputs required to build the documentation.
    (native-inputs
     `(,@(package-native-inputs cmake-minimal)
       ("python-sphinx" ,python-sphinx)
       ("texinfo" ,texinfo)))
    (outputs '("out" "doc"))
     (modify-inputs (package-native-inputs cmake-minimal)
       (append python-sphinx
               texinfo)))
    (properties (alist-delete 'hidden? (package-properties cmake-minimal)))))

(define-public cmake-minimal-cross

A gnu/packages/patches/cmake-curl-certificates-3.24.patch => gnu/packages/patches/cmake-curl-certificates-3.24.patch +21 -0
@@ 0,0 1,21 @@
Submitted upstream at https://gitlab.kitware.com/cmake/cmake/-/merge_requests/7670.

diff --git a/Source/cmCurl.cxx b/Source/cmCurl.cxx
index 28ee24dfe9..fc5405213a 100644
--- a/Source/cmCurl.cxx
+++ b/Source/cmCurl.cxx
@@ -38,6 +38,14 @@ std::string cmCurlSetCAInfo(::CURL* curl, const std::string& cafile)
     ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, cafile.c_str());
     check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
   }
+  /* Honor the user-configurable OpenSSL environment variables. */
+  else if (cmSystemTools::GetEnv("SSL_CERT_FILE", e)) {
+    ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, e.c_str());
+    check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
+  } else if (cmSystemTools::GetEnv("SSL_CERT_DIR", e)) {
+    ::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_CAPATH, e.c_str());
+    check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
+  }
 #ifdef CMAKE_FIND_CAFILE
 #  define CMAKE_CAFILE_FEDORA "/etc/pki/tls/certs/ca-bundle.crt"
   else if (cmSystemTools::FileExists(CMAKE_CAFILE_FEDORA, true)) {