summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/cmake/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/build-managers/cmake/default.nix')
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix22
1 files changed, 18 insertions, 4 deletions
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index a2f5ee0325bf..fed88561cf9c 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig
 , bzip2, curl, expat, libarchive, xz, zlib, libuv, rhash
+, majorVersion ? "3.10"
 # darwin attributes
 , ps
 , isBootstrap ? false
@@ -14,10 +15,23 @@ assert useQt4 -> withQt5 == false;
 
 with stdenv.lib;
 
+with (
+  {
+    "3.10" = {
+      minorVersion = "2";
+      sha256 = "80d0faad4ab56de07aa21a7fc692c88c4ce6156d42b0579c6962004a70a3218b";
+    };
+    "3.9" = {
+      minorVersion = "6";
+      sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
+    };
+
+  }.${majorVersion}
+    or (abort ''Unsupported configuration for cmake: majorVersion = "${majorVersion}";'')
+);
+
 let
   os = stdenv.lib.optionalString;
-  majorVersion = "3.9";
-  minorVersion = "6";
   version = "${majorVersion}.${minorVersion}";
 in
 
@@ -28,8 +42,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
-    # from https://cmake.org/files/v3.9/cmake-3.9.6-SHA-256.txt
-    sha256 = "7410851a783a41b521214ad987bb534a7e4a65e059651a2514e6ebfc8f46b218";
+    # from https://cmake.org/files/v3.10/cmake-3.10.2-SHA-256.txt
+    inherit sha256;
   };
 
   prePatch = optionalString (!useSharedLibraries) ''