From e6294cfb7eb9a2091615e62aa064c3e8001aa783 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 2 Oct 2020 15:52:11 +0000 Subject: [PATCH] cmake: Tighten deps - OpenSSL is evidentally an optional dep. I guess pkg-config found it before because it was a transitive dep? - `zstd` and cross-built CMake can get by with a `cmakeMinimal that we use during bootstrapping, so let's restrict to that. --- .../development/tools/build-managers/cmake/default.nix | 10 +++++++--- pkgs/top-level/all-packages.nix | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix index 559a4c191b6..40cc1810bf6 100644 --- a/pkgs/development/tools/build-managers/cmake/default.nix +++ b/pkgs/development/tools/build-managers/cmake/default.nix @@ -5,6 +5,7 @@ , ps , isBootstrap ? false , useSharedLibraries ? (!isBootstrap && !stdenv.isCygwin) +, useOpenSSL ? !isBootstrap, openssl , useNcurses ? false, ncurses , useQt4 ? false, qt4 , withQt5 ? false, qtbase @@ -47,6 +48,7 @@ stdenv.mkDerivation rec { buildInputs = [ setupHook pkgconfig ] ++ lib.optionals useSharedLibraries [ bzip2 curl expat libarchive xz zlib libuv rhash ] + ++ lib.optional useOpenSSL openssl ++ lib.optional useNcurses ncurses ++ lib.optional useQt4 qt4 ++ lib.optional withQt5 qtbase; @@ -91,13 +93,15 @@ stdenv.mkDerivation rec { "-DCMAKE_AR=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ar" "-DCMAKE_RANLIB=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}ranlib" "-DCMAKE_STRIP=${lib.getBin stdenv.cc.bintools.bintools}/bin/${stdenv.cc.targetPrefix}strip" - ] + + "-DCMAKE_USE_OPENSSL=${if useOpenSSL then "ON" else "OFF"}" # Avoid depending on frameworks. - ++ lib.optional (!useNcurses) "-DBUILD_CursesDialog=OFF"; + "-DBUILD_CursesDialog=${if useNcurses then "ON" else "OFF"}" + ]; # make install attempts to use the just-built cmake preInstall = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) '' - sed -i 's|bin/cmake|${buildPackages.cmake}/bin/cmake|g' Makefile + sed -i 's|bin/cmake|${buildPackages.cmakeMinimal}/bin/cmake|g' Makefile ''; dontUseCmakeConfigure = true; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 099b8b30537..b505030edc8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8331,9 +8331,7 @@ in zssh = callPackage ../tools/networking/zssh { }; zstd = callPackage ../tools/compression/zstd { - cmake = buildPackages.cmake.override { - libarchive = buildPackages.libarchive.override { zstd = null; }; - }; + cmake = buildPackages.cmakeMinimal; }; zsync = callPackage ../tools/compression/zsync { }; @@ -10825,6 +10823,8 @@ in cmake = libsForQt5.callPackage ../development/tools/build-managers/cmake { }; + cmakeMinimal = cmake.override { isBootstrap = true; }; + cmakeCurses = cmake.override { useNcurses = true; }; cmakeWithGui = cmakeCurses.override { withQt5 = true; };