summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2012-02-27 06:22:47 +0000
committerMichael Raskin <7c6f434c@mail.ru>2012-02-27 06:22:47 +0000
commit4ff245c5dee25800ab9dbdcba2e9bc540724edc2 (patch)
tree6fa9e995c9cf49c5976e39b8fbf4cff5d2b3f2ae /pkgs/development/tools/build-managers
parentae5fefca48ad6b55a4ec9b3e2b94cc5485a8553a (diff)
downloadnixlib-4ff245c5dee25800ab9dbdcba2e9bc540724edc2.tar
nixlib-4ff245c5dee25800ab9dbdcba2e9bc540724edc2.tar.gz
nixlib-4ff245c5dee25800ab9dbdcba2e9bc540724edc2.tar.bz2
nixlib-4ff245c5dee25800ab9dbdcba2e9bc540724edc2.tar.lz
nixlib-4ff245c5dee25800ab9dbdcba2e9bc540724edc2.tar.xz
nixlib-4ff245c5dee25800ab9dbdcba2e9bc540724edc2.tar.zst
nixlib-4ff245c5dee25800ab9dbdcba2e9bc540724edc2.zip
Add fresh cmake
svn path=/nixpkgs/trunk/; revision=32611
Diffstat (limited to 'pkgs/development/tools/build-managers')
-rw-r--r--pkgs/development/tools/build-managers/cmake/2.8.7.nix61
1 files changed, 61 insertions, 0 deletions
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 ];
+  };
+}