From 4ff245c5dee25800ab9dbdcba2e9bc540724edc2 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 27 Feb 2012 06:22:47 +0000 Subject: [PATCH] Add fresh cmake svn path=/nixpkgs/trunk/; revision=32611 --- .../tools/build-managers/cmake/2.8.7.nix | 61 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 65 insertions(+) create mode 100644 pkgs/development/tools/build-managers/cmake/2.8.7.nix diff --git a/pkgs/development/tools/build-managers/cmake/2.8.7.nix b/pkgs/development/tools/build-managers/cmake/2.8.7.nix new file mode 100644 index 000000000000..c440285671be --- /dev/null +++ b/pkgs/development/tools/build-managers/cmake/2.8.7.nix @@ -0,0 +1,61 @@ +{ fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive +, useNcurses ? false, ncurses, useQt4 ? false, qt4 +, darwinInstallNameToolUtility }: + +with stdenv.lib; + +let + os = stdenv.lib.optionalString; + majorVersion = "2.8"; + minorVersion = "7"; + version = "${majorVersion}.${minorVersion}"; +in + +# WARNING: Do NOT upgrade cmake in trunk: it fails to build on i686-linux +stdenv.mkDerivation rec { + name = "cmake-${os useNcurses "cursesUI-"}${os useQt4 "qt4UI-"}${version}"; + + inherit majorVersion; + + src = fetchurl { + url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz"; + sha256 = "130923053d8fe1a2ae032a3f09021f9024bf29d7a04ed10ae04647ff00ecf59f"; + }; + + patches = + # Don't search in non-Nix locations such as /usr, but do search in + # Nixpkgs' Glibc. + optional (stdenv ? glibc) ./search-path.patch; + + buildInputs = [ curl expat zlib bzip2 libarchive ] + ++ optional stdenv.isDarwin darwinInstallNameToolUtility + ++ optional useNcurses ncurses + ++ optional useQt4 qt4; + + CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs; + + configureFlags = + "--docdir=/share/doc/${name} --mandir=/share/man --system-libs" + + stdenv.lib.optionalString useQt4 " --qt-gui"; + + setupHook = ./setup-hook.sh; + + postUnpack = + '' + dontUseCmakeConfigure=1 + source $setupHook + fixCmakeFiles $sourceRoot + ''; + + preConfigure = optionalString (stdenv ? glibc) + '' + substituteInPlace Modules/Platform/UnixPaths.cmake --subst-var-by glibc ${stdenv.glibc} + ''; + + meta = { + homepage = http://www.cmake.org/; + description = "Cross-Platform Makefile Generator"; + platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.urkud ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 54e0b73d4a12..9814f1815794 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2958,6 +2958,10 @@ let }; cmake = callPackage ../development/tools/build-managers/cmake { }; + + cmake_2_8_7 = callPackage ../development/tools/build-managers/cmake/2.8.7.nix { + zlib = zlib_latest; + }; cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { };