diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix index a29ac38eb136..33dbc25d9bf8 100644 --- a/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix +++ b/nixpkgs/pkgs/development/tools/build-managers/cmake/default.nix @@ -2,6 +2,7 @@ , bzip2, curlMinimal, expat, libarchive, xz, zlib, libuv, rhash , buildPackages # darwin attributes +, SystemConfiguration , ps , isBootstrap ? false , useSharedLibraries ? (!isBootstrap && !stdenv.isCygwin) @@ -13,15 +14,14 @@ stdenv.mkDerivation rec { pname = "cmake" - + lib.optionalString isBootstrap "-boot" - + lib.optionalString useNcurses "-cursesUI" - + lib.optionalString withQt5 "-qt5UI"; - version = "3.19.7"; + + lib.optionalString isBootstrap "-boot" + + lib.optionalString useNcurses "-cursesUI" + + lib.optionalString withQt5 "-qt5UI"; + version = "3.21.2"; src = fetchurl { url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz"; - # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt - sha256 = "sha256-WKFfDVagr8zDzFNxI0/Oc/zGyPnb13XYmOUQuDF1WI4="; + sha256 = "sha256-lCdeC2HIS7QnEPUyCiPG3LLG7gMq59KmFvU/aLPSFlk="; }; patches = [ @@ -34,7 +34,11 @@ stdenv.mkDerivation rec { # Derived from https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d ./libuv-application-services.patch - ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch; + ] ++ lib.optional stdenv.isCygwin ./3.2.2-cygwin.patch + # Derived from https://github.com/curl/curl/commit/31f631a142d855f069242f3e0c643beec25d1b51 + ++ lib.optional (stdenv.isDarwin && isBootstrap) ./remove-systemconfiguration-dep.patch + # On Darwin, always set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG. + ++ lib.optional stdenv.isDarwin ./darwin-always-set-runtime-c-flag.patch; outputs = [ "out" ] ++ lib.optionals buildDocs [ "man" "info" ]; @@ -48,11 +52,11 @@ stdenv.mkDerivation rec { ++ lib.optionals buildDocs [ texinfo ] ++ lib.optionals withQt5 [ wrapQtAppsHook ]; - buildInputs = [] - ++ lib.optionals useSharedLibraries [ bzip2 curlMinimal expat libarchive xz zlib libuv rhash ] + buildInputs = lib.optionals useSharedLibraries [ bzip2 curlMinimal expat libarchive xz zlib libuv rhash ] ++ lib.optional useOpenSSL openssl ++ lib.optional useNcurses ncurses - ++ lib.optional withQt5 qtbase; + ++ lib.optional withQt5 qtbase + ++ lib.optional (stdenv.isDarwin && !isBootstrap) SystemConfiguration; propagatedBuildInputs = lib.optional stdenv.isDarwin ps; @@ -62,27 +66,24 @@ stdenv.mkDerivation rec { --subst-var-by libc_bin ${lib.getBin stdenv.cc.libc} \ --subst-var-by libc_dev ${lib.getDev stdenv.cc.libc} \ --subst-var-by libc_lib ${lib.getLib stdenv.cc.libc} - '' - # CC_FOR_BUILD and CXX_FOR_BUILD are used to bootstrap cmake - + '' + # CC_FOR_BUILD and CXX_FOR_BUILD are used to bootstrap cmake configureFlags="--parallel=''${NIX_BUILD_CORES:-1} CC=$CC_FOR_BUILD CXX=$CXX_FOR_BUILD $configureFlags" ''; configureFlags = [ "--docdir=share/doc/${pname}${version}" ] ++ (if useSharedLibraries then [ "--no-system-jsoncpp" "--system-libs" ] else [ "--no-system-libs" ]) # FIXME: cleanup - ++ lib.optional withQt5 "--qt-gui" - ++ lib.optionals buildDocs [ - "--sphinx-build=${sphinx}/bin/sphinx-build" - "--sphinx-man" - "--sphinx-info" - ] - # Workaround https://gitlab.kitware.com/cmake/cmake/-/issues/20568 - ++ lib.optionals stdenv.hostPlatform.is32bit [ - "CFLAGS=-D_FILE_OFFSET_BITS=64" - "CXXFLAGS=-D_FILE_OFFSET_BITS=64" - ] - ++ [ + ++ lib.optional withQt5 "--qt-gui" + ++ lib.optionals buildDocs [ + "--sphinx-build=${sphinx}/bin/sphinx-build" + "--sphinx-man" + "--sphinx-info" + ] + # Workaround https://gitlab.kitware.com/cmake/cmake/-/issues/20568 + ++ lib.optionals stdenv.hostPlatform.is32bit [ + "CFLAGS=-D_FILE_OFFSET_BITS=64" + "CXXFLAGS=-D_FILE_OFFSET_BITS=64" + ] ++ [ "--" # We should set the proper `CMAKE_SYSTEM_NAME`. # http://www.cmake.org/Wiki/CMake_Cross_Compiling @@ -117,8 +118,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "https://cmake.org/"; - changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor version}/" - + "release/${lib.versions.majorMinor version}.html"; + changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor version}/release/${lib.versions.majorMinor version}.html"; description = "Cross-Platform Makefile Generator"; longDescription = '' CMake is an open-source, cross-platform family of tools designed to |