diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/cmake.scm | 30 | ||||
-rw-r--r-- | gnu/packages/patches/cmake-curl-certificates-3.24.patch | 21 |
3 files changed, 45 insertions, 7 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 2f65e7ed01..adaa709b3e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index cf930c57fc..87fde01f63 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -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 diff --git a/gnu/packages/patches/cmake-curl-certificates-3.24.patch b/gnu/packages/patches/cmake-curl-certificates-3.24.patch new file mode 100644 index 0000000000..ca29c9001e --- /dev/null +++ b/gnu/packages/patches/cmake-curl-certificates-3.24.patch @@ -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)) { |